Docs

Behavior & Limits

Guarantees, limits, and platform-specific notes for Alien AI.

Guarantees

No Keys in Your Application. On AWS, GCP, and Azure your workload's injected credentials — IAM role, Workload Identity, Managed Identity — authorize every call. Nothing in the binding is a credential, so there is no key to leak, rotate, or scope, and inference bills to the customer's cloud account.

Private Endpoint. The AI endpoint is reachable only from inside the workload it is linked to. It is never exposed on the network, so there is no endpoint to secure and none to misconfigure.

Checked Model List. getAvailableModels() reports what this account and region can invoke: Alien's curated list for that cloud, narrowed by a live check. A model the customer has not enabled normally does not appear; the exception is one the cloud gave no clear answer for, which is kept rather than dropped.

Forwarded, Not Translated. Alien speaks each model's own protocol rather than converting between them, so a request reaches the provider in the shape you wrote it and the reply comes back as the provider wrote it. Streaming works everywhere, and a provider error arrives as that provider's own error rather than something Alien invented. Claude on AWS is the one exception, and it is described under Protocols.

Limits

LimitValueNotes
Max request body32 MiBReturns 413. Providers cap requests well below this, so their limit is the one you meet.
Model-list checkup to 10 s per model, run concurrentlyLater calls are instant once every model got a definite answer; otherwise the next call checks again. Never affects inference.
Model idMust be in Alien's list for that cloudAn id outside it returns 404 instead of reaching the provider.
Azure throughput per model1 GlobalStandard unitA deliberately conservative default. Raise it per model in the Azure portal; a re-provision resets it.
idletters, digits, hyphens and underscores ([A-Za-z0-9-_]), up to 64 charactersImmutable after create.

Beyond the body cap above, Alien adds no limits of its own to inference. There is no rate limit, no request timeout, no concurrency cap, and no token ceiling — the cloud provider's quotas and deadlines apply directly, and a 429 from the provider reaches you unchanged. A public workload needs its own limits in front of it.

Changing a live resource. The id is immutable. Nothing else is configurable, so there is no resize, no version pin, and no update that can disrupt a running workload. Model choice lives in your code, not the stack.

Protocols

Which wire format a model speaks is fixed by the model, and the client has to match it. Alien picks the upstream from the model in the body, not from the path, so the body format is what has to be right:

ModelsProtocolEndpointClient
Claude, on every cloudAnthropic Messages/v1/messagesAnthropic SDK, or any Messages client
Everything elseOpenAI Chat Completions/v1/chat/completionsOpenAI SDK, createOpenAICompatible, …
GPT-5 family (AWS)OpenAI Responses/v1/responsesOpenAI SDK Responses API

Sending a Responses-only model to /v1/chat/completions returns a 400 naming the right endpoint, and no request reaches the cloud, so nothing is billed.

Claude on AWS is the exception. Bedrock serves Claude through an older Anthropic schema, so Alien adapts the request there: Anthropic's server-executed tools such as web search and code execution are dropped, along with a few recent fields, and mid-conversation system messages are folded into the turn before them. Those edits are AWS-only. One thing is not: Alien forwards only a known set of anthropic-beta families on every cloud, so a beta outside that set is dropped on GCP and Azure too.

Model Availability

The list is checked against the cloud on first use and then reused for the life of the workload. Model access changes only when someone enables a model in the cloud console, and a redeploy picks that up — there is no expiry to wait out.

A model the cloud gives no clear answer on stays in the list and is rechecked on the next call, so a transient cloud problem never shrinks your model menu and the check never fails a deploy. Such a model can still fail when you call it, so handle an error from a model you have not used before.

Claude is the one family gated behind a one-time step, on all three clouds — see Models & Prerequisites. Everything else works the moment the resource deploys, and the deploy succeeds either way.

Platform Notes

AWS — Amazon Bedrock

Nothing is provisioned — Bedrock is an account-level API, so deploying the resource grants access and nothing more. The widest model selection of the three clouds, including the GPT-5 family and the full Claude range.

GCP — Vertex AI

Alien enables the Vertex AI API and grants a custom role limited to prediction, rather than the broad roles/aiplatform.user. Gemini and Claude are available.

Azure — Azure AI Foundry

The only cloud where Alien creates something lasting: an AI Foundry account plus deployments for three OpenAI models, which you'll see in the customer's portal and on their bill. Deleting the resource deletes the account. Claude is the exception — a first Claude deployment requires accepting Marketplace terms in the portal, which no API can do on your behalf, so it stays a one-time manual step and Claude appears once that deployment exists.

Kubernetes / On-Prem

Alien does not provision AI here. Supply an external AI binding at deploy time with your own provider key, and the SDK calls that provider directly. Add the binding at the same time as the resource: without one the deployment fails, and it fails at deploy rather than at validation.

Local

A bring-your-own-key binding using OpenAI, with the key from OPENAI_API_KEY; alien dev fails with an actionable error if it is unset. Cloud model ids do not resolve, and getAvailableModels() returns a short built-in list rather than querying the provider. Set ALIEN_AI_LOCAL_BASE_URL to point at any OpenAI-compatible server instead, including one running on your machine.

Design Decisions

No configuration on the resource. Model, temperature, and every other knob belong to the request, not the stack, so changing model does not require a redeploy and one stack file works across three clouds whose model menus differ.

Forward, don't translate. A translation layer over one OpenAI-shaped API drops whatever it has not been taught — tool-calling variants, thinking blocks, new fields. Forwarding gives you the model's real API, at the price of picking a client that matches the model. Bedrock's older Claude schema is the one place Alien has to compromise, which is why it is called out under Protocols.

The model list is checked, not declared. No cloud answers "which models can this account invoke". A published list would be wrong for every customer who hasn't enabled a model, and wrong in the direction that fails at runtime, so Alien checks instead and reports what actually answered.

No Alien-level rate limit. Any limit Alien imposed would be a second, weaker ceiling below the provider's real quota, and a number you could not plan against.

Delete removes the Azure account. On Azure, deleting the resource deletes the AI Foundry account and its model deployments, consistent with every other Alien resource. AWS and GCP have nothing to delete.

On this page