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": "wan2.5-preview",
"prompt": "Sunset coastal highway, cinematic shot",
"size": "16:9",
"resolution": "720p",
"duration": 5
}'
{
"code" : 200 ,
"data" : [
{
"status" : "submitted" ,
"task_id" : "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
}
]
}
Authentication
All endpoints require Bearer Token authentication Get API Key: Visit the API Key Management Page to get your API Key Add to request header: Authorization: Bearer YOUR_API_KEY
Request Parameters
Video generation model name, fixed as wan2.5-preview
Video content description Required for text-to-video (without image_urls), optional but recommended for image-to-videoDescribe scenes, actions, styles in detail for better results Example: "Sunset coastal highway, cinematic shot"
Reference image URL array (only 1 image supported) Required for image-to-video mode, supports publicly accessible image URLs or Base64 encoding (data:image/png;base64,...) Example: ["https://example.com/image.jpg"] The system automatically selects text-to-video or image-to-video mode based on whether image_urls is included. Do not pass image_urls for text-to-video mode.
Negative prompt, describes unwanted content Maximum 500 characters Example: "blurry, low quality, distorted"
Video resolution Options:
480p - SD, supports size: 16:9, 9:16, 1:1
720p - HD (default), supports size: 16:9, 9:16, 1:1, 4:3, 3:4
1080p - FHD, supports size: 16:9, 9:16, 1:1, 4:3, 3:4
Default: 720p Resolution directly affects pricing: 1080p > 720p > 480p.
480p only supports 16:9, 9:16, 1:1 ratios. Passing 4:3 or 3:4 will result in an error.
Video duration (seconds) Only supports: 5 or 10 seconds Default: 5
Aspect ratio, only effective for text-to-video (without image_urls) Options depend on resolution: 480p:
16:9 - Landscape (default)
9:16 - Portrait
1:1 - Square
720p / 1080p:
16:9 - Landscape (default)
9:16 - Portrait
1:1 - Square
4:3 - Landscape
3:4 - Portrait
Default: 16:9 For image-to-video, the aspect ratio is determined by the input image. Do not pass size, otherwise an error will be returned.
Random seed (≥0), specifying the same seed can reproduce similar results Example: 12345
Whether to enable smart prompt rewriting Significantly improves results for shorter prompts, but increases processing time Default: true
Whether to automatically add audio When enabled, the system will generate matching audio for the video Default: true This model only supports audio=true. Setting to false for silent video is not supported.
Custom audio URL (wav/mp3, 3-30 seconds, ≤ 15MB) If the audio is longer than the video duration, it will be automatically trimmed; if shorter, the remaining part will be silent Audio file requirements:
Format: wav, mp3
Duration: 3-30 seconds
Size: ≤ 15MB
Whether to add an “AI Generated” watermark (bottom right) Default: false
Resolution and Aspect Ratio Combinations
size and resolution combinations map to upstream pixel dimensions (only effective for text-to-video ):
Aspect Ratio Description 480p Size 720p Size 1080p Size 16:9Landscape (default) 832×480 1280×720 1920×1080 9:16Portrait 480×832 720×1280 1080×1920 1:1Square 624×624 960×960 1440×1440 4:3Landscape - 1088×832 1632×1248 3:4Portrait - 832×1088 1248×1632
480p only supports 16:9, 9:16, 1:1 ratios. Passing 4:3 or 3:4 will result in an error. 720p and 1080p support all 5 ratios.
Response
Response status code, 200 on success
Response data array Task status, submitted on initial submission
Unique task identifier for querying task status and results
Use Cases
Case 1: Text-to-Video (Simple)
{
"model" : "wan2.5-preview" ,
"prompt" : "Sunset coastal highway, cinematic shot"
}
Case 2: Text-to-Video (Full Parameters)
{
"model" : "wan2.5-preview" ,
"prompt" : "City night scene, neon lights and rain-soaked streets" ,
"negative_prompt" : "blurry, low quality, distorted" ,
"size" : "16:9" ,
"resolution" : "720p" ,
"duration" : 5 ,
"seed" : 12345 ,
"prompt_extend" : true ,
"audio" : true ,
"watermark" : false
}
Case 3: Image-to-Video
{
"model" : "wan2.5-preview" ,
"prompt" : "Cat running on the grass" ,
"image_urls" : [ "https://example.com/cat.jpg" ],
"resolution" : "480p" ,
"duration" : 5
}
Case 4: Image-to-Video (Base64 Image)
{
"model" : "wan2.5-preview" ,
"prompt" : "Make the cat stand up and walk" ,
"image_urls" : [ "data:image/png;base64,iVBORw0KGgo..." ],
"duration" : 5
}
Case 5: Custom Audio
{
"model" : "wan2.5-preview" ,
"prompt" : "Person dancing to the music" ,
"image_urls" : [ "https://example.com/dancer.jpg" ],
"audio_url" : "https://example.com/music.mp3" ,
"resolution" : "720p" ,
"duration" : 10
}
Mode Description
Text-to-Video
prompt parameter is required
Do not pass image_urls
Use size to specify aspect ratio
Image-to-Video
image_urls parameter is required (only 1 image supported)
prompt is optional, used to describe expected actions
Aspect ratio is determined by the input image, do not pass size
The system automatically selects the mode based on whether image_urls is included
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.