Video Bytedance

Volcengine Lip Sync API

Use the Volcengine Lip Sync API via RunAPI with a model skill, unified auth, and pay-as-you-go pricing.

runapi.ai
curl -X POST https://runapi.ai/api/v1/volcengine_lip_sync/lip_sync_video \
  -H "Authorization: Bearer $RUNAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "volcengine-lip-sync",
  "mode": "lite",
  "source_video_url": "https://cdn.runapi.ai/public/samples/volcengine-lip-sync-source.mp4",
  "source_audio_url": "https://cdn.runapi.ai/public/samples/volcengine-lip-sync-voice-adam.mp3"
}'
import { VolcengineLipSyncClient } from "@runapi.ai/volcengine-lip-sync";

const client = new VolcengineLipSyncClient();
const result = await client.lipSyncVideo.run({
    model: "volcengine-lip-sync",
    mode: "lite",
    source_video_url: "https://cdn.runapi.ai/public/samples/volcengine-lip-sync-source.mp4",
    source_audio_url: "https://cdn.runapi.ai/public/samples/volcengine-lip-sync-voice-adam.mp3",
});
<?php

require __DIR__ . "/vendor/autoload.php";

use RunApi\VolcengineLipSync\VolcengineLipSyncClient;

$client = new VolcengineLipSyncClient();
$result = $client->lipSyncVideo->run([
        'model' => 'volcengine-lip-sync',
        'mode' => 'lite',
        'source_video_url' => 'https://cdn.runapi.ai/public/samples/volcengine-lip-sync-source.mp4',
        'source_audio_url' => 'https://cdn.runapi.ai/public/samples/volcengine-lip-sync-voice-adam.mp3',
]);
require "runapi/volcengine_lip_sync"

client = RunApi::VolcengineLipSync::Client.new
result = client.lip_sync_video.run(
    model: "volcengine-lip-sync",
    mode: "lite",
    source_video_url: "https://cdn.runapi.ai/public/samples/volcengine-lip-sync-source.mp4",
    source_audio_url: "https://cdn.runapi.ai/public/samples/volcengine-lip-sync-voice-adam.mp3"
)
npx skills add runapi-ai/volcengine-lip-sync -g
# Claude Code
claude mcp add runapi -s user -- npx -y @runapi.ai/mcp

# Codex
codex plugin install runapi-mcp@agents

# Cursor / Windsurf / VS Code
npx @runapi.ai/mcp init cursor
@runapi.ai/volcengine-lip-sync v1
OVERVIEW

About Volcengine Lip Sync

Volcengine Lip Sync takes a source video and target audio, then generates a video where the mouth movement follows the audio while preserving the source clip structure.

Provider
Bytedance
Modality
Video
PRICING

Pricing

Failed generations are not charged
Lip sync video
$0.08 / second
SPEC SHEET

Technical details

Model ID volcengine-lip-sync
Provider Bytedance
Modality video
Task type asynchronous
Billing unit second
API endpoint /api/v1/volcengine_lip_sync/lip_sync_video
Commercial license Yes — included via API
Catalog status Operational
Agent integration

Run Volcengine Lip Sync From an Agent

HOW IT WORKS

Get Started with Volcengine Lip Sync

  1. Create an API key

    Sign up and generate an API key from the dashboard.

  2. Pick a version

    Choose the version that best matches your quality and cost requirements.

  3. Send a request

    Submit your prompt and parameters to the model's documented endpoint.

  4. Get your result

    Poll the task or set a webhook, then download the completed output.

CONTEXT

About Volcengine Lip Sync on RunAPI

Volcengine Lip Sync provides a focused video-to-video lip-sync endpoint through RunAPI with unified API, SDK, CLI, Bruno, and docs coverage.

Provider
Bytedance
See all →
Modality
Video
Browse models →

Why Use Volcengine Lip Sync Through RunAPI

One auth, every provider

A single RunAPI API key unlocks the whole model catalog across all providers. No separate accounts to create, no API keys to rotate per integration, and no credential management overhead. Add a new model to your app by changing one parameter.

Unified pricing & billing

Per-call pricing in USD, billed monthly into a single invoice. No subscription tiers, no minimum spend, and failed generations are never charged. The pricing page and check_pricing API show exact costs before you commit to a model.

Schema-first SDK

Typed schemas, parameter constraints, and setup notes are packaged in the model skill so your implementation starts from the right contract. The skill loads into Claude Code, Codex, Gemini CLI, Cursor, and VS Code — your agent knows the correct request shape before you write a line of code.

Volcengine Lip Sync Questions

What inputs does Volcengine Lip Sync require?

It requires one public source video URL and one public source audio URL.

Which mode should I choose?

Use `lite` for frontal single-person videos and faster processing. Use `basic` when the scene is more complex and you need scene detection.

What does `enable_vocal_separation` do?

It suppresses background noise by separating vocals before driving the lip movement.

When can I use `align_audio`?

`align_audio`, `align_audio_reverse`, and `template_start_seconds` are available in `lite` mode only.

What does the completed response return?

The completed response returns generated video URLs in `videos`.

Which variant should I start with?

Pick the cheapest variant that meets your quality bar. Most teams start on the fast variant and graduate to pro for production.

SIMILAR MODELS

Similar Video Models

Start generating with Volcengine Lip Sync