Skip to main content
POST
/
byteplus
/
api
/
v3
/
contents
/
generations
/
tasks
curl --request POST \
  --url https://api.powertokens.ai/byteplus/api/v3/contents/generations/tasks \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "dreamina-seedance-2-0-260128",
  "content": [
    {
      "type": "text",
      "text": "Use the first-person perspective composition of Video 1 throughout, and use Audio 1 as the background music throughout. First-person perspective fruit tea advertisement, Seedance brand \"Ping Ping An An\" apple fruit tea limited edition; the first frame is Image 1, your hand picks a dewy Aksu red apple, crisp apple collision sound; 2-4 seconds: quick cut, your hand drops apple pieces into a shaker cup, adds ice and tea base, shakes vigorously, ice collision and shaking sounds sync with upbeat drums, background voice: \"Fresh-cut, fresh-shake\"; 4-6 seconds: first-person close-up of the finished product, layered fruit tea is poured into a transparent cup, your hand gently squeezes the cream foam to spread on top, sticks a pink-red label on the cup body, the camera zooms in to show the layered texture of cream foam and fruit tea; 6-8 seconds: first-person holding up the cup, you hold the fruit tea from Image 2 in front of the camera (simulating the perspective of handing it to the viewer), the cup label is clearly visible, background voice \"Take a sip of freshness\", the last frame freezes on Image 2. Background voice is uniformly female voice."
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic1.jpg"
      },
      "role": "reference_image"
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic2.jpg"
      },
      "role": "reference_image"
    },
    {
      "type": "video_url",
      "video_url": {
        "url": "https://ark-project.tos-cn-beijing.volces.com/doc_video/r2v_tea_video1.mp4"
      },
      "role": "reference_video"
    },
    {
      "type": "audio_url",
      "audio_url": {
        "url": "https://ark-project.tos-cn-beijing.volces.com/doc_audio/r2v_tea_audio1.mp3"
      },
      "role": "reference_audio"
    }
  ],
  "generate_audio": true,
  "ratio": "16:9",
  "duration": 11,
  "watermark": false
}
'
{
  "id": "<string>"
}

Authorizations

Authorization
string
header
required

Pass Authorization: Bearer <token> in the request header.

Body

application/json
model
enum<string>
required

ID of the model you need to call. You can activate a model service and query the model ID.

You can also use an endpoint ID to call a model for advanced capabilities such as rate limiting, billing type (prepaid/postpaid), runtime status query, monitoring, and security.

Available options:
seedance-1-5-pro-251215,
seedance-1-0-pro-250528,
seedance-1-0-pro-fast-251015,
dreamina-seedance-2-0-260128,
dreamina-seedance-2-0-fast-260128
content
(Text Information · object | Image Information · object | Video Information · object | Audio Information · object | Draft Task Information · object)[]
required

The references provided to the model for video generation, supporting text, image, audio, video, and sample task ID.

Caution: Seedance 2.0 series models do not support direct upload of reference images or videos containing real human faces.

  • Supports using original outputs containing human faces from certain models as input assets
  • Supports using preset digital characters as input assets
  • Supports using authorized real-person assets as input assets

The following combinations are supported:

  • Text
  • Text (optional) + image
  • Text (optional) + video
  • Text (optional) + image + audio
  • Text (optional) + image + video
  • Text (optional) + video + audio
  • Text (optional) + image + video + audio
  • Sample task ID: A sample video generated using the seedance model. The model can generate a high-quality official video based on the sample.

Text prompt information for the model.

callback_url
string

Fill in the callback notification address for the result of this generation task. When the status of the video generation task changes, ModelArk will send a POST request to this address.

The callback request content structure is consistent with the response body.

The status returned by the callback can be one of the following values:

  • queued: In queue.
  • running: Task is running.
  • succeeded: Task succeeded. (If sending fails, that is, no successful delivery confirmation is received within 5 seconds, the callback will be retried 3 times.)
  • failed: Task failed. (If sending fails, that is, no successful delivery confirmation is received within 5 seconds, the callback will be retried 3 times.)
  • expired: Task timed out, that is, the task has been in running or queued state for longer than the expiration time. You can set the expiration time via the execution_expires_after parameter.
return_last_frame
boolean
default:false

true: Return the last frame image of the generated video. After setting it to true, you can get the last frame image of the video. The last frame image is in PNG format. Its width and height pixels are consistent with the generated video, and it has no watermark.

This parameter can be used to generate multiple consecutive videos: use the last frame of the previously generated video as the first frame of the next video task to quickly generate multiple consecutive videos.

false: Do not return the last frame image of the generated video.

service_tier
enum<string>
default:default

Modifying the service tier of a submitted task is not supported. The Seedance 2.0 series supports only online inference mode and does not support configuring this parameter. We have not yet integrated offline inference.

Specify the service tier type for processing this request. Valid values:

  • default: Online inference mode, with lower RPM and concurrency quotas , suitable with high requirements for inference efficiency.
  • flex: Offline inference mode, with higher TPD quota , priced at 50% of online inference, suitable for scenarios with high tolerance for inference latency.
Available options:
default,
flex
execution_expires_after
integer
default:172800

Task timeout threshold. Specifies the expiration time of the task after submission (unit: second), calculated from the created at timestamp. The default value is 172800 seconds, which is 48 hours. Value range: [3600, 259200].

No matter which service_tier you use, it is recommended to set an appropriate timeout according to your business scenario. After this time, the task will be automatically terminated and marked as expired status.

Required range: 3600 <= x <= 259200
generate_audio
boolean
default:true

Only supported by Seedance 2.0 series and Seedance 1.5 Pro

Controls whether the generated video includes sound synchronized with the footage.

  • true: The video output by the model includes synchronized audio. The model will automatically generate matching human voice, sound effects and background music based on the text prompt and visual content. It is recommended to put dialogue content in double quotes to optimize the audio generation effect.
  • false: The video output by the model is a silent video.

Note: All generated videos with audio are mono, regardless of the number of channels of the input audio.

draft
boolean
default:false

Only supported by Seedance 1.5 Pro

Controls whether to enable draft mode.

  • true: Enable draft mode, generate a preview video to quickly verify whether the scene structure, shot scheduling, subject motion match the prompt intent as expected. It consumes fewer tokens than normal videos, so the usage cost is lower.
  • false: Disable draft mode and generate a video normally.

Note: After enabling draft mode, the draft video will be generated in 480p resolution (using other resolutions will cause an error). The last frame return function and offline inference function are not supported.

tools
object[]

Only supported by Seedance 2.0 series

Configure the tools the model should call. (Overseas nodes currently do not support web_search)

safety_identifier
string

Unique identifier of end users, used to help the platform detect users in your application who may violate the ModelArk usage policy. This identifier is an English string, which must be fixed and unique for a single user, and the length cannot exceed 64 characters. It is recommended to pass in a string generated by hashing the username, user ID or email address to avoid leaking user privacy information.

Maximum string length: 64
priority
integer
default:0

Only supported by Seedance 2.0. (Please contact sales to obtain the maximum priority available for each user)

Sets the execution priority of the current request and determines its position in the queue. Valid values: 0-9. A larger value indicates a higher priority.

By default, requests are executed in FIFO (First In, First Out) order. After you set a higher priority, the request is inserted before all lower-priority requests under the same Endpoint.

Notes:

  • Requests with the same priority are still ordered by FIFO.
  • Priority affects only the queue order. It does not interrupt tasks that are already running (status=running).
  • Priority takes effect only within the same Endpoint and does not affect other Endpoints.
  • Offline inference mode (service_tier=flex) does not support priority configuration.

Example:

Suppose there are 3 tasks in the queued status in the current queue of an Endpoint, all with priority 0 (default).

Queue: [Task A: priority=0] → [Task B: priority=0] → [Task C: priority=0]

When a new request with priority=5 is submitted, it will be placed at the front of the queue:

Queue: [New request: priority=5] → [Task A: priority=0] → [Task B: priority=0] → [Task C: priority=0]

Required range: 0 <= x <= 9
resolution
enum<string>

Default value for Seedance 2.0 series and Seedance 1.5 Pro: 720p Default value for Seedance 1.0 Pro & Pro Fast: 1080p

Video resolution. Valid values:

  • 480p
  • 720p
  • 1080p: Not supported by Seedance 2.0 Fast.
Available options:
480p,
720p,
1080p
ratio
enum<string>

Default value for Seedance 2.0 series and Seedance 1.5 Pro: adaptive Other models: Default value for text to video is 16:9; default value for image to video is adaptive.

Aspect ratio of the generated video. The width and height pixel values corresponding to different aspect ratios are shown in the table below.

  • 16:9
  • 4:3
  • 1:1
  • 3:4
  • 9:16
  • 21:9
  • adaptive: Automatically select the most appropriate aspect ratio based on the input

Adaptive rules:

When ratio is set to adaptive, the model will automatically adapt the aspect ratio according to the generation scenario. The actual aspect ratio of the generated video can be obtained from the ratio parameter returned by the Retrieve a video generation task API.

Supported models:

  • Supported by Seedance 2.0 series and Seedance 1.5 Pro
  • Only supported for image-to-video tasks by other models

Value rules:

  • Text to video: Intelligently select the most appropriate aspect ratio based on the input prompt.
  • First frame / first and last frames to video: Automatically select the closest aspect ratio based on the ratio of the uploaded first frame image.
  • Multimodal reference video generation: Judged based on the intent of the user's prompt. If it is first-frame video generation/video editing/video extension, select the closest aspect ratio based on the corresponding image/video; otherwise, select the closest aspect ratio based on the first uploaded media file (priority: video > image).

Width and height pixel values corresponding to different aspect ratios

Note: For image to video tasks, when the selected video aspect ratio is inconsistent with the aspect ratio of your uploaded image, ModelArk will crop your image, and the cropping will be centered.

ResolutionAspect ratioWidth and height pixel value Seedance 1.0 seriesWidth and height pixel value Seedance 1.5 Pro / 2.0 series
480p16:9864×480864×496
4:3736×544752×560
1:1640×640640×640
3:4544×736560×752
9:16480×864496×864
21:9960×416992×432
720p16:91248×7041280×720
4:31120×8321112×834
1:1960×960960×960
3:4832×1120834×1112
9:16704×1248720×1280
21:91504×6401470×630
1080p16:91920×10881920×1080
4:31664×12481664×1248
1:11440×14401440×1440
3:41248×16641248×1664
9:161088×19201080×1920
21:92176×9282206×946
Available options:
16:9,
4:3,
1:1,
3:4,
9:16,
21:9,
adaptive
duration
integer
default:5

You only need to specify either duration or frames, and frames takes precedence over duration. If you want to generate a video with integer seconds, it is recommended to specify duration.

Generated video duration. Only integers are supported. Unit: second.

  • Seedance 1.0 Pro, Seedance 1.0 Pro Fast: [2, 12] s.
  • Seedance 1.5 Pro: [4,12] or set to -1.
  • Seedance 2.0 series: [4,15] or set to -1.

Seedance 2.0 series and Seedance 1.5 Pro support two configuration methods:

  • Specify specific duration: Any integer within the valid range is supported.
  • Intelligent specification: Set to -1, which means the model independently selects the appropriate video length (integer seconds) within the valid range. The actual duration of the generated video can be obtained from the duration parameter returned by the Retrieve a video generation task API. Note that video duration is related to billing, please set it carefully.
Required range: -1 <= x <= 15
frames
integer

Not supported by Seedance 2.0 series and Seedance 1.5 Pro You only need to specify either duration or frames, and frames takes precedence over duration. If you want to generate a video with fractional seconds, it is recommended to specify frames.

Frame count of the generated video. By specifying the number of frames, you can flexibly control the length of the generated video and generate videos with fractional seconds.

Due to the value limit of frames, only certain fractional seconds are supported. You need to calculate the closest number of frames according to the formula.

  • Calculation formula: Number of frames = duration x frame rate (24).
  • Value range: All integer values in the range [29, 289] that fit the format 25 + 4n are supported, where n is a positive integer.

Example: If you need to generate a 2.4-second video, the number of frames = 2.4 x 24 = 57.6. However, since frames value cannot be 57.6, you can only select the closest value. The closest number of frames calculated according to 25 + 4n is 57, and the actually generated video is 57 / 24 = 2.375 seconds.

Required range: 29 <= x <= 289
seed
integer
default:-1

Seed integer, used to control the randomness of generated content.

Value range: Integer between [-1, 2^32-1].

Notes:

  • For the same request, if the model receives different seed values, such as not specifying a seed value, setting the seed to -1 (which will be replaced by a random number), or manually changing the seed value, different results will be generated.
  • For the same request, if the model receives the same seed value, similar results will be generated, but complete consistency is not guaranteed.
Required range: -1 <= x <= 4294967295
camera_fixed
boolean
default:false

Not supported in reference-to-image scenarios, and not currently supported by Seedance 2.0 series.

Whether to fix the camera. Valid values:

  • true: Fix the camera. ModelArk will append the fixed camera instruction to the user's prompt, but the actual result is not guaranteed.
  • false: Do not fix the camera.
watermark
boolean
default:false

Whether the generated video contains a watermark. Valid values:

  • false: The generated video does not contain a watermark.
  • true: An AI Generated watermark will be displayed in the lower right corner of the generated video.

Response

Submission successful, returns video task object.

id
string

Video generation task ID. Stored for only 7 days (calculated from the created at timestamp), and will be automatically cleared after expiration.

  • When draft is set to true, it is the draft video task ID.
  • When draft is set to false, it is the normal video task ID.

The video generation task creation is an asynchronous API. After obtaining the ID, you need to query the status of the video generation task through the Retrieve a video generation task API. After the task is successful, the video_url of the generated video will be output.