Provider Compatibility
Provider compatibility depends on both the caller-facing endpoint and the upstream provider configuration behind the model alias. A model can work on a broad chat endpoint and still be rejected on a provider-specific endpoint.
AISIX evaluates compatibility in two layers. The adapter family determines how chat-style requests are encoded for the upstream provider. The endpoint's rules determine whether the selected proxy route accepts the model's provider or adapter family.
Endpoint Compatibility
Use the caller's API format and provider support requirements to choose a proxy route.
| Need | Route | Provider support |
|---|---|---|
| Broad chat compatibility | /v1/chat/completions | OpenAI, Anthropic, Bedrock, Vertex AI, Azure OpenAI, and OpenAI-compatible providers through their configured adapter. |
| Text completions | /v1/completions | Models whose provider key uses the openai adapter when the configured upstream implements the legacy /completions route. Other adapters return 501 not_implemented. |
| Anthropic-style clients | /v1/messages | Provider keys that use the anthropic adapter or declare apis.messages forward natively; other supported upstreams use translation. Text has the broadest support. Image, document, and tool-calling support depends on the selected provider adapter. Signed thinking history remains Anthropic-specific. |
| Anthropic token counting | /v1/messages/count_tokens | Targets whose provider key uses the anthropic adapter or declares apis.messages. The upstream must implement the token-counting route. |
| Streaming text chat | /v1/chat/completions or /v1/messages with stream: true | Same provider support as the chosen endpoint. A routing model can fail over before AISIX sends response bytes, but it cannot switch targets after the response stream has started. Chat Completions audio output is an exception: AISIX does not currently preserve delta.audio. |
| Embeddings | /v1/embeddings | OpenAI-compatible upstreams, Amazon Titan and Cohere embedding models on Bedrock, and Google-publisher embedding models on Vertex AI. Other provider and model combinations return 501 not_implemented. |
| OpenAI Responses API | /v1/responses | Provider keys that declare apis.responses, and OpenAI keys without an apis declaration, forward natively. Other upstreams use the Responses bridge when the provider adapter supports the translated request shape. On the bridged path, OpenAI-specific fields without a chat equivalent are ignored. |
| Chat audio | /v1/chat/completions | Non-streaming audio input and output through an openai or azure-openai adapter when the upstream implements the OpenAI chat-audio shape. Every eligible routing target must meet the same requirement. AISIX preserves input_audio, modalities, audio, and message.audio; it does not translate them across provider protocols. |
| Image generation | /v1/images/generations | Models whose configured provider is OpenAI. |
| Image editing | /v1/images/edits | Models whose configured provider is OpenAI. Requests are multipart/form-data; the gateway rewrites only the model field and forwards the form intact. |
| Video generation | /v1/videos and its status and content routes | Models whose configured provider is alibaba (Wan), zhipuai or zhipu (CogVideoX), volcengine (Ark Seedance), runwayml or runway (Runway Gen and Runway-hosted models), or openai (Sora). Text-to-video only. Other providers return 501 not_implemented. See Video Generation Support. |
| Audio | /v1/audio/transcriptions, /v1/audio/translations, /v1/audio/speech | OpenAI-style upstream audio routes. AISIX forwards the audio format; it does not translate audio across provider families. |
| Files, Batches, and Fine-tuning | /v1/files, /v1/batches, /v1/fine_tuning/jobs, and their related routes | Direct models whose provider key uses the openai or azure-openai adapter. Anthropic, Bedrock, and Vertex AI use different file and job APIs and are not translated through these routes. |
| Realtime WebSocket | /v1/realtime | Direct models on the openai or azure-openai adapter. The upstream must implement the OpenAI Realtime WebSocket path and event protocol; AISIX relays frames without cross-protocol translation. |
| Rerank | /v1/rerank | Cohere and Jina, or an OpenAI-compatible upstream that uses the openai provider value and implements /v1/rerank. The public OpenAI API does not provide this endpoint. |
| Provider-native routes | A configured passthrough route, conventionally /passthrough/<provider>/*rest | Any upstream a route's target_url points at. A request matches the route's configured path prefix or inbound hosts, and the caller key must grant the route name in its allowed_routes list. Limited gateway normalization. |
Video Generation Support
The video routes dispatch on the model alias's provider value, not on the upstream model name, and AISIX keeps no allowlist of model IDs — it forwards the configured upstream model name through the fixed mapping below. Successful generation still depends on that model accepting the resulting request shape. Direct aliases only: a routing or ensemble alias returns 400. Delivery describes how GET /v1/videos/{video_id}/content returns the finished file: a 302 to the provider's signed URL, or an authenticated fetch that the gateway streams back to the caller.
provider value | Video models | seconds maps to | size maps to | Delivery |
|---|---|---|---|---|
alibaba | Wan and HappyHorse text-to-video, such as wan2.7-t2v, wan2.2-t2v-plus, and happyhorse-1.1-t2v | parameters.duration | parameters.size as WIDTH*HEIGHT; omit it for Wan 2.7 and HappyHorse, which use resolution and ratio tiers instead | Redirect |
zhipuai, zhipu | CogVideoX, such as cogvideox-3 | duration | size, forwarded verbatim | Redirect |
volcengine | Ark Seedance, such as doubao-seedance-2-0-260128 | duration | Validated, then dropped; Ark uses resolution and ratio tiers | Redirect |
runwayml, runway | Runway Gen and Runway-hosted models on the text-to-video endpoint, such as gen4.5 and veo3.1 | duration | ratio as WIDTH:HEIGHT | Redirect |
openai | Sora: sora-2, sora-2-pro | seconds as a string; the schema accepts 4, 8, or 12 | size, forwarded verbatim; accepted resolutions vary by model | Gateway stream |
OpenAI deprecated the Videos API and the Sora 2 models on March 24, 2026, with removal from the API on September 24, 2026.
Two provider values that serve chat traffic are outside this allowlist even though their vendor publishes a video API: alibaba-cn and zai reach a different API root than their video-capable counterpart, so a video alias must use alibaba or zhipuai.
The routes model text-to-video generation only. Request fields other than model, prompt, seconds, and size are ignored rather than rejected — including input_reference, so an image-to-video request generates from the prompt alone. Provider routes that list, delete, remix, edit, or extend a video are not modeled either. Use a passthrough route for those and for provider-native generation fields such as a negative prompt or a seed.
Provider-Specific Support
Supported text output on chat and Responses routes can stream. Audio output inside Chat Completions is currently non-streaming; use the Realtime WebSocket for incremental, bidirectional audio. The table below highlights additional endpoint support and important provider boundaries.
| Provider setup | Endpoint support and boundaries |
|---|---|
| OpenAI | Supports chat completions, Responses, embeddings, image generation, image editing, audio, and Sora video generation. The public OpenAI API does not provide a rerank endpoint. |
| Anthropic | Supports Messages and token counting natively. Chat completions and Responses use translation. Embeddings, image generation, and rerank are not supported. |
| Amazon Bedrock | Supports chat completions and Responses. Embeddings are limited to Amazon Titan and Cohere embedding model IDs. Image generation and rerank are not supported. |
| Google Vertex AI | Supports chat completions and Responses. Embeddings are limited to Google-publisher embedding models. Image generation and rerank are not supported. |
| Azure OpenAI | Supports chat completions and Responses. The Azure OpenAI adapter does not implement embeddings, image generation, or rerank. |
| DeepSeek | Supports chat completions. AISIX Cloud declares DeepSeek's native Responses and Anthropic-compatible Messages routes in the catalog; the open-source gateway can declare the same routes on the provider key. Image generation and rerank are not supported. |
| Gemini, Groq, and Mistral | Support chat completions and bridged Responses requests. Image generation and rerank are not supported. |
| Together AI | Supports chat completions, bridged Responses, embeddings, audio transcription, audio translation, and text-to-speech through its OpenAI-compatible base. Image generation, video generation, and rerank are not supported through the togetherai provider value; use a passthrough route for those native Together routes. |
| Qwen | Supports chat completions, bridged Responses, and embeddings through Model Studio's OpenAI-compatible base. Video generation is supported only for the exact alibaba provider value and maps to the native Wan text-to-video task API; alibaba-cn is outside the video route's allowlist. Image generation and rerank are not supported through normalized routes. |
| OpenRouter and Fireworks AI | Support chat completions, bridged Responses, and embeddings when the alias names an embedding model the upstream publishes on its OpenAI-compatible base. Image generation, video generation, and rerank are not supported: the openrouter and fireworks-ai provider values are outside those routes' allowlists. |
| Cohere | Supports chat completions, bridged Responses, and embeddings through the Cohere compatibility API base. Rerank is supported, because cohere is one of the three provider values the rerank route accepts; it needs a second provider key pointed at the Cohere native API root. Image generation and video generation are not supported. |
| Zhipu AI | Supports chat completions, bridged Responses, translated Messages, embeddings, audio transcription, text-to-speech, the Realtime WebSocket relay, and normalized video generation. Native image generation, rerank, and advanced CogVideoX requests remain available through a passthrough route; normalized image generation, audio translation, and rerank are not supported. |
| Perplexity | Supports Sonar chat completions and bridged Responses requests. Perplexity's standard embedding models work through /v1/embeddings only with a separate provider key whose API base includes /v1; the Sonar chat base does not. Image generation, video generation, and rerank are not supported. |
| Cerebras and Hugging Face | Support chat completions and bridged Responses requests. Embeddings are not usable because neither upstream serves an embedding model on its configured base. Image generation, video generation, and rerank are not supported. |
| Moonshot AI | Supports chat completions. Declare apis.responses to use Moonshot's native Responses API, which currently supports only kimi-k3; otherwise, AISIX bridges Responses requests through chat completions. Native Messages and other provider routes require a passthrough route. Image generation, video generation, and rerank are not supported. |
| Baseten | Supports chat completions and bridged Responses requests. Embeddings work when the provider key's api_base points at a Baseten deployment that serves an OpenAI-compatible /v1/embeddings route. Image generation, video generation, and rerank are not supported, including for a Baseten model ID that begins with openai/ — the provider value is baseten, not openai. |
| Jina | Supports embeddings through the OpenAI-shaped route on the Jina API root. Rerank is supported natively, because jina is one of the three provider values the rerank route accepts, and it shares the same API root and provider key as embeddings. The testing-only jina-ai/jina-vlm model supports chat completions on this root; Responses and Messages use AISIX translation through that experimental route. Other Jina aliases do not support these chat-shaped endpoints. Image generation and video generation are not supported: the jina provider value is outside those routes' allowlists. |
| RunwayML | Supports video generation only, because runwayml (and the short runway spelling) is in the video route's provider allowlist. Chat completions, Responses, and embeddings fail upstream — Runway publishes no chat or embeddings API. Image generation and rerank are not supported: the runwayml provider value is outside those routes' allowlists. Use a passthrough route for Runway APIs the gateway has not modeled, such as image-to-video. |
| Volcengine Ark | Supports chat completions, bridged Responses, translated Messages, and embeddings through the Ark OpenAI-compatible base. Video generation is supported because volcengine is in the video route's provider allowlist. Ark's native Responses and image-generation routes remain available through a passthrough route; normalized image generation and rerank are not supported. |
| Cloudflare Workers AI, Databricks, DeepInfra, and NVIDIA NIM | Support chat completions, bridged Responses, and embeddings when the alias names an embedding model the upstream serves on the configured OpenAI-compatible root. Image generation, video generation, and rerank are not supported through their provider values; use a passthrough route for provider-native routes. |
| SiliconFlow | Supports chat completions, bridged Responses, translated Messages, embeddings, audio transcription, and text-to-speech through its OpenAI-shaped API root. Audio translation fails upstream. Image generation, video generation, and rerank are not supported through the siliconflow provider value; native Messages and other provider routes remain available through a passthrough route. |
| W&B Inference | Supports chat completions, bridged Responses, and translated Messages requests. W&B Serverless Inference publishes no embeddings, image-generation, video-generation, or rerank endpoint. Its native model list remains available through a passthrough route. |
| Amazon Nova API, Meta Llama API, Nebius Token Factory, Novita AI, OVHcloud AI Endpoints, and DigitalOcean Gradient AI | Support chat completions and bridged Responses. Messages callers can use the chat translation in AISIX. Embeddings require a compatible embedding model and route on the provider's configured API root. Image generation, video generation, and rerank are not supported through these provider values. |
| Snowflake Cortex | Supports chat completions and the Responses and Messages bridges. Snowflake's Claude-only native Messages route remains available through a passthrough route. The normalized AISIX embeddings route is not compatible with Snowflake's native POST /api/v2/cortex/inference:embed wire format; use a passthrough route with a separate provider key or another embedding provider. Image generation, video generation, and rerank are not supported through the snowflake-cortex provider value. |
| MiniMax and ModelScope | Support chat completions and bridged Responses requests. Embeddings depend on the configured upstream model and route because AISIX forwards the OpenAI-shaped embeddings body without provider-specific translation. Image generation, video generation, and rerank are not supported through their provider values. |
| xAI | Supports chat completions, bridged Responses, translated Messages, and the OpenAI-compatible Realtime WebSocket route. Embeddings and rerank are not usable through normalized routes. Native xAI Responses, Messages, image, video, speech-to-text, text-to-speech, and model-list APIs remain available through a passthrough route. |
| Other public OpenAI-compatible providers | Require an OpenAI-compatible chat-completions route. Embeddings depend on the upstream route. Rerank also requires a provider value accepted by the rerank route. |
| Ollama | Supports chat completions through a BYO openai adapter. AISIX bridges compatible Responses and Messages requests through chat completions. Embeddings depend on the installed model. The byo and ollama provider values are not accepted by image generation, video generation, or rerank. |
| vLLM | Supports completions, chat completions, embeddings, audio transcription, and audio translation when the served model has the required task. AISIX bridges normalized Responses and Messages requests through chat completions rather than using the native vLLM routes. Native Responses, Messages, token counting, and rerank remain available through a passthrough route. Image generation, video generation, text-to-speech, and normalized rerank are not supported. |
| Private OpenAI-compatible endpoints | Must implement each upstream route that applications call. Embeddings depend on the private endpoint, and provider-specific routes can impose additional provider-value restrictions. |
Endpoint Rules
The tables above are the primary route reference. The rules below clarify cases where provider identity, adapter family, and endpoint behavior differ.
- Chat completions is the broadest normalized route. For non-OpenAI upstreams, the provider-facing request can still use Anthropic, Bedrock, Vertex AI, Azure OpenAI, or another adapter-specific format behind the gateway. OpenAI chat-audio fields remain specific to the
openaiandazure-openaiadapters and compatible upstream models. - Responses uses provider-specific handling. OpenAI-backed models and provider keys that declare
apis.responsesforward to the upstream Responses API. Other providers use the Responses bridge over the chat adapter path and return a Responses-shaped result. OpenAI-specific fields without a chat equivalent are ignored on this path. - Image generation is an OpenAI-provider route. An OpenAI-compatible vendor can use the OpenAI adapter for chat completions and still be rejected on this route when its provider value is not
openai. - Embeddings dispatch through the resolved adapter. The OpenAI adapter forwards the OpenAI request shape, while the Bedrock and Vertex adapters translate requests for their supported embedding model families. Audio remains an OpenAI-style forwarding route and is not translated across provider families.
- Rerank uses a route-specific provider allowlist. Accepted provider values are
openai,cohere, andjina, but the configured upstream must provide/v1/rerank. Theopenaivalue supports compatible rerank providers; it does not imply that the public OpenAI API provides this endpoint. - Anthropic Messages supports native Anthropic-protocol routes and translated upstreams. AISIX can translate text, images, documents, and tool-calling history into its normalized request, but the selected provider adapter determines which translated content reaches the upstream. Anthropic
thinkingandredacted_thinkinghistory blocks are not replayed to another provider. Token counting requires a provider key that uses theanthropicadapter or declaresapis.messages, and the upstream must implement the route.
AISIX preserves reasoning_content and normalizes reasoning to that canonical field. When an OpenAI-compatible provider streams reasoning from a different delta path, configure response.reasoning_field on the provider key.
Content Translation Boundaries
Cross-provider feature support depends on the caller-facing endpoint and translation direction. Do not assume that one result applies to every pair of provider families.
For an Anthropic-shaped /v1/messages request sent to a supported non-Anthropic upstream, AISIX translates supported content into its normalized request. This includes text, base64 and URL images, documents, tool definitions, tool calls, and tool results. The selected provider adapter may support only a subset of that content. OpenAI-compatible adapters preserve image parts, while the current Bedrock and Vertex AI chat adapters use the extracted text from multimodal user content. Signed Anthropic thinking history is dropped because another provider cannot replay it.
For an OpenAI-shaped /v1/chat/completions request sent to another provider family, portable text and tool fields have the broadest support. Non-text handling depends on the selected adapter and upstream API. For example, a provider adapter may use only the concatenated text from a multimodal message even though an OpenAI-compatible upstream can accept the original image_url parts.
When an application depends on provider-specific content, prefer the matching caller-facing endpoint and provider family. Use Anthropic Messages for the exact Anthropic-shaped translation behavior and OpenAI Client with Anthropic Upstream for the reverse direction.