ऑडियो प्रतिलेखन
OpenAI-compatible POST /v1/audio/transcriptions endpoint से audio transcribe करें। Supported models, file limits, curl और Python examples, साथ ही optional asynchronous URL job API।
OpenAI-compatible ऑडियो
Speech synthesis के लिए OpenAI JSON shape इस्तेमाल करें। Response में audio bytes होते हैं और default MP3 है।
curl https://getvibeapi.com/v1/audio/speech \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "chatterbox-turbo",
"input": "Hello from GetVibe",
"voice": "default",
"response_format": "mp3",
"speed": 1
}' \
--output speech.mp3उपलब्ध models हैं tts, gemini-tts, gemini-3.8-flash-tts, gemini-3.8-flash-lite-tts, gemini-3.8-flash-tts-lite, chatterbox-tts, kokoro-tts, chatterbox-turbo, और gpt-4o-mini-tts। response_format (mp3, opus, aac, flac, wav, pcm) और speed OpenAI shape का उपयोग करते हैं; model pages किसी भी narrower native limit को सूचीबद्ध करते हैं। gpt-4o-mini-tts 13 OpenAI voices (alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer, verse, marin, cedar) और optional instructions field स्वीकार करता है, जो delivery को सरल शब्दों में steer करता है, उदाहरण के लिए "speak calmly and warmly"।
आवाज़ क्लोनिंग
voice-clone-tts मॉडल किसी भी पाठ को आपकी अपनी आवाज़ में बोलता है, रूसी में भी। पहले 3–60 सेकंड की रिकॉर्डिंग (wav या mp3, अधिकतम 10 MB) से एक बार आवाज़ बनाएँ — यह निःशुल्क है। consent: true आवश्यक है: आप पुष्टि करते हैं कि यह आपकी अपनी आवाज़ है या आपके पास इसके स्वामी की सहमति है। प्रति 24 घंटे में अधिकतम 20 नई आवाज़ें।
curl https://getvibeapi.com/api/media/voices \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "My voice",
"consent": true,
"audio_url": "https://example.com/my-voice.wav"
}'जवाब में voice.id (voice_…) होता है। इसे सामान्य media request में opts.voice_id के रूप में पास करें; engine qwen3 (default, best quality) या chatterbox (economy)। कीमत text के प्रति 1000 characters पर, प्रति request 4000 characters तक।
Premium voice — सबसे नज़दीकी likeness। इसे बनाते समय "engine": "premium" जोड़ें; recording 10–60 सेकंड की होनी चाहिए। Creation की लागत $2.00 एक बार है और तभी charge होती है जब voice बन जाए: error पर कुछ charge नहीं होता, और कीमत से कम balance होने पर recording भेजे जाने से पहले 402 मिलता है। MiniMax engine से synthesise करें: minimax-speech-2.8-hd, minimax-speech-2.6-hd या minimax-speech-02-hd ($0.125 प्रति 1000 characters) और उनके Turbo versions ($0.075); पुराने नाम premium / premium-turbo का अर्थ speech-02 है। बनने के ठीक बाद हम उस voice से एक छोटा शब्द बोलते हैं — MiniMax 7 दिनों तक अप्रयुक्त voice हटा देता है। हटाई गई Premium voice तुरंत काम करना बंद कर देती है, लेकिन synthesis service deletion की सुविधा नहीं देती और creation fee वापस नहीं होती।
curl https://getvibeapi.com/api/media/generate \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "voice-clone-tts",
"prompt": "Hello! This is my cloned voice.",
"opts": { "voice_id": "voice_Ab12Cd34Ef56Gh78Ij90", "language": "auto" }
}'कोई voice केवल आपके account से ही इस्तेमाल हो सकती है। इन्हें GET /api/media/voices से list करें; किसी एक को DELETE /api/media/voices/{voice_id} से delete करें — recording synthesis service से भी हट जाती है। हम खुद recording नहीं रखते।
ElevenLabs voice। जब यह enabled होता है, GET /api/media/voices अपनी कीमतें pricing.elevenlabs_* के अंतर्गत दिखाता है। 10–60 सेकंड की recording से engine: "elevenlabs" के साथ voice बनाएँ (voice places सीमित हैं: जब वे भर जाते हैं तो जवाब 409 voice_slots_full होता है), फिर elevenlabs-v4 या elevenlabs-v4-turbo से synthesise करें — stability, similarity_boost, speed, seed, language, और text में ही [laughs] जैसे audio tags। दूसरी result file word timings वाली subtitles JSON होती है। प्रति 1000 characters कीमत: v4 $0.044, v4 Turbo $0.022 — 12 अक्टूबर, 2026 तक promotional कीमत, फिर $0.16 और $0.08। Storage प्रति voice प्रति माह $0.70 है (पहला महीना शामिल; फिर voice के creation day पर हर महीने charge)। यदि आपका balance बहुत कम है तो voice एक और महीना रखा जाता है और अगले charge पर भी fee अवैतनिक रहने पर ही हटाया जाता है — हम पहले आपको email करते हैं। अपनी सभी voices और उनका status My voices के अंतर्गत देखें।
कई recordings। एक ElevenLabs voice में 25 recordings तक आ सकती हैं: बनाते समय samples array के रूप में (हर एक {"audio_url"} या {"audio_base64"}, wav/mp3 अधिकतम 10 MB, कुल मिलाकर अधिकतम 50 MB और 10–300 सेकंड), और बाद में POST /api/media/voices/{voice_id}/samples {"samples": […]} से। जोड़ना मुफ़्त है; storage fee हर voice के लिए एक ही रहती है। "remove_background_noise": true के साथ ElevenLabs recordings से background noise मुफ़्त में हटा देता है (डिफ़ॉल्ट रूप से बंद: यह एक साफ़ recording को खराब भी कर सकता है)।
OpenAI-compatible प्रतिलेखन
file और model के साथ multipart request भेजें। फ़ाइलें 50 MB तक सीमित हैं। response { text: "..." } है।
curl https://getvibeapi.com/v1/audio/transcriptions \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-F [email protected] \
-F model=whisper-large-v3 \
-F language=en
# → {"text":"..."}उपलब्ध मॉडल speech-to-text, whisper-large-v3-turbo, nemotron-asr-multilingual और whisper-large-v3 हैं। प्रति मिनट की मौजूदा कीमतें ऑडियो मॉडल सूची में दिखाई जाती हैं। फ़ाइलें 1 बाइट से 50 MB तक की होनी चाहिए।
समय-चिह्न और उपशीर्षक
response_format OpenAI का अनुसरण करता है: json (डिफ़ॉल्ट, { text }), text (सादा पाठ), verbose_json (language, duration और segments[] के साथ JSON — id, start, end, text सेकंड में), srt और vtt (तैयार उपशीर्षक)। शब्दों के समय के लिए verbose_json के साथ timestamp_granularities[]=word भेजें (फ़ील्ड words[]: word, start, end); segment और word को साथ में इस्तेमाल किया जा सकता है। कीमत प्रारूप पर निर्भर नहीं करती।
# SRT subtitles (or vtt); verbose_json returns JSON with segments[] and words[]
curl https://getvibeapi.com/v1/audio/transcriptions \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-F [email protected] \
-F model=whisper-large-v3 \
-F response_format=srt
curl https://getvibeapi.com/v1/audio/transcriptions \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-F [email protected] \
-F model=whisper-large-v3 \
-F response_format=verbose_json \
-F "timestamp_granularities[]=segment" \
-F "timestamp_granularities[]=word"
# → {"task":"transcribe","language":"en","duration":5.9,"text":"...",
# "segments":[{"id":0,"start":0.03,"end":0.71,"text":"Hello!"}, ...],
# "words":[{"word":"Hello!","start":0.03,"end":0.51}, ...]}टाइमस्टैम्प whisper-large-v3, whisper-large-v3-turbo, nemotron-asr-multilingual, qwen3-asr-1.7b और speech-to-text से मिलते हैं (इसके खंड शब्दों के समय के आधार पर बनाए जाते हैं)। universal-2, voxtral-small-24b-2507 और nemotron-3-diarization कोई टाइमस्टैम्प नहीं लौटाते हैं, इसलिए उनके लिए verbose_json / srt / vtt को कोई भी शुल्क लगने से पहले 400 के साथ अस्वीकार कर दिया जाता है।
universal-2 इन routes पर उपलब्ध नहीं है। पुराना /api/transcribe एक public audio_url स्वीकार करता है, asynchronously चलता है, और operator इसे TRANSCRIBE_ENABLED से enable करता है; अन्यथा यह 503 return करता है।पुराना URL प्रतिलेखन
किसी public URL से asynchronous audio transcription। आप एक task बनाते हैं और हमारे id से result को poll करते हैं।
बनाने के parameters
| Parameter | Type | विवरण |
|---|---|---|
audio_urlreq. | string (URL) | Audio file का एक public link। |
language | string | Language code, जैसे ru, en (2-10 characters)। वैकल्पिक — स्वतः पहचाना जाता है। |
redact_pii | boolean | व्यक्तिगत डेटा रिडैक्शन। डिफ़ॉल्ट रूप से चालू (152-FZ अनुपालन); केवल स्पष्ट redact_pii: false से अक्षम। |
बनाएँ और poll करें
बनाने पर 202 के साथ { id, status: "processing" } मिलता है। जब तक status success (या fail) न हो, GET /api/transcribe/{id} को poll करें; फिर response में text, durationSec, priceRub होते हैं।
# 1. create a transcription job (audio by public URL)
curl https://getvibeapi.com/api/transcribe \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"audio_url": "https://example.com/audio.mp3",
"language": "en",
"redact_pii": true
}'
# → {"id":"...","status":"processing"}