Integrations

Getting Started

You can enable and manage all available integrations from the integrations page. Once enabled, you can:

  • Test integrations directly in the Studio
  • Preview available options (like voices for text-to-speech)
  • Generate ready-to-use code snippets via the View code button
  • Implement them in your API calls

API Key Options:

  • Use Sync’s internal integration (Usage costs will be reflected in your usage billing)
  • Use your own API keys (Available on Creator plan or higher)

Available Integrations

ElevenLabs

ElevenLabs provides state-of-the-art Text-to-Speech and AI Voice Generation capabilities. This integration extends Sync’s generation endpoint with powerful text-to-speech functionality.

  1. Navigate to Lipsync Studio
  2. Enable the ElevenLabs integration
  3. Select text as your input type
  4. Choose a voice from the available options
  5. Generate your content and preview the results instantly

To use ElevenLabs with the API, include the following parameters in your request to the POST /generate endpoint:

1{
2 "input": [
3 {
4 "type": "text", // Must be "text" for text-to-speech
5 "text": "Your text here", // The text to convert to speech
6 "provider": {
7 "name": "elevenlabs", // Specify ElevenLabs as the provider
8 "voiceId": "voice_id" // Replace with an actual ElevenLabs voice ID
9 }
10 }
11 ],
12 // Other generation parameters...
13}

Example API Request

1import requests
2
3api_key = "YOUR_API_KEY_HERE"
4api_url = "https://api.sync.so/v2/generate"
5
6payload = {
7 "model": "lipsync-2",
8 "input": [
9 {
10 "type": "text",
11 "provider": {
12 "name": "elevenlabs",
13 "voiceId": "EXAVITQu4vr4xnSDxMaL" # Example voice ID
14 "script": "Welcome to Sync integrations. This audio was generated with ElevenLabs.",
15 }
16 },
17 {
18 "type": "video",
19 "url": "https://assets.sync.so/docs/example-video.mp4"
20 }
21 ]
22}
23
24headers = {
25 "x-api-key": api_key,
26 "Content-Type": "application/json"
27}
28
29response = requests.post(api_url, json=payload, headers=headers)
30print(response.json())