$npx -y skills add prime-skills/runcomfy-agent-skills --skill lipsyncLip-sync a face to a specific audio track on RunComfy via the runcomfy CLI. Routes across ByteDance OmniHuman (audio-driven full-body avatar from a portrait + audio), Sync Labs sync v2 / Pro (state-of-the-art mouth sync onto a video), Kling lipsync (audio-to- video and text-to-
| 1 | # Lipsync |
| 2 | |
| 3 | Drive a face's mouth from an audio track. This skill routes across the lip-sync endpoints in the RunComfy catalog — OmniHuman, Sync Labs sync v2, Kling lipsync, Creatify — picking the right model for the user's actual intent and shipping the documented prompts + the exact `runcomfy run` invoke. |
| 4 | |
| 5 | [runcomfy.com](https://www.runcomfy.com/?utm_source=skills.sh&utm_medium=skill&utm_campaign=lipsync) · [Sync Labs models](https://www.runcomfy.com/models/sync/sync/lipsync/v2?utm_source=skills.sh&utm_medium=skill&utm_campaign=lipsync) · [CLI docs](https://docs.runcomfy.com/cli/introduction?utm_source=skills.sh&utm_medium=skill&utm_campaign=lipsync) |
| 6 | |
| 7 | ## Powered by the RunComfy CLI |
| 8 | |
| 9 | ```bash |
| 10 | # 1. Install (see runcomfy-cli skill for details) |
| 11 | npm i -g @runcomfy/cli # or: npx -y @runcomfy/cli --version |
| 12 | |
| 13 | # 2. Sign in |
| 14 | runcomfy login # or in CI: export RUNCOMFY_TOKEN=<token> |
| 15 | |
| 16 | # 3. Lipsync |
| 17 | runcomfy run <vendor>/<model> \ |
| 18 | --input '{"video_url": "...", "audio_url": "..."}' \ |
| 19 | --output-dir ./out |
| 20 | ``` |
| 21 | |
| 22 | CLI deep dive: [`runcomfy-cli`](https://www.skills.sh/agentspace-so/runcomfy-agent-skills/runcomfy-cli) skill. |
| 23 | |
| 24 | ## Consent |
| 25 | |
| 26 | Driving a real person's mouth from a separate audio track is dual-use. Refuse user requests that target real public figures without consent, or that aim at defamatory or sexually explicit synthetic media. The skill itself does not gate inputs — the responsibility rests with the operator. |
| 27 | |
| 28 | --- |
| 29 | |
| 30 | ## Pick the right model |
| 31 | |
| 32 | Listed newest first within each subtype. The agent picks one route based on: input shape (portrait still + audio vs source video + audio vs script-only), quality tier, and budget. |
| 33 | |
| 34 | ### Source video + audio → lip-synced video (mouth-swap on existing footage) |
| 35 | |
| 36 | **Sync Labs sync v2 Pro** — `sync/sync/lipsync/v2/pro` *(default for premium)* |
| 37 | > Sync Labs' premium lip-sync — state-of-the-art mouth motion onto an existing video. Preserves the rest of the frame untouched. |
| 38 | > Pick for: hero-quality dubs, lipsync on professionally-shot video, foreign-language dubbing where mouth fidelity matters most. |
| 39 | > Avoid for: cost-sensitive batch jobs — drop to **sync v2**. |
| 40 | |
| 41 | **Sync Labs sync v2** — [`sync/sync/lipsync/v2`](https://www.runcomfy.com/models/sync/sync/lipsync/v2?utm_source=skills.sh&utm_medium=skill&utm_campaign=lipsync) |
| 42 | > Standard Sync Labs tier, same workflow as Pro. |
| 43 | > Pick for: scaled / batch lipsync jobs, drafts. |
| 44 | > Avoid for: hero delivery — use **v2 Pro**. |
| 45 | |
| 46 | **Kling Lipsync (audio-to-video)** — [`kling/lipsync/audio-to-video`](https://www.runcomfy.com/models/kling/lipsync/audio-to-video?utm_source=skills.sh&utm_medium=skill&utm_campaign=lipsync) |
| 47 | > Kling's lip-sync onto a source video, driven by an audio track. |
| 48 | > Pick for: Kling-pipeline integration; alternative to Sync Labs. |
| 49 | > Avoid for: top-tier mouth fidelity — Sync Labs Pro is the industry benchmark. |
| 50 | |
| 51 | **Creatify Lipsync** — [`creatify/lipsync`](https://www.runcomfy.com/models/creatify/lipsync?utm_source=skills.sh&utm_medium=skill&utm_campaign=lipsync) |
| 52 | > Creatify's lipsync endpoint. |
| 53 | > Pick for: Creatify-ecosystem workflows. |
| 54 | > Avoid for: comparison shopping unless cost / latency favors it. |
| 55 | |
| 56 | ### Portrait still + audio → talking-head video (avatar-style) |
| 57 | |
| 58 | **OmniHuman** — `bytedance/omnihuman/api` *(default for avatar-style)* |
| 59 | > ByteDance's audio-driven full-body avatar. One portrait + one audio → video where the subject speaks / gestures naturally. Listed under RunComfy's `/feature/lip-sync` as the curated default. |
| 60 | > Pick for: UGC voiceover, virtual presenter, dubbed product demo from a single portrait. |
| 61 | > Avoid for: lip-sync onto an existing **video** (no portrait, want to preserve original motion) — use **Sync Labs v2** instead. |
| 62 | |
| 63 | **Wan 2-7 with `audio_url`** — `wan-ai/wan-2-7/text-to-video` |
| 64 | > Open-weights t2v with `audio_url` field — prompt describes the scene, audio drives the mouth. |
| 65 | > Pick for: full scene control (not just a portrait) with a specific voiceover MP3 + open-weights pipeline. |
| 66 | > Avoid for: simplest "portrait talks" — use **OmniHuman**. |
| 67 | |
| 68 | ### Generate-and-sync from a script (no audio file available) |
| 69 | |
| 70 | **Kling Lipsync (text-t |