Swap providers, keep the work

Text, pictures and video each run on the provider you choose - an OpenAI-compatible server, Anthropic, Amazon Bedrock or Venice - and swapping one is a field, not a migration.

The provider is a setting here, not an architecture. Text, pictures and video each run on an account you connect, and changing which one is a field you edit rather than a migration you schedule.

Four kinds of text provider

Anything that speaks the OpenAI protocol - a hosted service, or a server on hardware you own and nobody else can reach - plus Anthropic directly, plus Amazon Bedrock in your own AWS account, plus Venice.ai, which puts more than a hundred text models behind a single key. An endpoint is a base address and a credential; you save it, test it from the same page, and the platform asks the provider what it serves rather than making you type a model list. Context limits and per-token prices are read from the provider too, so the usage figures you are shown are the ones you will be charged.

Bedrock connects the way AWS does: with an IAM user's access keys, a Bedrock API key, or a role in your account that the platform assumes. For a role, the trust policy names an external ID the platform generates for your endpoint and no one else holds, and every call is billed to the account the role belongs to. Claude, Nova, Llama, Mistral and the rest of the region's catalogue are listed from Bedrock itself, cross-region inference profiles included.

One Venice endpoint, tested from the page: 119 models with their context windows, output limits and capabilities, read from the provider.
One Venice endpoint, tested from the page: 119 models with their context windows, output limits and capabilities, read from the provider.

Pictures and video have their own

Storyboard frames, cast portraits, cover art and page artwork render on fal.ai, Venice or Higgsfield, and animation into clips runs on the same three. Configure one and it is used; configure two and you pick per render, or pin one and stop being asked. Before a clip is made its exact price is quoted from the provider, so motion is a decision you take with the number in front of you.

Swapping is a field, not a migration

A persona points at a harness, and a harness points at an endpoint. Repoint the endpoint and every persona behind it answers on the new provider, keeping its voice, its tools and what it remembers. Nothing downstream is renamed: clients calling the API ask for the persona, so the model underneath can change without anyone editing their code.

The differences are absorbed here

Providers do not agree with each other, and the disagreements are the part that usually costs a day. One caps how many tools a single request may carry, so a persona with a large toolbelt has it trimmed to fit instead of failing. One names an image's shape differently from the next, and some models within the same provider read a different parameter again. Some stream their deliberation on a separate channel that must not reach the reader. All of that is handled where the request is built, so switching provider does not become an afternoon of debugging.

No silent fallback

Every one of these keys is yours, and work runs on the account that submitted it. Where you have not connected a provider the feature that needs it is simply unavailable and says which key is missing - it never quietly falls back to ours, which is the arrangement that produces a surprise on somebody's invoice.