For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
SupportStatusTry now
DocumentationAPI Reference
DocumentationAPI Reference
    • API Overview
  • API Guides
    • Authentication
    • Concurrency & Rate Limits
    • Batch Processing
    • Webhooks
  • Generate API
    • POSTCreate Generation
    • POSTCreate Generation with Files
    • GETGet Generation
    • GETList Generations
    • POSTEstimate Cost
  • Batch API
    • POSTCreate Batch
    • GETGet Batch
    • GETList Batches
  • Assets API
    • GETList Assets
    • GETGet Asset
  • Models API
    • GETList Models
  • Webhooks Payload Reference
LogoLogo
SupportStatusTry now
On this page
  • API quick reference
  • What is the Sync Labs API base URL?
  • Core Endpoints
  • Quick Example
  • SDKs
  • OpenAPI Specification
  • What models are available?
  • Guides
  • Frequently Asked Questions

API Overview

Was this page helpful?
Edit this page

Last updated June 1, 2026

Authentication

Next
Built with

The Sync Labs API is a RESTful API at https://api.sync.so/v2 for generating lip-synced media from video, image, audio, and text inputs. It exposes generation, asset, model, estimate, batch, and healthcheck endpoints, and currently documents five public generation model IDs. Send video or image input plus audio or text input, and the API returns media with lip movements matching the audio.

API quick reference

Endpoint groupsGenerations, assets, models, estimate cost, batch, and healthcheck
Models5 — sync-3, lipsync-2, lipsync-2-pro, lipsync-1.9.0-beta, react-1
Rate limits60 req/min for POST /v2/generate, 600 req/min for all other endpoints
Concurrency1 (Free/Hobbyist) to 15 (Scale), custom for Enterprise
Supported inputsVideo or image input plus audio or text input via URL; direct uploads are limited to 20 MB
Batch processingUp to 500 generations per batch, min 20, 5 MB max input file, 24-hr turnaround (Scale+ only)
AuthenticationAPI key via x-api-key header

What is the Sync Labs API base URL?

https://api.sync.so

All API requests require authentication via the x-api-key header. See the Authentication guide for setup.

Core Endpoints

EndpointMethodDescription
/v2/generatePOSTCreate a lip sync generation
/v2/generate/{id}GETGet generation status and output
/v2/generationsGETList your generations
/v2/generations/estimatePOSTEstimate generation cost
/v2/assetsGETList uploaded assets
/v2/assets/{id}GETGet an uploaded asset
/v2/modelsGETList available models
/v2/batchPOSTCreate a batch of up to 500 generations
/v2/batchGETList batches
/v2/batch/{id}GETGet batch status

Quick Example

1import { SyncClient } from "@sync.so/sdk";
2
3const sync = new SyncClient();
4
5const response = await sync.generations.create({
6 input: [
7 { type: "video", url: "https://your-cdn.com/video.mp4" },
8 { type: "audio", url: "https://your-cdn.com/audio.wav" },
9 ],
10 model: "lipsync-2",
11});
12
13console.log(`Job ID: ${response.id}`);

SDKs

Official client libraries wrap the REST API with typed methods:

  • TypeScript/JavaScript — npm i @sync.so/sdk (GitHub) | Guide
  • Python — pip install syncsdk (GitHub) | Guide

OpenAPI Specification

The full OpenAPI 3.1 specification is available at:

https://sync.so/openapi.json

Use this spec to generate client libraries, import into Postman or Insomnia, or integrate with API development tools.

What models are available?

ModelBest For
sync-3Most advanced production-quality lipsync for complex scenes, 4K output, obstructions, and extreme angles
lipsync-2Fast, cost-efficient lip sync with solid quality
lipsync-2-proHigh-quality lip sync with enhanced detail and fidelity
lipsync-1.9.0-betaLegacy model optimized for maximum speed
react-1Expressive lip sync with facial expressions and head movements (up to 15s)

Guides

  • Authentication — API key setup and security best practices
  • Concurrency & Rate Limits — Rate limits, concurrency limits, and retry strategies
  • Batch Processing — Process up to 500 generations in a single operation
  • Webhooks — Real-time status notifications for async workflows

Frequently Asked Questions

What is the Sync Labs API base URL?

The base URL for all Sync Labs API requests is https://api.sync.so. All endpoints are served over HTTPS. Append the endpoint path to this base URL when making requests, for example https://api.sync.so/v2/generate for creating a lip sync generation.

How do I authenticate?

Include your API key in the x-api-key header with every request. The SDK handles this automatically when you set the SYNC_API_KEY environment variable. Create an API key from the API Keys page in your dashboard. See the Authentication guide for security best practices.

What SDKs are available?

Sync Labs offers official SDKs for Python and TypeScript. Install the Python SDK with pip install syncsdk and the TypeScript SDK with npm i @sync.so/sdk. Both SDKs provide typed methods for creating generations, polling status, estimating costs, and managing assets.

Is there an OpenAPI specification?

Yes. The full OpenAPI 3.1 specification is available at https://sync.so/openapi.json. You can use this spec to generate client libraries, import endpoints into Postman or Insomnia, or integrate with any OpenAPI-compatible tool.