Thème
Langue

Transcription audio

Transcrivez des fichiers audio avec le point de terminaison OpenAI-compatible POST /v1/audio/transcriptions. Modèles pris en charge, limites de fichiers, exemples curl et Python, ainsi que l’API facultative de tâches asynchrones par URL.

Audio compatible avec OpenAI

Utilisez le format JSON OpenAI pour la synthèse vocale. La réponse contient des octets audio et utilise MP3 par défaut.

POSThttps://getvibeapi.com/v1/audio/speech
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

Les modèles disponibles sont 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 et gpt-4o-mini-tts. response_format (mp3, opus, aac, flac, wav, pcm) et speed utilisent le format OpenAI ; les pages des modèles indiquent les éventuelles limites natives plus restrictives. gpt-4o-mini-tts accepte les 13 voix OpenAI (alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer, verse, marin, cedar) ainsi que le champ facultatif instructions, qui oriente le rendu en termes simples, par exemple « speak calmly and warmly ».

Clonage de voix

Le modèle voice-clone-tts prononce n’importe quel texte avec votre propre voix, y compris en russe. Commencez par créer la voix une seule fois à partir d’un enregistrement de 3–60 secondes (wav ou mp3, jusqu’à 10 MB) — cette opération est gratuite. consent: true est obligatoire : vous confirmez qu’il s’agit de votre propre voix ou que vous avez le consentement de son propriétaire. Jusqu’à 20 nouvelles voix par période de 24 heures.

POSThttps://getvibeapi.com/api/media/voices
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"
  }'

La réponse contient voice.id (voice_…). Transmettez-le comme opts.voice_id dans une requête média ordinaire ; moteur qwen3 (par défaut, meilleure qualité) ou chatterbox (économique). Facturé par tranche de 1000 caractères de texte, jusqu’à 4000 caractères par requête.

Voix Premium — la ressemblance la plus fidèle. Ajoutez "engine": "premium" lors de sa création ; l’enregistrement doit durer 10–60 secondes. La création coûte $2.00 une seule fois et n’est facturée que si la voix est créée : aucune facturation en cas d’erreur, et un solde inférieur au prix renvoie 402 avant l’envoi de l’enregistrement. Synthétisez avec un moteur MiniMax : minimax-speech-2.8-hd, minimax-speech-2.6-hd ou minimax-speech-02-hd ($0.125 pour 1000 caractères), ainsi que leurs versions Turbo ($0.075) ; les anciens noms premium / premium-turbo désignent speech-02. Juste après la création, nous prononçons un mot court avec la voix — MiniMax supprime toute voix restée inutilisée pendant 7 jours. Une voix Premium supprimée cesse immédiatement de fonctionner, mais le service de synthèse ne propose aucune suppression et les frais de création ne sont pas remboursés.

POSThttps://getvibeapi.com/api/media/generate
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" }
  }'

Une voix est utilisable uniquement par votre compte. Répertoriez-les avec GET /api/media/voices ; supprimez-en une avec DELETE /api/media/voices/{voice_id} : l’enregistrement est également supprimé du service de synthèse. Nous ne conservons pas nous-mêmes l’enregistrement.

Voix ElevenLabs. Lorsqu’elle est activée, GET /api/media/voices répertorie ses prix sous pricing.elevenlabs_*. Créez la voix avec engine: "elevenlabs" à partir d’un enregistrement de 10–60 secondes (les emplacements de voix sont limités : lorsqu’ils sont tous occupés, la réponse est 409 voice_slots_full), puis synthétisez avec elevenlabs-v4 ou elevenlabs-v4-turbo — stabilité, similarity_boost, speed, seed, language et balises audio telles que [laughs] directement dans le texte. Le second fichier de résultat est un fichier JSON de sous-titres contenant les minutages des mots. Prix pour 1000 caractères : v4 $0.044, v4 Turbo $0.022 — tarif promotionnel jusqu’au 12 octobre 2026, puis $0.16 et $0.08. Le stockage coûte $0.70 par voix et par mois (le premier mois est inclus ; les mois suivants sont facturés le jour de création de la voix). Si votre solde est insuffisant, la voix est conservée pendant un mois supplémentaire et supprimée uniquement si les frais restent impayés lors de la facturation suivante — nous vous envoyons d’abord un e-mail. Consultez toutes vos voix et leur statut sous My voices.

Plusieurs enregistrements. Une voix ElevenLabs accepte jusqu’à 25 enregistrements : lors de sa création, sous forme de tableau samples (chaque élément étant {"audio_url"} ou {"audio_base64"}, wav/mp3 jusqu’à 10 MB, 50 MB au total et 10–300 secondes), puis ultérieurement avec POST /api/media/voices/{voice_id}/samples {"samples": […]}. L’ajout est gratuit ; les frais de stockage restent uniques par voix. Avec "remove_background_noise": true, ElevenLabs supprime gratuitement le bruit de fond des enregistrements (désactivé par défaut : cela peut détériorer un enregistrement propre).

Transcription compatible avec OpenAI

Envoyez une requête multipart avec file et model. Les fichiers sont limités à 50 MB. La réponse est { text: "..." }.

POSThttps://getvibeapi.com/v1/audio/transcriptions
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":"..."}

Les modèles disponibles sont speech-to-text, whisper-large-v3-turbo, nemotron-asr-multilingual et whisper-large-v3. Les tarifs actuels par minute figurent dans le catalogue des modèles audio. La taille des fichiers doit être comprise entre 1 octet et 50 MB.

Horodatages et sous-titres

response_format suit le format OpenAI : json (par défaut, { text }), text (texte brut), verbose_json (JSON avec language, duration et segments[] — id, start, end, text en secondes), srt et vtt (sous-titres prêts à l’emploi). Pour obtenir les horodatages des mots, envoyez timestamp_granularities[]=word avec verbose_json (champ words[] : word, start, end) ; segment et word peuvent être combinés. Le prix ne dépend pas du format.

# 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}, ...]}

Les horodatages proviennent de whisper-large-v3, whisper-large-v3-turbo, nemotron-asr-multilingual, qwen3-asr-1.7b et speech-to-text (ses segments sont construits à partir des repères temporels des mots). universal-2, voxtral-small-24b-2507 et nemotron-3-diarization ne renvoient aucun horodatage ; verbose_json / srt / vtt sont donc refusés avec le code 400 pour ces modèles avant toute facturation.

universal-2 n’est pas disponible sur ces routes. L’ancien /api/transcribe accepte un audio_url public, s’exécute de manière asynchrone et est activé par l’opérateur avec TRANSCRIBE_ENABLED ; sinon, il renvoie 503.

Transcription d’URL héritée

Transcription audio asynchrone à partir d’une URL publique. Vous créez une tâche et interrogez le résultat à l’aide de notre id.

POSThttps://getvibeapi.com/api/transcribe
GEThttps://getvibeapi.com/api/transcribe/{id}

Paramètres de création

ParamètreTypeDescription
audio_urlreq.chaîne (URL)Un lien public vers le fichier audio.
languagestringCode de langue, par exemple ru, en (2-10 caractères). Facultatif — détection automatique.
redact_piibooleanCaviardage des données personnelles. Activé par défaut (conformité à la 152-FZ) ; désactivé uniquement avec redact_pii: false explicite.

Créer et interroger

La création renvoie 202 avec { id, status: "processing" }. Interrogez GET /api/transcribe/{id} jusqu’à ce que le statut soit success (ou fail) ; la réponse contient alors 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"}
Prix — 1.5₽ par minute (minimum de 1 minute, arrondi à la minute supérieure). Le débit a lieu une seule fois, lorsque la tâche est terminée. Le caviardage des données personnelles est activé par défaut et n’augmente pas le tarif.
API de transcription audio — synthèse vocale et Whisper | GetVibe API