Build with PixVerse V6 Transition (First/Last Frame)
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": "pixverse-v6-transition",
"input": {
"generate_audio_switch": false,
"prompt": "<prompt>",
"first_frame_image_url": "<first_frame_image_url>",
"last_frame_image_url": "<last_frame_image_url>",
"duration": "<duration>",
"quality": "<quality>"
}
}'Inputs & settings
seedintegerRandom seed, value range is 0–2147483647. Using the same parameters and seed helps improve result reproducibility.
promptstringRequiredGenerate prompt, cannot be empty, length is limited to 3-5000 characters.
qualitystringRequiredRequired. Output video resolution. Supports 360p, 540p, 720p, and 1080p.
Options: 360p, 540p, 720p, 1080p
durationintegerRequiredRequired. Output video duration in seconds. PixVerse V6 supports 1–15 seconds.
last_frame_image_urlstringRequiredLast frame image URL. Supports HTTP, HTTPS, and OSS addresses; supported image formats include JPG, JPEG, PNG, and WebP; the size of a single image file must not exceed 20 MB
first_frame_image_urlstringRequiredFirst frame image URL. Supports HTTP, HTTPS, and OSS addresses; supported image formats include JPG, JPEG, PNG, and WebP; the size of a single image file must not exceed 20 MB
generate_audio_switchbooleanWhether to generate audio synchronized with the video content.
Full input schema
{
"type": "object",
"required": [
"prompt",
"first_frame_image_url",
"last_frame_image_url",
"duration",
"quality"
],
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"maximum": 2147483647,
"minimum": 0,
"description": "Random seed, value range is 0–2147483647. Using the same parameters and seed helps improve result reproducibility."
},
"prompt": {
"type": "string",
"title": "Prompt",
"maxLength": 5000,
"minLength": 3,
"description": "Generate prompt, cannot be empty, length is limited to 3-5000 characters."
},
"quality": {
"enum": [
"360p",
"540p",
"720p",
"1080p"
],
"type": "string",
"title": "Quality",
"description": "Required. Output video resolution. Supports 360p, 540p, 720p, and 1080p."
},
"duration": {
"type": "integer",
"title": "Duration",
"maximum": 15,
"minimum": 1,
"description": "Required. Output video duration in seconds. PixVerse V6 supports 1–15 seconds."
},
"last_frame_image_url": {
"type": "string",
"title": "Last frame image URL",
"format": "uri",
"x-media": "image",
"description": "Last frame image URL. Supports HTTP, HTTPS, and OSS addresses; supported image formats include JPG, JPEG, PNG, and WebP; the size of a single image file must not exceed 20 MB"
},
"first_frame_image_url": {
"type": "string",
"title": "First frame image URL",
"format": "uri",
"x-media": "image",
"description": "First frame image URL. Supports HTTP, HTTPS, and OSS addresses; supported image formats include JPG, JPEG, PNG, and WebP; the size of a single image file must not exceed 20 MB"
},
"generate_audio_switch": {
"type": "boolean",
"title": "Generate audio switch",
"default": false,
"description": "Whether to generate audio synchronized with the video content."
}
}
}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.






