# PixVerse V6 Transition PixVerse V6 generates a smooth video transition between a first and last frame image — up to 1080p, 1 to 15 seconds, with synchronized audio. Perfect for morphs, scene changes and creative transformations. ## API Information - **Model Slug:** pixverse-v6-transition - **Branded URL:** https://www.eachlabs.ai/pixverse/pixverse-v6/pixverse-v6-transition - **Provider:** PixVerse - **Category:** Image to Video - **Output Type:** video - **Status:** active - **Version:** 1.0.0 - **Base Cost:** Per-second pricing scales with quality and audio:• 360p — $0.025 / $0.035 (no audio / with audio)• 540p — $0.035 / $0.045• 720p — $0.045 / $0.060• 1080p — $0.090 / $0.115Example: a 5-second 720p transition with no audio = $0.225. - **Estimated Processing Time:** 100 seconds - **Last Updated:** 2026-04-27 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/pixverse-v6-transition ## Pricing - **Charge Type:** dynamic - **Pricing Details:** Per-second pricing scales with quality and audio:• 360p — $0.025 / $0.035 (no audio / with audio)• 540p — $0.035 / $0.045• 720p — $0.045 / $0.060• 1080p — $0.090 / $0.115Example: a 5-second 720p transition with no audio = $0.225. ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Per-second pricing scales with quality and audio:• 360p — $0.025 / $0.035 (no audio / with audio)• 540p — $0.035 / $0.045• 720p — $0.045 / $0.060• 1080p — $0.090 / $0.115Example: a 5-second 720p transition with no audio = $0.225. | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text prompt describing the desired transition between the frames. Max 2048 characters. | | first_image_url | string | Yes | - | - | URL of the first frame image for the transition. Required. Supported formats: JPEG, PNG, WEBP. | | last_image_url | string | Yes | - | - | URL of the last frame image for the transition. Required. Supported formats: JPEG, PNG, WEBP. | | duration | string | No | 5 | 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 | Duration of the output video in seconds. V6 supports 1-15 seconds. Default: 5. | | resolution | string | No | 720p | 360p,540p,720p,1080p | Output video resolution quality. Options: 360p, 540p, 720p, 1080p. Default: 720p. | | seed | integer | No | - | - | Random seed for reproducible results. Range: 1-2147483647. If not provided, a random seed is chosen. | | generate_audio_switch | boolean | No | false | - | Enable automatic audio generation for the video. Default: false. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "pixverse-v6-transition", "input": { "prompt": "smooth transformation between scenes", "first_image_url": "https://cdn-us.eachlabs.ai/uploads/e711e49b-40f5-4e64-b023-5e4742a0670a.png", "last_image_url": "https://cdn-us.eachlabs.ai/uploads/7df8d025-bc1d-4523-a258-c4115a978614.png" } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "string (URL of generated video)", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "X-API-Key: YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `X-API-Key` | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **PixVerse | V6 | First-Last Frame Transition Overview** PixVerse | V6 | First-Last Frame Transition from Pixverse specializes in generating smooth, cinematic videos that morph between a starting image and an optional ending image, creating fluid transitions up to 1080p resolution and 15 seconds long. This image-to-video model solves the challenge of bringing static imagery to life with professional motion, camera controls, and synchronized native audio, ideal for filmmakers, motion designers, and social media creators. Its primary differentiator is the seamless first-to-last frame capability, where users provide one or two images plus a text prompt to produce cohesive animations like seasonal changes or dynamic scene evolutions, complete with built-in styles such as anime or cyberpunk. Available via the **PixVerse | V6 | First-Last Frame Transition API** on platforms like each::labs, it streamlines workflows by integrating audio generation and multi-clip features for complete multimedia outputs without extra editing. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `X-API-Key: YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.