sync. labs

resmi

Resmî sync. labs MCP sunucusu: videoları yeni ses veya bir senaryoyla dudak senkronizasyonu yapın, videoları dudak hareketleri eşleşecek şekilde başka dillere dublajlayın, fotoğrafları konuşturun ve sesleri klonlayın. OAuth ile oturum açın, API anahtarı gerekmez.

Sync Labs MCP ile neler yapabilirsiniz?

  • Dudak senkronizasyonlu videolar — Aracıdan kayıtlı bir video varlığını bir ses varlığıyla veya herkese açık medya URL’leriyle dudak senkronizasyonu yapmasını isteyin ve sonucu bekleyin.
  • Çeviri ve dublaj — Bir YouTube, TikTok, Instagram veya Facebook bağlantısının başka bir dile çevrilip dublajlanmasını sağlayın; işlem başlamadan önce maliyeti öğrenin.
  • Metinle konuşma — Seçilen bir sesle videoya bir cümle söyletin; sesi seçmek için voices_list kullanın ve metni belirtin.
  • Ses klonlama — Daha sonra konuşma ve dudak senkronizasyonu çalışmalarında kullanmak üzere sync. hesabınızdaki bir sesi klonlayın.
  • Varlıkları ve projeleri yönetme — Varlık oluşturun, listeleyin, güncelleyin, indirin veya silin; ayrıca projeler ve bunların üretimlerini oluşturun, yeniden adlandırın veya listeleyin.
  • Kullanımı ve maliyetleri kontrol etme — Kaç krediniz kaldığını veya geçmişteki bir üretimin ne kadara mal olduğunu sorun.

Barındırılan MCP Sunucusu

npx add-mcp 'https://mcp.sync.so/mcp'

Claude Code, Codex, Cursor ve daha fazlasına kurulur

Dokümantasyon

sync. MCP sunucusu

Yapay zekâ aracınızı sync. ile bağlayarak videoları dudak senkronizasyonuna uygun hâle getirin, başka dillere çevirip dublajlayın, sesleri klonlayın ve sohbetten veya kodlama oturumundan varlıkları ve projeleri yönetin.

sync. bu sunucuyu https://mcp.sync.so/mcp adresinde barındırır. sync. hesabınızla oturum açarsınız; bu nedenle yüklemeniz gereken bir şey veya kopyalamanız gereken bir API anahtarı yoktur. Bu depoya yapılan her birleştirme, main adresine dağıtılır.

Aracınızı bağlayın

ChatGPT

sync. in ChatGPT sayfasını açın ve hesabınızı bağlayın. ChatGPT'de sync. Studio da sohbetin içinde açılır.

Claude (claude.ai ve Claude Desktop)

  1. Settings → Connectors bölümünü açın ve Add custom connector seçeneğini belirleyin.
  2. Adını sync. olarak belirleyin ve URL'yi https://mcp.sync.so/mcp olarak ayarlayın.
  3. Connect'e tıklayın ve sync. hesabınızla oturum açın.

Claude Code

claude mcp add --transport http sync https://mcp.sync.so/mcp

Ardından Claude Code'da /mcp komutunu çalıştırın, sync seçeneğini belirleyin ve oturum açın. Her projede kullanmak için --scope user ekleyin.

Codex

codex mcp add sync --url https://mcp.sync.so/mcp
codex mcp login sync

Cursor

Bir projeye .cursor/mcp.json ekleyin veya tüm projeler için ~/.cursor/mcp.json ekleyin:

{
  "mcpServers": {
    "sync": { "url": "https://mcp.sync.so/mcp" }
  }
}

Cursor, ilk bağlantı kurduğunda sync. hesabınızla oturum açmanızı ister.

VS Code

.vscode/mcp.json dosyasına ekleyin:

{
  "servers": {
    "sync": { "type": "http", "url": "https://mcp.sync.so/mcp" }
  }
}

Diğer istemciler

OAuth ile Streamable HTTP üzerinden uzak MCP sunucularını destekleyen tüm istemciler https://mcp.sync.so/mcp kullanabilir. İstemci kendini kaydeder, siz de tarayıcıda sync. hesabınızla oturum açarsınız.

Sunucu, resmî MCP Registry içinde io.github.synchronicity-labs/mcp-server olarak listelenir; bu nedenle kayıt defterini okuyan istemciler ve dizinler sunucuyu bulup ekleyebilir. server.json bu listeyi gösterir.

API anahtarıyla yerel sunucu

Uzak MCP desteği olmayan istemciler, betikler ve CI için sunucuyu sync. API key ile stdio üzerinden yerel olarak çalıştırın:

claude mcp add sync -e SYNC_API_KEY=your-api-key -- npx -y @sync.so/mcp-server@latest

Ya da bir istemcinin JSON yapılandırmasında:

{
  "mcpServers": {
    "sync": {
      "command": "npx",
      "args": ["-y", "@sync.so/mcp-server@latest"],
      "env": { "SYNC_API_KEY": "your-api-key" }
    }
  }
}

SYNC_API_KEY olmadan sunucu, ilk çalıştırmada cihazla oturum açma işlemini başlatır: yazdırdığı URL'yi ziyaret edin ve kodu girin. Belirteç ~/.config/sync/mcp-credentials.json konumunda önbelleğe alınır.

npm sürümleri barındırılan dağıtımdan ayrı yayımlanır ve geride kalabilir; bu nedenle istemciniz destekliyorsa barındırılan sunucuyu tercih edin. @latest, istemci sunucuyu yeniden başlattığında npx'in en yeni sürümü getirmesini sağlar; bu seçenek olmadan npx eski bir önbellek kopyasını çalıştırmaya devam edebilir.

Güncelleme bildirimi

Başlangıçta yerel sunucu, npm kayıt defterinden en yeni sürümü günde en fazla bir kez sorgular (yanıt ~/.config/sync/mcp-update-check.json konumunda önbelleğe alınır). Denetim arka planda, iki saniyelik zaman aşımıyla çalışır ve başlangıcı veya araç çağrısını hiçbir zaman geciktirmez; başarısız olursa hiçbir şey gösterilmez. Daha yeni bir sürüm varsa sunucunun talimatları ve oturumun ilk araç sonucu, aracı yeniden başlatmanızı npx -y @sync.so/mcp-server@latest ile istemesini veya barındırılan sunucuya geçmenizi söyler.

Kapatmak için SYNC_MCP_UPDATE_CHECK=off ayarlayın veya --no-update-check iletin. CI ayarlandığında da bu denetim atlanır; barındırılan sunucu ise hiçbir zaman sürüm denetimi yapmaz.

Neler isteyebilirsiniz?

Aşağıdaki gibi istemleri aracınıza yapıştırın. Varlık kimliklerini sync. kitaplığınızda bulabilirsiniz. Bağlantılar herkese açık medya URL'leri veya YouTube, TikTok, Instagram ve Facebook videoları olabilir.

İstekAracın yaptığı
"Ses varlığı <video-asset-id> ile video varlığı <audio-asset-id> için dudak senkronizasyonu yap."Kaydedilmiş varlıklarla lipsync_create işlemini başlatır, ardından sonucu bekler
"https://example.com/talk.mp4 için https://example.com/voiceover.wav. dilinde dudak senkronizasyonu yap"Herkese açık URL'lerle lipsync_create işlemini başlatır
"https://www.youtube.com/watch?v=… içeriğini İspanyolcaya çevir."Bağlantıyı assets_create ile içe aktarır, maliyeti belirtir ve onayınızdan sonra dubbing_create işlemini başlatır
"Video varlığı <video-asset-id> sakin bir anlatıcı sesiyle “izlediğiniz için teşekkürler” desin."voices_list ile bir ses seçer, metni belirtir ve ardından script ile lipsync_create işlemini başlatır
"Kaç kredim kaldı?"account_get-usage
"Son üretimimin maliyeti ne kadardı?"Geçmişte bulur ve generations_get-costs bilgisini okur

Çeviri, dublaj, konuşma önizlemeleri ve ses klonları başlamadan önce fiyatlandırılır ve onayınız alınır.

Aracı becerileri

Bu araçlara yönelik adım adım iş akışları (dudak senkronizasyonu, konuşan fotoğraflar, dublaj, Edit Dialogue, kampanyalar, toplu işlemler, sorun giderme ve API) synchronicity-labs/skills deposunda aracı becerileri olarak bulunur. Bunları npx skills add synchronicity-labs/skills ile herhangi bir araca yükleyin. ChatGPT ve Codex eklentisi bu becerileri söz konusu deponun sabitlenmiş bir commit'inden sunar; bkz. docs/chatgpt-plugin.md.

Araçlar

Barındırılan sunucu, her istemciye seçilmiş bir araç kümesi sunar:

AlanAraçlar
Dudak senkronizasyonulipsync_create, lipsync_create-timeline¹, generations_estimate-cost, generations_get, generations_list, generations_get-continuation, generations_get-costs, models_list
Çeviri ve dublajdubbing_create, dubbing_get-options, translation-previews_estimate, translation-previews_create, translation-previews_get
Konuşma ve seslerspeech-previews_create, speech-previews_get-options, speech-previews_get, voices_list, voices_clone
Edit Dialoguedialogue_get-options, dialogue_upload-source, dialogue-transcriptions_create, dialogue-transcriptions_get, dialogue-previews_create, dialogue-previews_get, dialogue-videos_estimate, dialogue-videos_create
Varlıklarassets_create, assets_create-upload-url, assets_get, assets_list, assets_count, assets_get-download-url, assets_update, assets_delete, assets_get-playback-metadata, audio-trims_get, audio-trims_create
Projelerprojects_create, projects_get, projects_list, projects_list-generations, projects_rename
Çok sayıda işjobs_create-many², jobs_get-many²
Toplu işlemlerbatches_create², batches_get², batches_list²
Hesapaccount_get-context, account_get-usage, organizations_list, organizations_select

¹ Zaman çizelgesi olmayan yerleşik Studio uygulamasında sunulmadığından ChatGPT uygulamasında bulunmaz.

² Henüz ChatGPT uygulaması listesinde yoktur. jobs_create-many, aynı API'yi, sınırları ve faturalandırmayı kullanarak her öğe için bir oluşturma aracını (lipsync_create, dubbing_create, dialogue-videos_create ve diğerleri) bir kez çalıştırıp aynı anda 50'ye kadar bağımsız iş başlatır; örneğin tek bir videoyu birkaç dile dublajlar. jobs_get-many bu işleri takip eder. Bkz. Jobs. Toplu işlem, Scale planlarında ve üzerindeki planlarda büyük çalıştırmalar (20 ila 500 üretim) için API'nin ayrı kuyruğa alınan işlem hattıdır ve saatlerce bekleyebilir. Hesap planında toplu işlem yoksa API, araçların ilettiği requiredPlan ve billingUrl ile 402 yanıtı verir.

İlgili özelliğe sahip kuruluşlar ayrıca (videodaki kamera kesitleri) scenes_detect ve (vokaller ile arka plan sesi) stems_separate araçlarını da alır; bunlar ChatGPT uygulamasında bulunmaz. Yerel olarak lipsync ve assets araç kümelerinde yer alırlar.

Uygulama desteği olan istemciler, yerleşik Studio uygulamasının arkasındaki araçları da alır: Studio görünümleri ve taslakları, yükleme bileşeni ve uygulama yardımcıları. Bunlar, MCP el sıkışma adı ChatGPT veya Codex uygulama profilini seçen istemcilerdir (openai-mcp, openai-mcp (Codex); bkz. src/client-profile.ts). Diğer istemciler bu araçları görmez ve bu araçlara yaptıkları çağrılar reddedilir.

Yerel araç kümeleri

Yerel stdio sunucusu, OpenAPI spec içindeki diğer tüm herkese açık API işlemleri için de bir araç sunabilir; toplamda 65'ten fazla araç vardır. Varsayılan olarak yukarıdaki barındırılan araç kümesini, yönetim araçları (assets_delete ve voices_clone) hariç, ayrıca jobs_get, jobs_wait ve konuşmacı yüzü izleri lipsync_create-timeline kliplerini besleyen transcriptions_* araçlarını listeler.

Daha fazlasını listelemek için SYNC_MCP_TOOLSETS ayarlayın veya virgülle ayrılmış bir listeyle --toolsets iletin:

Araç kümesiEkledikleri
defaultYukarıdaki varsayılan küme; dolayısıyla default,admin yönetim araçlarını bu kümeye ekler
lipsyncDudak senkronizasyonu, zaman çizelgesi, Edit Dialogue, ses kırpma ve toplu işlem araçlarının yanı sıra ham generate_*, generations_* ve dialogue-edits_*
dubbingÇeviri ve dublaj araçları ile toplu işlem araçları
assetsassets_* (silme işlemleri hariç) ve yükleme araçları
projectsprojects_* (silme işlemleri hariç) ve projects_rename
transcriptiontranscriptions_*
voicesvoices_* (klonlama ve silme işlemleri hariç), konuşma önizlemeleri ve tts_*
adminTüm silme işlemleri (assets_delete, projects_delete, generations_delete, voices_delete) ve voices_clone
allBu seçenek yokken olduğu gibi tüm araçlar

İş, hesap ve üretim okumaları (jobs_get, jobs_wait, jobs_get-many, generations_get, account_get-context, organizations_list, organizations_select ve benzerleri) her seçime dahildir; çalıştırdığı bir oluşturma aracı listelendiğinde jobs_create-many da dahildir. Araç kümelerini adlandırmak, varsayılan kümeye ekleme yapmak yerine onun yerini alır. Tüm araçları yeniden almak için:

claude mcp add sync -e SYNC_API_KEY=your-api-key -e SYNC_MCP_TOOLSETS=all -- npx -y @sync.so/mcp-server@latest

Tüm araçları listelemediği sürece sunucunun talimatları, hangi araç kümelerinin listelendiğini ve geri kalanların nasıl alınacağını araca bildirir; böylece araç, sunucuyu daha geniş bir kümeyle yeniden başlatmanızı isteyebilir. Barındırılan sunucu bu ayarı yok sayar.

Tool workflows, çok adımlı ve ücretli araçların nasıl çalıştığını açıklar.

Araç adları tek bir <noun>_<verb> düzenini izler (lipsync_create, generations_get). Önceden kullanılan adlar (create-lipsync, generate_get-generation) kullanımdan kaldırma süresi boyunca çalışmaya devam eder: bu adlarla yapılan çağrılar aynı aracı çalıştırır ve yeni adı belirten tek satırlık bir bildirim ekler. Tool names tüm eski → yeni ad eşleştirmelerini içerir.

CLI Seçenekleri

Usage: sync-mcp [options]

Options:
  --api-key <key>     API key (or set SYNC_API_KEY env var)
  --base-url <url>    API base URL (default: https://api.sync.so)
  --transport <type>  stdio (default) or http
  --port <port>       HTTP port (default: 3002, only with --transport http)
  --no-spend-confirmation
                      Unattended automation: drop the cost-quote and confirm-before-paying
                      instructions (or set SYNC_MCP_SPEND_CONFIRMATION=off)
  --no-update-check   Skip the daily npm check for a newer version (or set
                      SYNC_MCP_UPDATE_CHECK=off; skipped when CI is set)
  --toolsets <list>   stdio only: comma-separated tools to list (or set SYNC_MCP_TOOLSETS):
                      default, lipsync, dubbing, assets, projects, transcription,
                      voices, admin or all (default: the hosted set without admin)
  -h, --help          Show this help message

Gözetimsiz otomasyon

Varsayılan olarak araçlar, aracı ücretli bir işlem için fiyat teklifi vermeye ve kullanıcının onayını beklemeye yönlendirir. Sunucu, harcama için operatörün önceden onay verdiği bir işlem hattı veya zamanlanmış aracı çalıştırdığında --no-spend-confirmation (veya SYNC_MCP_SPEND_CONFIRMATION=off) ile başlatın. Böylece araç, fiyat teklifi vermeden veya sormadan işler oluşturur; tahmin araçları kullanılabilir durumda kalır. Araçlar bu ayarı değiştiremez.

İş araçları, sunucuda beklemek için wait: true değerini alır (istemci bir progressToken gönderdiğinde ilerleme bildirimleriyle, çağrı başına yaklaşık 50 saniyeye kadar): generations_get, translation-previews_get, transcriptions_get ve assets_create üzerinden sosyal medya içe aktarımları. Yerel sunucuda jobs_wait ve jobs_get, tek bir girdi olan {kind, id, projectId?} ile her tür işte (üretim, transkripsiyon, konuşmacı analizi, çeviri önizlemesi, içe aktarma) aynı işlemi yapar ve aynı sonuç biçimini ve durum kümesini kullanır; bkz. Jobs. jobs_get-many, her iki sunucuda da aynı şekilde en fazla 50 işi aynı anda okur.

API desteklediğinde feedback_send, araçların kafa karıştırıcı hataları, yanlış sonuçları ve eksik özellikleri Sync ekibine bildirmesini sağlar.

Ortam değişkenleri ile HTTP sunucusunun oturum, bellek, yükleme ve tanılama sınırları HTTP server configuration bölümünde açıklanır.

Nasıl Çalışır?

  1. Sunucu başlangıçta herkese açık OpenAPI tanımını {baseUrl}/api-json adresinden alır ve her işlemi Zod girdi şemasına sahip bir MCP aracına dönüştürür.
  2. Elle yazılmış araçlar, çeviri ve dublaj, Edit Dialogue, konuşma önizlemeleri ve maliyet sorguları gibi aynı API'yi kullanan çok adımlı iş akışları ekler.
  3. Her araç çağrısı, OAuth belirtecinizle (barındırılan sunucuda) veya API anahtarınızla (yerel sunucuda) yapılan kimliği doğrulanmış bir sync. API isteğidir.

stdio üzerinden, herkese açık yeni bir API işlemi bir sonraki yeniden başlatmada araca dönüşür. Barındırılan sunucu yalnızca izin listesindeki araçları sunar; bu nedenle barındırılan yeni bir araç, bu deponun bir sürümüyle yayımlanır.

Programatik Kullanım

Sunucuyu bir kitaplık olarak da kullanabilirsiniz:

import { createSyncMcpServer, resolveConfig } from '@sync.so/mcp-server';

const config = resolveConfig({ apiKey: 'your-key' });
const server = await createSyncMcpServer(config);

Geliştirme

HTTPS kaynak testleri, bir günlük, kendinden imzalı test kimliği oluşturmak için yerel openssl komutunu kullanır. Testler çalıştırılmadan önce geçici sertifika ve anahtar dosyaları kaldırılır.

# Install dependencies
pnpm install

# Build
pnpm run build

# Run tests
pnpm test

# Lint
pnpm run lint

# Type check
pnpm run typecheck

# Script tests (monitor, smoke check, pre-commit size check)
pnpm run test:scripts

Geliştirme için Node 26 veya daha yenisi gerekir (.nvmrc); yükleme sırasında devEngines, package.json sürümünü zorunlu kılar. pnpm install bir pre-commit kancası yükler. Bu kanca, hazırlama alanındaki dosyalarda Oxlint ve Oxfmt çalıştırır ve 5.000 belirteci (20.000 bayt) aşan hazırlama alanındaki kaynak dosyaları engeller. Bu boyutu zaten aşan dosyalar, biri onları bölene kadar bu denetimden muaftır.

Yerel HTTP Aktarımını Test Etme

HTTP aktarımını (OAuth akışını) yerel olarak test etmek için:

  1. .env.example dosyasını .env konumuna kopyalayın ve değerleri doldurun
  2. localhost adresini dışarı açmak için bir tünel başlatın:
    ngrok http 3002
    
  3. ngrok URL’siyle .env içindeki MCP_ISSUER_URL değerini güncelleyin
  4. Sunucuyu başlatın:
    source .env
    node dist/cli.js --transport http --base-url $SYNC_BASE_URL --port 3002
    
  5. Çalıştığını doğrulayın:
    curl https://<ngrok-url>/health
    curl https://<ngrok-url>/.well-known/oauth-authorization-server
    

Yalıtılmış bir Studio oturum açma işlemi aynı kaynaklı web proxy’si gerektiriyorsa, SYNC_OAUTH_AUTHORIZATION_URL değerini bu proxy’nin /api-proxy/v2/oauth/authorize URL’sine ayarlayın ve SYNC_BASE_URL değerini doğrudan yalıtılmış API dinleyicisinde bırakın. Yalnızca tarayıcı gezintisi web proxy’sini kullanır. Kayıt, kod değişimi, yenileme, iptal, userinfo ve araç çağrıları doğrudan API’yi kullanır ve mevcut zaman aşımlarını, PKCE ve gizli istemci denetimlerini korur. İsteğe bağlı URL HTTP(S) kullanmalı; kimlik bilgisi, sorgu veya parça içermemelidir. Mevcut dağıtımlar için yeni bir ayar gerekmez.

  1. https://<ngrok-url>/mcp öğesini Claude Web içinde özel bağlayıcı olarak ekleyin

Daha Fazla Bilgi

Lisans

MIT