テーマ
言語

音声文字起こし

OpenAI互換のPOST /v1/audio/transcriptionsエンドポイントで音声を文字起こしします。対応モデル、ファイル上限、curlとPythonの例、およびオプションの非同期URLジョブAPIについて説明します。

OpenAI 互換オーディオ

音声合成には OpenAI の JSON 形式を使用します。レスポンスには音声バイトが含まれ、デフォルトは 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

利用可能なモデルは 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 の形式を使用します。モデルページには、より狭いネイティブの制限がある場合はそれが記載されています。gpt-4o-mini-tts は 13 種類の OpenAI 音声(alloy、ash、ballad、coral、echo、fable、nova、onyx、sage、shimmer、verse、marin、cedar)と、話し方を平易な言葉で指示するオプションの instructions フィールド(例: "speak calmly and warmly")を受け付けます。

ボイスクローニング

voice-clone-ttsモデルは、ロシア語を含むあらゆるテキストをあなた自身の声で読み上げます。まず、3–60秒の録音(wavまたはmp3、最大10 MB)から音声を一度作成します。これは無料です。consent: trueは必須です。自分自身の声であること、または声の持ち主の同意を得ていることを確認します。24時間あたり最大20件の新しい音声を作成できます。

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

レスポンスには voice.id(voice_…)が含まれます。通常のメディアリクエストで opts.voice_id として渡してください。エンジンは qwen3(デフォルト、最高品質)または chatterbox(エコノミー)です。料金はテキスト 1000 文字あたりで、1 リクエストあたり最大 4000 文字です。

プレミアムボイス — 最も似た声です。作成時に "engine": "premium" を追加してください。録音は10〜60秒である必要があります。作成には $2.00 が1回 かかり、ボイスが作成された場合にのみ課金されます。エラー時には何も課金されず、価格を下回る残高の場合は録音が送信される前に 402 が返ります。MiniMax エンジンで合成します: minimax-speech-2.8-hd、minimax-speech-2.6-hd、minimax-speech-02-hd(1000文字あたり $0.125)およびその Turbo バージョン($0.075)。旧名称の premium / premium-turbo は speech-02 を意味します。作成直後に、そのボイスで短い単語を1つ発話します。MiniMax は7日間使用されなかったボイスを削除します。削除されたプレミアムボイスは即座に動作しなくなりますが、合成サービスには削除機能がなく、作成料金は返金されません。

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

ボイスはお使いのアカウントでのみ使用できます。GET /api/media/voices で一覧を取得し、DELETE /api/media/voices/{voice_id} で削除します。録音データは音声合成サービスからも削除されます。当社では録音データを保持しません。

ElevenLabs ボイス。 有効にすると、GET /api/media/voices は pricing.elevenlabs_* の下に価格を表示します。engine: "elevenlabs" で10〜60秒の録音からボイスを作成し(ボイスの枠には限りがあります。枠が埋まっている場合の応答は 409 voice_slots_full です)、その後 elevenlabs-v4 または elevenlabs-v4-turbo で合成します。パラメータは stability、similarity_boost、speed、seed、language、そしてテキスト内に直接書ける [laughs] などの音声タグです。2番目の結果ファイルは、単語ごとのタイミングを含む字幕 JSON です。1000文字あたりの価格: v4 $0.044、v4 Turbo $0.022 — 2026年10月12日までのプロモーション価格で、その後は $0.16 と $0.08 になります。ストレージは1ボイスあたり月額 $0.70 です(初月は含まれ、その後はボイス作成日に毎月課金されます)。残高が不足している場合、ボイスはさらに1か月保持され、次の課金時にも料金が未払いの場合にのみ削除されます。その前にメールでお知らせします。すべてのボイスとそのステータスは My voices で確認できます。

複数の録音。 ElevenLabs の音声は最大 25 件の録音を保持できます。作成時には samples 配列として(各 {"audio_url"} または {"audio_base64"}、wav/mp3 で最大 10 MB、合計で最大 50 MB かつ 10~300 秒)、その後は POST /api/media/voices/{voice_id}/samples {"samples": […]} で追加します。追加は無料です。ストレージ料金は音声 1 件につき 1 回のままです。"remove_background_noise": true を使用すると、ElevenLabs は録音から背景ノイズを無料で除去します(デフォルトはオフです。クリーンな録音をかえって悪化させることがあります)。

OpenAI 互換文字起こし

file と model を含む multipart リクエストを送信します。ファイルは 50 MB までに制限されています。レスポンスは { 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":"..."}

利用可能なモデルはspeech-to-text、whisper-large-v3-turbo、nemotron-asr-multilingual、whisper-large-v3です。現在の1分あたりの料金は、音声モデルカタログに表示されています。ファイルサイズは1バイトから50 MBまでである必要があります。

タイムスタンプと字幕

response_formatはOpenAIに準拠しています。json(デフォルト、{ text })、text(プレーンテキスト)、verbose_json(language、duration、segments[]を含むJSON — id, start, end, textは秒単位)、srtおよびvtt(そのまま使える字幕)です。単語単位のタイムスタンプを取得するには、timestamp_granularities[]=wordとverbose_jsonを送信してください(フィールド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 はこれらのルートでは使用できません。旧式の /api/transcribe は公開の audio_url を受け付け、非同期で実行され、オペレーターが TRANSCRIBE_ENABLED で有効化します。それ以外の場合は 503 を返します。

レガシー URL 文字起こし

パブリック URL からの非同期音声文字起こし。タスクを作成し、id で結果をポーリングします。

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

作成パラメーター

パラメータータイプ説明
audio_urlreq.string (URL)音声ファイルへの公開リンク。
languagestring言語コード(例: ru、en、2〜10文字)。任意 — 自動検出されます。
redact_piiboolean個人データのマスキング。デフォルトで有効(152-FZ準拠)。明示的なredact_pii: falseがある場合のみ無効になります。

作成とポーリング

作成すると { id, status: "processing" } を含む 202 が返されます。ステータスが success (または fail) になるまで GET /api/transcribe/{id} をポーリングします。その後、レスポンスに 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"}
価格 — 1分あたり1.5₽(最低1分、切り上げ)。引き落としはタスク完了時に一度だけ行われます。PIIマスキングはデフォルトで有効であり、料金は上がりません。
音声文字起こし API — Speech-to-text と Whisper | GetVibe API