{ "model_id": "google/veo-3.1", "provider_id": "google", "name": "Veo 3.1", "description": "Google's latest video generation model with improved quality, motion, and audio generation.", "task": "Text-to-Video", "tags": [ "Video Generation", "Audio", "High Quality" ], "context_length": null, "max_output_tokens": null, "schema_version": "1.0.0", "pricing": { "Default (per second)": 0.4, "@720p (per second)": 0.2, "@1080p (per second)": 0.2, "@4k (per second)": 0.4, "@720p w/ audio (per second)": 0.4, "@1080p w/ audio (per second)": 0.4, "@4k w/ audio (per second)": 0.6 }, "examples": [ { "name": "Nature Documentary", "description": "High quality nature footage", "input": { "prompt": "A majestic eagle soaring over snow-capped mountains, tracking shot following the bird as it glides through clouds", "aspect_ratio": "16:9", "duration": "8s", "generate_audio": true, "resolution": "1080p" }, "output": { "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/google__veo-3.1/nature-documentary.mp4" }, "raw_response": { "gatewayMetadata": { "keySource": "Unified" }, "result": { "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/google__veo-3.1/nature-documentary.mp4" }, "state": "Completed" }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'google/veo-3.1',\n {\n prompt:\n 'A majestic eagle soaring over snow-capped mountains, tracking shot following the bird as it glides through clouds',\n aspect_ratio: '16:9',\n duration: '8s',\n generate_audio: true,\n resolution: '1080p',\n },\n)\nconsole.log(response)" }, { "label": "curl", "language": "bash", "code": "curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \\\n --header \"Authorization: Bearer $CLOUDFLARE_API_TOKEN\" \\\n --header \"Content-Type: application/json\" \\\n --data '{\n \"model\": \"google/veo-3.1\",\n \"input\": {\n \"prompt\": \"A majestic eagle soaring over snow-capped mountains, tracking shot following the bird as it glides through clouds\",\n \"aspect_ratio\": \"16:9\",\n \"duration\": \"8s\",\n \"generate_audio\": true,\n \"resolution\": \"1080p\"\n }\n}'" } ] }, { "name": "Urban Time-lapse", "description": "City life time-lapse video", "input": { "prompt": "A time-lapse of a busy city intersection at night, car lights creating streaks, people walking in fast motion", "aspect_ratio": "16:9", "duration": "6s", "generate_audio": true, "resolution": "1080p" }, "output": { "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/google__veo-3.1/urban-time-lapse.mp4" }, "raw_response": { "gatewayMetadata": { "keySource": "Unified" }, "result": { "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/google__veo-3.1/urban-time-lapse.mp4" }, "state": "Completed" }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'google/veo-3.1',\n {\n prompt:\n 'A time-lapse of a busy city intersection at night, car lights creating streaks, people walking in fast motion',\n aspect_ratio: '16:9',\n duration: '6s',\n generate_audio: true,\n resolution: '1080p',\n },\n)\nconsole.log(response)" }, { "label": "curl", "language": "bash", "code": "curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \\\n --header \"Authorization: Bearer $CLOUDFLARE_API_TOKEN\" \\\n --header \"Content-Type: application/json\" \\\n --data '{\n \"model\": \"google/veo-3.1\",\n \"input\": {\n \"prompt\": \"A time-lapse of a busy city intersection at night, car lights creating streaks, people walking in fast motion\",\n \"aspect_ratio\": \"16:9\",\n \"duration\": \"6s\",\n \"generate_audio\": true,\n \"resolution\": \"1080p\"\n }\n}'" } ] }, { "name": "Abstract Art", "description": "Abstract motion graphics", "input": { "prompt": "Colorful ink drops falling into water in slow motion, creating organic swirling patterns", "aspect_ratio": "16:9", "duration": "6s", "generate_audio": false, "resolution": "720p" }, "output": { "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/google__veo-3.1/abstract-art.mp4" }, "raw_response": { "gatewayMetadata": { "keySource": "Unified" }, "result": { "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/google__veo-3.1/abstract-art.mp4" }, "state": "Completed" }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'google/veo-3.1',\n {\n prompt:\n 'Colorful ink drops falling into water in slow motion, creating organic swirling patterns',\n aspect_ratio: '16:9',\n duration: '6s',\n generate_audio: false,\n resolution: '720p',\n },\n)\nconsole.log(response)" }, { "label": "curl", "language": "bash", "code": "curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \\\n --header \"Authorization: Bearer $CLOUDFLARE_API_TOKEN\" \\\n --header \"Content-Type: application/json\" \\\n --data '{\n \"model\": \"google/veo-3.1\",\n \"input\": {\n \"prompt\": \"Colorful ink drops falling into water in slow motion, creating organic swirling patterns\",\n \"aspect_ratio\": \"16:9\",\n \"duration\": \"6s\",\n \"generate_audio\": false,\n \"resolution\": \"720p\"\n }\n}'" } ] }, { "name": "Food Video", "description": "Appetizing food footage", "input": { "prompt": "Melted chocolate being poured over fresh strawberries in slow motion, rich and glossy", "aspect_ratio": "9:16", "duration": "4s", "generate_audio": true, "resolution": "1080p" }, "output": { "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/google__veo-3.1/food-video.mp4" }, "raw_response": { "gatewayMetadata": { "keySource": "Unified" }, "result": { "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/google__veo-3.1/food-video.mp4" }, "state": "Completed" }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'google/veo-3.1',\n {\n prompt: 'Melted chocolate being poured over fresh strawberries in slow motion, rich and glossy',\n aspect_ratio: '9:16',\n duration: '4s',\n generate_audio: true,\n resolution: '1080p',\n },\n)\nconsole.log(response)" }, { "label": "curl", "language": "bash", "code": "curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \\\n --header \"Authorization: Bearer $CLOUDFLARE_API_TOKEN\" \\\n --header \"Content-Type: application/json\" \\\n --data '{\n \"model\": \"google/veo-3.1\",\n \"input\": {\n \"prompt\": \"Melted chocolate being poured over fresh strawberries in slow motion, rich and glossy\",\n \"aspect_ratio\": \"9:16\",\n \"duration\": \"4s\",\n \"generate_audio\": true,\n \"resolution\": \"1080p\"\n }\n}'" } ] } ], "default_example": null, "code_snippets": [], "supports_async": false, "zdr": true, "zdr_comment": null, "external_info": "https://deepmind.google/technologies/veo/", "terms": "https://ai.google.dev/gemini-api/terms", "cover_image_url": "https://pub-26f1392c1b674324be6786695bd72257.r2.dev/google/veo-3.1.png", "metadata": { "Audio Generation": "Yes", "Max Duration": "8 seconds", "Resolutions": "720p, 1080p" }, "request_formats": null, "providers": null, "provider_details": [ { "id": "google-vertex-ai", "pricing": { "default": 0.4, "720p": 0.2, "1080p": 0.2, "4k": 0.4, "720p_audio": 0.4, "1080p_audio": 0.4, "4k_audio": 0.6 } } ], "banner": null, "created_at": "2026-05-22 17:53:14", "schema": { "input": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "prompt": { "type": "string", "description": "Text prompt describing the video to generate" }, "image_input": { "description": "Base64-encoded reference image for i2v", "type": "string" }, "duration": { "default": "6s", "description": "Video duration", "type": "string", "enum": [ "4s", "6s", "8s" ] }, "aspect_ratio": { "default": "16:9", "description": "Video aspect ratio", "type": "string", "enum": [ "16:9", "9:16", "1:1" ] }, "resolution": { "default": "720p", "description": "Video resolution", "type": "string", "enum": [ "720p", "1080p" ] }, "generate_audio": { "default": true, "description": "Whether to generate audio with the video", "type": "boolean" } }, "required": [ "prompt", "duration", "aspect_ratio", "resolution", "generate_audio" ], "additionalProperties": false }, "output": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "video": { "type": "string", "format": "uri", "description": "URL to the generated video" } }, "required": [ "video" ], "additionalProperties": false } } }