Audiotranskription
Transkribieren Sie Audio mit dem OpenAI-kompatiblen POST /v1/audio/transcriptions-Endpunkt. Unterstützte Modelle, Dateilimits, curl- und Python-Beispiele sowie die optionale asynchrone URL-Job-API.
OpenAI-kompatibles Audio
Verwenden Sie das OpenAI-JSON-Format für die Sprachsynthese. Die Antwort enthält Audiodaten und verwendet standardmäßig 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.mp3Verfügbare Modelle sind 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 und gpt-4o-mini-tts. response_format (mp3, opus, aac, flac, wav, pcm) und speed verwenden das OpenAI-Format; auf den Modellseiten sind etwaige enger gefasste native Limits aufgeführt. gpt-4o-mini-tts akzeptiert die 13 OpenAI-Stimmen (alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer, verse, marin, cedar) sowie das optionale Feld instructions, das die Sprechweise in einfachen Worten steuert, zum Beispiel "ruhig und warm sprechen".
Stimmenklonen
Das Modell voice-clone-tts spricht beliebige Texte mit Ihrer eigenen Stimme, auch auf Russisch. Erstellen Sie die Stimme zunächst einmalig aus einer 3–60 Sekunden langen Aufnahme (wav oder mp3, bis zu 10 MB) — dies ist kostenlos. consent: true ist erforderlich: Sie bestätigen damit, dass es Ihre eigene Stimme ist oder dass Sie die Einwilligung der Person haben, der die Stimme gehört. Bis zu 20 neue Stimmen pro 24 Stunden.
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"
}'Die Antwort enthält voice.id (voice_…). Übergeben Sie es als opts.voice_id in einer gewöhnlichen Medienanfrage; Engine qwen3 (Standard, beste Qualität) oder chatterbox (Economy). Abrechnung pro 1000 Textzeichen, bis zu 4000 Zeichen pro Anfrage.
Premium-Stimme – die größtmögliche Ähnlichkeit. Fügen Sie beim Erstellen "engine": "premium" hinzu; die Aufnahme muss 10–60 Sekunden lang sein. Die Erstellung kostet einmalig $2.00 und wird nur berechnet, wenn die Stimme erstellt wird: Bei einem Fehler wird nichts berechnet, und bei einem Guthaben unterhalb des Preises antwortet die API mit 402, bevor die Aufnahme gesendet wird. Synthetisieren Sie mit einer MiniMax-Engine: minimax-speech-2.8-hd, minimax-speech-2.6-hd oder minimax-speech-02-hd ($0.125 pro 1000 Zeichen) sowie deren Turbo-Versionen ($0.075); die älteren Namen premium / premium-turbo stehen für speech-02. Direkt nach der Erstellung sprechen wir mit der Stimme ein kurzes Wort – MiniMax löscht eine Stimme, die 7 Tage lang nicht verwendet wurde. Eine gelöschte Premium-Stimme funktioniert sofort nicht mehr, aber der Synthesedienst bietet keine Löschfunktion, und die Erstellungsgebühr wird nicht erstattet.
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" }
}'Eine Stimme ist nur für Ihr Konto verwendbar. Listen Sie sie mit GET /api/media/voices auf; löschen Sie eine mit DELETE /api/media/voices/{voice_id} — die Aufnahme wird ebenfalls aus dem Synthesedienst gelöscht. Wir speichern die Aufnahme nicht selbst.
ElevenLabs-Stimme. Wenn sie aktiviert ist, führt GET /api/media/voices ihre Preise unter pricing.elevenlabs_* auf. Erstellen Sie die Stimme mit engine: "elevenlabs" aus einer 10–60 Sekunden langen Aufnahme (die Anzahl der verfügbaren Stimmen ist begrenzt: Wenn alle Plätze belegt sind, lautet die Antwort 409 voice_slots_full), und synthetisieren Sie anschließend mit elevenlabs-v4 oder elevenlabs-v4-turbo – mit stability, similarity_boost, speed, seed, language und Audio-Tags wie [laughs] direkt im Text. Die zweite Ergebnisdatei ist eine Untertitel-JSON-Datei mit Wortzeitangaben. Preis pro 1000 Zeichen: v4 $0.044, v4 Turbo $0.022 – der Aktionspreis bis zum 12. Oktober 2026, danach $0.16 und $0.08. Der Speicher kostet $0.70 pro Stimme und Monat (der erste Monat ist enthalten; danach wird monatlich am Erstellungsdatum der Stimme abgerechnet). Wenn Ihr Guthaben zu niedrig ist, bleibt die Stimme einen weiteren Monat erhalten und wird erst gelöscht, wenn die Gebühr bei der nächsten Abbuchung weiterhin unbezahlt ist – wir informieren Sie vorher per E-Mail. Unter My voices sehen Sie alle Ihre Stimmen und deren Status.
Mehrere Aufnahmen. Eine ElevenLabs-Stimme kann bis zu 25 Aufnahmen enthalten: bei der Erstellung als samples-Array (jede Aufnahme als {"audio_url"} oder {"audio_base64"}, wav/mp3 mit bis zu 10 MB, zusammen bis zu 50 MB und 10–300 Sekunden) und später mit POST /api/media/voices/{voice_id}/samples {"samples": […]}. Das Hinzufügen ist kostenlos; die Speichergebühr bleibt bei einer Gebühr pro Stimme. Mit "remove_background_noise": true entfernt ElevenLabs kostenlos Hintergrundgeräusche aus den Aufnahmen (standardmäßig deaktiviert: Eine saubere Aufnahme kann dadurch schlechter werden).
OpenAI-kompatible Transkription
Senden Sie eine Multipart-Anfrage mit file und model. Dateien sind auf 50 MB begrenzt. Die Antwort ist { 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":"..."}Verfügbare Modelle sind speech-to-text, whisper-large-v3-turbo, nemotron-asr-multilingual und whisper-large-v3. Die aktuellen Preise pro Minute finden Sie im Audiomodellkatalog. Dateien müssen zwischen 1 Byte und 50 MB groß sein.
Zeitstempel und Untertitel
response_format folgt OpenAI: json (Standard, { text }), text (Klartext), verbose_json (JSON mit language, duration und segments[] — id, start, end, text in Sekunden), srt und vtt (fertige Untertitel). Für Zeitangaben auf Wortebene senden Sie timestamp_granularities[]=word mit verbose_json (Feld words[]: word, start, end); segment und word können kombiniert werden. Der Preis hängt nicht vom Format ab.
# 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}, ...]}Zeitstempel stammen von whisper-large-v3, whisper-large-v3-turbo, nemotron-asr-multilingual, qwen3-asr-1.7b und speech-to-text (dessen Segmente werden aus den Zeitangaben der Wörter gebildet). universal-2, voxtral-small-24b-2507 und nemotron-3-diarization geben keine Zeitstempel zurück, daher werden verbose_json / srt / vtt für diese mit 400 abgelehnt, bevor Kosten anfallen.
universal-2 ist auf diesen Routen nicht verfügbar. Die ältere /api/transcribe akzeptiert ein öffentliches audio_url, wird asynchron ausgeführt und vom Betreiber mit TRANSCRIBE_ENABLED aktiviert; andernfalls gibt sie 503 zurück.Transkription der Legacy-URL
Asynchrone Audiotranskription von einer öffentlichen URL. Sie erstellen eine Aufgabe und fragen das Ergebnis über unser id ab.
Erstellungsparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
audio_urlreq. | string (URL) | Ein öffentlicher Link zur Audiodatei. |
language | string | Sprachcode, z. B. ru, en (2–10 Zeichen). Optional – automatische Erkennung. |
redact_pii | boolean | Redaktion personenbezogener Daten. Standardmäßig aktiviert (Konformität mit 152-FZ); nur durch explizites redact_pii: false deaktiviert. |
Erstellen und abfragen
Beim Erstellen wird 202 mit { id, status: "processing" } zurückgegeben. Fragen Sie GET /api/transcribe/{id} ab, bis der Status success (oder fail) ist. Danach enthält die Antwort 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"}