Veo Video Generation API: Turn Cinematic Language into Prompts and Let AI Create Your Videos
A short video that "looks expensive" used to mean a complete workflow of storyboarding, shooting, lighting, and post-production. Now, many such needs—product shorts, program intros, social media looping backgrounds—can first be clearly described in text, handed to a model to generate an initial version, and then you can decide whether live-action reshooting is needed.
This article covers the Veo video generation API on Ace Data Cloud: the endpoint is POST https://api.acedata.cloud/veo/videos, and the documentation is available at platform.acedata.cloud/documents/veo-videos. Like other services on the platform, you can use it by getting an API Token from the console, and your first application includes free credits.
¶ First, Look at a Real Generated Video
The clip below was generated from text using veo31-fast: a golden-hour macro slow-motion shot of a hummingbird, with its wings almost frozen in the middle of a beat, shallow depth of field, and a cinematic feel. The prompt was just one English camera description, with no post-production.
📹 https://cdn.acedata.cloud/5e1f2c52a9.mp4
The corresponding request looks like this:
curl -X POST 'https://api.acedata.cloud/veo/videos' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
"action": "text2video",
"model": "veo31-fast",
"async": true,
"prompt": "Extreme slow-motion macro of a hummingbird hovering beside a dew-covered flower at golden hour, wings frozen mid-beat, shallow depth of field, cinematic."
}'
Veo takes about 1–2 minutes to generate a video. To avoid keeping the HTTP connection open the entire time, it is recommended to add "async": true: the endpoint will immediately return a task_id, which you can then use to poll for the task result.
{
"task_id": "1ebe4f2b-59ba-4385-a4ea-0ce8a3fe12ed",
"trace_id": "d1d53c04-58c5-4c40-bb63-f00188540e56"
}
After obtaining the task_id, poll /veo/tasks until state becomes succeeded:
curl -X POST 'https://api.acedata.cloud/veo/tasks' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{"id": "1ebe4f2b-59ba-4385-a4ea-0ce8a3fe12ed", "action": "retrieve"}'
Once completed, data contains the finished video link:
{
"success": true,
"task_id": "1ebe4f2b-59ba-4385-a4ea-0ce8a3fe12ed",
"data": [
{
"id": "2f43ceed37944b4d836e1a1899dad0a1",
"video_url": "https://cdn.acedata.cloud/assets/examples/veo/f5389ec0-2eb5-4212-b4a8-04b513b0129a-0b0c3113d691.mp4",
"created_at": "2026-06-30T04:01:50Z",
"complete_at": "2026-06-30T04:03:20Z",
"state": "succeeded"
}
]
}
If you do not want to poll, you can also pass callback_url, and when the task is complete, the platform will POST the JSON above directly to your address.
¶ Three Actions: Text-to-Video, Image-to-Video, and 1080p Upscaling
action determines what this task does:
text2video—generate from text only, like the hummingbird clip above;image2video—provide one or two reference images to bring a static image to life. Passing 1 image uses first-frame mode; passing 2 images uses first-and-last-frame mode (the video moves from the first image to the second);get1080p—perform HD upscaling on an already generated video; simply pass in itsvideo_id.
The image-to-video request only adds image_urls:
curl -X POST 'https://api.acedata.cloud/veo/videos' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
"action": "image2video",
"model": "veo31-fast",
"async": true,
"prompt": "The poster gently comes alive, subtle parallax, slow camera push-in.",
"image_urls": ["https://cdn.acedata.cloud/b2f8d2c012.png"]
}'
This is very useful for creating "dynamic extensions of posters/KVs": take an existing key visual and generate a 5–8 second animated version for short-video openings or looping landing-page backgrounds.
¶ How to Choose a Model
The main available models are currently: veo31-fast, veo31, veo3, and veo3-fast, plus veo31-fast-ingredients (images are required, up to 3 images, for multi-image fusion).
The selection logic is simple:
- fast series (
veo31-fast/veo3-fast)—generates quickly, used to rapidly validate directions or create multiple versions to choose the one that "feels right"; - quality tier (
veo31/veo3)—used to generate the final video after the direction is decided.
For resolution, if resolution is not passed, the default is 720p. All models support 1080p and gif, while veo31 also supports 4k. Use aspect_ratio to control the ratio (16:9, 9:16, 1:1, 4:3, 3:4); you can generate both landscape and portrait versions for convenient multi-channel distribution.
¶ A Reusable Workflow
- Write cinematic language: subject + lighting + camera position + movement + rhythm, all clearly stated at once. Common terms:
slow orbit,dolly-in,rack focus,golden hour,rim light,volumetric glow,matte / glossytexture,3–6 second loop; - Use a fast model to generate multiple versions for small-scale selection or delivery testing;
- Upscale the winning version to 1080p (
get1080p) for formal delivery or large screens; - Archive the assets: save
video_url,model,prompt,created_at,complete_at, and gradually build up a "shot template library" to apply by theme later.
¶ Who Can Use It
- Brands and e-commerce: product rotation/follow-shot short videos, holiday-themed videos, opening intros;
- Media and creators: use the same visual language for program intros and outros to create stable recognition, or first draw still frames and then generate motion, keeping the style consistent;
- Products and UI: create premium motion graphic backgrounds for apps, websites, and offline screens, with a noticeably improved first impression.
It is worth mentioning that video is currently the most scarce and also the most expensive content format. If you are running a content account, consistently producing short videos is itself the core of traffic acquisition; put the link to the tools you use on your profile page, and use the Monetization Affiliate Program to earn commissions from consumption generated by users who register through you, which is an additional source of income. Or more directly—package the above workflow of "entering shot descriptions and asynchronously receiving videos" into a small tool and sell it to merchants who need to produce videos in batches; your cost is the platform's usage-based billing portion.
¶ Reference Links
- Documentation: https://platform.acedata.cloud/documents/veo-videos
- API:
POST https://api.acedata.cloud/veo/videos - Get Token: https://platform.acedata.cloud/console/applications
First, use the free credits to write your first shot instruction, generate a clip to see the result, and then decide how to incorporate it into your workflow.
