API Overview
The Sync API is a RESTful API at https://api.sync.so/v2 for generating lip-synced videos from video and audio inputs. It exposes 6 endpoints, supports 4 models, and accepts MP4 video with WAV or MP3 audio. Send a video and audio, and the API returns a new video with lip movements matching the audio.
API quick reference
What is the Sync API base URL?
All API requests require authentication via the x-api-key header. See the Authentication guide for setup.
Core Endpoints
Quick Example
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
What models are available?
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 API base URL?
The base URL for all Sync 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 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.

