Skip to main content

Inference providers

An inference provider is a connection to an AI service: the place ReelBolt sends work when an agent needs to think, when footage needs a transcript, when a clip needs to be generated, and so on. Nothing AI-powered works until at least one provider is set up, and ordinary users never have to touch these pages to use ReelBolt — only to change where its work is sent.

There are two levels of connection, and this page covers both:

LevelWhere it is managedWho can change it
Platform-managed — the installation's own connections, shared by every workspacePlatform → Inference (/app/admin/inference-providers)Platform administrators only
Workspace (bring your own) — a team workspace's own connectionsOrganization → Providers (/app/org/inference-providers)That workspace's Owners and Admins

The rest of this page is about the Platform page. The workspace page offers a reduced version of the same form, described under "A workspace's own connections" below.

What a ReelBolt inference provider connection holds​

Click New Provider to add one. The form asks for:

  • Name: your own label, for example "Production Azure". Names must be unique.
  • Kind: which service or vendor this is (see the next section).
  • Capability: what this connection is used for. One connection serves exactly one capability; if the same vendor does two jobs for you, add it twice.
  • Endpoint / Base URL: the service's web address. It is filled in automatically for vendors with a fixed address.
  • Model (or Deployment name for Azure OpenAI): which model to use.
  • API Key: the secret that lets ReelBolt use the service. See "API keys" below.
  • Timeout (seconds): how long to wait for an answer before giving up. Left empty, the default is 300 seconds.
  • Set as default … provider: makes this the connection used for its capability unless something more specific is chosen.
  • Enabled: switch off to stop using the connection without deleting it.

Use Test connection before saving to check the details work, then Create (or Update when editing).

Capabilities: what each kind of ReelBolt provider connection is for​

Capability (form label)What ReelBolt uses it for
Chat (Chat)The thinking behind every agent: scripts, edit decisions, plans, reviews, the assistant. Required for almost everything.
Transcription (Transcription (ASR))Turning speech in your footage into a transcript, so editing agents know what is being said.
Vision (Vision (shot captioning))Describing what is on screen in each shot, as optional extra detail for editing agents.
Decision (Decision (Jev / logprob))Fast yes/no and multiple-choice judgements used by the optional decision models. See Decision models. Never used for chat.
VideoGeneration (Video Generation)Creating new video clips (b-roll, opening shots, end cards). Costs real money per clip and is budget-capped.
SpeechSynthesis (Speech Synthesis (TTS / voiceover))Turning script text into voiceover narration.
Embedding (Embedding (semantic file search))Searching project files by meaning, and the assistant's documentation search. See Semantic search.

Which provider kinds serve which capabilities in ReelBolt​

Not every service can do every job. The form only offers the capabilities a kind supports, and ReelBolt refuses unsupported combinations when you save.

Kind (form label)ChatTranscriptionVisionDecisionVideoGenerationSpeechSynthesisEmbedding
AzureOpenAI (Azure OpenAI)yesyesyesyesnonoyes
OpenAICompatible (OpenAI-compatible)yesyesyesyesnoyesyes
Anthropic (Anthropic (Claude))yesnoyesnononono
Gemini (Google Gemini)yesnoyesnononono
DeepSeek (DeepSeek)yesnoyesyesnonono
TypeSafe (TypeSafe AI (Jev))nononoyesnonono
OpenJev (self-hosted decision server)nononoyesnonono
MiniMax (MiniMax)nonononoyesnono
FishAudio (Fish Audio)nononononoyesno

Notes:

  • OpenAI-compatible covers OpenAI itself and any service that speaks the same language, including models you host yourself (for example on your own GPU server) and the two local helper services described below.
  • Anthropic, Google Gemini and DeepSeek cannot transcribe speech. Use Azure OpenAI or an OpenAI-compatible service (such as the bundled local speech-to-text service) for Transcription.
  • Video generation is MiniMax only, and MiniMax does nothing else. Voiceover uses Fish Audio (its hosted service, or a Fish speech server you run yourself) or an OpenAI-compatible speech server such as the bundled local one (http://whisper:8000/v1, zero cost). Only Fish Audio can clone a voice from recordings; a cloned voice is a copy of a real person's voice, and ReelBolt records who attested that person's consent, keeps the voice only for the retention period you set, and lets you revoke consent or delete the voice and its recordings at any time from the project's Voices tab.
  • OpenJev is for a decision server you host yourself. It is not in the form's Kind list; a platform administrator can create it by asking the assistant.
  • Vision connections must use a model that accepts images.

Platform-managed connections and a workspace's own connections​

A platform-managed connection belongs to the ReelBolt installation. It is available in every workspace, and it is what every workspace uses unless the workspace has provided its own. Platform administrators are the only people who can see or change one. This is the page you are reading.

A workspace connection (also called bring-your-own, or BYO) belongs to one team workspace. It is visible only inside that workspace, it is paid for by that workspace, and nobody else's work is affected by it. If a workspace marks one of its own connections as the default for a capability, that connection wins for that workspace — the platform default still applies everywhere else.

The two are fully separate. A member of a workspace cannot see the platform page, and a platform administrator cannot see or change a workspace's connections.

A workspace's own connections​

A team workspace's Owners and Admins manage its own connections on Organization → Providers, the page titled Providers under the Organization group in the left menu. The form works exactly like the one described above, with three deliberate differences, all enforced by ReelBolt whatever the form offers:

  • No env: shortcut. A workspace connection must carry its own key; it can never be pointed at a key from the installation's environment.
  • No personal subscription mode. The Dev/OAuth (Personal use only) switch, which the platform form offers for Anthropic, is not available here.
  • Public addresses only. A workspace connection must use a public address. Self-hosted services on the installation's private network can only be platform-managed connections.

Two more rules are worth knowing:

  • Adding, changing or testing a workspace connection requires the workspace's plan to include bringing your own providers. If it does not, the form says so and offers the upgrade path rather than failing obscurely. Seeing the list and deleting a connection always work, so a workspace that has lost the feature can still clean up after itself. Connections that are dropped by the plan are simply not used until the plan allows them again.
  • A Member cannot open the page, but can still choose among the connections a step's settings offer, exactly as on the platform page.

The workspace page is described from the workspace's point of view in Workspaces and teams and Bring your own provider.

Default providers: one per capability​

Each capability has its own independent default. You can have a default Chat provider, a default Transcription provider and a default Embedding provider all at once; making one connection the default only replaces the previous default for the same capability. A workspace can also have a default of its own for a capability, and where it does, the workspace's default wins inside that workspace while the platform default keeps serving everyone else.

When ReelBolt needs a capability it uses, in order:

  1. a connection chosen specifically for that job (for example a particular agent's override, or a provider picked in a step's settings),
  2. otherwise the default connection for that capability,
  3. otherwise, for Chat only, the Azure OpenAI details in the installation's settings file, if any were set. For Embedding the same settings file is also used as a last resort.

For every other capability there is no fallback: if no default exists, features that need it either skip that part (for example, an edit without a transcript) or stop with an error when the step's settings say it is required.

You cannot delete the connection that is currently the default for its capability; make another connection the default first. Changes to providers take effect within about a minute, without restarting anything.

Speech (narration) also looks at test results. For SpeechSynthesis only, if the default connection failed its last test and another speech connection passed its test, ReelBolt narrates with the working one, and the run shows a warning ("Your default voice service failed its last connection check…"). A connection picked in a step's settings is always used as chosen, and a default that was never tested is trusted. If the run used a connection whose last test failed, it warns that narration may be missing. Re-test the default after fixing it and it is used again within about a minute. Any signed-in user can see which voice service a run would use and whether it is healthy (no addresses or keys are shown).

Testing a ReelBolt inference provider​

Test connection sends a tiny request through the connection and reports Connection OK or Connection failed with the reason. The result is saved and shown in the providers table under Last Test (hover for the time or the error). What the test does depends on the capability:

  • Chat: asks for a one-word reply.
  • Transcription: sends a fraction of a second of silent audio.
  • Vision: sends a tiny image and asks for "ok".
  • Decision: asks a fixed question ("Is 2 greater than 1?") and checks the service is clearly confident the answer is yes.
  • Embedding: turns the word "ping" into numbers and reports the length (for example vector length 1024).
  • SpeechSynthesis: synthesises the word "ok" and checks real audio came back.
  • VideoGeneration: checks the key and service respond without creating a video, so the test costs nothing.

When editing a saved connection you can test without retyping the key; the stored key is reused.

When a test fails, the reason includes what actually went wrong — for example a refused connection with the address it tried, or the service's own error message and request number — so you can tell a wrong address from a wrong model name from an outage on the service's side. For MiniMax, a failure that comes back as a server error (500) while the key is accepted means the problem is on MiniMax's side; the message says so and includes MiniMax's request id for their support team.

Asking the assistant to test a ReelBolt inference provider​

Platform administrators can also ask the assistant to run the test, for example "test the MiniMax connection and tell me why it fails". The assistant runs exactly the same test as the Test connection button, saves the result in the same place, reads the error, and explains it in plain words. It sends one tiny real request, just like the button, and changes no settings — if a setting needs to change, it proposes the change and waits for your approval.

Choosing a different provider for one agent​

By default every agent uses the default Chat provider of the workspace it runs in. A platform administrator can point a single agent at a different chat connection everywhere, and a workspace's Owner or Admin can do the same for that workspace only, for example a stronger model for the director or a cheaper one for code analysis.

On the platform page:

  1. Open Agents and click the agent (built-in agents can be overridden too).
  2. In Inference Provider ("Overrides the global default provider for this agent."), choose a connection, or Default provider to go back to the default.

A workspace's Owner or Admin sees the same control on the agent's page while that workspace is active, but only for a built-in agent — a built-in agent is one shared row, so their choice is stored against the workspace rather than on the agent. They can pick any enabled Chat connection the workspace can use, whether platform-managed or the workspace's own, and it applies to that workspace alone, taking precedence over the installation-wide setting. Everyone else, and every custom agent, sees the current choice read-only.

Only enabled Chat connections are listed. If you later delete the chosen connection, the agent quietly goes back to the default. Members can see which provider an agent uses but cannot change it.

API keys and the env: shortcut​

API keys are stored encrypted and are never shown again after you save them: the page only shows the last four characters (for example •••• 1a2b), and the assistant never reads them back.

  • When editing, leave API Key blank to keep the current key. To remove a stored key, clear it through the assistant or the API by sending an empty key.
  • For Anthropic, Google Gemini and DeepSeek, you can type the literal value env: instead of a key. ReelBolt then stores no key at all and uses the key from the server's own environment variables: ANTHROPIC_API_KEY or ANTHROPIC_AUTH_TOKEN for Anthropic, GEMINI_API_KEY or GOOGLE_API_KEY for Gemini, DEEPSEEK_API_KEY for DeepSeek. Whoever runs the installation sets these.
  • For those three kinds, a blank key is an error, not a silent fallback: a connection with no key and no env: fails when used.
  • MiniMax and Fish Audio keys are used exactly as you enter them; env: has no special meaning there.

Anthropic personal subscriptions. The Anthropic form has a Dev/OAuth (Personal use only) switch for a personal Claude subscription credential instead of a Console API key. A personal subscription is licensed for its owner's own use only; an installation that serves other people must use a proper API key.

Fish Audio licensing. Fish Audio's hosted service, including its free tier, has no documented non-commercial restriction. Running Fish's open models on your own server is different: commercial use needs a separate paid licence from Fish Audio.

Setting up local speech-to-text (the whisper service)​

ReelBolt's standard installation includes an optional local speech-to-text service called whisper, which transcribes footage on your own server instead of sending audio to a cloud vendor. It is not connected automatically. To use it:

  1. Make sure the whisper service is running (whoever runs the installation can start it).
  2. Click New Provider and set Kind to OpenAI-compatible, Capability to Transcription (ASR).
  3. Set Base URL to http://whisper:8000/v1 (the service's address inside the installation).
  4. Set Model to one of the suggestions, for example Systran/faster-whisper-small (fast) or Systran/faster-whisper-large-v3 (more accurate, slower). The model is downloaded the first time it is used, so the first transcription is slow.
  5. Leave API Key blank, switch on Set as default transcription provider, click Test connection, then Create.

It runs on the processor, not a graphics card, so long footage takes a while to transcribe.

Setting up local search (the embeddings service)​

The standard installation also includes an optional local service called embeddings, which powers search-by-meaning without a cloud vendor. To connect it:

  1. Make sure the embeddings service is running. The first start downloads its model and can take a few minutes.
  2. Click New Provider: Kind OpenAI-compatible, Capability Embedding (semantic file search).
  3. Base URL http://embeddings:80/v1, Model Qwen/Qwen3-Embedding-0.6B, API Key blank.
  4. Switch on Set as default embedding provider, click Test connection (it should report vector length 1024), then Create.
  5. Reindex existing project files so they become searchable; see Semantic search.

Managing inference providers through the assistant​

How platform administrators can ask the assistant to list connections, add one, change one or remove one. Every change is proposed first and only applied after you agree. The assistant never shows stored API keys, and the same rules apply as on this page (for example, it cannot delete a default connection).

The assistant's provider tools act on platform-managed connections only. It cannot list, read, test or change a workspace's own connections, so a workspace Owner or Admin who asks it to change one will be told the connection does not exist — use Organization → Providers.