sync. labs

chính thức

Máy chủ MCP chính thức của sync. labs: đồng bộ khẩu hình video với âm thanh mới hoặc kịch bản, lồng tiếng video sang ngôn ngữ khác với khẩu hình khớp, làm cho ảnh biết nói và nhân bản giọng nói. Đăng nhập OAuth, không cần khóa API.

Bạn có thể làm gì với Sync Labs MCP?

  • Video khớp khẩu hình — Yêu cầu tác nhân khớp khẩu hình cho một video đã lưu với một tệp âm thanh hoặc với các URL phương tiện công khai, rồi chờ kết quả.
  • Dịch và lồng tiếng — Yêu cầu dịch và lồng tiếng một liên kết YouTube, TikTok, Instagram hoặc Facebook sang ngôn ngữ khác, đồng thời báo giá trước khi thực hiện.
  • Lời thoại theo kịch bản — Tạo video nói một câu bằng giọng đã chọn, dùng voices_list để chọn giọng và cung cấp kịch bản cần đọc.
  • Nhân bản giọng nói — Nhân bản giọng nói từ tài khoản sync. của bạn để dùng cho các tác vụ lời thoại và khớp khẩu hình sau này.
  • Quản lý tài nguyên và dự án — Tạo, liệt kê, cập nhật, tải xuống hoặc xóa tài nguyên; tạo, đổi tên hoặc liệt kê dự án và các bản tạo của chúng.
  • Kiểm tra mức sử dụng và chi phí — Hỏi còn bao nhiêu tín dụng hoặc một lần tạo trước đây tốn bao nhiêu.

Máy chủ MCP được lưu trữ

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

Cài vào Claude Code, Codex, Cursor và nhiều công cụ khác

Tài liệu

Máy chủ MCP sync. labs

Kết nối tác nhân AI của bạn với sync. để đồng bộ khẩu hình video, dịch và lồng tiếng sang các ngôn ngữ khác, nhân bản giọng nói, cũng như quản lý tài sản và dự án trong cuộc trò chuyện hoặc phiên lập trình.

sync. lưu trữ máy chủ này tại https://mcp.sync.so/mcp. Bạn đăng nhập bằng tài khoản sync., nên không cần cài đặt gì và cũng không cần sao chép khóa API. Mỗi lần hợp nhất vào main của kho lưu trữ này đều triển khai lên đó.

Kết nối tác nhân

ChatGPT

Mở sync. trong ChatGPT và kết nối tài khoản của bạn. Trong ChatGPT, sync. Studio cũng mở ngay trong cuộc trò chuyện.

Claude (claude.ai và Claude Desktop)

  1. Mở Settings → Connectors rồi chọn Add custom connector.
  2. Đặt tên là sync. và đặt URL thành https://mcp.sync.so/mcp.
  3. Nhấp Connect rồi đăng nhập vào sync.

Claude Code

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

Sau đó chạy /mcp trong Claude Code, chọn sync rồi đăng nhập. Thêm --scope user để dùng trong mọi dự án.

Codex

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

Cursor

Thêm vào .cursor/mcp.json trong một dự án, hoặc ~/.cursor/mcp.json để áp dụng cho mọi dự án:

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

Cursor sẽ yêu cầu bạn đăng nhập vào sync. khi kết nối lần đầu.

VS Code

Thêm vào .vscode/mcp.json:

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

Các ứng dụng khách khác

Bất kỳ ứng dụng khách nào hỗ trợ máy chủ MCP từ xa qua Streamable HTTP với OAuth đều có thể dùng https://mcp.sync.so/mcp. Ứng dụng khách tự đăng ký, còn bạn đăng nhập vào sync. trong trình duyệt.

Máy chủ được liệt kê trong MCP Registry chính thức với tên io.github.synchronicity-labs/mcp-server, vì vậy các ứng dụng khách và thư mục đọc registry có thể tìm thấy và thêm máy chủ này. server.json là mục liệt kê đó.

Máy chủ cục bộ dùng khóa API

Với các ứng dụng khách không hỗ trợ MCP từ xa, cũng như với tập lệnh và CI, hãy chạy máy chủ cục bộ qua stdio bằng khóa API của sync.:

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

Hoặc trong cấu hình JSON của ứng dụng khách:

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

Nếu không có SYNC_API_KEY, máy chủ sẽ bắt đầu quy trình đăng nhập bằng thiết bị trong lần chạy đầu tiên: truy cập URL được in ra và nhập mã. Mã thông báo được lưu vào bộ nhớ đệm tại ~/.config/sync/mcp-credentials.json.

Các bản phát hành npm được phát hành riêng với bản triển khai máy chủ lưu trữ và có thể chậm hơn, vì vậy hãy ưu tiên máy chủ lưu trữ nếu ứng dụng khách của bạn hỗ trợ. @latest khiến npx tải bản phát hành mới nhất mỗi khi ứng dụng khách khởi động lại máy chủ; nếu không có tùy chọn này, npx có thể tiếp tục chạy bản sao cũ trong bộ nhớ đệm.

Thông báo cập nhật

Khi khởi động, máy chủ cục bộ truy vấn npm registry để tìm phiên bản mới nhất, tối đa một lần mỗi ngày (kết quả được lưu trong bộ nhớ đệm tại ~/.config/sync/mcp-update-check.json). Việc kiểm tra chạy ở chế độ nền với giới hạn hai giây và không bao giờ làm chậm quá trình khởi động hoặc lệnh gọi công cụ; nếu thất bại, sẽ không hiển thị gì. Khi có phiên bản mới hơn, hướng dẫn của máy chủ và kết quả công cụ đầu tiên trong phiên sẽ yêu cầu tác nhân nhắc bạn khởi động lại bằng npx -y @sync.so/mcp-server@latest hoặc chuyển sang máy chủ lưu trữ.

Để tắt tính năng này, hãy đặt SYNC_MCP_UPDATE_CHECK=off hoặc truyền --no-update-check. Tính năng này cũng bị bỏ qua khi đặt CI, và máy chủ lưu trữ không bao giờ kiểm tra.

Những yêu cầu có thể đưa ra

Dán các câu lệnh như sau vào tác nhân của bạn. ID tài sản lấy từ thư viện sync. của bạn. Liên kết có thể là URL phương tiện công khai hoặc video trên YouTube, TikTok, Instagram và Facebook.

Yêu cầuTác nhân sẽ làm gì
"Đồng bộ khẩu hình video asset <video-asset-id> với audio asset <audio-asset-id>."lipsync_create bằng các tài sản đã lưu, rồi chờ kết quả
"Đồng bộ khẩu hình https://example.com/talk.mp4 sang https://example.com/voiceover.wav."lipsync_create bằng URL công khai
"Dịch https://www.youtube.com/watch?v=… sang tiếng Tây Ban Nha."Nhập liên kết bằng assets_create, báo chi phí và sau khi bạn xác nhận thì chạy dubbing_create
"Cho video asset <video-asset-id> nói “cảm ơn đã theo dõi” bằng giọng người dẫn chuyện điềm tĩnh."Chọn giọng bằng voices_list, báo kịch bản, rồi lipsync_create bằng script
"Tôi còn bao nhiêu credit?"account_get-usage
"Lần tạo nội dung gần nhất của tôi tốn bao nhiêu?"Tìm trong lịch sử và đọc generations_get-costs

Trước khi bắt đầu, tác nhân sẽ báo giá và xác nhận với bạn các tác vụ dịch thuật, lồng tiếng, nghe thử giọng nói và nhân bản giọng nói.

Kỹ năng của tác nhân

Các quy trình từng bước cho những công cụ này (đồng bộ khẩu hình, ảnh biết nói, lồng tiếng, Edit Dialogue, chiến dịch, xử lý hàng loạt, khắc phục sự cố và API) là các kỹ năng của tác nhân trong synchronicity-labs/skills. Cài đặt chúng vào bất kỳ tác nhân nào bằng npx skills add synchronicity-labs/skills. Plugin ChatGPT và Codex cung cấp các kỹ năng này từ một commit cố định của kho lưu trữ đó; xem docs/chatgpt-plugin.md.

Công cụ

Máy chủ lưu trữ cung cấp một bộ công cụ được tuyển chọn cho mọi ứng dụng khách:

Lĩnh vựcCông cụ
Đồng bộ khẩu hìnhlipsync_create, lipsync_create-timeline¹, generations_estimate-cost, generations_get, generations_list, generations_get-continuation, generations_get-costs, models_list
Dịch thuật và lồng tiếngdubbing_create, dubbing_get-options, translation-previews_estimate, translation-previews_create, translation-previews_get
Giọng nói và giọng đọcspeech-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
Tài sảnassets_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
Dự ánprojects_create, projects_get, projects_list, projects_list-generations, projects_rename
Nhiều tác vụjobs_create-many², jobs_get-many²
Xử lý hàng loạtbatches_create², batches_get², batches_list²
Tài khoảnaccount_get-context, account_get-usage, organizations_list, organizations_select

¹ Không cung cấp cho ứng dụng ChatGPT vì Studio được nhúng trong ứng dụng này không có dòng thời gian.

² Chưa có trong danh sách ứng dụng ChatGPT. jobs_create-many khởi chạy tối đa 50 tác vụ độc lập cùng lúc, chẳng hạn lồng tiếng một video sang nhiều ngôn ngữ, bằng cách chạy một công cụ tạo (lipsync_create, dubbing_create, dialogue-videos_create và các công cụ khác) một lần cho mỗi mục, với cùng API, giới hạn và cách tính phí như các lệnh gọi đơn lẻ trên mọi gói; jobs_get-many theo dõi cả nhóm. Xem Tác vụ. Batch là quy trình riêng biệt của API, xếp hàng các lượt chạy lớn (20 đến 500 lần tạo) trên gói Scale trở lên và có thể chờ hàng giờ. Nếu gói của tài khoản không bao gồm batch, API sẽ trả về 402 cùng với requiredPlan và billingUrl, và các công cụ sẽ chuyển tiếp phản hồi này.

Các tổ chức có tính năng tương ứng cũng được dùng scenes_detect (các đoạn cắt camera trong video) và stems_separate (giọng hát và âm thanh nền), bên ngoài ứng dụng ChatGPT. Các công cụ này nằm trong bộ công cụ lipsync và assets khi chạy cục bộ.

Các ứng dụng khách hỗ trợ ứng dụng cũng có các công cụ phía sau ứng dụng Studio được nhúng: chế độ xem và bản nháp Studio, tiện ích tải lên và các trợ giúp của ứng dụng. Đây là những ứng dụng khách có tên bắt tay MCP chọn hồ sơ ứng dụng ChatGPT hoặc Codex (openai-mcp, openai-mcp (Codex); xem src/client-profile.ts). Các ứng dụng khách khác không thấy những công cụ này và các lệnh gọi đến chúng sẽ bị từ chối.

Bộ công cụ cục bộ

Máy chủ stdio cục bộ cũng có thể cung cấp một công cụ cho mọi thao tác API công khai khác trong OpenAPI spec, tổng cộng hơn 65 công cụ. Theo mặc định, máy chủ liệt kê bộ công cụ lưu trữ ở trên, không bao gồm các công cụ quản trị (assets_delete và voices_clone), cùng với jobs_get, jobs_wait và các công cụ transcriptions_*, có các dấu vết khuôn mặt người nói làm đầu vào cho clip lipsync_create-timeline.

Để liệt kê thêm công cụ, hãy đặt SYNC_MCP_TOOLSETS hoặc truyền --toolsets cùng danh sách phân tách bằng dấu phẩy:

Bộ công cụBổ sung
defaultBộ mặc định ở trên, vì vậy default,admin sẽ thêm các công cụ quản trị vào bộ này
lipsyncCông cụ đồng bộ khẩu hình, dòng thời gian, Edit Dialogue, cắt âm thanh và batch, cùng với generate_*, generations_* và dialogue-edits_* dạng thô
dubbingCông cụ dịch thuật và lồng tiếng, cùng các công cụ batch
assetsassets_* (ngoại trừ thao tác xóa) và các công cụ tải lên
projectsprojects_* (ngoại trừ thao tác xóa) và projects_rename
transcriptiontranscriptions_*
voicesvoices_* (ngoại trừ nhân bản và thao tác xóa), nghe thử giọng nói và tts_*
adminMọi thao tác xóa (assets_delete, projects_delete, generations_delete, voices_delete) và voices_clone
allMọi công cụ, như trước khi có tùy chọn này

Các thao tác đọc tác vụ, tài khoản và lượt tạo (jobs_get, jobs_wait, jobs_get-many, generations_get, account_get-context, organizations_list, organizations_select và các thao tác tương tự) có trong mọi lựa chọn, cũng như jobs_create-many bất cứ khi nào có công cụ tạo được liệt kê. Việc chỉ định bộ công cụ sẽ thay thế bộ mặc định, chứ không bổ sung vào bộ đó. Để khôi phục mọi công cụ:

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

Trừ khi liệt kê tất cả công cụ, hướng dẫn của máy chủ sẽ cho tác nhân biết những bộ công cụ nào đang được liệt kê và cách lấy phần còn lại, để tác nhân có thể yêu cầu bạn khởi động lại máy chủ với bộ công cụ rộng hơn. Máy chủ lưu trữ bỏ qua cài đặt này.

Quy trình công cụ mô tả cách hoạt động của các công cụ nhiều bước và có tính phí.

Tên công cụ tuân theo một quy ước <noun>_<verb> (lipsync_create, generations_get). Các tên được dùng trước đó (create-lipsync, generate_get-generation) vẫn hoạt động trong thời gian ngừng hỗ trợ: các lệnh gọi qua tên cũ chạy cùng công cụ và thêm thông báo một dòng nêu tên mới. Tên công cụ có đầy đủ bảng tên cũ → tên mới.

Tùy chọn CLI

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

Tự động hóa không cần giám sát

Theo mặc định, các công cụ yêu cầu tác nhân báo giá cho thao tác có tính phí và chờ người dùng phê duyệt. Khi máy chủ chạy một quy trình hoặc tác nhân được lên lịch mà người vận hành đã phê duyệt chi tiêu, hãy khởi chạy bằng --no-spend-confirmation (hoặc SYNC_MCP_SPEND_CONFIRMATION=off). Khi đó, tác nhân sẽ tạo tác vụ mà không báo giá hay hỏi lại, còn các công cụ ước tính vẫn khả dụng. Tác nhân không thể thay đổi cài đặt này.

Các công cụ tác vụ nhận wait: true để chờ trên máy chủ (tối đa khoảng 50 giây mỗi lần gọi, kèm thông báo tiến độ khi ứng dụng khách gửi progressToken): generations_get, translation-previews_get, transcriptions_get và các thao tác nhập từ mạng xã hội qua assets_create. Trên máy chủ cục bộ, jobs_wait và jobs_get thực hiện tương tự với mọi loại tác vụ (tạo nội dung, phiên âm, phân tích người nói, xem trước bản dịch, nhập nội dung) bằng một đầu vào, {kind, id, projectId?}, cùng một cấu trúc kết quả và tập trạng thái; xem Tác vụ. jobs_get-many đọc tối đa 50 tác vụ theo cách đó cùng lúc trên cả hai máy chủ.

Khi API hỗ trợ, feedback_send cho phép tác nhân báo cáo lỗi khó hiểu, kết quả sai và các khả năng còn thiếu cho nhóm Sync.

Các biến môi trường và giới hạn về phiên, bộ nhớ, tải lên và chẩn đoán của máy chủ HTTP được mô tả trong Cấu hình máy chủ HTTP.

Cách hoạt động

  1. Khi khởi động, máy chủ tải OpenAPI spec công khai từ {baseUrl}/api-json và chuyển mỗi thao tác thành một công cụ MCP với lược đồ đầu vào Zod.
  2. Các công cụ được viết thủ công bổ sung quy trình nhiều bước trên cùng API, chẳng hạn như dịch và lồng tiếng, Edit Dialogue, nghe thử giọng nói và tra cứu chi phí.
  3. Mỗi lần gọi công cụ là một yêu cầu đã xác thực đến API sync., bằng mã thông báo OAuth của bạn (máy chủ lưu trữ) hoặc khóa API (cục bộ).

Qua stdio, một thao tác API công khai mới sẽ trở thành công cụ sau lần khởi động lại tiếp theo. Máy chủ lưu trữ chỉ cung cấp các công cụ trong danh sách cho phép, vì vậy một công cụ mới trên máy chủ lưu trữ sẽ được phát hành cùng một bản phát hành của kho lưu trữ này.

Cách sử dụng theo chương trình

Bạn cũng có thể dùng máy chủ như một thư viện:

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

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

Phát triển

Các bài kiểm thử nguồn HTTPS dùng lệnh openssl cục bộ để tạo danh tính kiểm thử tự ký có thời hạn một ngày. Các tệp chứng chỉ và khóa tạm thời được xóa trước khi chạy kiểm thử.

# 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

Quá trình phát triển cần Node 26 trở lên (.nvmrc); devEngines trong package.json thực thi yêu cầu này khi cài đặt. pnpm install cài đặt hook pre-commit. Hook chạy Oxlint và Oxfmt trên các tệp đã đưa vào staging, đồng thời chặn tệp mã nguồn đã đưa vào staging nếu kích thước vượt quá 5.000 token (20.000 byte). Các tệp vốn đã vượt kích thước đó được miễn cho đến khi có người tách chúng ra.

Kiểm thử truyền tải HTTP cục bộ

Để kiểm thử truyền tải HTTP (quy trình OAuth) cục bộ:

  1. Sao chép .env.example vào .env và điền các giá trị
  2. Khởi chạy tunnel để công khai localhost:
    ngrok http 3002
    
  3. Cập nhật MCP_ISSUER_URL trong .env bằng URL ngrok
  4. Khởi chạy máy chủ:
    source .env
    node dist/cli.js --transport http --base-url $SYNC_BASE_URL --port 3002
    
  5. Xác minh máy chủ hoạt động:
    curl https://<ngrok-url>/health
    curl https://<ngrok-url>/.well-known/oauth-authorization-server
    

Khi đăng nhập Studio trong môi trường cô lập yêu cầu proxy web cùng nguồn gốc, hãy đặt SYNC_OAUTH_AUTHORIZATION_URL thành URL /api-proxy/v2/oauth/authorize của proxy, đồng thời giữ SYNC_BASE_URL trỏ đến trình lắng nghe API trực tiếp trong môi trường cô lập. Chỉ điều hướng của trình duyệt mới sử dụng proxy web. Việc đăng ký, trao đổi mã, làm mới, thu hồi, truy xuất thông tin người dùng và gọi công cụ đều sử dụng API trực tiếp, đồng thời giữ nguyên các thời hạn hiện có, PKCE và các bước kiểm tra ứng dụng khách bảo mật. URL tùy chọn phải dùng HTTP(S), không có thông tin xác thực, truy vấn hoặc fragment. Các bản triển khai hiện có không cần thiết lập mới.

  1. Thêm https://<ngrok-url>/mcp làm trình kết nối tùy chỉnh trong Claude Web

Tìm hiểu thêm

Giấy phép

MIT