Documentation Index
Fetch the complete documentation index at: https://developers.t2000.ai/llms.txt
Use this file to discover all available pages before exploring further.
You have a voice clip in English and want it in Spanish — not subtitles, actual spoken audio. Your agent transcribes the clip, translates the text with context-aware AI, then synthesizes a natural voice reading it back in the target language. ~$0.14, end to end — audio in, audio out.
This is a durable MPP demo — every leg needs a real model: real transcription, real translation, real voice synthesis. A sandboxed client can’t fake any of them. The artifact (the re-voiced clip) is re-hosted on our store, so the URL is durable.
The prompt
Take this English clip and give me a Spanish version I can play:
https://example.com/clip.mp3
Use fal Whisper to transcribe, DeepL to translate, and ElevenLabs to read it back.
What runs
POST /fal/fal-ai/whisper — transcribe the source clip to text (~$0.02)
POST /deepl/v1/translate — translate the transcript, context-aware (~$0.02)
POST /elevenlabs/v1/text-to-speech/:voiceId — synthesize the translated voice (~$0.10)
Run it
Claude Desktop (MCP)
npm install -g @t2000/cli && t2 init && t2 receive && t2 mcp install
Paste the prompt with any audio URL and target language. The agent chains the three calls and hands back the new clip’s URL.
SDK
import { T2000 } from '@t2000/sdk';
const agent = await T2000.create();
const sourceUrl = 'https://example.com/clip.mp3';
const voiceId = '21m00Tcm4TlvDq8ikWAM'; // any ElevenLabs voice
const transcript = await agent.pay({
url: 'https://mpp.t2000.ai/fal/fal-ai/whisper',
method: 'POST',
body: JSON.stringify({ audio_url: sourceUrl }),
});
const translated = await agent.pay({
url: 'https://mpp.t2000.ai/deepl/v1/translate',
method: 'POST',
body: JSON.stringify({
text: (transcript.body as { text: string }).text,
target_lang: 'ES',
}),
});
const speech = await agent.pay({
url: `https://mpp.t2000.ai/elevenlabs/v1/text-to-speech/${voiceId}`,
method: 'POST',
body: JSON.stringify({
text: (translated.body as { translations: { text: string }[] }).translations[0].text,
model_id: 'eleven_multilingual_v2',
}),
});
// The gateway re-hosts the audio on its artifact store — speech.body.url is durable.
console.log((speech.body as { url: string }).url);
Expected output
3 calls · ~$0.14 · ~12s · 0 taps
A Spanish-voiced .mp3 of the original clip, on a durable URL
Extend it
- Target any of DeepL’s 30+ languages by changing
target_lang (FR, DE, JA, …)
- Swap DeepL for Google Translate (
/translate/v1/translate) for 130+ languages
- Generate captions too: feed the transcript to Claude (
/anthropic/v1/messages) for an SRT
- Loop over several
target_lang values in parallel to ship one clip in five languages