Veo 3.1 Fast (Image-to-Video)
Setup your API Key
How to Make a Call
API Schemas
Create a video generation task and send it to the server
post
Body
modelstring · enumRequiredPossible values:
promptstringRequired
The text description of the scene, subject, or action to generate in the video.
image_urlstring · uriRequired
URL of the input image to animate. Should be 720p or higher resolution.
aspect_ratiostring · enumOptionalPossible values:
The aspect ratio of the generated video.
durationinteger · enumOptionalDefault:
The length of the output video in seconds.
8Possible values: resolutionstring · enumOptionalDefault:
1080pPossible values: generate_audiobooleanOptionalDefault:
Whether to generate audio for the video.
trueproviderstringOptionalExample:
Provider routing override. google runs native Google with no fallback; fal runs the fal.ai mirror; auto (default) uses the Google -> fal.ai fallback chain. Case-insensitive.
autoResponses
200Success
application/json
idstringRequiredExample:
The ID of the generated video.
60ac7c34-3224-4b14-8e7d-0aa0db708325statusstring · enumRequiredExample:
The current status of the generation task.
completedPossible values: post/v2/video/generations
curl -L \
--request POST \
--url 'https://api.aimlapi.com/v2/video/generations' \
--header 'Authorization: Bearer <YOUR_AIMLAPI_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model": "google/veo-3.1-i2v-fast",
"prompt": "A woman looks into the camera, breathes in, then exclaims energetically, ’Hello world!’",
"image_url": "https://raw.githubusercontent.com/aimlapi/api-docs/main/reference-files/mona_lisa_extended.jpg"
}'200Success
{
"id": "60ac7c34-3224-4b14-8e7d-0aa0db708325",
"status": "completed",
"video": {
"url": "https://cdn.aimlapi.com/generations/hedgehog/1759866285599-0cdfb138-c03a-49d4-a601-4f6413e27b15.mp4"
},
"error": {
"name": "text",
"message": "text"
},
"meta": {
"usage": {
"credits_used": 120000
}
}
}Fetch the video
get
Authorizations
AuthorizationstringRequired
Bearer key
Query parameters
generation_idstringRequiredExample:
<REPLACE_WITH_YOUR_GENERATION_ID>Responses
200Success
application/json
idstringRequiredExample:
The ID of the generated video.
60ac7c34-3224-4b14-8e7d-0aa0db708325statusstring · enumRequiredExample:
The current status of the generation task.
completedPossible values: get/v2/video/generations
curl -L \
--request GET \
--url 'https://api.aimlapi.com/v2/video/generations?generation_id=<REPLACE_WITH_YOUR_GENERATION_ID>' \
--header 'Authorization: Bearer <YOUR_AIMLAPI_KEY>'200Success
{
"id": "60ac7c34-3224-4b14-8e7d-0aa0db708325",
"status": "completed",
"video": {
"url": "https://cdn.aimlapi.com/generations/hedgehog/1759866285599-0cdfb138-c03a-49d4-a601-4f6413e27b15.mp4"
},
"error": {
"name": "text",
"message": "text"
},
"meta": {
"usage": {
"credits_used": 120000
}
}
}Full Example: Generating and Retrieving the Video From the Server

Last updated
Was this helpful?