FFmpeg Advanced

Process video and audio using FFmpeg with advanced and preset capabilities

Image to Video

AI-generated

Summary

Convert a static image into a video with configurable duration, frame rate, and optional interpolation or preset effects (zoom, pan, aspect-ratio cropping).

Inputs

  • inputSource — Select 'Binary Field' to use the item's binary data, or 'File Path' to reference a local file path. Defaults to binary when inputSource is binary; inputPath is required when inputSource is path for Image to Video operation. Displayed for operations: convert, compress, custom, imageToVideo, metadata.
  • inputPath — Absolute path to the input image file. Required when inputSource is 'Path'. Displayed when inputSource is path for operations: convert, compress, custom, imageToVideo, metadata.
  • binaryPropertyName (required) — The binary property containing the image media to process. Defaults to 'data'. Ignored when inputSource is Path. Hidden for operation 'merge'.
  • animationPreset — Predefined visual effect for the image-to-video conversion. Options: 'simple' (loop), 'zoompan' (1.5x zoom), 'shorts' (9:16 crop+zoom), 'youtubelong' (16:9 crop+zoom). Defaults to 'zoompan'. Shown for operation 'imageToVideo'.
  • duration — Duration in seconds of the output video. Applied with frameRate and animationPreset. Defaults to 5. Shown for operation 'imageToVideo'.
  • frameRate — Frame rate of the output video in FPS. Applied alongside duration and animationPreset. Defaults to 25. Shown for operation 'imageToVideo'.
  • enableInterpolation — Use motion-compensated interpolation to generate intermediate frames for smoother video. Warning: Slows down processing significantly. Defaults to false. Shown for operations 'convert' and 'imageToVideo'.
  • interpolationFps — Target frame rate for motion interpolation. Only active when enableInterpolation is true. Defaults to 60. Shown when operation is 'convert' or 'imageToVideo' and enableInterpolation is true.
  • interpolationMode — Interpolation algorithm: 'mci' (Motion Compensated, high quality, optical flow) or 'blend' (fast, creates ghosting effects). Defaults to 'mci'. Shown when operation is 'convert' or 'imageToVideo' and enableInterpolation is true.
  • saveToFile — If true, save the processed video to a file on disk instead of returning binary data. Defaults to false.
  • filePath — Full absolute path where the video will be saved. Required when saveToFile is true. Directory must exist and be writable. Displayed when saveToFile is true.
  • fileName — Optional custom filename (without extension) for the returned binary data. If empty, a UUID is used. Displayed when saveToFile is false.

Output shape

Returns the processed video as binary data attached to the property specified by binaryPropertyName (default 'data'), or saves to the specified file path if saveToFile is true. The workflow item continues with the result binary or file reference.

Input image is read from the binary property or file path, processed via FFmpeg with -loop 1, -t duration, -pix_fmt yuv420p, and optional minterpolate filter or preset video filters (zoompan, scale/crop). Temp input files are written to system temp directory and cleaned up after execution. If saveToFile is true, the output video is copied to the specified path and the item json includes saved: true and outputFilePath.

Examples

Example 1: Convert a binary image to a 10-second MP4 video with zoom pan effect.

inputSource: binary; binaryPropertyName: data; animationPreset: zoompan; duration: 10; frameRate: 25; saveToFile: false

Example 2: Create a 9:16 vertical video from an image using the Shorts preset.

inputSource: binary; binaryPropertyName: data; animationPreset: shorts; duration: 60; frameRate: 30; saveToFile: true; filePath: /tmp/output/shorts.mp4

Discussion