Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
josiahsiegel avatar

Fal Image To Video

  • 61 installs
  • 50 repo stars
  • Updated June 18, 2026
  • josiahsiegel/claude-plugin-marketplace

Helps with ai & agent building tasks.

About

fal-image-to-video is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.

  • fal-image-to-video
  • AI & Agent Building
  • AI-coding skill

Fal Image To Video by the numbers

  • 61 all-time installs (skills.sh)
  • +4 installs in the week ending Aug 2, 2026 (Skillselion tracking)
  • Ranked #6,381 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/josiahsiegel/claude-plugin-marketplace --skill fal-image-to-video

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs61
repo stars50
Last updatedJune 18, 2026
Repositoryjosiahsiegel/claude-plugin-marketplace

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

Quick Reference

ModelEndpointAudioLoopBest For
Kling 2.6 Profal-ai/kling-video/v2.6/pro/image-to-videoYesNoCinematic
MiniMaxfal-ai/minimax-video/image-to-videoNoNoReliable
Lumafal-ai/luma-dream-machineNoYesCreative
SVDfal-ai/stable-video-diffusionNoNoFast test
Motion TypeKeywordsExample
Characterwalks, turns, smiles"She slowly turns her head"
Naturesways, flows, falls"Leaves flutter in the wind"
Camerapans, zooms, tracks"Camera slowly pans right"
Use CaseRecommended Model
PortraitsKling 2.5/2.6 Pro
ProductsMiniMax (optimizer)
LandscapesLuma (loop)
Fast testingSVD, Runway Turbo

When to Use This Skill

Use for image animation:

  • Animating still portraits with natural motion
  • Creating product showcase videos
  • Generating ambient loop videos
  • Adding subtle motion to landscapes
  • Preview workflow before final render

Related skills:

  • For text-to-video: see fal-text-to-video
  • For video editing: see fal-video-to-video
  • For text-to-image first: see fal-text-to-image

---

fal.ai Image-to-Video Models

Complete reference for all image animation and image-to-video models on fal.ai.

Kling Image-to-Video

Kling 2.0 Image-to-Video

Endpoint: fal-ai/kling-video/v2.0/image-to-video Best For: Standard image animation

import { fal } from "@fal-ai/client";

const result = await fal.subscribe("fal-ai/kling-video/v2.0/image-to-video", {
  input: {
    prompt: "The person slowly turns their head and smiles warmly",
    image_url: "https://example.com/portrait.jpg",
    duration: "5",
    aspect_ratio: "16:9"
  }
});

console.log(result.video.url);
import fal_client

result = fal_client.subscribe(
    "fal-ai/kling-video/v2.0/image-to-video",
    arguments={
        "prompt": "The person slowly turns their head and smiles",
        "image_url": "https://example.com/portrait.jpg",
        "duration": "5",
        "aspect_ratio": "16:9"
    }
)
print(result["video"]["url"])

Kling 2.5 Pro Image-to-Video

Endpoint: fal-ai/kling-video/v2.5/pro/image-to-video Best For: Professional quality animation

const result = await fal.subscribe("fal-ai/kling-video/v2.5/pro/image-to-video", {
  input: {
    prompt: "The car drives forward along the mountain road, camera follows",
    image_url: "https://example.com/car-scene.jpg",
    duration: "5",
    aspect_ratio: "16:9",
    negative_prompt: "static, frozen, distorted"
  }
});

Kling 2.6 Pro Image-to-Video (Latest)

Endpoint: fal-ai/kling-video/v2.6/pro/image-to-video Best For: Highest quality with native audio

const result = await fal.subscribe("fal-ai/kling-video/v2.6/pro/image-to-video", {
  input: {
    prompt: "The waterfall cascades down with a gentle roar, birds fly past",
    image_url: "https://example.com/waterfall.jpg",
    duration: "5",
    aspect_ratio: "16:9"
  }
});

console.log(result.video.url);
console.log(result.audio?.url);  // Native audio

Kling Parameters:

ParameterTypeValuesDescription
promptstring-Motion description
image_urlstring-Source image URL
durationstring"5", "10"Duration in seconds
aspect_ratiostring"16:9", "9:16", "1:1"Output dimensions
negative_promptstring-What to avoid

MiniMax Image-to-Video

MiniMax Hailuo

Endpoint: fal-ai/minimax-video/image-to-video Best For: Reliable image animation with prompt optimization

const result = await fal.subscribe("fal-ai/minimax-video/image-to-video", {
  input: {
    prompt: "The cat stretches and yawns, then walks forward",
    image_url: "https://example.com/sleeping-cat.jpg",
    prompt_optimizer: true  // Auto-enhance prompt
  }
});
result = fal_client.subscribe(
    "fal-ai/minimax-video/image-to-video",
    arguments={
        "prompt": "The cat stretches and yawns",
        "image_url": "https://example.com/cat.jpg",
        "prompt_optimizer": True
    }
)

MiniMax Parameters:

ParameterTypeDescription
promptstringMotion description
image_urlstringSource image URL
prompt_optimizerbooleanAuto-enhance prompt

LTX Image-to-Video

LTX Video Image-to-Video

Endpoint: fal-ai/ltx-video/image-to-video Best For: Fast image animation

const result = await fal.subscribe("fal-ai/ltx-video/image-to-video", {
  input: {
    prompt: "The flowers sway gently in the breeze",
    image_url: "https://example.com/flower-field.jpg",
    negative_prompt: "static, frozen",
    num_inference_steps: 30,
    guidance_scale: 7.5
  }
});

LTX Video v2 Image-to-Video

Endpoint: fal-ai/ltx-video/v2/image-to-video Best For: Improved quality animation

const result = await fal.subscribe("fal-ai/ltx-video/v2/image-to-video", {
  input: {
    prompt: "Smoke rises and swirls from the chimney",
    image_url: "https://example.com/cabin.jpg",
    num_inference_steps: 35,
    guidance_scale: 7.0
  }
});

LTX Parameters:

ParameterTypeDefaultDescription
promptstring-Motion description
image_urlstring-Source image
negative_promptstring-What to avoid
num_inference_stepsnumber30Quality steps
guidance_scalenumber7.5Prompt adherence

Runway Gen-3 Image-to-Video

Runway Gen-3 Turbo

Endpoint: fal-ai/runway-gen3/turbo/image-to-video Best For: Fast iteration, previews

const result = await fal.subscribe("fal-ai/runway-gen3/turbo/image-to-video", {
  input: {
    prompt: "The model walks confidently down the runway",
    image_url: "https://example.com/fashion-shot.jpg",
    duration: 5
  }
});

Runway Parameters:

ParameterTypeValuesDescription
promptstring-Motion description
image_urlstring-Source image
durationnumber5, 10Seconds

Luma Dream Machine

Luma Image-to-Video

Endpoint: fal-ai/luma-dream-machine Best For: Creative, artistic animation

const result = await fal.subscribe("fal-ai/luma-dream-machine", {
  input: {
    prompt: "The magical portal opens with swirling energy",
    image_url: "https://example.com/fantasy-scene.jpg",
    aspect_ratio: "16:9",
    loop: true  // Create seamless loop
  }
});
result = fal_client.subscribe(
    "fal-ai/luma-dream-machine",
    arguments={
        "prompt": "The portal opens with swirling energy",
        "image_url": "https://example.com/scene.jpg",
        "aspect_ratio": "16:9",
        "loop": True
    }
)

Luma Parameters:

ParameterTypeDescription
promptstringMotion description
image_urlstringSource image
aspect_ratiostring"16:9", "9:16", "1:1"
loopbooleanCreate looping video

Wan Image-to-Video

Wan v2.1 Image-to-Video

Endpoint: fal-ai/wan/v2.1/1.3b/image-to-video Best For: Lightweight animation

const result = await fal.subscribe("fal-ai/wan/v2.1/1.3b/image-to-video", {
  input: {
    prompt: "The leaves flutter and fall from the tree",
    image_url: "https://example.com/autumn-tree.jpg",
    num_frames: 81
  }
});

Stable Video Diffusion

SVD Image-to-Video

Endpoint: fal-ai/stable-video-diffusion Best For: Open-source image animation

const result = await fal.subscribe("fal-ai/stable-video-diffusion", {
  input: {
    image_url: "https://example.com/landscape.jpg",
    motion_bucket_id: 127,  // 0-255, higher = more motion
    fps: 7,
    num_frames: 25
  }
});

SVD Parameters:

ParameterTypeDefaultDescription
image_urlstring-Source image
motion_bucket_idnumber127Motion intensity (0-255)
fpsnumber7Frames per second
num_framesnumber25Total frames
seednumber-For reproducibility

SVD XT

Endpoint: fal-ai/stable-video-diffusion-xt Best For: Extended video length

const result = await fal.subscribe("fal-ai/stable-video-diffusion-xt", {
  input: {
    image_url: "https://example.com/scene.jpg",
    motion_bucket_id: 127,
    num_frames: 25,
    fps: 6
  }
});

CogVideoX Image-to-Video

CogVideoX-5B Image-to-Video

Endpoint: fal-ai/cogvideox-5b/image-to-video Best For: Open-source alternative

const result = await fal.subscribe("fal-ai/cogvideox-5b/image-to-video", {
  input: {
    prompt: "The astronaut waves to the camera",
    image_url: "https://example.com/astronaut.jpg",
    num_inference_steps: 50,
    guidance_scale: 6.0
  }
});

Model Comparison

Quality Ranking

TierModelsQualitySpeed
PremiumKling 2.6 ProHighestSlow
ProfessionalKling 2.5 Pro, RunwayHighMedium
StandardMiniMax, LTX v2GoodFast
BudgetSVD, CogVideoXAcceptableFast

Feature Comparison

ModelAudioDurationLoopBest For
Kling 2.6 ProYes5-10sNoCinematic
Kling 2.5 ProNo5-10sNoProfessional
MiniMaxNo6sNoReliable
Runway TurboNo5-10sNoFast
LumaNo5sYesCreative
SVDNo3-4sNoOpen source

Prompt Engineering for Image Animation

Motion Description Structure

[Subject action] + [Motion quality] + [Camera movement] + [Atmosphere]

Examples:

// Good: Specific motion
"The woman slowly turns her head to the right and smiles, gentle breeze moves her hair"

// Bad: Vague
"The woman moves"

Motion Types

TypeKeywordsExample
Character"walks", "runs", "dances", "gestures""She waves hello"
Nature"sways", "flows", "rustles", "falls""Leaves fall gently"
Mechanical"rotates", "spins", "moves", "opens""The door opens slowly"
Atmospheric"drifts", "swirls", "rises", "disperses""Fog drifts across"

Camera Motion Keywords

KeywordEffect
"camera slowly pans"Horizontal sweep
"slight zoom in"Gradual zoom
"tracking shot"Follows subject
"static camera"No camera movement
"subtle camera shake"Handheld feel

Quality Modifiers

  • "smooth motion"
  • "natural movement"
  • "fluid animation"
  • "subtle motion"
  • "cinematic"

Complete Parameter Reference

interface ImageToVideoInput {
  // Required
  prompt: string;
  image_url: string;

  // Duration (varies by model)
  duration?: number | string;

  // Dimensions
  aspect_ratio?: "16:9" | "9:16" | "1:1";

  // Quality
  negative_prompt?: string;
  num_inference_steps?: number;
  guidance_scale?: number;

  // Model-specific
  prompt_optimizer?: boolean;  // MiniMax
  loop?: boolean;              // Luma
  motion_bucket_id?: number;   // SVD (0-255)
  fps?: number;                // SVD
  num_frames?: number;         // SVD, Wan

  // Reproducibility
  seed?: number;
}

Workflow Examples

Portrait Animation Pipeline

// 1. Generate a portrait image
const portrait = await fal.subscribe("fal-ai/flux/dev", {
  input: {
    prompt: "Professional headshot of a business woman, neutral expression, studio lighting",
    image_size: "portrait_4_3"
  }
});

// 2. Animate the portrait
const video = await fal.subscribe("fal-ai/kling-video/v2.5/pro/image-to-video", {
  input: {
    prompt: "She slowly turns her head, makes eye contact with camera, and gives a warm professional smile",
    image_url: portrait.images[0].url,
    duration: "5",
    aspect_ratio: "16:9"
  }
});

console.log(video.video.url);

Product Showcase

// Animate product image
const result = await fal.subscribe("fal-ai/minimax-video/image-to-video", {
  input: {
    prompt: "The camera slowly rotates around the product, highlighting details, studio lighting",
    image_url: "https://example.com/product-shot.jpg",
    prompt_optimizer: true
  }
});

Nature Scene

// Create ambient nature video
const result = await fal.subscribe("fal-ai/luma-dream-machine", {
  input: {
    prompt: "Gentle breeze moves through the grass, clouds drift slowly overhead, peaceful ambient motion",
    image_url: "https://example.com/landscape.jpg",
    aspect_ratio: "16:9",
    loop: true  // Perfect for background video
  }
});

Fast Preview Workflow

// Quick preview with faster model
const preview = await fal.subscribe("fal-ai/stable-video-diffusion", {
  input: {
    image_url: sourceImage,
    motion_bucket_id: 100
  }
});

console.log("Preview:", preview.video.url);

// If satisfied, use higher quality model
const final = await fal.subscribe("fal-ai/kling-video/v2.6/pro/image-to-video", {
  input: {
    prompt: "Refined motion description based on preview",
    image_url: sourceImage,
    duration: "5"
  }
});

Best Practices

Image Preparation

1. High Resolution: Use high-quality source images 2. Clear Subject: Ensure main subject is clearly visible 3. Proper Framing: Leave room for motion 4. Consistent Lighting: Avoid harsh shadows

Prompt Tips

1. Describe the motion, not the static scene 2. Be specific about direction (left, right, forward) 3. Include speed (slowly, quickly, gradually) 4. Match motion to image content

Common Issues

IssueCauseSolution
Static outputVague promptAdd specific motion verbs
Distorted facesFast motionUse "subtle", "gentle"
Inconsistent motionComplex sceneFocus on one element
Cut-off motionShort durationExtend duration if available

Model Selection

Use CaseRecommended Model
PortraitsKling 2.5/2.6 Pro
ProductsMiniMax (prompt optimizer)
LandscapesLuma (loop option)
Fast testingSVD, Runway Turbo
With audioKling 2.6 Pro

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.