Skip to main content
POST
https://api.apimart.ai
/
v1
/
videos
/
generations
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "doubao-seedance-1-0-pro-fast",
    "prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
    "duration": 5,
    "aspect_ratio": "16:9",
    "resolution": "1080p"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01K8SGYNNNVBQTXNR4MM964S7K"
    }
  ]
}
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "doubao-seedance-1-0-pro-fast",
    "prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
    "duration": 5,
    "aspect_ratio": "16:9",
    "resolution": "1080p"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01K8SGYNNNVBQTXNR4MM964S7K"
    }
  ]
}

Authorization

Authorization
string
required
All API endpoints require Bearer Token authenticationGet your API Key:Visit the API Key Management Page to get your API KeyAdd it to the request header:
Authorization: Bearer YOUR_API_KEY

Request Parameters

model
string
required
Video generation model nameSupported models:
  • doubao-seedance-1-0-pro-fast - Fast version, quick generation, suitable for preview and iteration
  • doubao-seedance-1-0-pro-quality - High-quality version, longer generation time, better quality
prompt
string
required
Video content descriptionDescribe scenes, actions, styles in detail for better generation resultsExample: "Sunset at the beach, golden sunlight on the sea, waves gently hitting the sand"
duration
integer
default:"5"
Video duration (seconds)Supported range: 2 ~ 12 secondsDefault: 5
aspect_ratio
string
default:"16:9"
Video aspect ratioOptions:
  • 16:9 - Landscape
  • 9:16 - Portrait
  • 1:1 - Square
  • 4:3 - Traditional ratio
  • 3:4 - Vertical traditional ratio
  • 21:9 - Ultra-wide
Default: 16:9
resolution
string
default:"1080p"
Video resolutionOptions:
  • 480p - Standard definition
  • 720p - High definition
  • 1080p - Full HD
Default: 1080p
1080p Limitation: When using reference images (role: reference in image_with_roles), 1080p resolution is not supported
seed
integer
Seed integer for controlling the randomness of generated contentValue range: Integer between -1 and 2^32-1
  • With the same request, if the model receives different seed values (e.g., not specifying seed or setting seed to -1, which will use a random number), different results will be generated
  • With the same request, if the model receives the same seed value, similar results will be generated, but not guaranteed to be identical

Resolution and Aspect Ratio Combinations

ResolutionSupported Aspect RatiosNotes
480p16:9, 4:3, 1:1, 3:4, 9:16, 21:9All supported
720p16:9, 4:3, 1:1, 3:4, 9:16, 21:9All supported
1080p16:9, 4:3, 1:1, 3:4, 9:16, 21:9Reference image not supported
image_urls
array<url>
First frame image URL array for image-to-video generationUsed to specify the starting frame of the video, only one image is supportedExample: ["https://example.com/cat.png"]
  • Only one first frame image is supported
  • image_urls and image_with_roles cannot be used together
image_with_roles
array
Image array with roles for more precise controlExample:
[
  {"url": "https://example.com/start.png", "role": "first_frame"},
  {"url": "https://example.com/end.png", "role": "last_frame"}
]
  • image_urls and image_with_roles cannot be used together
  • Only one image per role is supported
  • last_frame is only supported by doubao-seedance-1-0-pro-quality version, fast version does not support first and last frame together

Response

code
integer
Response status code, 200 on success
data
array
Response data array

Use Cases

Case 1: Quick Preview Landscape Video

{
  "model": "doubao-seedance-1-0-pro-fast",
  "prompt": "Sunset at the beach, golden sunlight on the sea, waves gently hitting the sand"
}

Case 2: High-Quality Portrait Short Video

{
  "model": "doubao-seedance-1-0-pro-quality",
  "prompt": "A girl spinning under cherry blossom trees, petals falling with the wind",
  "duration": 5,
  "aspect_ratio": "9:16",
  "resolution": "1080p"
}

Case 3: Product Dynamic Display Video

{
  "model": "doubao-seedance-1-0-pro-fast",
  "prompt": "Product slowly rotating, pure white background, soft lighting",
  "image_urls": ["https://example.com/product.png"],
  "duration": 5,
  "aspect_ratio": "1:1"
}

Case 4: Dynamic Transition Effect (First/Last Frame)

{
  "model": "doubao-seedance-1-0-pro-quality",
  "prompt": "Scene transitions from day to night, city lights gradually turning on",
  "image_with_roles": [
    {"url": "https://example.com/day.png", "role": "first_frame"},
    {"url": "https://example.com/night.png", "role": "last_frame"}
  ],
  "duration": 5
}
Query Task ResultsVideo generation is an async task that returns a task_id upon submission. Use the Get Task Status endpoint to query generation progress and results.