YouTube 文字起こし API
リクエスト1回で全文の文字起こし。取得した動画の分だけお支払いください。
無料のAPIキーを取得クイックスタート
- ログインしてAPIダッシュボードでAPIキーを作成します。10クレジット(文字起こし5件分)が無料で付与されます。
- YouTubeのURLまたは動画IDと一緒に、X-API-Keyヘッダーでキーを送信します。
- 足りなくなったらクレジットパックを購入するか、自動チャージを有効にします。
curl -X POST https://sum.video/api/v1/transcript \
-H "X-API-Key: sv_live_your_key" \
-H "Content-Type: application/json" \
-d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "lang": "en"}'リクエスト
POST /api/v1/transcript
url: YouTubeのURL(watch、youtu.be、shorts、embed、liveのリンク)。これかvideo_idを使います。video_id: 11文字のYouTube動画ID。lang: 希望する字幕の言語。例: en、de、pt-BR。既定はen。その言語がない場合は元のトラックを返し、レスポンスで実際の言語を示します。format: json(タイムスタンプ付きセグメント、既定)、text、srt。
import requests
response = requests.post(
"https://sum.video/api/v1/transcript",
headers={"X-API-Key": "sv_live_your_key"},
json={"video_id": "dQw4w9WgXcQ", "lang": "en", "format": "text"},
timeout=120,
)
print(response.json()["text"])const response = await fetch("https://sum.video/api/v1/transcript", {
method: "POST",
headers: { "X-API-Key": process.env.SUMVIDEO_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ url: "https://youtu.be/dQw4w9WgXcQ" }),
});
const { segments, credits_remaining } = await response.json();レスポンス
{
"video_id": "dQw4w9WgXcQ",
"language": "en",
"is_generated": false,
"credits_used": 2,
"credits_remaining": 98,
"segments": [
{ "text": "We're no strangers to love", "offset": 18.64, "duration": 3.24 }
]
}エラー
| 401 | invalid_key | APIキーがない、誤っている、または無効化されています。 |
| 400 | invalid_input | URLまたは動画IDを読み取れませんでした。 |
| 402 | insufficient_credits | 残高が2クレジット未満です。 |
| 402 | budget_exceeded | 設定した月間クレジット上限に達しました。 |
| 404 | no_transcript | 動画に字幕がないか、非公開、ライブ配信中、削除済みです。課金されません。 |
| 429 | rate_limited | 1つのキーで毎分60リクエストを超えました。Retry-Afterの秒数だけ待ってください。 |
| 502 | upstream_error | YouTubeが時間内に応答しませんでした。課金されません。後で再試行してください。 |
残高を確認
curl https://sum.video/api/v1/credits -H "X-API-Key: sv_live_your_key"料金
文字起こし1件は2クレジットです。クレジットに有効期限はありません。Pro会員には毎月100ボーナスクレジットが付与されます。
| パック | クレジット | 文字起こし件数 | 価格 | 1件あたり |
|---|---|---|---|---|
| Starter | 100 | 50 | $4.49 | $0.090 |
| Pro | 500 | 250 | $13.99 | $0.056 |
| Scale | 2,000 | 1,000 | $37.99 | $0.038 |
| Business | 5,000 | 2,500 | $74.99 | $0.030 |
自動チャージ、予算、アラート
- 自動チャージは、残高が設定したしきい値を下回ると、保存済みのカードでパックを購入します。
- 月間チャージ予算で自動チャージの支出上限を決められ、月間クレジット上限に達するとリクエストは停止します。
- 残高が少なくなったとき、月間上限の80%に達したとき、チャージに失敗したときにメールでお知らせします。
制限と適正利用
キーごとに毎分60リクエスト、1アカウントにつき有効なキーは5つまで。APIはYouTubeにすでにある字幕を返すもので、音声の文字起こしは行いません。文字起こしは、動画所有者の権利とYouTubeの規約に沿ってご利用ください。その責任は利用者にあります。
よくある質問
- 同じ動画にもう一度料金がかかりますか?
- はい、成功したリクエストはすべて2クレジットですが、繰り返し取得される動画はキャッシュから数ミリ秒で返します。
- 字幕のない動画はどうなりますか?
- no_transcriptエラーが返り、クレジットは差し引かれません。
- ほかの文字起こしAPIと互換性はありますか?
- リクエストとレスポンスは一般的なurl、lang、segmentsの形式なので、乗り換えは通常ベースURLとキーを変えるだけです。