# PixVerse Lip Sync v2 PixVerse Lip Sync v2 synchronizes mouth movements in videos with provided audio or text-to-speech, supporting multiple built-in voices or custom audio input. ## API Information - **Model Slug:** pixverse-lip-sync-v2 - **Branded URL:** https://www.eachlabs.ai/pixverse/pixverse-features/pixverse-lip-sync-v2 - **Provider:** PixVerse - **Category:** Video to Video - **Output Type:** video - **Status:** active - **Version:** 2.0 - **Base Cost:** Pricing depends on the audio source you use:• Your own audio file — $0.02 per second of video• Built-in text-to-speech — $0.02 per 15 bytes of text (UTF-8)Example: a 10-second video with your own audio = $0.20. - **Estimated Processing Time:** 80 seconds - **Last Updated:** 2026-04-27 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/pixverse-lip-sync-v2 ## Pricing - **Charge Type:** dynamic - **Pricing Details:** Pricing depends on the audio source you use:• Your own audio file — $0.02 per second of video• Built-in text-to-speech — $0.02 per 15 bytes of text (UTF-8)Example: a 10-second video with your own audio = $0.20. ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Pricing depends on the audio source you use:• Your own audio file — $0.02 per second of video• Built-in text-to-speech — $0.02 per 15 bytes of text (UTF-8)Example: a 10-second video with your own audio = $0.20. | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | video_url | string | Yes | - | - | URL of the input video for lip sync. The video will be uploaded to PixVerse for processing. | | audio_url | string | No | - | - | Audio file URL (mp3/wav, <=30s). Provide audio_url OR (tts_speaker + tts_content). | | tts_speaker | string | No | Auto | {"Auto": {"title": "Auto", "audio": ""}, "1": {"title": "Emily", "audio": "https://storage.googleapis.com/magicpoint/pixverse-sound-effects/preview-Emily.wav"}, "2": {"title": "James", "audio": "https://storage.googleapis.com/magicpoint/pixverse-sound-effects/preview-James.wav"}, "3": {"title": "Isabella", "audio": "https://storage.googleapis.com/magicpoint/pixverse-sound-effects/preview-Isabella.wav"}, "4": {"title": "Liam", "audio": "https://storage.googleapis.com/magicpoint/pixverse-sound-effects/preview-Liam.wav"}, "5": {"title": "Chloe", "audio": "https://storage.googleapis.com/magicpoint/pixverse-sound-effects/preview-Chloe.wav"}, "6": {"title": "Adrian", "audio": "https://storage.googleapis.com/magicpoint/pixverse-sound-effects/preview-Adrian.wav"}, "7": {"title": "Harper", "audio": "https://storage.googleapis.com/magicpoint/pixverse-sound-effects/preview-Harper.wav"}, "8": {"title": "Ava", "audio": "https://storage.googleapis.com/magicpoint/pixverse-sound-effects/preview-Ava.wav"}, "9": {"title": "Sophia", "audio": "https://storage.googleapis.com/magicpoint/pixverse-sound-effects/preview-Sophia.wav"}, "10": {"title": "Julia", "audio": "https://storage.googleapis.com/magicpoint/pixverse-sound-effects/preview-Julia.wav"}, "11": {"title": "Mason", "audio": "https://storage.googleapis.com/magicpoint/pixverse-sound-effects/preview-Mason.wav"}, "12": {"title": "Jack", "audio": "https://storage.googleapis.com/magicpoint/pixverse-sound-effects/preview-Jack.wav"}, "13": {"title": "Oliver", "audio": "https://storage.googleapis.com/magicpoint/pixverse-sound-effects/preview-Oliver.wav"}, "14": {"title": "Ethan", "audio": "https://storage.googleapis.com/magicpoint/pixverse-sound-effects/preview-Ethan.wav"}} | TTS voice. Auto, Emily(1), James(2), Isabella(3), Liam(4), Chloe(5), Adrian(6), Harper(7), Ava(8), Sophia(9), Julia(10), Mason(11), Jack(12), Oliver(13), Ethan(14). | | tts_content | string | No | - | - | Text for TTS to speak (~140 UTF-8 chars). Required if using tts_speaker. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "pixverse-lip-sync-v2", "input": { "video_url": "https://cdn-us.eachlabs.ai/uploads/57a37022-ae12-4d82-a795-96c624dab261.mp4" } }' ``` ## 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 "Authorization: Bearer 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 `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **PixVerse | Lip Sync v2 | Speech to Video Overview** PixVerse | Lip Sync v2 | Speech to Video is a specialized video-to-video AI model from Pixverse that synchronizes realistic mouth movements in input videos with provided audio or text-to-speech input, enabling lifelike talking head animations. This model solves the challenge of creating natural lip-sync for content creators needing dubbed or voiced videos without manual editing. Its primary differentiator is support for 15 built-in TTS voices like Harper, Ava, Isabella, Sophia, Emily, Chloe, Julia, Mason, Jack, Liam, James, Oliver, Adrian, Ethan, and Auto, plus custom audio uploads, setting it apart in the Pixverse family known for advanced video generation features like native audio sync. Available through platforms like each::labs, PixVerse | Lip Sync v2 | Speech to Video integrates seamlessly into workflows for video production, offering Pixverse video-to-video capabilities with precise speech alignment. Whether animating characters or dubbing footage, it delivers high-fidelity results up to 1080p, making it ideal for professional and creative applications on eachlabs.ai. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer 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.