{"id":"e3e6285a-644d-4a75-8589-24b2890f8629","shortId":"twVdDe","kind":"skill","title":"veo-video","tagline":"Generate AI videos with Google Veo via AceDataCloud API. Use when creating videos from text descriptions, animating still images into video, upscaling/extending videos, re-shooting with new camera motion, or inserting/removing objects. Supports Veo 2, Veo 3, and Veo 3.1 models in","description":"# Veo Video Generation\n\nGenerate AI videos through AceDataCloud's Google Veo API.\n\n> **Setup:** See [authentication](../_shared/authentication.md) for token setup.\n\n## Quick Start\n\n```bash\ncurl -X POST https://api.acedata.cloud/veo/videos \\\n  -H \"Authorization: Bearer $ACEDATACLOUD_API_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"action\": \"text2video\", \"prompt\": \"a whale breaching in slow motion at golden hour\", \"model\": \"veo3\", \"callback_url\": \"https://api.acedata.cloud/health\"}'\n```\n\n> **Async:** See [async task polling](../_shared/async-tasks.md). Poll via `POST /veo/tasks` with `{\"id\": \"...\"}`.\nThis returns a task ID immediately. Poll for the result:\n\n```bash\ncurl -X POST https://api.acedata.cloud/veo/tasks \\\n  -H \"Authorization: Bearer $ACEDATACLOUD_API_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"id\": \"<task_id from above>\"}'\n```\n\n## Models\n\n| Model | Audio | Best For |\n|-------|-------|----------|\n| `veo2` | No | Cost-effective generation |\n| `veo2-fast` | No | Fast, cost-effective generation (default) |\n| `veo3` | Yes (native) | Full audiovisual generation |\n| `veo3-fast` | Yes (native) | Faster audiovisual generation |\n| `veo31` | Yes (native) | Veo 3.1, highest quality |\n| `veo31-fast` | Yes (native) | Veo 3.1 fast variant |\n| `veo31-fast-ingredients` | Yes (native) | Veo 3.1 fast, ingredient mode |\n\n## Workflows\n\n### 1. Text-to-Video\n\n```json\nPOST /veo/videos\n{\n  \"action\": \"text2video\",\n  \"prompt\": \"cinematic aerial shot of the Northern Lights over Iceland\",\n  \"model\": \"veo3\",\n  \"resolution\": \"1080p\"\n}\n```\n\n### 2. Image-to-Video\n\nAnimate still images into video.\n\n```json\nPOST /veo/videos\n{\n  \"action\": \"image2video\",\n  \"prompt\": \"the scene gently comes to life with wind and subtle motion\",\n  \"image_urls\": [\"https://example.com/landscape.jpg\"],\n  \"model\": \"veo2\",\n  \"aspect_ratio\": \"16:9\"\n}\n```\n\n### 3. Ingredients-to-Video (Multi-Image Blend)\n\nBlend 1–3 reference images into a video (only `veo31-fast-ingredients`).\n\n```json\nPOST /veo/videos\n{\n  \"action\": \"ingredients2video\",\n  \"image_urls\": [\n    \"https://example.com/img1.jpg\",\n    \"https://example.com/img2.jpg\"\n  ],\n  \"model\": \"veo31-fast-ingredients\"\n}\n```\n\n### 4. Upscale to 1080p\n\nConvert a previously generated video to full 1080p resolution.\n\n```json\nPOST /veo/videos\n{\n  \"action\": \"get1080p\",\n  \"video_id\": \"your-video-id\",\n  \"model\": \"veo3\"\n}\n```\n\n## Parameters\n\n| Parameter | Values | Description |\n|-----------|--------|-------------|\n| `action` | `\"text2video\"`, `\"image2video\"`, `\"ingredients2video\"`, `\"get1080p\"` | Generation mode |\n| `model` | see Models table | Model to use (default: `veo2-fast`) |\n| `resolution` | `\"4k\"`, `\"1080p\"`, `\"gif\"` | Output resolution (default: 720p) |\n| `aspect_ratio` | `\"16:9\"`, `\"9:16\"`, `\"1:1\"`, `\"4:3\"`, `\"3:4\"` | Aspect ratio — only valid for `image2video` |\n| `image_urls` | array of strings | Reference image URLs — for `image2video` (up to 2) or `ingredients2video` (up to 3) |\n| `video_id` | string | Video to upscale — only for `get1080p` |\n| `translation` | `true` / `false` | Auto-translate prompt to English (default: false) |\n\n## Post-Generation Endpoints\n\nAfter generating a video, use these endpoints to further process it:\n\n### Upsample (`POST /veo/upsample`)\n\nUpscale a generated video to 1080p, 4K, or convert to GIF.\n\n```json\nPOST /veo/upsample\n{\n  \"video_id\": \"your-video-id\",\n  \"action\": \"4k\"\n}\n```\n\n| Parameter | Values | Description |\n|-----------|--------|-------------|\n| `video_id` | string | Task ID from `/veo/videos`, `/veo/extend`, `/veo/reshoot`, or `/veo/objects` |\n| `action` | `\"1080p\"`, `\"4k\"`, `\"gif\"` | Upsample target |\n\n### Extend (`POST /veo/extend`)\n\nContinue an existing video — AI auto-generates the next segment.\n\n```json\nPOST /veo/extend\n{\n  \"video_id\": \"your-video-id\",\n  \"model\": \"veo31-fast\",\n  \"prompt\": \"the camera slowly zooms out\"\n}\n```\n\n| Parameter | Values | Description |\n|-----------|--------|-------------|\n| `video_id` | string | Task ID from `/veo/videos` or a prior `/veo/extend` |\n| `model` | `\"veo31-fast\"`, `\"veo31\"` | Only Veo 3.1 series is supported |\n| `prompt` | string | Optional: guides the extended segment |\n\n### Reshoot (`POST /veo/reshoot`)\n\nRe-render a video keeping the same content but applying new camera motion.\n\n```json\nPOST /veo/reshoot\n{\n  \"video_id\": \"your-video-id\",\n  \"motion_type\": \"LEFT_TO_RIGHT\"\n}\n```\n\n| Parameter | Values | Description |\n|-----------|--------|-------------|\n| `video_id` | string | Task ID from `/veo/videos` (cannot use `/veo/extend` output) |\n| `motion_type` | see table below | Camera motion to apply |\n\n**`motion_type` values:**\n`STATIONARY`, `STATIONARY_UP`, `STATIONARY_DOWN`, `STATIONARY_LEFT`, `STATIONARY_RIGHT`, `STATIONARY_DOLLY_IN_ZOOM_OUT`, `STATIONARY_DOLLY_OUT_ZOOM_IN`, `UP`, `DOWN`, `LEFT_TO_RIGHT`, `RIGHT_TO_LEFT`, `FORWARD`, `BACKWARD`, `DOLLY_IN_ZOOM_OUT`, `DOLLY_OUT_ZOOM_IN`\n\n### Objects (`POST /veo/objects`)\n\nInsert or remove objects in a video using mask-based inpainting.\n\n```json\nPOST /veo/objects\n{\n  \"video_id\": \"your-video-id\",\n  \"action\": \"insert\",\n  \"prompt\": \"add a flying bird\"\n}\n```\n\n```json\nPOST /veo/objects\n{\n  \"video_id\": \"your-video-id\",\n  \"action\": \"remove\",\n  \"image_mask\": \"https://example.com/mask.jpg\"\n}\n```\n\n| Parameter | Values | Description |\n|-----------|--------|-------------|\n| `video_id` | string | Task ID (cannot use `/veo/extend` output) |\n| `action` | `\"insert\"`, `\"remove\"` | Operation type |\n| `prompt` | string | Required for `insert`; optional for `remove` |\n| `image_mask` | string | URL or base64 JPEG — white pixels = target region. Required for `remove`; optional for `insert` |\n\n## Gotchas\n\n- Veo 3 and 3.1 models generate **native audio** — `veo2`/`veo2-fast` do NOT support audio\n- The `get1080p` action uses `video_id` (from a prior generation), not a URL\n- `aspect_ratio` is **only valid** for the `image2video` action\n- `image_urls` accepts an array — up to 2 images for `image2video`, up to 3 for `ingredients2video`\n- `veo31-fast-ingredients` **requires** image input — it cannot do text-only generation\n- `translation: true` auto-translates Chinese or other non-English prompts before sending to Veo\n- Task polling uses `id` (not `task_id`) in the `/veo/tasks` request body\n- Task states use `\"succeeded\"` (not \"completed\") — check for this value when polling\n- `/veo/extend` output **cannot** be used as input for `/veo/reshoot` or `/veo/objects`\n\n> **MCP:** `pip install mcp-veo` | Hosted: `https://veo.mcp.acedata.cloud/mcp` | See [all MCP servers](../_shared/mcp-servers.md)","tags":["veo","video","skills","acedatacloud","acedata-cloud","agent-skills","agentskills","ai-image","ai-music","ai-tools","ai-video","claude-code"],"capabilities":["skill","source-acedatacloud","skill-veo-video","topic-acedata-cloud","topic-agent-skills","topic-agentskills","topic-ai-image","topic-ai-music","topic-ai-tools","topic-ai-video","topic-claude-code","topic-cursor","topic-gemini-cli","topic-github-copilot","topic-mcp"],"categories":["Skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/AceDataCloud/Skills/veo-video","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add AceDataCloud/Skills","source_repo":"https://github.com/AceDataCloud/Skills","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 7 github stars · SKILL.md body (6,526 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:14:04.729Z","embedding":null,"createdAt":"2026-05-18T13:21:35.951Z","updatedAt":"2026-05-18T19:14:04.729Z","lastSeenAt":"2026-05-18T19:14:04.729Z","tsv":"'/_shared/async-tasks.md':111 '/_shared/authentication.md':62 '/_shared/mcp-servers.md':867 '/health':105 '/img1.jpg':304 '/img2.jpg':307 '/landscape.jpg':266 '/mask.jpg':690 '/mcp':862 '/veo/extend':475,487,501,531,593,701,842 '/veo/objects':478,646,661,677,852 '/veo/reshoot':476,552,569,850 '/veo/tasks':115,134,827 '/veo/upsample':442,456 '/veo/videos':74,218,247,297,328,474,527,590 '1':211,283,375,376 '1080p':234,316,324,363,448,480 '16':271,371,374 '2':39,235,399,779 '3':41,273,284,378,379,404,735,785 '3.1':44,187,196,206,539,737 '4':313,377,380 '4k':362,449,464,481 '720p':368 '9':272,372,373 'accept':774 'acedatacloud':11,54,78,138 'action':87,219,248,298,329,343,463,479,668,684,703,752,771 'add':671 'aerial':223 'ai':5,51,492 'anim':20,240 'api':12,58,79,139 'api.acedata.cloud':73,104,133 'api.acedata.cloud/health':103 'api.acedata.cloud/veo/tasks':132 'api.acedata.cloud/veo/videos':72 'appli':563,603 'application/json':85,145 'array':389,776 'aspect':269,369,381,763 'async':106,108 'audio':150,741,749 'audiovisu':173,181 'authent':61 'author':76,136 'auto':418,494,805 'auto-gener':493 'auto-transl':417,804 'backward':635 'base':657 'base64':721 'bash':68,128 'bearer':77,137 'best':151 'bird':674 'blend':281,282 'bodi':829 'breach':92 'callback':101 'camera':32,514,565,600 'cannot':591,699,796,844 'check':836 'chines':807 'cinemat':222 'come':254 'complet':835 'content':83,143,561 'content-typ':82,142 'continu':488 'convert':317,451 'cost':156,165 'cost-effect':155,164 'creat':15 'curl':69,129 'd':86,146 'default':168,357,367,423 'descript':19,342,467,520,583,693 'dolli':617,622,636,640 'effect':157,166 'endpoint':428,435 'english':422,812 'example.com':265,303,306,689 'example.com/img1.jpg':302 'example.com/img2.jpg':305 'example.com/landscape.jpg':264 'example.com/mask.jpg':688 'exist':490 'extend':485,548 'fals':416,424 'fast':161,163,177,192,197,201,207,293,311,360,511,535,745,790 'faster':180 'fli':673 'forward':634 'full':172,323 'generat':4,49,50,158,167,174,182,320,348,427,430,445,495,739,759,801 'gentl':253 'get1080p':330,347,413,751 'gif':364,453,482 'golden':97 'googl':8,56 'gotcha':733 'guid':546 'h':75,81,135,141 'highest':188 'host':859 'hour':98 'iceland':230 'id':117,122,147,332,336,406,458,462,469,472,503,507,522,525,571,575,585,588,663,667,679,683,695,698,755,821,824 'imag':22,237,242,262,280,286,300,387,393,686,716,772,780,793 'image-to-video':236 'image2video':249,345,386,396,770,782 'immedi':123 'ingredi':202,208,275,294,312,791 'ingredients-to-video':274 'ingredients2video':299,346,401,787 'inpaint':658 'input':794,848 'insert':647,669,704,712,732 'inserting/removing':35 'instal':855 'jpeg':722 'json':216,245,295,326,454,499,567,659,675 'keep':558 'left':578,613,628,633 'life':256 'light':228 'mask':656,687,717 'mask-bas':655 'mcp':853,857,865 'mcp-veo':856 'mode':209,349 'model':45,99,148,149,231,267,308,337,350,352,354,508,532,738 'motion':33,95,261,566,576,595,601,604 'multi':279 'multi-imag':278 'nativ':171,179,185,194,204,740 'new':31,564 'next':497 'non':811 'non-english':810 'northern':227 'object':36,644,650 'oper':706 'option':545,713,730 'output':365,594,702,843 'paramet':339,340,465,518,581,691 'pip':854 'pixel':724 'poll':110,112,124,819,841 'post':71,114,131,217,246,296,327,426,441,455,486,500,551,568,645,660,676 'post-gener':425 'previous':319 'prior':530,758 'process':438 'prompt':89,221,250,420,512,543,670,708,813 'qualiti':189 'quick':66 'ratio':270,370,382,764 're':28,554 're-rend':553 're-shoot':27 'refer':285,392 'region':726 'remov':649,685,705,715,729 'render':555 'request':828 'requir':710,727,792 'reshoot':550 'resolut':233,325,361,366 'result':127 'return':119 'right':580,615,630,631 'scene':252 'see':60,107,351,597,863 'segment':498,549 'send':815 'seri':540 'server':866 'setup':59,65 'shoot':29 'shot':224 'skill' 'skill-veo-video' 'slow':94 'slowli':515 'source-acedatacloud' 'start':67 'state':831 'stationari':607,608,610,612,614,616,621 'still':21,241 'string':391,407,470,523,544,586,696,709,718 'subtl':260 'succeed':833 'support':37,542,748 'tabl':353,598 'target':484,725 'task':109,121,471,524,587,697,818,823,830 'text':18,213,799 'text-on':798 'text-to-video':212 'text2video':88,220,344 'token':64,80,140 'topic-acedata-cloud' 'topic-agent-skills' 'topic-agentskills' 'topic-ai-image' 'topic-ai-music' 'topic-ai-tools' 'topic-ai-video' 'topic-claude-code' 'topic-cursor' 'topic-gemini-cli' 'topic-github-copilot' 'topic-mcp' 'translat':414,419,802,806 'true':415,803 'type':84,144,577,596,605,707 'upsampl':440,483 'upscal':314,410,443 'upscaling/extending':25 'url':102,263,301,388,394,719,762,773 'use':13,356,433,592,654,700,753,820,832,846 'valid':384,767 'valu':341,466,519,582,606,692,839 'variant':198 'veo':2,9,38,40,43,47,57,186,195,205,538,734,817,858 'veo-video':1 'veo.mcp.acedata.cloud':861 'veo.mcp.acedata.cloud/mcp':860 'veo2':153,160,268,359,742,744 'veo2-fast':159,358,743 'veo3':100,169,176,232,338 'veo3-fast':175 'veo31':183,191,200,292,310,510,534,536,789 'veo31-fast':190,509,533 'veo31-fast-ingredients':199,291,309,788 'via':10,113 'video':3,6,16,24,26,48,52,215,239,244,277,289,321,331,335,405,408,432,446,457,461,468,491,502,506,521,557,570,574,584,653,662,666,678,682,694,754 'whale':91 'white':723 'wind':258 'workflow':210 'x':70,130 'yes':170,178,184,193,203 'your-video-id':333,459,504,572,664,680 'zoom':516,619,624,638,642","prices":[{"id":"0ea8d536-ddca-4ea8-8f2c-616200350dbc","listingId":"e3e6285a-644d-4a75-8589-24b2890f8629","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"AceDataCloud","category":"Skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:21:35.951Z"}],"sources":[{"listingId":"e3e6285a-644d-4a75-8589-24b2890f8629","source":"github","sourceId":"AceDataCloud/Skills/veo-video","sourceUrl":"https://github.com/AceDataCloud/Skills/tree/main/skills/veo-video","isPrimary":false,"firstSeenAt":"2026-05-18T13:21:35.951Z","lastSeenAt":"2026-05-18T19:14:04.729Z"}],"details":{"listingId":"e3e6285a-644d-4a75-8589-24b2890f8629","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"AceDataCloud","slug":"veo-video","github":{"repo":"AceDataCloud/Skills","stars":7,"topics":["acedata-cloud","agent-skills","agentskills","ai-image","ai-music","ai-tools","ai-video","claude-code","cursor","gemini-cli","github-copilot","mcp","npm","openai-codex","roo-code"],"license":"other","html_url":"https://github.com/AceDataCloud/Skills","pushed_at":"2026-05-18T07:35:03Z","description":"Agent Skills for AceDataCloud AI services — music, image, video generation, web search, and more. Compatible with Claude Code, GitHub Copilot, Gemini CLI, and all agentskills.io-compatible agents.","skill_md_sha":"d051773f991da558684b3b429338f7881be88238","skill_md_path":"skills/veo-video/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/AceDataCloud/Skills/tree/main/skills/veo-video"},"layout":"multi","source":"github","category":"Skills","frontmatter":{"name":"veo-video","license":"Apache-2.0","description":"Generate AI videos with Google Veo via AceDataCloud API. Use when creating videos from text descriptions, animating still images into video, upscaling/extending videos, re-shooting with new camera motion, or inserting/removing objects. Supports Veo 2, Veo 3, and Veo 3.1 models including fast variants.","compatibility":"Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-veo for tool-use."},"skills_sh_url":"https://skills.sh/AceDataCloud/Skills/veo-video"},"updatedAt":"2026-05-18T19:14:04.729Z"}}