cURL
Python
JavaScript
Go
Java
PHP
Ruby
Swift
C#
curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic",
"duration": 8,
"aspect_ratio": "16:9"
}'
{
"code" : 200 ,
"data" : [
{
"status" : "submitted" ,
"task_id" : "task_xxxxxxxxxx"
}
]
}
Authorizations
All API endpoints require Bearer Token authentication Get your API Key: Visit the API Key Management Page to get your API Key Add it to the request header: Authorization: Bearer YOUR_API_KEY
Body
Video generation model name Available models:
veo3.1-fast-official - Veo 3.1 Official Fast version
veo3.1-quality-official - Veo 3.1 Official High Quality version
Positive text prompt Describe scenes, actions, styles, etc. in detail for better generation results. English prompts are recommended. Example: "a golden retriever running on the beach, sunset, cinematic"
Negative prompt to exclude unwanted content Example: "blurry, low quality, watermark, text"
Video duration in seconds Recommended values: 4 / 6 / 8 Default: 8 Note: Must be a pure number (e.g. 8), do not add quotes, otherwise an error will occur
Video aspect ratio Available values:
16:9 - Landscape
9:16 - Portrait
Default: 16:9
Video resolution Available values:
720p - Standard resolution
1080p - High definition
4K - Ultra high definition
Default: 720p
First frame image URL for image-to-video generation
Image URL must be publicly accessible without hotlink protection
Object storage URLs are recommended over temporary download links
Last frame image URL for image-to-video generation Used with first_frame_image to control first and last frames
Random seed for reproducing generation results Value range: 0 - 4294967295
Number of samples to generate (1-4), currently recommended to use 1 Default: 1
Whether to generate audio track
person_generation
string
default: "allow_adult"
Person generation policy Available values:
allow_adult - Only allow generating adult persons/faces
disallow - Do not allow generating persons or faces
Default: allow_adult
Image resize strategy (effective for image-to-video) Available values:
pad - Padding mode
crop - Cropping mode
Default: pad
Whether to enable upstream prompt enhancement Default: true
This parameter can only be set to true. Setting it to false will cause a request error
If you don’t need this parameter, do not include it
Text-to-Video vs Image-to-Video
The system automatically determines the mode based on whether image parameters are provided: no images for text-to-video, images for image-to-video.
Parameter Text-to-Video Image-to-Video promptRequired Required first_frame_imageNot used Required (at least one) last_frame_imageNot used Optional (last frame) negative_promptOptional Optional durationOptional Optional aspect_ratioOptional Optional resolutionOptional Optional seedOptional Optional generate_audioOptional Optional person_generationOptional Optional resize_modeNot applicable Optional enhance_promptOptional Optional
Response
Response status code, 200 on success
Response data array Task status, initially submitted upon submission
Unique task identifier for querying task status and results
Usage Scenarios
Scenario 1: Text-to-Video (Basic)
{
"model" : "veo3.1-fast-official" ,
"prompt" : "a golden retriever running on the beach, sunset, cinematic"
}
Scenario 2: Text-to-Video (Full Parameters)
{
"model" : "veo3.1-quality-official" ,
"prompt" : "a cinematic close-up of a ragdoll cat slowly walking through a sunlit living room" ,
"negative_prompt" : "blurry, low quality, watermark, text" ,
"duration" : 8 ,
"aspect_ratio" : "16:9" ,
"resolution" : "1080p" ,
"seed" : 12345 ,
"generate_audio" : true ,
"person_generation" : "disallow" ,
"enhance_prompt" : true
}
Scenario 3: Image-to-Video (Single First Frame)
{
"model" : "veo3.1-fast-official" ,
"prompt" : "the cat slowly walks forward and looks around" ,
"first_frame_image" : "https://example.com/cat.png" ,
"duration" : 8 ,
"resolution" : "720p"
}
Scenario 4: Image-to-Video (First Frame + Last Frame)
{
"model" : "veo3.1-quality-official" ,
"prompt" : "smooth cinematic transition from the first frame to the last frame" ,
"first_frame_image" : "https://example.com/frame-start.png" ,
"last_frame_image" : "https://example.com/frame-end.png" ,
"duration" : 8 ,
"resolution" : "1080p"
}
Scenario 5: Video with Audio
{
"model" : "veo3.1-quality-official" ,
"prompt" : "a busy coffee shop with people chatting and barista making latte art" ,
"duration" : 8 ,
"generate_audio" : true ,
"aspect_ratio" : "16:9"
}
Query Task Results Video generation is an asynchronous task that returns a task_id upon submission. Use the Get Task Status endpoint to query generation progress and results.