MCP App Store
Entertainment
sync. labs icon

sync. labs

by sync. labs

Overview

Use sync. labs to dub videos, replace dialogue, generate lip-synced performances, and animate images.

Tools

create-lipsync

ChatGPT
Create a lipsync video from audio + EITHER a video or a still image (an image drives sync-3 image-to-video). For "make this image/video say X" requests, pass script with a voiceId from voices_get-voices; do not call tts_create first. Pass URLs whenever you have them — set audioUrl to any public audio URL, and videoUrl/imageUrl to a hosted media URL. If media was uploaded to Sync first, pass audioAssetId, videoAssetId, or imageAssetId. For files the user uploaded in chat, prefer calling upload-media first and pass the returned assetId here; direct audio/video/image file params are supported only when a host invokes this tool with file params directly. If the user wants to choose a local image/audio file that is not attached yet, use open-upload-widget first. Provide exactly one visual input (video or image) and exactly one driver input (audio or script). Returns a generation id — call generate_get-generation once with wait: true and timeout: 55, then read outputUrl. Copy signed outputUrl values exactly from the tool result; never reconstruct or shorten them. For advanced options (segments, speaker selection), use generate_create-generation.

create-lipsync

ChatGPT
Create a lipsync video from audio + EITHER a video or a still image (an image drives sync-3 image-to-video). For "make this image/video say X" requests, pass script with a voiceId from voices_get-voices; do not call tts_create first. Pass URLs whenever you have them — set audioUrl to any public audio URL, and videoUrl/imageUrl to a hosted media URL. If media was uploaded to Sync first, pass audioAssetId, videoAssetId, or imageAssetId. For files the user uploaded in chat, prefer calling upload-media first and pass the returned assetId here; direct audio/video/image file params are supported only when a host invokes this tool with file params directly. If the user wants to choose a local image/audio file that is not attached yet, use open-upload-widget first. Provide exactly one visual input (video or image) and exactly one driver input (audio or script). Returns a generation id — call generate_get-generation once with wait: true and timeout: 55, then read outputUrl. Copy signed outputUrl values exactly from the tool result; never reconstruct or shorten them. For advanced options (segments, speaker selection), use generate_create-generation.

generate_get-generation

ChatGPT
Get a generation by id. In ChatGPT, pass wait: true and timeout: 55 for generation results instead of making repeated manual polls. When status is COMPLETED, copy the exact structuredContent.outputUrl string verbatim; signed URLs must not be reconstructed, shortened, or edited.

generate_get-generation

ChatGPT
Get a generation by id. In ChatGPT, pass wait: true and timeout: 55 for generation results instead of making repeated manual polls. When status is COMPLETED, copy the exact structuredContent.outputUrl string verbatim; signed URLs must not be reconstructed, shortened, or edited.

open-upload-widget

ChatGPT
Open the Sync image/audio upload widget so a user can choose a ChatGPT file or upload a supported local image/audio file, then stage it as a durable Sync assetId. Use this by default when the user wants to upload or choose a local image/audio file and has not attached the file to ChatGPT yet. For image-to-speech requests, call this with requestedMediaType: "image" and tell the user to enter the exact requested text in the widget Script field. This widget cannot accept video or MP4 files. Never use, recommend, or describe this tool for local video requests, and never use requestedMediaType: "video". For local video or MP4, ask the user to attach the video to the ChatGPT composer, then call upload-media or create-lipsync with file params.

open-upload-widget

ChatGPT
Open the Sync image/audio upload widget so a user can choose a ChatGPT file or upload a supported local image/audio file, then stage it as a durable Sync assetId. Use this by default when the user wants to upload or choose a local image/audio file and has not attached the file to ChatGPT yet. For image-to-speech requests, call this with requestedMediaType: "image" and tell the user to enter the exact requested text in the widget Script field. This widget cannot accept video or MP4 files. Never use, recommend, or describe this tool for local video requests, and never use requestedMediaType: "video". For local video or MP4, ask the user to attach the video to the ChatGPT composer, then call upload-media or create-lipsync with file params.

upload-media

ChatGPT
Upload a user-provided image, video, or audio file to Sync asset storage and return a durable assetId. Use this when the user uploaded media in chat and a later Sync tool call should reference it by assetId. The file field must be the uploaded ChatGPT file object. For public URLs, use assets_create or pass the URL directly to create-lipsync. This tool only stores the media; it does not create a lipsync generation. After it returns, pass the assetId to create-lipsync as imageAssetId, videoAssetId, or audioAssetId.

upload-media

ChatGPT
Upload a user-provided image, video, or audio file to Sync asset storage and return a durable assetId. Use this when the user uploaded media in chat and a later Sync tool call should reference it by assetId. The file field must be the uploaded ChatGPT file object. For public URLs, use assets_create or pass the URL directly to create-lipsync. This tool only stores the media; it does not create a lipsync generation. After it returns, pass the assetId to create-lipsync as imageAssetId, videoAssetId, or audioAssetId.

voices_get-voices

ChatGPT
List available voices — premade ElevenLabs voices plus voices your org has cloned. For "make this image/video say X", use a returned voice id as voiceId in create-lipsync with script directly. Use tts_create only when the user explicitly asks for standalone audio.

voices_get-voices

ChatGPT
List available voices — premade ElevenLabs voices plus voices your org has cloned. For "make this image/video say X", use a returned voice id as voiceId in create-lipsync with script directly. Use tts_create only when the user explicitly asks for standalone audio.

Capabilities

InteractiveWrites

App Stats

10

Tools

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily