Veo3.1 Video API
Xenodia 経由で非同期 Veo3.1 video task を作成し、標準 task API で polling する。
Xenodia の public Veo3.1 video generation には POST /v1/videos/generations を使います。
Video generation は task-only です。request を送信し、task ID を保存し、Task Retrieval で polling します。
Endpoint
POST https://api.xenodia.xyz/v1/videos/generationsPOST /v1/video/generations も compatibility alias として登録されています。新規 integration では plural /v1/videos/generations を優先してください。
Text-to-video request
{
"model": "veo3.1_fast",
"prompt": "A cinematic close-up of a developer dashboard showing model routing and API latency.",
"generationType": "TEXT_2_VIDEO",
"aspect_ratio": "16:9",
"resolution": "720p"
}Reference-to-video request
{
"model": "veo3.1_fast",
"prompt": "Animate the reference into a polished product walkthrough.",
"generationType": "REFERENCE_2_VIDEO",
"imageUrls": [
"https://example.com/reference-1.png",
"https://example.com/reference-2.png"
],
"aspect_ratio": "16:9",
"resolution": "1080p"
}Supported public models
| Model | Notes |
|---|---|
veo3.1 | Quality model。 |
veo3.1_fast | Fast model で default。REFERENCE_2_VIDEO では必須。 |
veo3.1_lite | Lite model。 |
Generation types
| Type | Reference rule |
|---|---|
TEXT_2_VIDEO | imageUrls なし。 |
FIRST_AND_LAST_FRAMES_2_VIDEO | 1-2 個の imageUrls が必要。 |
REFERENCE_2_VIDEO | 1-3 個の imageUrls が必要。veo3.1_fast のみ。 |
Parameters
| Field | Notes |
|---|---|
prompt | 必須 text prompt。 |
imageUrls | optional public image URLs。最大 3。 |
model | veo3.1、veo3.1_fast、veo3.1_lite。 |
generationType | optional mode。省略時は imageUrls から推論。 |
aspect_ratio | 16:9、9:16、Auto。default 16:9。 |
resolution | 720p、1080p、4k。default 720p。 |
seeds | optional integer、10000 から 99999。 |
enableFallback | optional deprecated compatibility switch。 |
enableTranslation | optional boolean。default enabled。 |
watermark | optional watermark text。 |
callBackUrl | optional completion callback URL。Xenodia task polling も利用可能。 |
Pricing
Veo3.1 は token priced ではありません。Xenodia は accepted video task ごとに、request resolution で選ばれる fixed amount を課金します。
| Resolution | Billing unit |
|---|---|
720p | Per generated video |
1080p | Per generated video |
4k | Per generated video |
価格表示 UI を作る前に /v1/models を問い合わせます。Capability payload は capabilities.pricing.mode = "resolution" と resolution tiers を返します。
Response
Xenodia media task envelope を返します:
{
"task_id": "task_123",
"object": "task",
"model": "veo3.1_fast",
"type": "video",
"state": "waiting",
"created_at": 1760000000,
"poll_url": "/v1/tasks/task_123",
"recommended_poll_interval_ms": 5000
}Polling 成功時、result に generated video URLs が入ります:
{
"task_id": "task_123",
"state": "success",
"result": {
"created": 1760000100,
"data": [
{
"url": "https://cdn.example.com/video.mp4"
}
],
"resolution": "720p"
},
"progress": 100,
"poll_url": "/v1/tasks/task_123"
}よくある error status:400 invalid parameter combination、401 invalid key、402 billing boundary、502 task creation failure。