Veo2 T2V
Playground
Try it on WavespeedAI!Google Veo 2 creates videos with realistic motion and high quality output. Explore different styles and find your own with extensive camera controls.
Features
Veo 2
Veo 2 is a video generation model designed to create videos with realistic motion and high-quality output (up to 4K resolution). The model can be accessed via VideoFX and Vertex AI.
Key Features
- Quality and Control
- Follows both simple and complex instructions
- Simulates real-world physics
- Supports a wide range of visual styles
Technical Capabilities
- Enhanced realism and detail with reduced artifacts
- Advanced motion representation with accurate physics simulation
- Precise interpretation of camera instructions (shot styles, angles, movements)
Benchmarks
Veo 2 has been evaluated against other video generation models through human ratings on the MovieGenBench dataset (1003 prompts, released by Meta).
Testing parameters:
- 720p resolution for all comparisons
- Veo samples: 8 seconds duration
VideoGen samples:
- 10 seconds duration
Other models:
5 seconds duration
Known Limitations
- Challenges with maintaining complete consistency throughout complex scenes
- Difficulty with complex motion
- Some limitations in creating highly realistic or intricate videos
Related Technologies
- Imagen (text-to-image model)
- Gemini (AI model)
- SynthID (watermarking and identification for AI-generated images)
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/veo2-t2v" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"prompt": "The camera floats gently through rows of pastel-painted wooden beehives, buzzing honeybees gliding in and out of frame. The motion settles on the refined farmer standing at the center, his pristine white beekeeping suit gleaming in the golden afternoon light. He lifts a jar of honey, tilting it slightly to catch the light. Behind him, tall sunflowers sway rhythmically in the breeze, their petals glowing in the warm sunlight. The camera tilts upward to reveal a retro farmhouse with mint-green shutters, its walls dappled with shadows from swaying trees. Shot with a 35mm lens on Kodak Portra 400 film, the golden light creates rich textures on the farmer's gloves, marmalade jar, and weathered wood of the beehives.",
"aspect_ratio": "16:9",
"duration": "5s"
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
Parameter | Type | Required | Default | Range | Description |
---|---|---|---|---|---|
prompt | string | Yes | - | The text prompt describing the video you want to generate. | |
aspect_ratio | string | No | 16:9 | - | The aspect ratio of the generated video. |
duration | string | No | 5s | 5s, 6s, 7s, 8s | The duration of the generated media in seconds. |
Response Parameters
Parameter | Type | Description |
---|---|---|
code | integer | HTTP status code (e.g., 200 for success) |
message | string | Status message (e.g., “success”) |
data.id | string | Unique identifier for the prediction, Task Id |
data.model | string | Model ID used for the prediction |
data.outputs | array | Array of URLs to the generated content (empty when status is not completed ) |
data.urls | object | Object containing related API endpoints |
data.urls.get | string | URL to retrieve the prediction result |
data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
data.status | string | Status of the task: created , processing , completed , or failed |
data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
data.error | string | Error message (empty if no error occurred) |
data.timings | object | Object containing timing details |
data.timings.inference | integer | Inference time in milliseconds |
Result Query Parameters
Result Request Parameters
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
id | string | Yes | - | Task ID |
Result Response Parameters
Parameter | Type | Description |
---|---|---|
code | integer | HTTP status code (e.g., 200 for success) |
message | string | Status message (e.g., “success”) |
data | object | The prediction data object containing all details |
data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
data.model | string | Model ID used for the prediction |
data.outputs | array | Array of URLs to the generated content (empty when status is not completed ) |
data.urls | object | Object containing related API endpoints |
data.urls.get | string | URL to retrieve the prediction result |
data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
data.status | string | Status of the task: created , processing , completed , or failed |
data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
data.error | string | Error message (empty if no error occurred) |
data.timings | object | Object containing timing details |
data.timings.inference | integer | Inference time in milliseconds |