Introduction
Text-to-video for Veo 3.1: a prompt in, a 4-8 second 720p clip with generated sound out.
| Field | Value |
|---|---|
| Input | Text |
| Output | Video |
| Publisher | |
| Clip length | 4, 6 or 8 seconds |
| Resolution | 720p: 1280x720 (16:9) or 720x1280 (9:16) |
| Aspect ratios | 16:9, 9:16 |
| Frame rate | 24 fps |
| Sound | Generated with every clip |
| Inputs | Text; first frame with optional last frame |
Key features & highlights
A shot built in the order you wrote it
The prompt asked for the dome to open, the telescope to appear and the camera to drift along the railing. In 4 seconds at 9:16 the shutter slid from closed to fully open, the inside lit amber around a brass telescope, and the camera moved forward along the curved rail, in that order.
Land exactly on the last frame
A first frame of a woman at the telescope with her back to us, and a last frame of her leaning on the railing with her arms crossed. In 4 seconds she turned, stepped to the rail and settled into the closing pose, while more stars came out above the dome.
Four seconds fits one action
From a single first frame, the prompt was "He folds the map and looks up." In 4 seconds he folded the map with both hands, but he was still looking down on the last frame. Ask for one beat per 4 seconds, or choose 8 seconds for two.
Continue a clip from any model
We sent a 5-second clip made with another model and asked for 4 more seconds: "The road continues along the sea." The new part picked up the aerial over the coast road and followed the car through the bends. We got back one 9-second file at the source clip's size, and only the 4 new seconds were billed.
Request parameters
| Parameter | Required | Description |
|---|---|---|
prompt | Yes | Required. Say who or what is in the shot, what happens, how the camera moves and what it sounds like; dialogue goes in quotes. at least 1 characters · at most 4000 characters |
aspect_ratio | No | 16:9 (default, 1280x720) or 9:16 (720x1280). It does not change the price. |
duration_seconds | No | Choose 4, 6 or 8 seconds (default 8). The price goes up with length. |
Pricing
Each clip is billed once, at the price for its length of 4, 6 or 8 seconds. Aspect ratio and sound add nothing. A request that fails or is refused is free.
| Specification | Price |
|---|---|
| $1.44 / request |
| $2.16 / request |
| $2.88 / request |
Use cases
The final render after a cheaper draft
Work out the prompt, framing and timing on Veo 3.1 Fast at $0.36 or Lite at $0.18 per 4-second clip, then send the same request to Veo 3.1 for the version you keep. All three take the same fields.
A product or place shot that must start and end on set pictures
Give the opening still and the closing still and describe the move between them. In our test the clip landed on the last frame in 4 seconds.
Scenes longer than 8 seconds
Generate the first 8 seconds, then continue with video extend: the last frame of your clip opens a new 4 to 8 second segment and you get one joined file back. The source clip, up to 60 seconds, is not billed.
Vertical clips with sound for social posts
Pick 9:16 for a 720x1280 clip. Sound is generated with the picture, so a short is ready without a separate audio pass.
Prompt guide & pro tips
Write it in the order it happens
Place and light, subject, action, camera move, then sound. Our observatory prompt followed that order and the clip played the beats in the same order.
Direct the sound like a shot
Say what should be heard: "Sound: wind over sand, the dome's motor". Spoken words go in quotes. Google notes that very short lines of speech are still the hardest part, so leave a speaking shot a few seconds to play out.
Match the action to the length
Plan one clear action per 4 seconds. In our 4-second test, "folds the map and looks up" only got as far as the fold.
Keep Veo 3.1 for the take you keep
Veo 3.1 costs four times Fast and eight times Lite at the same length. Settle wording and framing on a cheaper tier, then run the final render here once.
Introduction
Veo 3.1 Text to video is the way to turn a written scene into a clip when picture quality comes first: Google's top Veo tier makes 4, 6 or 8 seconds at 720p, in 16:9 or 9:16, and generates the sound at the same time. Prompts and images go through Google's own review; a request Google refuses fails and costs nothing.
Choose a Veo 3.1 mode
| If you have | Use |
|---|---|
| only a written scene | Veo 3.1 Text to video (you are here) |
| a still to open on, or one to end on | Veo 3.1 Image to video |
| footage you want to carry on | Veo 3.1 Video extend |
Prompt tips
- Order the prompt like the shot: setting and light, subject, action, camera move, then the audio.
- Quote any dialogue and describe the ambience separately.
- Rehearse at 4 seconds on a cheaper tier, then render the keeper at 8.
API quick start
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "google/veo-3.1/text-to-video",
"input": {
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"aspect_ratio": "16:9",
"duration_seconds": 8
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
See the API reference for authentication, the complete schema, polling, and error handling.