Tema
Bahasa

Transkripsi audio

Transkripsikan audio dengan endpoint POST /v1/audio/transcriptions yang kompatibel dengan OpenAI. Model yang didukung, batas ukuran file, contoh curl dan Python, serta API job URL asinkron opsional.

audio yang kompatibel dengan OpenAI

Gunakan bentuk JSON OpenAI untuk sintesis suara. Respons berisi byte audio dan secara default MP3.

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

Model yang tersedia adalah 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, dan gpt-4o-mini-tts. response_format (mp3, opus, aac, flac, wav, pcm) dan speed menggunakan format OpenAI; halaman model mencantumkan batas native yang lebih ketat bila ada. gpt-4o-mini-tts menerima 13 suara OpenAI (alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer, verse, marin, cedar) dan field opsional instructions, yang mengarahkan penyampaian dengan kata-kata sederhana, misalnya "speak calmly and warmly".

Kloning suara

Model voice-clone-tts dapat mengucapkan teks apa pun dengan suara Anda sendiri, termasuk dalam bahasa Rusia. Pertama, buat suara tersebut sekali dari rekaman berdurasi 3–60 detik (wav atau mp3, hingga 10 MB) — ini gratis. consent: true diperlukan: Anda mengonfirmasi bahwa suara tersebut adalah suara Anda sendiri atau bahwa Anda telah mendapatkan persetujuan dari pemiliknya. Hingga 20 suara baru per 24 jam.

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

Jawabannya membawa voice.id (voice_…). Berikan sebagai opts.voice_id dalam permintaan media biasa; mesin qwen3 (default, kualitas terbaik) atau chatterbox (ekonomis). Harga per 1000 karakter teks, hingga 4000 karakter per permintaan.

Suara Premium — kemiripan terdekat. Tambahkan "engine": "premium" saat membuatnya; rekaman harus 10–60 detik. Pembuatan dikenai biaya $2.00 sekali dan hanya ditagih jika suara berhasil dibuat: tidak ada biaya saat error, dan saldo di bawah harga akan menjawab 402 sebelum rekaman dikirim. Sintesiskan dengan mesin MiniMax: minimax-speech-2.8-hd, minimax-speech-2.6-hd atau minimax-speech-02-hd ($0.125 per 1000 karakter) dan versi Turbo-nya ($0.075); nama lama premium / premium-turbo berarti speech-02. Tepat setelah pembuatan, kami mengucapkan satu kata pendek dengan suara tersebut — MiniMax menghapus suara yang tidak digunakan selama 7 hari. Suara Premium yang dihapus langsung berhenti berfungsi, tetapi layanan sintesis tidak menyediakan penghapusan dan biaya pembuatan tidak dikembalikan.

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

Sebuah voice hanya dapat digunakan oleh akun Anda. Daftarkan dengan GET /api/media/voices; hapus satu dengan DELETE /api/media/voices/{voice_id} — rekamannya ikut dihapus dari layanan sintesis. Kami tidak menyimpan rekaman itu sendiri.

Suara ElevenLabs. Saat diaktifkan, GET /api/media/voices mencantumkan harganya di bawah pricing.elevenlabs_*. Buat suara tersebut dengan engine: "elevenlabs" dari rekaman 10–60 detik (slot suara terbatas: saat sudah terisi, jawabannya adalah 409 voice_slots_full), lalu sintesiskan dengan elevenlabs-v4 atau elevenlabs-v4-turbo — stability, similarity_boost, speed, seed, language, dan tag audio seperti [laughs] langsung di dalam teks. File hasil kedua adalah JSON subtitle dengan pewaktuan per kata. Harga per 1000 karakter: v4 $0.044, v4 Turbo $0.022 — harga promosi hingga 12 Oktober 2026, lalu $0.16 dan $0.08. Penyimpanan $0.70 per suara per bulan (bulan pertama sudah termasuk; selanjutnya ditagih setiap bulan pada hari pembuatan suara). Jika saldo Anda terlalu rendah, suara tersebut dipertahankan satu bulan lagi dan dihapus hanya jika biayanya masih belum dibayar pada penagihan berikutnya — kami mengirim email lebih dulu. Lihat semua suara Anda dan statusnya di My voices.

Beberapa rekaman. Satu suara ElevenLabs menampung hingga 25 rekaman: saat pembuatan sebagai array samples (masing-masing {"audio_url"} atau {"audio_base64"}, wav/mp3 hingga 10 MB, totalnya hingga 50 MB dan 10–300 detik), dan setelahnya dengan POST /api/media/voices/{voice_id}/samples {"samples": […]}. Menambahkan gratis; biaya penyimpanan tetap satu per suara. Dengan "remove_background_noise": true ElevenLabs menghapus noise latar dari rekaman secara gratis (nonaktif secara default: ini bisa membuat rekaman yang bersih jadi lebih buruk).

transkripsi yang kompatibel dengan OpenAI

Kirim permintaan multipart dengan file dan model. Ukuran file dibatasi 50 MB. Responsnya adalah { 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":"..."}

Model yang tersedia adalah speech-to-text, whisper-large-v3-turbo, nemotron-asr-multilingual, dan whisper-large-v3. Harga per menit saat ini tercantum dalam katalog model audio. Ukuran file harus antara 1 byte hingga 50 MB.

Stempel waktu dan subtitle

response_format mengikuti OpenAI: json (default, { text }), text (teks biasa), verbose_json (JSON dengan language, duration dan segments[] — id, start, end, text dalam detik), srt dan vtt (subtitle siap pakai). Untuk penanda waktu per kata, kirim timestamp_granularities[]=word dengan verbose_json (kolom words[]: word, start, end); segment dan word dapat digabungkan. Harga tidak bergantung pada 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}, ...]}

Stempel waktu berasal dari whisper-large-v3, whisper-large-v3-turbo, nemotron-asr-multilingual, qwen3-asr-1.7b, dan speech-to-text (segmennya dibentuk dari waktu tiap kata). universal-2, voxtral-small-24b-2507, dan nemotron-3-diarization tidak mengembalikan stempel waktu, sehingga verbose_json / srt / vtt ditolak dengan 400 untuk model-model tersebut sebelum biaya apa pun dikenakan.

universal-2 tidak tersedia pada route ini. /api/transcribe yang lebih lama menerima audio_url publik, berjalan secara asinkron, dan diaktifkan oleh operator dengan TRANSCRIBE_ENABLED; jika tidak, akan mengembalikan 503.

Transkripsi URL versi lama

Transkripsi audio asinkron dari URL publik. Anda membuat task lalu melakukan polling hasilnya melalui id kami.

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

Parameter pembuatan

ParameterTipeDeskripsi
audio_urlreq.string (URL)Tautan publik ke file audio.
languagestringKode bahasa, mis. ru, en (2-10 karakter). Opsional — terdeteksi otomatis.
redact_piibooleanRedaksi data pribadi. Aktif secara default (kepatuhan 152-FZ); dinonaktifkan hanya dengan redact_pii: false eksplisit.

Buat dan polling

Pembuatan mengembalikan 202 dengan { id, status: "processing" }. Polling GET /api/transcribe/{id} sampai statusnya success (atau fail); lalu respons berisi 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"}
Harga — 1,5₽ per menit (minimum 1 menit, dibulatkan ke atas). Debit dilakukan sekali, saat tugas selesai. Redaksi PII aktif secara default dan tidak menaikkan tarif.
API transkripsi audio — Speech-to-text dan Whisper | GetVibe API