Build with Seedance 2.0 Mini
Make your first request
Use your Sorceress API key on your server. The playground uses your signed-in account; your application uses the same model with an API key.
curl -X POST 'https://sorceress.games/api/v1/jobs' \
-H 'Authorization: Bearer $SORCERESS_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"model": "bytedance-seedance-2-mini",
"input": {
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": true
}
}'Inputs & settings
promptstringThe text prompt used to generate the video. Required field. (Min length: 3, Max length: 20000 characters)
durationintegerVideo duration in 4-15 seconds or -1.
resolutionstringVideo resolution - 480p for faster generation, 720p for balance
Options: 480p, 720p
web_searchbooleanUse online search. Text-to-video only.
aspect_ratiostringVideo aspect ratio configuration. Required field.
Options: 1:1, 4:3, 3:4, 16:9, 9:16, 21:9, adaptive
nsfw_checkerbooleanDefaults to false. When false, no additional content filtering is applied and results are returned directly by the model.
generate_audiobooleanWhether to generate audio for the video. true**: Generate with audio false**: Generate without audio
last_frame_urlstringfirst_frame_urlstringreference_audio_urlsarraySingle audio requirements: Format: wav, mp3 Duration: Single audio duration [2, 15] s, maximum 3 reference audios, total duration of all audios not exceeding 15 s. Size: Single audio file size not exceeding 15 MB.
reference_image_urlsarraySingle image requirements: Format: jpeg, png, webp, gif. Aspect ratio (width/height): (0.4, 2.5) Width and height (px): (300, 6000) Size: Single image less than 30 MB. Up to 9 images.
reference_video_urlsarraySingle video requirements: Video format: mp4, mov. Resolution: 480p, 720p Duration: Single video duration [2, 15] s, maximum 3 reference videos, total duration of all videos not exceeding 15 seconds. Dimensions: Aspect ratio (width/height): [0.4, 2.5] Width/height (px): [300, 6000] Total pixels: [640×640=409600, 834×1112=927408], i.e., the product of width and height must meet the range requirement of [409600, 927408]. Size: Single video not exceeding 50 MB. Frame rate (FPS): [24, 60]
Full input schema
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"title": "Prompt",
"maxLength": 20000,
"minLength": 3,
"description": "The text prompt used to generate the video. Required field. (Min length: 3, Max length: 20000 characters)"
},
"duration": {
"type": "integer",
"title": "Duration",
"default": 5,
"description": "Video duration in 4-15 seconds or -1."
},
"resolution": {
"enum": [
"480p",
"720p"
],
"type": "string",
"title": "Resolution",
"default": "720p",
"description": "Video resolution - 480p for faster generation, 720p for balance"
},
"web_search": {
"type": "boolean",
"title": "Web search",
"description": "Use online search. Text-to-video only."
},
"aspect_ratio": {
"enum": [
"1:1",
"4:3",
"3:4",
"16:9",
"9:16",
"21:9",
"adaptive"
],
"type": "string",
"title": "Aspect ratio",
"default": "16:9",
"description": "Video aspect ratio configuration. Required field."
},
"nsfw_checker": {
"type": "boolean",
"title": "NSFW checker",
"description": "Defaults to false. When false, no additional content filtering is applied and results are returned directly by the model."
},
"generate_audio": {
"type": "boolean",
"title": "Generate audio",
"default": true,
"description": "Whether to generate audio for the video. true**: Generate with audio false**: Generate without audio"
},
"last_frame_url": {
"type": "string",
"title": "Last frame URL",
"format": "uri",
"x-media": "image"
},
"first_frame_url": {
"type": "string",
"title": "First frame URL",
"format": "uri",
"x-media": "image"
},
"reference_audio_urls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Reference audio URLs",
"x-media": "audio",
"maxItems": 3,
"description": "Single audio requirements: Format: wav, mp3 Duration: Single audio duration [2, 15] s, maximum 3 reference audios, total duration of all audios not exceeding 15 s. Size: Single audio file size not exceeding 15 MB."
},
"reference_image_urls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Reference image URLs",
"x-media": "image",
"maxItems": 9,
"description": "Single image requirements: Format: jpeg, png, webp, gif. Aspect ratio (width/height): (0.4, 2.5) Width and height (px): (300, 6000) Size: Single image less than 30 MB. Up to 9 images."
},
"reference_video_urls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Reference video URLs",
"x-media": "video",
"maxItems": 3,
"description": "Single video requirements: Video format: mp4, mov. Resolution: 480p, 720p Duration: Single video duration [2, 15] s, maximum 3 reference videos, total duration of all videos not exceeding 15 seconds. Dimensions: Aspect ratio (width/height): [0.4, 2.5] Width/height (px): [300, 6000] Total pixels: [640×640=409600, 834×1112=927408], i.e., the product of width and height must meet the range requirement of [409600, 927408]. Size: Single video not exceeding 50 MB. Frame rate (FPS): [24, 60]"
}
}
}Results, saved runs & billing
Media requests return a job ID. Poll GET /api/v1/jobs/:id until it succeeds or fails; keep the same ID while it is processing. Long chat requests can also return a saved job to poll. Completed outputs are stored in your account, and successful work is billed using your model's current rates.
A multi-step workflow may include separately billed successful actions. If a connection drops, check your saved run before submitting it again.






