AI service
computeai-service
A consumption API for hosted models: text, vision, speech or multimodal.
- Category
- Compute
- Properties
- 13
- Components
- 126
- Rules
- 2
A node of this kind resolves each property from its own props, then the component's defaults, then the default below.
| property | type | values | required | default |
|---|---|---|---|---|
| auth | enum | api-key | oauth | iam | none | no | — |
| contentFiltering | boolean | — | no | — |
| customerManagedKeys | boolean | — | no | — |
| dataResidency | enum | us | eu | asia | global | no | — |
| dataRetentionDays | integer | — | no | — |
| keyStore | boolean | — | no | false |
| managed | boolean | — | no | false |
| modality | enum | text | vision | speech | multimodal | structured | image | video | audio | embedding | rerank | no | — |
| publicEndpoint | boolean | — | no | — |
| quotaUnitsPerMinute | integer | — | no | — |
| rateLimitRpm | integer | — | no | — |
| rateLimitTpm | integer | — | no | — |
| viaGateway | boolean | — | no | false |
AI API key not managedwarning
ai-api-key-unmanagedThis AI vendor is reached with an API key, and nothing in the design holds or rotates that key. It ends up in environment files or code, every caller shares it, and a single leak runs up the vendor bill until someone notices. Put the key in a key-management component, or say it is held there with keyStore.
- — all of these hold:
- — the node's `auth` is "api-key"
- — the node's `keyStore` is false
- — the node has at least one incoming edge from an app-server, worker or client
- — this does not hold:
- — the design contains a node of kind key-management
stateful-node-without-zone-redundancy
A stateful compute node pinned to exactly one availability zone disappears with that zone, and its state goes with it. Nodes inside a cell are exempt, because there the cell is deliberately single-zone and redundancy comes from the other cells.
- — all of these hold:
- — the node's `stateless` is false
- — the node sits inside exactly 1 availability-zone group
- — this does not hold:
- — the node sits inside at least one cell group
vendor-neutral
alibabacloud
aws
Amazon Bedrockaws-bedrockAmazon Bedrock AgentCoreaws-bedrock-agentcoreAmazon Bedrock Data Automationaws-bedrock-data-automationAmazon Bedrock Guardrailsaws-bedrock-guardrailsAmazon Comprehendaws-comprehendAmazon Comprehend Medicalaws-comprehend-medicalAWS Elemental Inferenceaws-elemental-inferenceAmazon Forecastaws-forecastAmazon Fraud Detectoraws-fraud-detectorAWS HealthScribeaws-healthscribeAmazon Lex botaws-lexAmazon Lookout for Equipmentaws-lookout-for-equipmentAmazon Lookout for Metricsaws-lookout-for-metricsAmazon Lookout for Visionaws-lookout-for-visionAmazon Personalizeaws-personalizeAmazon Pollyaws-pollyAmazon Q Businessaws-q-businessAmazon Rekognitionaws-rekognitionAmazon Textractaws-textractAmazon Transcribeaws-transcribeAmazon Translateaws-translate
azure
Content Safetyazure-ai-content-safetyAzure AI Custom Visionazure-ai-custom-visionAzure AI Faceazure-ai-faceAzure Languageazure-ai-languageAzure Speechazure-ai-speechAzure Translatorazure-ai-translatorAzure Visionazure-ai-visionAzure Content Understandingazure-content-understandingMicrosoft Discoveryazure-discoveryAzure Document Intelligenceazure-document-intelligenceFoundry Agent Serviceazure-foundry-agent-serviceFoundry Modelsazure-foundry-modelsAzure AI Immersive Readerazure-immersive-readerAzure OpenAI in Foundry Modelsazure-openaiAzure AI Video Indexerazure-video-indexer
default
AI21 APIai21-apiAleph Alpha APIaleph-alpha-apiAnthropic APIanthropic-apiAssemblyAIassemblyaiBaidu Qianfanbaidu-ernie-apiBlack Forest Labs APIblack-forest-labs-apiBland AIbland-aiCartesiacartesiaCerebras Inferencecerebras-apiCohere APIcohere-apiDeepgramdeepgramDeepInfradeepinfraDeepSeek APIdeepseek-apiElevenLabselevenlabsfalfal-aiFireworks AIfireworks-aiGitHub Modelsgithub-modelsGladiagladiaGroqgroqHume AIhume-aiIdeogram APIideogram-apiJina AIjina-aiLepton AIlepton-aiLuma Dream Machine APIluma-apiMiniMax APIminimax-apiMistral AI APImistral-apiMixedbreadmixedbread-aiKimi Open Platformmoonshot-kimi-apiNomic APInomic-apiNovita AInovita-aiNVIDIA API Catalognvidia-nim-apiOpenAI APIopenai-apiOpenRouteropenrouterPerplexity APIperplexity-apiPlayHTplayhtRecombeerecombeeReka APIreka-apiReplicatereplicateRetell AIretell-aiRev AIrev-aiRimerimeRunway APIrunway-apiSambaNova Cloudsambanova-apiSpeechmaticsspeechmaticsStability AI APIstability-ai-apiSynthflowsynthflowTogether AItogether-aiVapivapiVoyage AIvoyage-aiWriter APIwriter-apixAI APIxai-apiZ.ai Open Platformzhipu-glm-api
digitalocean
gcp
Agent Assistgoogle-agent-assistAnti Money Laundering AIgoogle-anti-money-laundering-aiCloud Natural Language APIgoogle-cloud-natural-languageCloud Translation APIgoogle-cloud-translationCloud Vision APIgoogle-cloud-visionConversational Insightsgoogle-customer-experience-insightsConversational Agents (Dialogflow CX)google-dialogflow-cxDialogflow ESgoogle-dialogflow-esDocument AIgoogle-document-aiFirebase AI Logicgoogle-firebase-ai-logicGemini APIgoogle-gemini-apiGemini Enterprisegoogle-gemini-enterpriseSpeech-to-Textgoogle-speech-to-textTelecom Subscriber Insightsgoogle-telecom-subscriber-insightsText-to-Speechgoogle-text-to-speechVertex AI RAG Enginegoogle-vertex-ai-rag-engineVideo Intelligence APIgoogle-video-intelligence
ibm
IBM Watson Natural Language Understandingibm-natural-language-understandingIBM Watson Speech to Textibm-watson-speech-to-textIBM Watson Text to Speechibm-watson-text-to-speechIBM watsonx Assistantibm-watsonx-assistantIBM watsonx Code Assistantibm-watsonx-code-assistantIBM watsonx Orchestrateibm-watsonx-orchestrate
# yaml-language-server: $schema=../schema/kind.schema.json # A metered vendor endpoint with quota, content filtering and data-handling settings, unlike ml-inference which is a model you deploy on replicas you size. contentFiltering, publicEndpoint, dataRetentionDays and auth have no default so governance rules can catch what was never declared; keyStore and viaGateway say whether the key sits in a key-management component and whether calls pass an AI gateway. schemaVersion: "1" type: "kind" id: "ai-service" category: "compute" properties: modality: type: "enum" values: ["text", "vision", "speech", "multimodal", "structured", "image", "video", "audio", "embedding", "rerank"] contentFiltering: type: "boolean" publicEndpoint: type: "boolean" dataRetentionDays: type: "integer" customerManagedKeys: type: "boolean" quotaUnitsPerMinute: type: "integer" auth: type: "enum" values: ["api-key", "oauth", "iam", "none"] keyStore: type: "boolean" default: false viaGateway: type: "boolean" default: false rateLimitRpm: type: "integer" advanced: true rateLimitTpm: type: "integer" advanced: true dataResidency: type: "enum" values: ["us", "eu", "asia", "global"] advanced: true managed: type: "boolean" default: false