This ComfyUI workflow turns a single still image into a video by transferring camera motion from a reference clip using the LTX 2.3 video model with the IC-LoRA Cameraman motion controller. The core generation happens in the LTX 2.3 node (custom generator node: 067cf66f-afc2-4672-8d26-481249ad5485) configured to preserve the visual content of your source image while applying the camera path extracted from the reference video. LoadImage provides the source frame, LoadVideo imports the motion reference, and GetVideoComponents reads the reference clip’s fps, duration, and dimensions so the render can match timing and playback characteristics. The resulting frames are assembled with CreateVideo and written out via SaveVideo, with PreviewAny available for quick checks.
To streamline setup, the workflow is organized into groups: Load Image, Load Reference Video, Reference Video, LTX 2.3 IC-LoRA Cameraman, and Create IC-LoRA Cameraman Prompt. The optional GeminiNode in the prompt group helps you draft or document simple camera directions (e.g., "slow dolly-in, slight pan left") for reproducibility, while the actual motion is driven by the reference clip. ImageFromBatch ensures a single starting frame is passed into generation, and MarkdownNote provides in-canvas guidance. The net result is cinematic camera motion—pan, tilt, orbit, dolly, or zoom—applied to your still without manually animating layers or keyframes.
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.
Run it from TypeScript or Python with the Comfy SDK. The same code targets Comfy Cloud or a ComfyUI you host yourself — only the base URL changes.
// Install (beta)
npm i @comfyorg/sdk
// Run this workflow (TypeScript)
import { Comfy } from "@comfyorg/sdk";
const client = new Comfy({ apiKey: "comfyui-..." });
const wf = await client.workflows.fromFile("workflow_api.json");
const job = await client.run(wf);
await job.getOutputs("<output-node-id>")[0].toFile("output.png");The SDK takes a workflow in API format: open this workflow in ComfyUI and use File → Export Workflow (API).
Comfy Cloud API access requires a plan with an API key.
FAQ













