{ "model_id": "runwayml/gen-4.5", "provider_id": "runwayml", "name": "RunwayML Gen-4.5", "description": "RunwayML's video generation model supporting both text-to-video and image-to-video with customizable duration, aspect ratio, and content moderation controls.", "task": "Text-to-Video", "tags": [ "Video Generation", "Image-to-Video", "Cinematic" ], "context_length": null, "max_output_tokens": null, "schema_version": "1.0.0", "pricing": { "Default (per second)": 0.12 }, "examples": [ { "name": "Simple Text-to-Video", "description": "Basic text-to-video with default settings", "input": { "prompt": "A timelapse of the Eiffel Tower on a sunny day with clouds flying by", "duration": 5, "ratio": "1280:720" }, "output": { "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/runwayml__gen-4.5/simple-text-to-video.mp4" }, "raw_response": { "gatewayMetadata": { "keySource": "Unified" }, "result": { "video": "https://dnznrvs05pmza.cloudfront.net/fd840364-360e-4903-8500-d5787fd8ab90.mp4" }, "state": "Completed" }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'runwayml/gen-4.5',\n {\n prompt: 'A timelapse of the Eiffel Tower on a sunny day with clouds flying by',\n duration: 5,\n ratio: '1280:720',\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\": \"runwayml/gen-4.5\",\n \"input\": {\n \"prompt\": \"A timelapse of the Eiffel Tower on a sunny day with clouds flying by\",\n \"duration\": 5,\n \"ratio\": \"1280:720\"\n }\n}'" } ] }, { "name": "Portrait Video", "description": "Vertical video for social media", "input": { "prompt": "A busy street in Tokyo at night with neon signs reflecting on wet pavement, rain falling", "duration": 5, "ratio": "720:1280" }, "output": { "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/runwayml__gen-4.5/portrait-video.mp4" }, "raw_response": { "gatewayMetadata": { "keySource": "Unified" }, "result": { "video": "https://dnznrvs05pmza.cloudfront.net/44f43eac-8c12-4084-ace3-6395fa67c13e.mp4" }, "state": "Completed" }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'runwayml/gen-4.5',\n {\n prompt:\n 'A busy street in Tokyo at night with neon signs reflecting on wet pavement, rain falling',\n duration: 5,\n ratio: '720:1280',\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\": \"runwayml/gen-4.5\",\n \"input\": {\n \"prompt\": \"A busy street in Tokyo at night with neon signs reflecting on wet pavement, rain falling\",\n \"duration\": 5,\n \"ratio\": \"720:1280\"\n }\n}'" } ] }, { "name": "Nature Close-up", "description": "Close-up wildlife shot in 16:9", "input": { "prompt": "Close-up of a hummingbird feeding from a vibrant red flower, slow motion with soft bokeh background", "duration": 5, "ratio": "1280:720" }, "output": { "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/runwayml__gen-4.5/nature-close-up.mp4" }, "raw_response": { "gatewayMetadata": { "keySource": "Unified" }, "result": { "video": "https://dnznrvs05pmza.cloudfront.net/e03781eb-2544-45ae-a9a8-6148d556bf2a.mp4" }, "state": "Completed" }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'runwayml/gen-4.5',\n {\n prompt:\n 'Close-up of a hummingbird feeding from a vibrant red flower, slow motion with soft bokeh background',\n duration: 5,\n ratio: '1280:720',\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\": \"runwayml/gen-4.5\",\n \"input\": {\n \"prompt\": \"Close-up of a hummingbird feeding from a vibrant red flower, slow motion with soft bokeh background\",\n \"duration\": 5,\n \"ratio\": \"1280:720\"\n }\n}'" } ] }, { "name": "Cinematic Scene", "description": "Longer duration cinematic video", "input": { "prompt": "Aerial drone shot flying through a misty forest at dawn, rays of sunlight breaking through the trees", "duration": 10, "ratio": "1280:720" }, "output": { "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/runwayml__gen-4.5/cinematic-scene.mp4" }, "raw_response": { "gatewayMetadata": { "keySource": "Unified" }, "result": { "video": "https://dnznrvs05pmza.cloudfront.net/23ea177e-523d-45b4-9f8c-c4f8d7238ff0.mp4" }, "state": "Completed" }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'runwayml/gen-4.5',\n {\n prompt:\n 'Aerial drone shot flying through a misty forest at dawn, rays of sunlight breaking through the trees',\n duration: 10,\n ratio: '1280:720',\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\": \"runwayml/gen-4.5\",\n \"input\": {\n \"prompt\": \"Aerial drone shot flying through a misty forest at dawn, rays of sunlight breaking through the trees\",\n \"duration\": 10,\n \"ratio\": \"1280:720\"\n }\n}'" } ] }, { "name": "Image-to-Video", "description": "Animate an existing image", "input": { "prompt": "Camera slowly pans across the scene, gentle wind blowing", "duration": 5, "image_input": "https://upload.wikimedia.org/wikipedia/commons/8/85/Tour_Eiffel_Wikimedia_Commons_(cropped).jpg", "ratio": "1280:720" }, "output": { "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/runwayml__gen-4.5/image-to-video.mp4" }, "raw_response": { "gatewayMetadata": { "keySource": "Unified" }, "result": { "video": "https://dnznrvs05pmza.cloudfront.net/ab424367-7431-4a0a-aa39-52604ff9150a.mp4" }, "state": "Completed" }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'runwayml/gen-4.5',\n {\n prompt: 'Camera slowly pans across the scene, gentle wind blowing',\n duration: 5,\n image_input:\n 'https://upload.wikimedia.org/wikipedia/commons/8/85/Tour_Eiffel_Wikimedia_Commons_(cropped).jpg',\n ratio: '1280:720',\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\": \"runwayml/gen-4.5\",\n \"input\": {\n \"prompt\": \"Camera slowly pans across the scene, gentle wind blowing\",\n \"duration\": 5,\n \"image_input\": \"https://upload.wikimedia.org/wikipedia/commons/8/85/Tour_Eiffel_Wikimedia_Commons_(cropped).jpg\",\n \"ratio\": \"1280:720\"\n }\n}'" } ] }, { "name": "Reproducible Generation", "description": "Use seed for consistent results", "input": { "prompt": "A sailboat gliding across calm ocean waters at sunset", "duration": 5, "ratio": "1280:720", "seed": 42 }, "output": { "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/runwayml__gen-4.5/reproducible-generation.mp4" }, "raw_response": { "gatewayMetadata": { "keySource": "Unified" }, "result": { "video": "https://dnznrvs05pmza.cloudfront.net/0bdfbec7-0823-4529-bdb5-d37bb24adb0d.mp4" }, "state": "Completed" }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'runwayml/gen-4.5',\n {\n prompt: 'A sailboat gliding across calm ocean waters at sunset',\n duration: 5,\n ratio: '1280:720',\n seed: 42,\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\": \"runwayml/gen-4.5\",\n \"input\": {\n \"prompt\": \"A sailboat gliding across calm ocean waters at sunset\",\n \"duration\": 5,\n \"ratio\": \"1280:720\",\n \"seed\": 42\n }\n}'" } ] }, { "name": "With Content Moderation", "description": "Adjust content moderation settings", "input": { "prompt": "A press conference with multiple speakers at podiums", "content_moderation": { "public_figure_threshold": "low" }, "duration": 5, "ratio": "1280:720" }, "output": { "video": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/runwayml__gen-4.5/with-content-moderation.mp4" }, "raw_response": { "gatewayMetadata": { "keySource": "Unified" }, "result": { "video": "https://dnznrvs05pmza.cloudfront.net/75c4cb0d-20aa-4824-b1f3-32f33ab9269b.mp4" }, "state": "Completed" }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'runwayml/gen-4.5',\n {\n prompt: 'A press conference with multiple speakers at podiums',\n content_moderation: { public_figure_threshold: 'low' },\n duration: 5,\n ratio: '1280:720',\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\": \"runwayml/gen-4.5\",\n \"input\": {\n \"prompt\": \"A press conference with multiple speakers at podiums\",\n \"content_moderation\": {\n \"public_figure_threshold\": \"low\"\n },\n \"duration\": 5,\n \"ratio\": \"1280:720\"\n }\n}'" } ] } ], "default_example": null, "code_snippets": [], "supports_async": false, "zdr": false, "zdr_comment": null, "external_info": "https://runwayml.com/", "terms": "https://runwayml.com/terms-of-use", "cover_image_url": "https://pub-26f1392c1b674324be6786695bd72257.r2.dev/runwayml/gen-4.5.png", "metadata": { "Image-to-Video": "Yes", "Max Duration": "10 seconds", "Resolutions": "1280:720, 720:1280, 1104:832, 832:1104, 960:960, 1584:672" }, "request_formats": null, "providers": null, "provider_details": [ { "id": "runwayml", "pricing": { "default": 0.12 } } ], "banner": null, "created_at": "2026-05-22 17:53:58", "schema": { "input": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "prompt": { "type": "string", "minLength": 1, "maxLength": 1000, "description": "Text prompt describing what should appear in the video" }, "image_input": { "description": "HTTPS URL, Runway URI, or data URI containing an image for image-to-video", "type": "string" }, "ratio": { "default": "1280:720", "description": "Resolution/aspect ratio of the output video", "type": "string", "enum": [ "1280:720", "720:1280", "1104:832", "960:960", "832:1104", "1584:672" ] }, "duration": { "default": 5, "description": "Video duration in seconds", "type": "integer", "minimum": 2, "maximum": 10 }, "seed": { "description": "Random seed for reproducible results", "type": "integer", "minimum": 0, "maximum": 4294967295 }, "content_moderation": { "description": "Content moderation settings", "type": "object", "properties": { "public_figure_threshold": { "description": "Content moderation strictness for public figures", "type": "string", "enum": [ "auto", "low" ] } }, "additionalProperties": false } }, "required": [ "prompt", "ratio", "duration" ], "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 } } }