Tema
Idioma

Transcrição de áudio

Transcreva áudio com o endpoint OpenAI-compatible POST /v1/audio/transcriptions. Modelos compatíveis, limites de arquivo, exemplos com curl e Python, além da API opcional de tarefas assíncronas por URL.

Áudio compatível com OpenAI

Use o formato JSON da OpenAI para síntese de fala. A resposta contém bytes de áudio e usa MP3 por padrão.

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

Os modelos disponíveis são 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 e gpt-4o-mini-tts. response_format (mp3, opus, aac, flac, wav, pcm) e speed usam o formato da OpenAI; as páginas dos modelos listam quaisquer limites nativos mais restritos. gpt-4o-mini-tts aceita as 13 vozes da OpenAI (alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer, verse, marin, cedar) e o campo opcional instructions, que orienta a entrega em linguagem simples, por exemplo, "fale de maneira calma e acolhedora".

Clonagem de voz

O modelo voice-clone-tts fala qualquer texto com a sua própria voz, inclusive em russo. Primeiro, crie a voz uma única vez a partir de uma gravação de 3–60 segundos (wav ou mp3, até 10 MB) — isso é gratuito. consent: true é obrigatório: você confirma que é a sua própria voz ou que tem o consentimento de quem ela pertence. Até 20 novas vozes a cada 24 horas.

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"
  }'

A resposta contém voice.id (voice_…). Passe-o como opts.voice_id em uma solicitação de mídia comum; mecanismo qwen3 (padrão, melhor qualidade) ou chatterbox (econômico). Cobrado por 1000 caracteres de texto, até 4000 caracteres por solicitação.

Voz Premium — a semelhança mais próxima. Adicione "engine": "premium" ao criá-la; a gravação deve ter 10–60 segundos. A criação custa $2.00 uma única vez e só é cobrada se a voz for criada: nada é cobrado em caso de erro, e um saldo abaixo do preço retorna 402 antes que a gravação seja enviada. Sintetize com um mecanismo MiniMax: minimax-speech-2.8-hd, minimax-speech-2.6-hd ou minimax-speech-02-hd ($0.125 por 1000 caracteres) e suas versões Turbo ($0.075); os nomes antigos premium / premium-turbo significam speech-02. Logo após a criação, falamos uma palavra curta com a voz — a MiniMax exclui uma voz que não seja usada por 7 dias. Uma voz Premium excluída para de funcionar imediatamente, mas o serviço de síntese não oferece exclusão, e a taxa de criação não é reembolsada.

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" }
  }'

Uma voz pode ser usada somente pela sua conta. Liste-as com GET /api/media/voices; exclua uma com DELETE /api/media/voices/{voice_id} — a gravação também é excluída do serviço de síntese. Nós não mantemos a gravação.

Voz do ElevenLabs. Quando ativado, GET /api/media/voices lista os preços em pricing.elevenlabs_*. Crie a voz com engine: "elevenlabs" a partir de uma gravação de 10–60 segundos (os espaços para vozes são limitados: quando estão ocupados, a resposta é 409 voice_slots_full), depois sintetize com elevenlabs-v4 ou elevenlabs-v4-turbo — estabilidade, similarity_boost, velocidade, seed, idioma e tags de áudio, como [laughs], diretamente no texto. O segundo arquivo de resultado é um JSON de legendas com a temporização das palavras. Preço por 1000 caracteres: v4 $0.044, v4 Turbo $0.022 — o preço promocional até October 12, 2026, depois $0.16 e $0.08. O armazenamento custa $0.70 por voz por mês (o primeiro mês está incluído; depois, a cobrança é mensal no dia de criação da voz). Se o seu saldo for muito baixo, a voz será mantida por mais um mês e excluída somente se a taxa continuar não paga na cobrança seguinte — enviaremos um e-mail antes. Consulte todas as suas vozes e o status delas em My voices.

Várias gravações. Uma voz do ElevenLabs aceita até 25 gravações: na criação, como um array samples (cada {"audio_url"} ou {"audio_base64"}, wav/mp3 de até 10 MB, juntas de até 50 MB e com duração de 10–300 segundos), e posteriormente com POST /api/media/voices/{voice_id}/samples {"samples": […]}. A adição é gratuita; a taxa de armazenamento continua sendo uma por voz. Com "remove_background_noise": true, o ElevenLabs remove gratuitamente o ruído de fundo das gravações (desativado por padrão: isso pode piorar uma gravação limpa).

Transcrição compatível com OpenAI

Envie uma solicitação multipart com file e model. Os arquivos estão limitados a 50 MB. A resposta é { 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":"..."}

Os modelos disponíveis são speech-to-text, whisper-large-v3-turbo, nemotron-asr-multilingual e whisper-large-v3. Os preços atuais por minuto aparecem no catálogo de modelos de áudio. Os arquivos devem ter de 1 byte a 50 MB.

Marcações de tempo e legendas

response_format segue o padrão da OpenAI: json (padrão, { text }), text (texto simples), verbose_json (JSON com language, duration e segments[] — id, start, end, text em segundos), srt e vtt (legendas prontas). Para obter marcações de tempo por palavra, envie timestamp_granularities[]=word com verbose_json (campo words[]: word, start, end); segment e word podem ser combinados. O preço não depende do formato.

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

Os timestamps vêm de whisper-large-v3, whisper-large-v3-turbo, nemotron-asr-multilingual, qwen3-asr-1.7b e speech-to-text (seus segmentos são construídos a partir dos tempos das palavras). universal-2, voxtral-small-24b-2507 e nemotron-3-diarization não retornam timestamps, por isso verbose_json / srt / vtt são rejeitados com 400 para eles antes de qualquer cobrança.

universal-2 não está disponível nessas rotas. O /api/transcribe mais antigo aceita um audio_url público, é executado de forma assíncrona e é ativado pelo operador com TRANSCRIBE_ENABLED; caso contrário, retorna 503.

Transcrição de URL legada

Transcrição de áudio assíncrona a partir de uma URL pública. Você cria uma tarefa e consulta o resultado pelo nosso id.

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

Parâmetros de criação

ParâmetroTipoDescrição
audio_urlreq.string (URL)Um link público para o arquivo de áudio.
languagestringCódigo do idioma, por exemplo, ru, en (2-10 caracteres). Opcional — detectado automaticamente.
redact_piibooleanRedação de dados pessoais. Ativada por padrão (conformidade com a 152-FZ); desativada somente mediante redact_pii: false explícito.

Criar e consultar

A criação retorna 202 com { id, status: "processing" }. Consulte GET /api/transcribe/{id} até que o status seja success (ou fail); então a resposta conterá 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"}
Preço — 1.5₽ por minuto (mínimo de 1 minuto, arredondado para cima). O débito ocorre uma vez, quando a tarefa é concluída. A redação de PII fica ativada por padrão e não aumenta a tarifa.
API de transcrição de áudio — conversão de fala em texto e Whisper | GetVibe API