Pixverse Pixverse V5.5 Transition

Pixverse Pixverse V5.5 Transition

Playground

Try it on WaveSpeedAI!

Create smooth morph transitions between two images into 5s, 8s or 10s videos at 360p, 540p, 720p, or 1080p—perfect for logo reveals, before-and-after shots, and social posts. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing.

Features

PixVerse v5.5 Transition morphs one image into another with smooth, cinematic motion guided by a short prompt. Give it a start image, an end image, and a description of the transformation—the model handles the in-between frames while you control aspect ratio, duration (5s / 8s / 10s), and resolution (360p–1080p).


✨ Highlights

  • Prompt-guided image-to-image morphing – change outfit, lighting, era, mood, or environment between two stills.
  • Story-friendly formats – aspect ratios for feeds, stories, and widescreen: 16:9, 1:1, 4:3, 3:4, 9:16.
  • Resolution choices – render at 360p, 540p, 720p, or 1080p depending on speed and quality needs.
  • Identity & framing aware – keeps subject pose and composition stable while the transformation unfolds.

Perfect for before-and-after reveals, campaign creatives, character “power-up” shots, and scroll-stopping social posts.


🧩 Parameters

  • prompt* – Short description of how the scene should change (e.g. “Casual student gradually transforms into cyberpunk hero, neon city lights appear, dramatic lighting”).

  • image* – Start frame (URL or upload).

  • end_image* – Target frame (URL or upload).

  • aspect_ratio – One of 16:9, 1:1, 4:3, 3:4, 9:16.

  • duration5, 8, or 10 seconds.

  • resolution360p, 540p, 720p, or 1080p.

  • thinking_type – Prompt reasoning enhancement:

  • enabled: add extra system reasoning/optimisation for complex prompts.

  • disabled: use the raw prompt as-is.

  • auto (default): let the model decide.

  • negative_prompt (optional) – Things to avoid (e.g. “distortion, double face, text, watermark”).

  • seed (optional) – Leave blank for random, or set a fixed integer for reproducible transitions.


🚀 How to Use

  1. Upload image and end_image – use shots with similar framing for the cleanest morph.
  2. Write the prompt – focus on mood, style, and transformation rather than long scene descriptions.
  3. Choose aspect_ratio, duration, and resolution to match your target platform.
  4. (Optional) Set thinking_type = enabled for more complex story prompts, and add a negative_prompt if you want to suppress artifacts.
  5. (Optional) Set a seed if you need the same result again later.
  6. Click Run, then preview and download your transition clip.

💰 Pricing

Billed per second, based on duration and resolution:

Resolution5s clip (total)8s clip (total)Price per second*
360p$0.15$0.30$0.03
540p$0.15$0.30$0.03
720p$0.20$0.40$0.04–0.05
1080p$0.40$0.80$0.08–0.10

*Longer clips (10s) follow the same per-second logic.


🧠 Tips

  • Use start/end images with similar camera angle and framing to minimise warping.
  • Keep prompts short and focused: one transformation + one mood usually works better than a laundry list.
  • For storyboards and quick previews, use 360p/540p; for final export into an edit timeline, use 720p or 1080p.
  • If faces or hands look unstable, tighten the crop or simplify the transformation described in the prompt.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result

set -euo pipefail

export WAVESPEED_API_KEY="your-api-key"

REQUEST_BODY=$(cat <<'JSON'
{
  "prompt": "A cinematic ocean wave at sunrise, highly detailed",
  "image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
  "end_image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
  "aspect_ratio": "16:9",
  "duration": 5,
  "resolution": "540p",
  "thinking_type": "auto"
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/pixverse/pixverse-v5.5-transition" \
  -H "Authorization: Bearer ${WAVESPEED_API_KEY}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}")

TASK=$(printf '%s' "${SUBMIT_RESPONSE}" | jq 'if type == "object" and has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "${TASK}" | jq -r '.id // empty')
if [ -z "${PREDICTION_ID}" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL=$(printf '%s' "${TASK}" | jq -r '.urls.get // empty')
if [ -z "${RESULT_URL}" ]; then RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/${PREDICTION_ID}/result"; fi

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body \
    "${RESULT_URL}" \
    -H "Authorization: Bearer ${WAVESPEED_API_KEY}")
  RESULT=$(printf '%s' "${RESPONSE}" | jq 'if type == "object" and has("data") then .data else . end')
  STATUS=$(printf '%s' "${RESULT}" | jq -r '.status // empty')

  case "${STATUS}" in
    completed) printf '%s\n' "${RESULT}" | jq '.outputs'; break ;;
    failed|cancelled|timeout) printf '%s\n' "${RESULT}" | jq . >&2; exit 1 ;;
    created|processing) sleep 2 ;;
    *) printf 'Unexpected status: %s
' "${STATUS}" >&2; exit 1 ;;
  esac
done

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
promptstringYes-The positive prompt for the generation.
imagestringYes-The model generates video with the picture passed in as the first frame.Base64 encoded strings in data:image/jpeg; base64,{data} format for incoming images, or URLs accessible via the public network. The uploaded image needs to meet the following conditions: Format is JPG/JPEG/PNG; The aspect ratio is greater than 2:5 and less than 5:2; Short side pixels greater than 300px; The image file size cannot exceed 20MB.
end_imagestringYes--The model generates video with the picture passed in as the last frame.Base64 encoded strings in data:image/jpeg; base64,{data} format for incoming images, or URLs accessible via the public network. The uploaded image needs to meet the following conditions: Format is JPG/JPEG/PNG; The aspect ratio is greater than 2:5 and less than 5:2; Short side pixels greater than 300px; The image file size cannot exceed 20MB.
aspect_ratiostringNo16:916:9, 1:1, 4:3, 3:4, 9:16The aspect ratio of the generated media.
durationintegerNo55, 8, 10Video duration in seconds.
resolutionstringNo540p360p, 540p, 720p, 1080pVideo quality (360p/540p/720p/1080p).
thinking_typestringNoautoenabled, disabled, autoPrompt reasoning enhancement. Controls whether the system should enhance your prompt with internal reasoning and optimization. "enabled" : Turn on system-level optimization. "disabled" : Turn off system-level optimization. "auto": Let the model decide automatically
negative_promptstringNo-The negative prompt for the generation.
seedintegerNo--The random seed to use for the generation.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayOutput values, usually URL strings; some models return text strings or structured result objects (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction
data.modelstringModel ID used for the prediction
data.outputsarray<string | object>Array of generated outputs (empty when status is not completed). Items are usually URL strings, but may be text strings or structured result objects, depending on the model.
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to poll for the prediction result
data.statusstringStatus: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2026 WaveSpeedAI. All rights reserved.