bluewaves-creations

video-from-image

Animate a single image into a video using fal.ai Veo 3.1. Use when the user wants to create a video from a still image, animate a photo, or bring an image to life. Supports up to 8 seconds of video with optional audio.

bluewaves-creations 1 Updated 6mo ago

Resources

2
GitHub

Install

npx skillscat add bluewaves-creations/bluewaves-skills/video-from-image

Install via the SkillsCat registry.

About this skill

This skill animates a single still image into a short video of up to 8 seconds using the fal.ai Veo 3.1 model, with optional audio generation. It solves the problem of creating dynamic video content from static photos by allowing users to specify motion prompts and camera movements. Developers should use it when they need to generate video content from existing images, such as animating photos for presentations or creating short video clips from artwork.

SKILL.md

Video from Image

Animate a single image into a dynamic video using Google DeepMind's Veo 3.1 model via fal.ai.

See references/fal-api.md for setup, Python patterns, and error handling.

API Endpoint

fal-ai/veo3.1/image-to-video

Parameters

Required

  • prompt (string): Text description of the video motion and action to generate
  • image_url (string): URL of the input image to animate (use fal_client.upload_file() for local files)

Optional

Parameter Type Default Options
duration string "8s" "4s", "6s", "8s"
aspect_ratio string "auto" "auto", "9:16", "16:9"
resolution string "720p" "720p", "1080p"
generate_audio boolean true Disable to save ~50% credits

CLI Script

python3 scripts/fal_generate.py \
    --endpoint video-from-image \
    --prompt "Camera slowly pans across the landscape" \
    --image /path/to/photo.jpg \
    --duration 8s \
    --video-resolution 1080p \
    --output video.mp4

Tips

  • Use descriptive motion language in prompts: pan, zoom, sway, flow, drift
  • Describe camera movements for cinematic effects: "slow dolly forward", "aerial pull back"
  • Higher resolution (1080p) gives better quality but takes longer and costs more
  • Disable audio generation (generate_audio: False) to save credits when sound is not needed
  • Ensure input image is at least 720p for best results
  • Shorter duration (4s) generates faster and is good for quick previews