Seedance-1.5-Pro Video Generation
- Seedance 1.5 Pro (seedance-1.5-pro) model supports multiple generation modes including text-to-video, image-to-video, and first-last-frame
- Asynchronous processing mode, use the returned task ID to query
- Generated video links are valid for 24 hours, please save them promptly
OpenAPI
````yaml en/api-manual/video-series/seedance1.5/seedance-1.5-pro-video-generate.json post /v1/videos/generations openapi: 3.1.0 info: title: seedance-1.5-pro API description: >- Create video generation tasks using AI models, supporting text-to-video generation mode license: name: MIT version: 1.0.0 servers: - url: https://ai.odkkk.com/apiv1 description: Production environment security: - bearerAuth: [] tags: - name: Video Generation description: AI video generation related APIs paths: /v1/videos/generations: post: tags: - Video Generation summary: seedance-1.5-pro API description: >- - Seedance 1.5 Pro (seedance-1.5-pro) model supports multiple generation modes including text-to-video, image-to-video, and first-last-frame
- Asynchronous processing mode, use the returned task ID to
[query](/en/api-manual/task-management/get-task-detail)
- Generated video links are valid for 24 hours, please save them
promptly
operationId: createVideoGeneration
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VideoGenerationRequest'
examples:
text_to_video_basic:
summary: Text to Video (Basic)
value:
model: seedance-1.5-pro
prompt: A cat playing piano
responses:
'200':
description: Video generation task created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/VideoGenerationResponse'
'400':
description: Invalid request parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 400
message: Invalid prompt parameter
type: invalid_request_error
param: prompt
fallback_suggestion: provide a valid prompt
'401':
description: Unauthenticated, invalid or expired token
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 401
message: Invalid or expired token
type: authentication_error
'402':
description: Insufficient quota, recharge required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 402
message: Insufficient quota
type: insufficient_quota_error
fallback_suggestion: https://ai.odkkk.com/apiv1/dashboard/billing
'403':
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 403
message: Access denied for this model
type: permission_error
param: model
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 404
message: Specified model not found
type: not_found_error
param: model
fallback_suggestion: seedance-1.5-pro
'413':
description: Request body too large
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 413
message: Request body too large
type: request_too_large_error
fallback_suggestion: reduce prompt length
'429':
description: Rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 429
message: Rate limit exceeded
type: rate_limit_error
fallback_suggestion: retry after 60 seconds
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 500
message: Internal server error
type: internal_server_error
fallback_suggestion: try again later
'502':
description: Upstream service error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 502
message: Upstream AI service unavailable
type: upstream_error
fallback_suggestion: try different model
'503':
description: Service temporarily unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 503
message: Service temporarily unavailable
type: service_unavailable_error
fallback_suggestion: retry after 30 seconds
components: schemas: VideoGenerationRequest: type: object required: - model - prompt properties: model: type: string description: Video generation model name default: seedance-1.5-pro example: seedance-1.5-pro prompt: type: string description: >- Prompt describing the video you want to generate, limited to 2000 tokens example: A cat playing piano maxLength: 2000 image_urls: type: array description: >- Reference image URL list for image-to-video functionality
**Mode Detection:**
- 0 images = text-to-video
- 1 image = image-to-video
- 2 images = first-last-frame
**Note:**
- Number of images supported per request: `2` images
- Image size: Not exceeding `10MB`
- Supported file formats: `.jpg`, `.jpeg`, `.png`, `.webp`
- Image URLs must be directly viewable by the server, or the URL
should trigger a direct download when accessed (typically these URLs
end with image extensions like `.png`, `.jpg`)
items:
type: string
format: uri
maxItems: 2
example:
- https://example.com/image.jpg
duration:
type: integer
description: >-
Specifies the duration of the generated video (in seconds), defaults
to `5` seconds
**Note:**
- Supports any integer value between `4` and `12` seconds
- Billing for a single request is based on the `duration` value;
longer durations result in higher costs
minimum: 4
maximum: 12
quality:
type: string
description: >-
Video resolution, defaults to `720p`
**Note:**
- `480p`: Lower resolution, lower pricing
- `720p`: Standard definition, standard pricing, this is the default
value
- `1080p`: High definition, higher pricing
enum:
- 480p
- 720p
- 1080p
example: 720p
aspect_ratio:
type: string
description: >-
Video aspect ratio
**Supported values:**
- `16:9` (landscape), `9:16` (portrait), `1:1` (square), `4:3`,
`3:4`, `21:9` (ultra-wide), `adaptive`
- Default value: `16:9`
example: '16:9'
generate_audio:
type: boolean
description: >-
Whether to generate audio, enabling will increase cost, defaults to
`true`
**Options:**
- `true`: Model output video includes synchronized audio. Seedance
1.5 Pro can automatically generate matching voice, sound effects,
and background music based on text prompts and visual content. It is
recommended to place dialogue within double quotes to optimize audio
generation. Example: The man stopped the woman and said: "Remember,
you must never point at the moon with your finger."
- `false`: Model output video is silent
default: true
example: true
callback_url:
type: string
description: >-
HTTPS callback URL after task completion
**Callback timing:**
- Triggered when task is completed, failed, or cancelled
- Sent after billing confirmation is completed
**Security restrictions:**
- Only HTTPS protocol is supported
- Callbacks to internal network IP addresses are prohibited
(127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
- URL length must not exceed `2048` characters
**Callback mechanism:**
- Timeout: `10` seconds
- Maximum of `3` retries after failure (retries occur after
`1`/`2`/`4` seconds following failure)
- Callback response body format is consistent with task query API
response format
- Callback URL returning 2xx status code is considered successful;
other status codes will trigger retries
format: uri
example: https://your-domain.com/webhooks/video-task-completed
VideoGenerationResponse:
type: object
properties:
created:
type: integer
description: Task creation timestamp
example: 1761313744
id:
type: string
description: Task ID
example: task-unified-1761313744-vux2jw0k
model:
type: string
description: Actual model name used
example: seedance-1.5-pro
object:
type: string
enum:
- video.generation.task
description: Specific type of the task
progress:
type: integer
description: Task progress percentage (0-100)
minimum: 0
maximum: 100
example: 0
status:
type: string
description: Task status
enum:
- pending
- processing
- completed
- failed
example: pending
task_info:
$ref: '#/components/schemas/VideoTaskInfo'
description: Video task detailed information
type:
type: string
enum:
- text
- image
- audio
- video
description: Output type of the task
example: video
usage:
$ref: '#/components/schemas/VideoUsage'
description: Usage and billing information
ErrorResponse:
type: object
properties:
error:
type: object
properties:
code:
type: integer
description: HTTP status error code
message:
type: string
description: Error description message
example: Invalid request parameters
type:
type: string
description: Error type
example: invalid_request_error
param:
type: string
description: Related parameter name
example: model
fallback_suggestion:
type: string
description: Suggestion when error occurs
example: seedance-1.5-pro
VideoTaskInfo:
type: object
properties:
can_cancel:
type: boolean
description: Whether the task can be cancelled
example: true
estimated_time:
type: integer
description: Estimated completion time (seconds)
minimum: 0
example: 165
video_duration:
type: integer
description: Video duration (seconds)
example: 8
VideoUsage:
type: object
description: Usage and billing information
properties:
billing_rule:
type: string
description: Billing rule
enum:
- per_call
- per_token
- per_second
example: per_call
credits_reserved:
type: number
description: Estimated credits consumed
minimum: 0
example: 8
user_group:
type: string
description: User group category
example: default
securitySchemes: bearerAuth: type: http scheme: bearer description: >- ##All APIs require Bearer Token authentication##
**Get API Key:**
Visit [API Key Management Page](https://ai.odkkk.com/apiv1/dashboard/keys) to
get your API Key
**Add to request header:**
```
Authorization: Bearer YOUR_API_KEY
```
````
To find navigation and other pages in this documentation, fetch the llms.txt file at: https://ai.odkkk.com/apiv1/docs/llms.txt