Veo 3.1 による動画生成(非同期)。エンドポイントは 1 つで、種類はパラメータで選びます。image を省略するとテキストから動画、渡すと画像から動画(最初のフレーム)になります。tier=lite/fast/quality、resolution=720p/1080p/4k(1080p と 4k は quality が必要)、size=16:9/9:16、duration=4s/6s/8s。ジョブ ID が返るので(HTTP 202)、GET /v1/videos/jobs/{id} を status=succeeded になるまでポーリングし、結果を data[0].url から取得します(再ホストした mp4)。1 本あたり 1〜2 分、1 本ごとの課金で、失敗時は全額返金します。
Playground で試す →認証
Authorization: Bearer YOUR_API_KEY Content-Type: application/json
コンソールで API Key を作成すると利用を開始できます。
リクエストボディ
| パラメータ | 種別 | 必須 | 説明 |
|---|---|---|---|
| model | string | はい | モデル ID。ここでは veo-3.1 です。 |
| prompt | string | はい | 動画を説明するテキストプロンプト。 |
| tier | string | いいえ | 画質の等級:lite(既定、もっとも安価)/ fast / quality。 |
| resolution | string | いいえ | 解像度:720p(既定)/ 1080p(quality 等級のみ。Lite と Fast は 720p です)。4K は一時的に利用できません。 |
| size | string | いいえ | 画面の向き:16:9(横向き、既定)/ 9:16(縦向き)。 |
| duration | string | いいえ | 長さ:4s / 6s / 8s(既定は 8s)。 |
| image | string | いいえ | 画像から動画:参照画像(最初のフレームになります)を公開 URL、data: URI、base64 のいずれかで渡すと、画像から動画として動きます。省略するとテキストから動画になります。 |
リクエスト例
# 1) submit -> 202 {"id":"img_...","status":"queued"}
curl https://nezhagate.com/v1/videos/generations -H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"model": "veo-3.1", "prompt": "a cat surfing a wave at sunset", "tier": "quality", "resolution": "1080p", "size": "16:9", "duration": "8s"}'
# image-to-video: also pass "image": "https://example.com/first-frame.png"
# 2) poll every ~5s until status=succeeded, then read data[0].url
curl https://nezhagate.com/v1/videos/jobs/img_3f9a...c2 -H 'Authorization: Bearer YOUR_API_KEY'レスポンス
{
"id": "img_3f9a...c2",
"object": "video.generation.job",
"status": "queued",
"model": "veo-3.1"
}非同期の動画ジョブ(送信 → ポーリング)
モデルは 1 つで、種類はパラメータで選びます。tier=lite/fast/quality、resolution=720p/1080p/4k(1080p と 4k は quality が必要)、size=16:9/9:16、duration=4s/6s/8s。image パラメータを加えると画像から動画(最初のフレーム)になります。HTTP 202 とジョブ ID が返るので、status=succeeded になるまでポーリングし、結果を data[0].url から取得してください(再ホストした mp4。1〜2 分ほど)。
curl https://nezhagate.com/v1/videos/generations -H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"model": "veo-3.1", "prompt": "夕暮れにサーフィンをする猫", "tier": "quality", "resolution": "1080p", "size": "16:9", "duration": "8s"}'{ "id": "img_3f9a...c2", "object": "video.generation.job", "status": "queued", "model": "veo-3.1" }curl https://nezhagate.com/v1/videos/jobs/img_3f9a...c2 -H 'Authorization: Bearer YOUR_API_KEY'
{
"id": "img_3f9a...c2",
"object": "video.generation.job",
"status": "succeeded",
"model": "veo-3.1",
"data": [{ "url": "https://img.nezhagate.com/i/9f86d081a8....mp4" }]
}1 本ごとの課金で、失敗時は全額返金します。生成が失敗またはタイムアウトした場合、確保したクレジットは自動的に戻ります。
エラーコード
| Code | 説明 |
|---|---|
| 401 | API Key が欠落または無効 |
| 402 | 残高不足または Key が上限超過 |
| 400 | モデルまたはパラメータが非対応 |
| 429 | 上流のレート制限 |
| 502 | すべての上流回線が失敗 |