Speech to speech
Convert a source voice recording into a target voice while preserving natural timing, phrasing, and emotion.
Convert a source speech recording into a target Beatra voice while preserving the original timing, pauses, cadence, and vocal performance.
Primary agent path
Use the Universal Skill with the MCP tool beatra.speech.convert. The tool is
billable and returns an asynchronous task.
- Pick an eligible target voice first: call
beatra.voices.listwithsupports_speech_to_speech: true(REST:GET /v1/voices?supports_speech_to_speech=true). Only voices withcapabilities.supports_speech_to_speech: true— ElevenLabs preset voices andreadyElevenLabs cloned voices — can perform speech-to-speech conversion. - Upload the source speech recording with
beatra.assets.uploadand use the returnedartifact_id(or pass anhttps_url). - Create one opaque
client_request_idand submit the final arguments once. - Poll the returned task with
beatra.tasks.getuntil it is terminal.
AI guide
MCP integration guide for AI
For custom API integrations, copy this guide into Claude, Codex, or another coding assistant.
Tool arguments
audio(required;sourceaccepted as an input alias on both MCP and REST): an artifact reference ({"type": "artifact", "artifact_id": "..."}) or HTTPS URL ({"type": "https_url", "url": "https://..."}). Accepted formats are MP3, WAV, M4A, AAC, FLAC, OGG, and Opus. Duration must be1.0second to300.0seconds (5 minutes), and file size at most50 MiB. Inputs shorter than1.0second, longer than5minutes, or larger than50 MiBare rejected before billing with422 invalid_request.voice(required;voice_idaccepted as an input alias on both MCP and REST):voice_idof an eligible target voice (see voices). Passing a MiniMax or Doubao voice returns422 invalid_request(details.reason: "voice_unsupported_for_speech_to_speech",details.required_capability: "supports_speech_to_speech") before billing with zero credit charge. Passing a voice waiting for activation or expired returns422 invalid_request(details.reason: "voice_pending_activation"or"voice_expired").model(optional, default"auto"):"auto"or"elevenlabs-sts-v2".remove_background_noise(optional, boolean, defaultfalse): strip light room tone and background noise from the source recording before conversion. For heavy background music or outdoor noise, run voice isolation first.stability(optional,0.0–1.0),similarity_boost(optional,0.0–1.0),style(optional,0.0–1.0),use_speaker_boost(optional, boolean): optional target-voice expressiveness controls forwarded as ElevenLabsvoice_settings.format(optional, default"mp3"):"mp3"(44.1 kHz),"wav"(24 kHz 16-bit mono PCM in a RIFFWAVEaudio/wavcontainer),"opus"(48 kHz), or"pcm"(raw 24 kHz 16-bit signed little-endian mono PCM,audio/pcm).seed(optional, integer0–4,294,967,295): best-effort determinism hint.model_options(optional, object): forward-compatible bag for model-specific extension options.
Models, concurrency, and cost
beatra.models.list with capability: "speech_to_speech" is the live source
for selectable models, formats, limits, and prices.
elevenlabs-sts-v2: prepaid by started input minute (ceil(duration_seconds / 60)) at721 creditsper started minute (<= 60sreserves721 credits; a5-minute clip reserves3,605 credits).- Speech-to-speech shares the per-account 2-in-flight ElevenLabs voice-use
limit (
429 rate_limited,details.reason: speech_inflight_limit) with ElevenLabs text to speech. - When
voiceis an ElevenLabs cloned voice, Beatra automatically prepares or restores the voice from its saved sample before conversion when needed.
Result
Speech-to-speech is an atomic audio capability: it outputs the converted target audio without adding a hidden transcription step.
When captions or timestamps are also needed for the converted clip, pass the
returned audio.artifact_id to speech to text.
Task status and recovery
queued and running are not failures. Keep polling the same task_id; never
submit a replacement because work is still running. On a lost create response,
retry the identical arguments with the same client_request_id. If any input
changes, use a new ID. Failed tasks automatically refund the reserved credits.
Artifact URLs are CDN addresses — copy them to your own storage promptly.
REST API
Direct protocol integrations may use POST /v1/audio/speech-to-speech with a
stable Idempotency-Key header and the shared task endpoints. Follow the
generated API reference. Skill + MCP is the recommended
integration; use REST for custom, non-agent applications.
Last updated