Bedrock exposes OpenAI-compatible Responses and Chat Completions APIs. For many applications the migration boundary becomes configuration rather than a rewrite.
Stop buying one model. Build a model buffet.
Bedrock turns AWS into a provider-neutral AI control plane: OpenAI-compatible APIs, Anthropic-native Messages, AWS-native Converse, 100+ models, IAM and guardrails behind one account. The useful move is not 'migrate to Bedrock'. It is 'make the model replaceable'.
Apps stay simple. Backoffice routes. Context stays yours.
ABC keeps the architecture legible: applications ask for capabilities; the backoffice chooses and governs the model; context remains portable and independent.
- Chat / copilots
- Agents + MCP
- FastAPI services
- VidAI / site fleet
- Bedrock Router
- Mantle · Converse · Invoke
- IAM · Guardrails · budgets
- evals · logging · fallbacks
- OpenAI · Claude · Nova · DeepSeek · Llama · Mistral · Qwen…
- RAG + vectors
- S3 / DB / APIs
- prompts + tools
- memory + eval sets
- brand / policy packs
OpenAI and Anthropic can move without a rewrite.
Bedrock now supports OpenAI-compatible Responses / Chat Completions and an Anthropic-native Messages API. That changes the migration conversation from “replace the SDK” to “move the boundary”.
Bedrock supports Anthropic-native Messages semantics as well as AWS-native runtime APIs, so Claude can move behind AWS without redesigning the whole application.
Normalise requests, tools, streaming, metrics and fallbacks once. Let policy choose the model by quality, latency, geography, cost or availability.
from openai import OpenAI
client = OpenAI(
base_url="https://bedrock-mantle.eu-west-2.api.aws/v1",
api_key=BEDROCK_API_KEY,
)
response = client.responses.create(
model=MODEL_ID,
input="Build the next production slice"
)result = ai.run(
capability="production_agent",
messages=messages,
tools=tools,
max_cost_usd=0.20,
latency="interactive",
fallback=True,
)
# Provider selected by policy, not application code.Choose the cheapest model that can do the job well.
Bedrock’s catalogue changes quickly, so the architecture should care about capability classes rather than permanent model names.
Do not build a new media platform around Nova Reel or Nova Canvas. Both are legacy in Bedrock and scheduled for end-of-life on 30 September 2026. VidAI should treat every media generator as a replaceable adapter. Luma Ray 2 and Stability services can sit behind the AWS lane today; external providers remain first-class fallbacks.
Ask for a capability. Let B choose the model.
A Runware-style router, but owned by VidAI.
Bedrock can be the AWS-native lane, not the prison. VidAI exposes one job API and routes each media request to Bedrock, Runware, Veo, Sora, local GPU or whatever wins on cost, quality and availability that day.
- VidAI UI / API
- ABC / BOAI
- 100-app fleet
- YouTube / TikTok publishers
- VidAI Media Router
- queue · retry · cost · SLA
- Bedrock · Runware · Veo · Sora · local GPU
- S3/R2 asset pipeline
- QA + provenance + publish
- Siema / Gorai / Selena packs
- prompt templates
- brand rules
- asset registry
- quality / eval history
Text brain
Claude, OpenAI, Nova, DeepSeek and other Bedrock models generate scripts, shot lists, prompts, metadata and QA decisions.
Image lane
Stability Image Services and Titan sit behind the same job contract; external image providers remain pluggable.
Video lane
Luma Ray 2 is an AWS-native video option. Keep Runware, Veo, Sora and local generation as adapters rather than hard dependencies.
Audio lane
Nova Sonic / Nova 2 Sonic can cover realtime speech while specialist TTS/STT providers remain available through the router.
Bedrock is most useful when it reduces coupling.
Model IDs are configuration
Business logic should request a capability tier, not hard-code a provider model throughout the codebase.
AWS owns the control plane
IAM, projects/inference profiles, Guardrails, CloudWatch, budgets, logging and regional controls sit outside the model itself.
Context stays yours
RAG sources, vectors, prompts, evaluations, brand packs and agent memory live behind stable interfaces so models can be replaced.
Route by economics
Use frontier models only where they change the result. Cheap models handle the boring 80%; fallbacks protect production availability.
The migration goal is not AWS lock-in. It is model freedom.
Move provider-specific calls behind a stable routing contract. Put security, observability, RAG and economics in the backoffice. Then change models as fast as the market changes.