PixVerse Swap
/v1/runSwap by PixVerse - animate still images into dynamic videos with AI. Transform photos into cinematic clips with natural motion, camera movement, and optional audio generation.
Request body
Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.
Model identifier. Set to pixverse/swap.
Default: pixverse/swap
URL of the target image for swapping
URL of the external video to swap
The output resolution (1080p not supported)
Allowed values: 360p, 540p, 720p
Default: 720p
Whether to keep the original audio
Default: true
The keyframe ID to use for face/object mapping. The input video is normalized to 24 FPS before processing, so keyframe 1 = first frame, keyframe 24 = 1 second in, etc. Valid range: 1 to (duration_seconds * 24).
Minimum: 1
Default: 1
The swap mode to use
Allowed values: person, object, background
Default: person
Random seed for generation
Response Schema
The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.
Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.
Current public run status.
Allowed values: pending, running, completed, failed, timeout
Public SandBase model name used for this run.
Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.
Present only for failed or timeout runs. Contains a public error type and sanitized message.
Stable public error category.
Sanitized error message safe to show to clients.
Usage details when available.
Model capabilities
Capabilities declared by the model registry.
Default: image-to-video
Execution mode declared by the model registry.
Default: async