Build with Seedance 1.0 Pro
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-v1-pro-image-to-video",
"input": {
"seed": -1,
"duration": "5",
"resolution": "720p",
"prompt": "<prompt>",
"image_url": "<image_url>"
}
}'Inputs & settings
seednumberRandom seed to control video generation. Use -1 for random. (Min: -1, Max: 2147483647, Step: 1) (step: 1)
promptstringRequiredThe text prompt used to generate the video (Max length: 10000 characters)
durationstringDuration of the video in seconds
Options: 5, 10
image_urlstringRequiredThe URL of the image used to generate video (Accepted types: image/jpeg, image/png, image/webp; Max size: 10.0MB)
resolutionstringVideo resolution - 480p for faster generation, 720p for balance, 1080p for higher quality
Options: 480p, 720p, 1080p
camera_fixedbooleanWhether to fix the camera position (Boolean value (true/false))
nsfw_checkerbooleanDefaults to false. When false, no additional content filtering is applied and results are returned directly by the model.
enable_safety_checkerbooleanThe safety checker is always enabled in Playground. It can only be disabled by setting false through the API. (Boolean value (true/false))
Full input schema
{
"type": "object",
"required": [
"prompt",
"image_url"
],
"properties": {
"seed": {
"type": "number",
"title": "Seed",
"default": -1,
"maximum": 2147483647,
"minimum": -1,
"description": "Random seed to control video generation. Use -1 for random. (Min: -1, Max: 2147483647, Step: 1) (step: 1)"
},
"prompt": {
"type": "string",
"title": "Prompt",
"maxLength": 10000,
"description": "The text prompt used to generate the video (Max length: 10000 characters)"
},
"duration": {
"enum": [
"5",
"10"
],
"type": "string",
"title": "Duration",
"default": "5",
"description": "Duration of the video in seconds"
},
"image_url": {
"type": "string",
"title": "Image URL",
"format": "uri",
"x-media": "image",
"description": "The URL of the image used to generate video (Accepted types: image/jpeg, image/png, image/webp; Max size: 10.0MB)"
},
"resolution": {
"enum": [
"480p",
"720p",
"1080p"
],
"type": "string",
"title": "Resolution",
"default": "720p",
"description": "Video resolution - 480p for faster generation, 720p for balance, 1080p for higher quality"
},
"camera_fixed": {
"type": "boolean",
"title": "Camera fixed",
"description": "Whether to fix the camera position (Boolean value (true/false))"
},
"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."
},
"enable_safety_checker": {
"type": "boolean",
"title": "Enable safety checker",
"description": "The safety checker is always enabled in Playground. It can only be disabled by setting false through the API. (Boolean value (true/false))"
}
}
}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.






