Skip to content

Compare stdapi.ai

Two questions follow the feature list: how does stdapi.ai compare with the other ways to put an OpenAI-compatible API in front of Amazon Bedrock, and how do you know its compatibility claims hold. This page answers both — the feature-by-feature comparison with its sources and verification dates, then the test evidence behind every claim on that page.


How stdapi.ai Compares

All four solutions below expose an OpenAI-compatible API in front of Amazon Bedrock. The comparison focuses on the AWS deployment context — LiteLLM is evaluated with AWS services as the backend provider (Bedrock, Polly, Transcribe), not as a multi-cloud proxy. Bedrock Access Gateway is the AWS-maintained open-source sample, deprecated and archived by AWS on 4 September 2026 in favour of the native Amazon Bedrock APIs; its column is kept because deployments of it still exist. Bedrock Mantle is AWS's own managed OpenAI-compatible endpoint, requiring no self-hosting; AWS serves the same APIs on a second endpoint, bedrock-runtime, and recommends that one for most new applications40. stdapi.ai can also front Mantle as an additional backend, serving Mantle-only models through the gateway (see Bedrock Mantle Models).

Competitor capabilities were verified against official sources on 5 August 2026; the batch inference, vector store, file search and per-end-user billing rows were verified on 21 August 2026; the image, audio and video rows were re-verified on 24 August 2026; the Ollama, Marketplace endpoint, SageMaker AI, tenant key and Administration API rows were verified on 27 August 2026; the image editing row and the Bedrock Access Gateway status were re-verified on 9 September 2026; the LiteLLM image editing, image variations, Files and batch rows, and the Bedrock Mantle text API, batch, system tool, Guardrails, prompt router and inference profile rows, were re-verified on 14 September 2026. stdapi.ai is AWS-only: if you need multi-cloud routing or spend limits enforced at request time, LiteLLM is the better fit.

Cost attribution is not a spend limit

Bedrock's native attribution — IAM principal, application inference profiles, projects and workspaces — reports aggregated billed cost to Cost Explorer and CUR 2.0 at per-usage-type-per-day granularity, not as a per-request row. That is reporting, not enforcement: it cannot block a request that would exceed a budget. stdapi.ai's per-request cost figures are likewise an estimate for visibility. Enforcing a hard limit requires a gateway layer in front of inference — the approach AWS itself takes in its Generative AI Gateway Solution, which uses LiteLLM.

Capability stdapi.ai LiteLLM (on AWS) Bedrock Access Gateway (deprecated)37 Bedrock Mantle40
OpenAI Chat completions full full full partial 2
OpenAI Completions full full not available not available
OpenAI Embeddings full full full not available
Anthropic Messages API full full not available partial 14
OpenAI Responses API full partial 18 not available partial 2
OpenAI Image generation full full not available not available
OpenAI Image editing full partial 28 not available not available
OpenAI Image variations full not available not available not available
OpenAI Videos API full not available not available not available
OpenAI Moderations API full not available not available not available
OpenAI TTS (speech) full partial 12 not available not available
OpenAI STT (transcription) full not available not available not available
OpenAI Files & Uploads API full partial 39 not available not available
Asynchronous batch inference full full 21 not available not available 22
Managed vector stores (create, attach, index, search) full partial 23 not available not available
Model-run file search, with citations full partial 24 not available not available
Server-side stored conversations full partial 17 not available full
OpenAI Realtime API full full not available not available
Cohere Rerank API full full not available not available
Cohere Embed API full not available not available not available
Ollama API full not available 29 not available not available
Own AI & media APIs as MCP tools full partial 20 not available not available
Bedrock Full model catalog full partial 1 partial 10 partial 2
Unified Bedrock + Mantle catalog full partial 15 not available not available
Bedrock Marketplace model endpoints full partial 30 not available 31 not available 32
Your own SageMaker AI endpoints full partial 33 not available 31 not available 32
Every model on every text API full partial 16 not available not available
Multimodal inputs text · image · audio · video · docs text · image · docs text · image text · image
Multi-region capacity combining full partial 8 not available not available
Bedrock Cross-region inference profiles full partial 13 partial 13 not available
Bedrock system tools full not available not available partial 41
Bedrock Guardrails full full not available not available
Bedrock Service tiers full full not available full
Bedrock Application inference profiles full full full not available 19
Bedrock prompt routers full not available not available not available
Bedrock Prompt caching & reasoning full partial 6 full partial 9
Runs in your AWS account full full full full38
Model auto-discovery full partial 1 partial 7 full
Deprecated model failover full not available not available not available
Per-tenant API keys scoped to models full full not available 34 partial 35
Cost & usage tracking full full not available not available
OpenAI Administration usage & costs full partial 36 not available not available
Per-end-user cost on the AWS bill full not available 25 partial 26 partial 27
Ready-to-use deployment full not available partial 3 full
Commercial support full full not available full 4
Self-hosted full full full not available
AWS-native focus full partial 5 full full
Multi-provider support not available full 11 not available not available
Source license AGPL-3.0 (community) · commercial MIT MIT-0 AWS service
Distribution & supply chain AWS Marketplace · GHCR pip/PyPI GitHub (MIT-0) AWS-managed

full   partial / manual setup   not available

About the alternatives

  • LiteLLM — widely adopted multi-cloud proxy with a large open-source community. Ideal when you need a single entry point across OpenAI, Azure, AWS, and others. AWS deployment and security features (WAF, VPC endpoints) require manual setup. Also offers a commercial Enterprise tier.
  • Bedrock Access Gateway — official open-source AWS sample (MIT-0). Covers chat completions and embeddings only. No WAF, auto-scaling, monitoring, or commercial support included.
  • Bedrock Mantle — AWS's own native OpenAI-compatible endpoint backed by AWS's full compliance and SLA. No self-hosting required. Serves the Chat Completions, Responses and Anthropic Messages APIs, but each model is restricted to the APIs its card lists: OpenAI GPT and gpt-oss models and xAI Grok serve Chat Completions and Responses, Anthropic Claude serves the Messages API only, and the other open-weight families serve Chat Completions only, DeepSeek, Qwen, Mistral, GLM, Gemma, Kimi, MiniMax and Nemotron among them. No model serves all three, and the endpoint covers only a subset of Bedrock models (see the 2 markers in the comparison table above for exact coverage). Guardrails, intelligent prompt routing and cross-region inference profiles are not available on the bedrock-mantle endpoint, though AWS's bedrock-runtime endpoint has them40. It is an AWS service rather than software you host: AWS publishes a PrivateLink interface endpoint for it, so requests need not cross the public internet, but you do not pin its version or run it inside your own VPC. See model availability. Rather than an either/or choice, stdapi.ai can serve the Mantle catalog itself: enable Bedrock Mantle Models to access OpenAI GPT, xAI Grok, and other Mantle-only models through the gateway, with all four text APIs available for every model.

Quality Assurance

"OpenAI-compatible" is easy to claim and hard to keep. The gateway sits between your application and a set of backends that change underneath it — new model generations, new parameters, silently altered behaviour — so its test suite is built to catch that drift before you do.

  • 8,000+ automated tests
    Run against real AWS services rather than mocks.

  • 95%+ branch coverage
    Measured with every test tier enabled — the full suite, not the offline CI gate that runs on every push.

  • Validated against the vendors
    The same tests run against the real OpenAI, Anthropic, Cohere and Ollama APIs.

  • Driven by real client software
    Twenty-two third-party clients — Claude Code, n8n, Open WebUI, Home Assistant and more — driven end to end against a live gateway.

Compatibility is proven against the real APIs, not against our own docs

A gateway tested only against itself proves only that it is self-consistent. The suite runs the same test bodies against the genuine OpenAI, Anthropic, Cohere and Ollama endpoints, changing nothing but the URL, and a test that passes here and fails there is a compatibility bug in this product rather than an acceptable difference. The expected behaviour is captured from the vendor's own API before the feature exists, so the implementation is written against a contract that was verified, not assumed.

Real applications, not just API calls

Passing an HTTP test says nothing about whether a real coding agent, chatbot or automation platform actually works. So the suite runs them: complete third-party client software, unmodified, against a live gateway — coding agents (Claude Code, Codex, pi, OpenClaw, Hermes, Qwen Code), the n8n workflow runner, a Haystack RAG pipeline, the Open WebUI chat interface, Home Assistant's voice bridge, the LiteLLM proxy, Docling Serve's vision pipeline, LiveKit Agents and Pipecat on the documented WebRTC and telephony configurations, and Wyoming's voice satellite protocol, and the LangChain, LlamaIndex, Pydantic AI, Agno, inspect-ai, Ollama and OpenAI Agents SDK libraries — driving multi-turn tool-calling sessions, document retrieval and reranking, server-side conversations, vector-store retrieval loops and speech pipelines across dozens of models and all four API dialects. A regression that only appears in a real client is caught here, not by you.

Every model is measured, not assumed

Model documentation describes what a model is supposed to accept. What it actually accepts is something else, and it changes between generations of the same model family. Each supported model is probed empirically for the parameters and features it genuinely honours — including the parameters it accepts and then quietly ignores, which are the ones that silently produce a wrong answer. The results are recorded and the behaviour is pinned by tests. See what each model reports.

Beyond automated tests

  • Every release is validated twice — the complete suite locally, then again against a real deployment of the exact build being released
  • Static analysis and strict typing on every line of source and test code
  • Documented behaviour is tested behaviour — the compatibility tables on these pages are derived from what the tests assert, so a change in behaviour that the docs do not reflect fails the build
  • Continuous review — periodic audits of the codebase and of the test suite itself, because a passing test that asserts nothing is worse than no test
  • Security scanning of dependencies and container images, with the commercial image validated against AWS Security Hub's Foundational Security Best Practices

Found something anyway?

No suite catches everything. If you hit a compatibility difference between stdapi.ai and the API it mirrors, open an issue on GitHub — or email us if you would rather not report it publicly. That class of bug is treated as a defect, not as expected behaviour.


  1. Full Bedrock catalog supported; each model must be declared in config (applies to auto-discovery) ↩↩

  2. Subset of Bedrock models — mostly newer open-weight models (DeepSeek, Gemma, Qwen, GLM, MiniMax, Kimi, newer Mistral) plus OpenAI GPT/gpt-oss and xAI Grok; newer Anthropic Claude generations are available via the Messages API only. Amazon Nova, Meta Llama, AI21, Cohere, and Stability AI (images) are not available — see AWS endpoint availability ↩↩↩↩

  3. CloudFormation reference sample (API Gateway + Lambda, or ALB + Fargate) — no WAF, auto-scaling, monitoring, or commercial support ↩

  4. Covered through your existing AWS Support plan ↩

  5. Generalist multi-cloud proxy covering 100+ providers; AWS-specific Bedrock features and security integrations may lag behind dedicated solutions ↩

  6. Prompt caching and reasoning supported on standard routes; coverage varies by model — not all Bedrock models support prompt caching or extended thinking ↩

  7. Auto-discovery limited to the single deployed region — some models are only available in specific AWS regions ↩

  8. Achievable via the LiteLLM router, but requires manually declaring each model per region with explicit TPM/RPM limits — no automatic quota distribution ↩

  9. Prompt caching on Mantle is supported but model-dependent (per each model card); reasoning is served via frontier models (GPT-5.x, gpt-oss) and select open-weight models (Qwen3 thinking, etc.) ↩

  10. Single-region deployment — some models are only available in specific AWS regions; no cross-region catalog aggregation ↩

  11. 100+ providers: OpenAI, Azure OpenAI, GCP Vertex, Anthropic direct, and more — ideal when you need a single gateway across multiple clouds ↩

  12. Requires connecting Amazon Polly as the TTS backend — not included by default in a LiteLLM on AWS deployment ↩

  13. Supported by specifying the cross-region inference profile ARN as the model ID — no automatic profile selection ↩↩

  14. Anthropic Messages API supported on Mantle for newer Claude generations only — Claude 3.x and some 4.x are not available; structured outputs (output_config.format) are rejected with a 400 on Mantle — see AWS endpoint availability ↩

  15. LiteLLM ships a first-class bedrock_mantle/ provider covering all Mantle models, so reaching Mantle needs no custom endpoint. Bedrock and Mantle remain two separate providers, each model declared in model_list, rather than one auto-discovered catalog ↩

  16. LiteLLM translates between API formats per provider adapter; coverage is not a guaranteed all-text-APIs-on-every-model surface ↩

  17. Conversation state kept in LiteLLM's own datastore rather than native provider server-side storage ↩

  18. Served via LiteLLM's /responses endpoint, auto-bridged to /chat/completions; no native Bedrock Responses passthrough ↩

  19. Mantle uses Projects/Workspaces (tag-based cost allocation via Cost Explorer) for workload isolation instead of application inference profiles — see Amazon Bedrock Projects ↩

  20. LiteLLM provides an MCP gateway that proxies configured third-party MCP servers and converts OpenAPI specs to tools — a related capability, but it does not expose LiteLLM's own AI and media endpoints as tools ↩

  21. Amazon Bedrock is a first-class batch provider for LiteLLM's Batches API — on the proxy only, not the SDK, and backed by Managed Files with a Postgres database plus an operator-configured S3 bucket and Bedrock batch role. LiteLLM's own cost tracking for batches is an Enterprise feature ↩

  22. The Bedrock Mantle endpoint serves the Responses, Chat Completions and Anthropic Messages APIs only. Amazon Bedrock does offer an OpenAI-compatible Batch API on its bedrock-runtime endpoint — for OpenAI models only, reading its input from an S3 URI you upload yourself rather than through a Files API ↩

  23. With Amazon Bedrock it is a bridge to a knowledge base you registered yourself: search, retrieve, list, update and delete are forwarded, while OpenAI-shaped store creation and file attachment accept the openai provider only. LiteLLM's own /v1/rag/ingest route does chunk, embed and index into a Bedrock knowledge base, but it is not part of the OpenAI API surface an unmodified client speaks ↩

  24. Emulated: the store is presented to the model as a function tool and the search is executed by the proxy rather than by the model's own server. LiteLLM documents that file_citation annotations can come back empty when the vector backend does not return the file metadata they need ↩

  25. Spend is attributed per key and per user in LiteLLM's own database, not in AWS's billing data. Bedrock requestMetadata can be forwarded, which AWS surfaces in invocation logs rather than Cost Explorer or CUR 2.0 ↩

  26. Application inference profiles put billed dollars in Cost Explorer and CUR 2.0, but per application rather than per end user — the gateway does not map a caller to a profile ↩

  27. IAM principal attribution, Projects and Workspaces put billed dollars in Cost Explorer and CUR 2.0 — per identity or per project rather than per end user, and behind a shared gateway every caller arrives as the same identity ↩

  28. /images/edits lists AWS Bedrock (Stability) among its providers, so Stability's editing operations are reachable on Bedrock, and the Bedrock image generation page now documents image_edit() against Amazon Nova Canvas, mapping to the IMAGE_VARIATION, INPAINTING, OUTPAINTING and BACKGROUND_REMOVAL task types. Amazon Titan remains documented for generation only ↩

  29. LiteLLM integrates Ollama as one of the backends it calls. Its proxy does not serve Ollama's own /api/* routes, so an Ollama-native client cannot point at it ↩

  30. Reachable by declaring the endpoint's ARN as a model entry (bedrock/<provider_route>/<arn>) in the Bedrock provider configuration: one entry per endpoint, and no discovery of what is deployed ↩

  31. The model list is discovered from Bedrock's foundation models and inference profiles only. The project's README documents Marketplace, custom-model and provisioned-throughput ARNs as unsupported, and states there is no plan to support SageMaker models ↩↩

  32. A model deployed to a Marketplace or SageMaker AI endpoint is invoked through Bedrock's own Converse and InvokeModel APIs, and is absent from Mantle's API compatibility matrix ↩↩

  33. Each endpoint is declared in model_list through the sagemaker_chat provider. Endpoints are not discovered, and nothing is documented for an endpoint scaled to zero ↩

  34. A single API key is read from AWS Secrets Manager, Parameter Store or the environment at start-up, so there is no per-caller key to scope ↩

  35. Bedrock API keys are restricted by an IAM policy on the identity behind the key rather than by a model or endpoint scope carried on the key itself ↩

  36. The same data is served by LiteLLM's own /spend/* routes, reported per key, user and team in a different wire format, so a dashboard written against OpenAI's Administration API does not read it ↩

  37. Deprecated and archived by AWS on 4 September 2026: "This project is deprecated. Amazon Bedrock now serves OpenAI-compatible and Anthropic-compatible APIs natively, which is the reason this proxy existed. Call Amazon Bedrock directly instead of deploying this gateway." AWS's stated migration path is the bedrock-mantle endpoint, the rightmost column. The column is kept because existing deployments still run, and because it remains the best-documented account of what a minimal Bedrock proxy covers ↩

  38. Amazon Bedrock is an AWS service: inference runs under your own AWS account, IAM and bill, and no third party sits in the path. What bedrock-mantle is not is self-hosted, so you do not pin its version or run it in your own VPC; see the Self-hosted row. ↩

  39. /v1/files accepts an Amazon Bedrock batch input file, on the proxy only, with purpose=batch and target_model_names naming the batch model. The file is written to an S3 bucket the operator configured, and the results are read back through files.content with a custom-llm-provider: bedrock header or an s3:// URI (Bedrock Batches). It rides Managed Files, which is beta and requires a PostgreSQL database. Batch input is the only documented purpose for Bedrock, and there is no OpenAI Uploads API, so a file too large for a single request has nowhere to go ↩

  40. This column scores the bedrock-mantle endpoint. AWS serves the same OpenAI-compatible Chat Completions and Responses APIs and the Anthropic Messages API on a second endpoint, bedrock-runtime, under its /openai/v1 paths, and recommends that one for most new applications. It is the same inference engine at identical per-token pricing, and it adds Amazon Bedrock Guardrails, intelligent prompt routing, geographic and global cross-region inference, and the Bedrock-native Converse and InvokeModel APIs. What only bedrock-mantle carries is background inference, server-side and pre-configured tools, Projects and Workspaces, and the models bedrock-runtime does not serve at all, among them GPT-5.4, GPT-5.5, both Daybreak variants and Grok 4.3 ↩↩↩

  41. Mantle runs server-side and pre-configured tools of its own, web search among them, which the bedrock-runtime endpoint does not. They are not the Bedrock system tools a model reaches through the Converse API, and bedrock-mantle does not serve Converse ↩