ComfyUI Image Audio to Video Node icon

ComfyUI Image Audio to Video Node

Convert images and audio to videos using ComfyUI workflow

Overview

This node converts images and optional audio into videos using a ComfyUI workflow. It uploads an input image (from URL, base64 string, or binary data) and optionally an audio MP3 file to a ComfyUI server, injects them into a user-provided ComfyUI workflow JSON, triggers video generation, and waits for the result. Once completed, it returns the generated video as output.

Common scenarios include:

  • Creating videos from static images combined with audio tracks.
  • Automating video generation workflows where visual content is programmatically combined with sound.
  • Using custom ComfyUI workflows to generate complex video outputs based on image and audio inputs.

Practical example:

  • A user provides a URL of an image and an audio clip in binary form, along with a ComfyUI workflow JSON that defines how to combine these inputs into a video. The node uploads these inputs, runs the workflow, and outputs the resulting video file.

Properties

Name Meaning
Workflow JSON The ComfyUI workflow definition in JSON format specifying nodes and connections for video generation.
Input Type Specifies the type of input image: URL, Base64 encoded string, or Binary data from previous node.
Input Image The image data as a URL or base64 string (required if Input Type is URL or Base64).
Binary Property The name of the binary property containing the image (required if Input Type is Binary).
Audio Binary Property Optional name of the binary property containing an audio MP3 file to attach to the video.
Timeout Maximum time in minutes to wait for the video generation process before timing out (default 30).

Output

The node outputs a single item containing:

  • json object with:

    • mimeType: MIME type of the output media (e.g., video/mp4, image/webp, image/gif).
    • fileName: Filename of the generated media.
    • data: Base64-encoded string of the video or image data.
    • status: Status information from the ComfyUI processing.
  • binary data with:

    • fileName: Filename of the media.
    • data: Base64-encoded media content.
    • fileType: Always "video".
    • fileSize: Approximate size in kilobytes.
    • fileExtension: File extension such as mp4, webp, or gif.
    • mimeType: MIME type matching the json field.

This allows downstream nodes to access the generated video or animation either as JSON data or binary file data.

Dependencies

  • Requires connection to a ComfyUI API endpoint with a valid API URL and an API key credential.
  • The node uses HTTP requests to communicate with the ComfyUI server for uploading files, submitting workflows, and polling for results.
  • Requires n8n helper functions for HTTP requests and binary data handling.
  • The ComfyUI server must support the /upload/image, /prompt, /history/{id}, and /system_stats endpoints.

Troubleshooting

  • Invalid workflow JSON: If the provided workflow JSON is malformed or not an object, the node throws an error. Validate JSON syntax before use.
  • Missing LoadImage node: The workflow must contain a LoadImage node with an image input; otherwise, the node errors out.
  • Audio provided but no LoadAudio node: If audio binary is given but the workflow lacks a LoadAudio node, an error occurs.
  • Binary property not found or invalid: When using binary input, if the specified property does not exist or is not an image/audio, the node will throw an error.
  • Timeout: If video generation exceeds the configured timeout, the node fails with a timeout error.
  • API connection issues: Failure to connect or authenticate with the ComfyUI API will cause errors.
  • No video outputs found: If the workflow completes but no video or supported media files are returned, an error is raised.
  • File not found (404): If the generated video file cannot be retrieved from the ComfyUI server, the node reports an error.

To resolve these issues:

  • Ensure correct and complete workflow JSON.
  • Verify the presence of required LoadImage and optionally LoadAudio nodes.
  • Confirm binary property names and types match expectations.
  • Check API URL and authentication credentials.
  • Increase timeout if processing takes longer.
  • Inspect ComfyUI server logs for internal errors.

Links and References

Discussion