This ComfyUI workflow builds personalized, lip-synced video clips by conditioning LTX-2.3 on three inputs: a reference image (appearance), a short audio clip (timing and vocal style), and a structured prompt (scene, transcript, and sound context). The core logic is encapsulated in a subgraph (the custom node with ID 98ee9e5b-467b-40aa-a534-36033f27d0b4), which orchestrates LTX-2.3 generation with ID-LoRA identity conditioning. LoadImage provides the face/pose reference, LoadAudio or RecordAudio supplies your speech, and SaveVideo writes the final video. A MarkdownNote in the canvas summarizes the structured prompt format and links to the LTX-2.3 and ID-LoRA resources.

Technically, ID-LoRA injects a lightweight identity adapter into the LTX-2.3 video diffusion process so the generated person matches the reference image without a full fine-tune. The prompt is split into three tags the subgraph expects: [VISUAL] (scene and appearance), [SPEECH] (the exact words to say), and [SOUNDS] (speaker style and ambient cues). The audio drives mouth shapes and timing, while [SPEECH] helps the model resolve phoneme-level detail for clearer lip articulation. The result is a short video of your subject speaking the provided line, visually aligned to the reference image and temporally synced to the audio.

API

Use this workflow from code

Every Comfy workflow is a JSON graph. The payload below is this workflow, exactly as ComfyUI runs it — fetch it from the URL, keep it in version control, or load it in ComfyUI and run it node by node.

GET https://comfy.org/workflows/download/db4717458b6a.json
Fetching workflow JSON…

Run it from Python or TypeScript with the Comfy SDK. The same code targets Comfy Cloud or a ComfyUI you host yourself — only the base URL changes.

# Install (beta)
pip install comfy-sdk        # Python
npm i @comfyorg/sdk          # TypeScript

# Run "LTX-2.3: ID LoRA" (Python)
from comfy_sdk import Comfy

client = Comfy(api_key="comfyui-...")

# This workflow, exported in API format (see note below)
wf = client.workflows.from_file("video_ltx2_3_id_lora_api.json")

asset = client.assets.from_file("input.png")
wf.set_input("269", "image", asset)  # LoadImage

job = client.run(wf)
for output in job.get_outputs("341"):  # SaveVideo
    output.to_file(output.name)

The SDK takes a workflow in API format: open this workflow in ComfyUI and use File → Export Workflow (API). API access requires a Comfy Cloud plan with an API key. SDK docs · Get an API key

FAQ

Frequently Asked Questions

View all workflows
Character
Cinematic
Image to Video
Lip Sync
Multiple Angles
Portrait
Style Reference
Style Transfer
Text to Video
Video Generation
Video
Showing 30 of 30 templates