Skip to content

PixVerse Swap

POST/v1/run

Swap 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.

stringmodelrequired

Model identifier. Set to pixverse/swap.

Default: pixverse/swap

stringimagerequired

URL of the target image for swapping

Optional<string>video

URL of the external video to swap

Optional<string>resolution

The output resolution (1080p not supported)

Allowed values: 360p, 540p, 720p

Default: 720p

Optional<boolean>original_sound_switch

Whether to keep the original audio

Default: true

Optional<integer>keyframe_id

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).

Range: 1 to ∞

Default: 1

Optional<string>swap_mode

The swap mode to use

Allowed values: person, object, background

Default: person

Optional<integer>seed

Random seed for generation

Response Schema

The submit endpoint returns an accepted generation task. Poll the result endpoint with the returned id for terminal outputs or errors.

Optional<string>error

Error message if the task failed. Empty on success.

stringidrequired

Unique identifier for the generation task.

Optional<string>model

Model ID used for the prediction.

Optional<array>outputs

Array of generated content. Empty when status is not completed.

stringstatusrequired

Status of the task: pending, running, completed, failed, or timeout.

Allowed values: pending, running, completed, failed, timeout

Model capabilities

array<string>capability_tagsrequired

Capabilities declared by the model registry.

Default: image-to-video

stringexecution_moderequired

Execution mode declared by the model registry.

Default: async