Skip to content

Connect AI and voice providers

Add keys for Claude, OpenAI, Gemini, ElevenLabs, Freesound and a Whisper service, test them, and choose which service handles each task.

6 min Admin

On this page
  1. Before you start
  2. Step 1: Add a key
  3. Step 2: Test the key
  4. Step 3: Choose which service does what
  5. Step 4: Set the premium voice (optional)
  6. Step 5: Connect a Whisper service (optional)
  7. Step 6: Connect Chatterbox (optional)
  8. Track usage
  9. What happens next
  10. Troubleshooting

Veltra uses outside services to write drafts, voice the narration and search for music. You add your own keys once, for the whole organization, and choose which service does each job.

Before you start #

  • You need to be an organization Owner or Org admin.
  • Have an API key ready from each service you want to use. You create these in each provider's own console.
Service Used for Needed?
Claude (Anthropic) Writing drafts and structuring scripts One AI writer is needed. Claude is the default.
ChatGPT (OpenAI) Alternative writer for drafts and scripts Optional
Gemini (Google) Alternative writer for drafts and scripts Optional
ElevenLabs Premium narration voices Optional. The built-in voice needs no key.
Freesound Searching and importing CC-licensed music and sound effects Optional, but needed for music search
Whisper service Timing captions to your own recordings, and the speech check Optional. The built-in Whisper needs no key.

Step 1: Add a key #

  1. Open Settings, then API keys.
  2. Find the service and select Add key. If a key is already saved, the button says Replace.
  3. Optional: add a Label, for example "Production".
  4. Paste the key.
  5. Select Save key.

Keys are encrypted. Only the last 4 characters are ever shown. A key is sent to the worker only for the job that needs it, and is never logged.

API keys: the Claude card marked Working (1) with a masked key ending 4f2a labelled Production (2) and a Test button (3), and the Gemini card with no key and an Add key button (4) (opens full size in a new tab)
A saved key shows its status (1) and only its last 4 characters (2). Test (3) checks it; Add key (4) adds one.

Step 2: Test the key #

Select Test next to the key. Veltra makes a small, cheap call to the service and shows the result:

Status Meaning
Working The key is valid.
Failed The service rejected the key. Check it, then select Replace.
Not tested Nobody has tested this key yet.

If a card says Server key or "Using the key from the server environment", your installation already has a key for that service. Adding one here lets you manage it without a redeploy. Your key takes priority.

Step 3: Choose which service does what #

Under Which service does what, pick a service for each task:

Task Choices Default
Write a draft from a topic Claude, OpenAI, Gemini Claude
Structure a pasted script Claude, OpenAI, Gemini Claude
Narration voice Built-in (Edge), ElevenLabs, Chatterbox Built-in (Edge)
Music & sound search Freesound Freesound
Word timing & speech check Built-in Whisper, Whisper service Built-in Whisper

Select Save routing. Routing applies to every channel in the organization. Services without a key can't be chosen.

The Which service does what table with Narration voice routed to Chatterbox (1), Word timing & speech check routed to Whisper service (2) and the Save routing button (3) (opens full size in a new tab)
Pick a service per task, for example Chatterbox for narration (1) and a Whisper service for timing (2), then save (3).

Step 4: Set the premium voice (optional) #

If you route narration to ElevenLabs, a channel admin picks the voice:

  1. Open Settings, then Channel.
  2. Under Defaults for new episodes, set Voice service to ElevenLabs.
  3. Enter the ElevenLabs voice ID.
  4. Select Save defaults.

In the Create a video wizard, people still choose a standard voice. It's used for quick previews.

Step 5: Connect a Whisper service (optional) #

Whisper turns speech into timed words. Veltra uses it when someone narrates a video with their own recording, and for the optional speech check. The built-in Whisper runs on Veltra's servers for free. To use a hosted model with your own key, or your own server:

  1. Under Whisper service, enter the Base URL and Model. OpenAI: https://api.openai.com/v1 and whisper-1. Groq: https://api.groq.com/openai/v1 and whisper-large-v3-turbo. Your own server: its address ending in /v1.
  2. Paste the API key, if the service needs one.
  3. Select Test connection. Veltra sends one second of silence and reports the answer time. Nothing is stored.
  4. Select Save and test, then route Word timing & speech check to Whisper service.
The Whisper service card: the current Groq server, model and masked key with Test connection (3), and the Change the service form with Base URL (1), Model (2) and Save and test (4) (opens full size in a new tab)
Enter the Base URL (1) and Model (2), then Save and test (4). Test connection (3) re-checks the saved service.

The URL must use https and a public address. If you run Veltra yourself next to a GPU server on the same network, your administrator can set ALLOW_PRIVATE_ENDPOINTS=1 to allow private addresses. See Use your own voice.

Step 6: Connect Chatterbox (optional) #

Chatterbox is an open-source voice from Resemble AI: 23 languages, and it can clone a voice from a short clip. Veltra doesn't run it, so connect one of these under Chatterbox:

  • Your own server. Enter its Base URL ending in /v1, plus a key if it needs one.
  • DeepInfra. Paste your DeepInfra API key. It costs about a tenth of a cent per narrated minute.

Select Test connection: Chatterbox speaks one word and Veltra reports the time. Then route Narration voice to Chatterbox. See Clone a voice with Chatterbox.

The Chatterbox card: Base URL for your own server (1), the DeepInfra API key field with the saved key masked (2), and the Narration voice badge showing Chatterbox is routed (3) (opens full size in a new tab)
Connect your own server (1) or DeepInfra (2). The badge (3) shows when narration is routed to Chatterbox.

Track usage #

Each key's card shows this month's usage: requests, tokens, characters voiced and an estimated cost. Use it to spot unexpected spend.

What happens next #

New drafts use the services you chose. To check, create a test Short. See Create your first Short.

Troubleshooting #

A key shows Failed. Check that you copied the whole key, that it hasn't been revoked, and that billing is active with the provider.

Drafts fail with a quota or rate limit error. The provider is limiting your account. "Rate limited" usually clears in a minute. "Quota exhausted" means you need to check billing with the provider.

I deleted a key and drafts stopped. Tasks routed to a deleted key fall back to the server key, or stop if there isn't one. Add a new key, or change the routing.

Music search says it needs a Freesound key. Add one in this page, then try the search again.