canonical: https://jentic.com/apis/murf.ai/murf

# Murf AI API

The Murf AI API generates studio-quality voiceovers from text using a library of AI voices across multiple languages and accents. It covers text-to-speech synthesis with streaming and non-streaming modes, voice cloning via the Voice Changer endpoint, multilingual translation, and full video dubbing through the Murfdub job pipeline. Developers can drop generated audio into products, e-learning content, marketing assets, or accessibility tooling without managing audio engineering infrastructure.

## For AI agents

Generate AI voiceovers, change voices, translate text, and dub videos through Murf's text-to-speech and Murfdub pipelines. Returns audio URLs and job statuses for synchronous and asynchronous workflows.

## Scope

Does not handle speech-to-text transcription, music generation, or sound effect synthesis - use for AI voice generation, voice conversion, and video dubbing only.

## Capabilities

- Synthesize text into studio-grade speech with selectable voice, pitch, and pace
- Stream generated audio in real time for low-latency voice applications
- Convert an uploaded recording into a different AI voice via the Voice Changer endpoint
- Translate source text into supported destination languages before synthesis
- Dub uploaded videos by creating Murfdub jobs and polling job status until completion
- Manage Murfdub projects to organize multiple dubbing tasks under one workspace
- Browse the available voice catalog with metadata on language, gender, and style

## Use cases

### E-Learning Course Narration

Convert written course scripts into natural-sounding narration across dozens of voices and languages. The Murf AI API renders audio for each lesson via `/v1/speech/generate`, returning a downloadable URL that can be attached to an LMS module. Course teams can rebuild narration whenever a script changes without rerecording with a voice actor, which collapses turnaround from days to minutes.

Example prompt: Call POST `/v1/speech/generate` with the lesson script and a chosen voiceId, then download the returned audio URL for the LMS upload.

### Localized Video Dubbing

Dub product videos and marketing content into target languages without scheduling a translation studio. Agents create a Murfdub job via `/v1/murfdub/jobs/create` with the source video and destination languages, then poll `/v1/murfdub/jobs/{job_id}/status` until the dubbed asset is ready. Across 14 endpoints, the Murfdub pipeline covers the full create-translate-render flow.

Example prompt: Create a Murfdub job for an English source video targeting Spanish and German, then poll status every 30 seconds and return the final dubbed video URLs.

### Real-Time Voice Streaming

Stream synthesized speech for IVR systems, voice agents, and live applications where latency matters. The `/v1/speech/stream` endpoint emits audio chunks as they are generated, letting downstream services play audio before the full utterance is complete. This keeps perceived response time under a second even for long passages.

Example prompt: Open a streaming connection to POST `/v1/speech/stream` with a voice agent's response text and forward audio chunks to the caller in real time.

### Voice Conversion for Recorded Audio

Replace the original speaker in a recording with a different AI voice while preserving timing and intonation. The `/v1/voice-changer/convert` endpoint accepts an uploaded audio file and a target voice, returning a new file with the chosen voice. This is useful for podcast anonymization, accent normalization, and re-voicing legacy recordings.

Example prompt: Submit a recorded narration to POST `/v1/voice-changer/convert` with target voiceId 'en-US-natalie' and return the converted audio URL.

### AI Agent Multilingual Voice Output

Wire the Murf AI API into a Jentic-driven agent so it can speak responses in any supported language. The agent searches Jentic for 'generate text to speech audio', loads the schema for `/v1/speech/generate`, and calls it with the response text plus a target voice. Jentic handles the api-key header injection, so the agent never sees the raw Murf credential.

Example prompt: Through Jentic, search for 'generate text to speech audio', load the `/v1/speech/generate` operation, and synthesize a French response with voiceId 'fr-FR-axel'.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/speech/generate` | Synthesize speech from text |
| POST | `/v1/speech/stream` | Stream synthesized speech in real time |
| GET | `/v1/speech/voices` | List available voices |
| POST | `/v1/voice-changer/convert` | Convert audio into a different voice |
| POST | `/v1/text/translate` | Translate text between languages |
| POST | `/v1/murfdub/jobs/create` | Create a video dubbing job |
| GET | `/v1/murfdub/jobs/{job_id}/status` | Get dubbing job status |

## Key resources

- **Speech** — Generate and stream synthesized audio from text
- **Voice Changer** — Convert an existing recording into a different AI voice
- **Translation** — Translate source text into a destination language
- **Murfdub Jobs** — Create and monitor video dubbing jobs
- **Murfdub Projects** — Organize dubbing jobs under named projects
- **Voices** — Browse the catalog of available AI voices and languages

## Why Jentic

- **Setup:** Wiring the Murf AI API by hand means learning its api-key header auth and managing the asynchronous dubbing job pattern, where you create a job and poll its status yourself. Through Jentic you install once, import the Murf AI API from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** Generation and dubbing requests carry their targets in the request body, so limit the agent to the operations it needs, such as generating speech or listing voices. You choose which operations are in scope, so a call like voice conversion is not included unless you add it.
- **Credential handling:** Your Murf API key is stored once, encrypted, by your own Jentic One instance and injected into the api-key header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'generate a voiceover' or 'dub a video into spanish', and Jentic returns the matching Murf operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **ElevenLabs API** — ElevenLabs offers competing AI voice generation with strong voice cloning and broader voice library coverage.
- **OpenAI API** — Pair OpenAI for script generation with Murf for voicing the resulting text.
- **Deepgram API** — Deepgram handles speech-to-text, the inverse of Murf's text-to-speech.

## FAQ

### What authentication does the Murf AI API use?

Murf AI uses API key authentication. Each request must include the api-key header with a key generated from the Murf dashboard. Through Jentic, the key is stored in your Jentic One instance and injected into requests automatically, so agent code never sees the raw secret.

### Can I stream audio in real time with the Murf AI API?

Yes. The POST `/v1/speech/stream` endpoint returns audio chunks as soon as they are synthesized, which keeps latency low for voice agents and IVR flows. Use `/v1/speech/generate` when you need a single complete file instead.

### How do I dub a video with the Murf AI API through Jentic?

Through Jentic, search for 'dub a video into another language', load the POST `/v1/murfdub/jobs/create` operation, and submit the source video URL with target languages. Then poll GET `/v1/murfdub/jobs/{job_id}/status` until the job completes and pull the rendered video URL from the response.

### What are the rate limits for the Murf AI API?

The OpenAPI spec does not declare specific rate limit values. Murf publishes plan-based limits on its pricing page; check the Retry-After header on 429 responses and adjust polling intervals for Murfdub jobs to avoid exceeding the limits on your tier.

### Which languages does the Murf AI API support for dubbing?

Call GET `/v1/murfdub/list-source-languages` and GET `/v1/murfdub/list-destination-languages` to retrieve the current supported language pairs. The catalog is updated as Murf adds voices, so query these endpoints rather than caching a static list.

### Can I convert a podcast recording into a different voice?

Yes. POST `/v1/voice-changer/convert` accepts an audio file and a target voiceId, then returns a new file with the original timing preserved but spoken in the chosen voice. List candidate voices via GET `/v1/speech/voices` first to pick one that matches the desired tone.

### Can I limit what my agent is allowed to do with the Murf AI API?

Yes. Because Jentic One is self-hosted, you decide which Murf AI operations your agent may call and which credentials it may use. You can scope the agent to just the endpoints it needs, such as POST `/v1/speech/generate` to synthesize speech and GET `/v1/speech/voices` to list voices, while leaving out operations you do not want it to reach, like POST `/v1/voice-changer/convert` or POST `/v1/murfdub/jobs/create.` An operation the agent has no permission for simply is not callable, so a voice conversion or dubbing request only runs if you add it to the allowed set.
