Skip to documentation

Models and runtimes

Image-to-video generation

Wan 2.2 Image to Video Pipeline A complete pipeline for generating videos from images using Wan 2.2 14B I2V with physics optimized LoRAs. Components Pipeline Files File Description i2v pipeline.py Main Python pipeline script i2v config.json

Wan 2.2 Image-to-Video Pipeline

A complete pipeline for generating videos from images using Wan 2.2 14B I2V with physics-optimized LoRAs.

Components

Pipeline Files

File Description
i2v_pipeline.py Main Python pipeline script
i2v_config.json Default configuration file
i2v_workflow.json ComfyUI workflow for GUI usage
prompts/i2v_templates.py Prompt templates and builders

Required immutable Stado artifact

Operators publish one archive containing the complete model tree, then configure:

WISENT_WAN_VIDEO_ARTIFACT_URI=stado://wisent-app/models/wan-video/sha256/<sha256>.tar.gz
WISENT_WAN_VIDEO_ARTIFACT_SHA256=<sha256>
WISENT_WAN_VIDEO_MODEL_PATH=/absolute/materialized/model/tree

The URI digest and the separate digest must match. The authenticated Stado machine/object boundary verifies the archive before extraction; the CLIs reject missing, relative, or incomplete materialized paths and never download models.

The materialized tree must include:

  • diffusion_models/wan2.2_ti2v_5B_fp16.safetensors
  • vae/wan2.2_vae.safetensors
  • text_encoders/umt5_xxl_fp16.safetensors
  • any LoRAs referenced by the selected configuration under loras/

Usage

Command Line

# Basic usage
python i2v_pipeline.py --image input.png --prompt "woman dancing sensually" --output output.mp4

# With custom settings
python i2v_pipeline.py --image input.png --prompt "description" --steps 40 --cfg 7.0 --frames 81

# With config file
python i2v_pipeline.py --image input.png --config custom_config.json

# Create default config
python i2v_pipeline.py --create-config my_config.json

# List required models
python i2v_pipeline.py --list-models

Artifact readiness

There is no direct-provider downloader. Publish the exact reviewed bytes through the Stado object boundary, record their measured SHA-256, and let the trusted launcher materialize the archive before invoking the pipeline.

ComfyUI Workflow

  1. Open ComfyUI
  2. Load i2v_workflow.json
  3. Update the input image in "Load Input Image" node
  4. Modify prompt in "Encode Text Prompts" node
  5. Adjust sampler settings as needed
  6. Queue prompt

Configuration Options

Generation Settings

Parameter Default Description
width 832 Video width (must be multiple of 32)
height 480 Video height (must be multiple of 32)
num_frames 49 Number of frames (~3s at 16fps)
fps 16 Output video FPS
steps 30 Sampling steps
cfg 6.0 Classifier-free guidance scale
shift 5.0 Sampling shift factor
sampler unipc Sampler algorithm

LoRA Strengths

Default strengths optimized for the physics LoRAs:

{
  "WAN General NSFW": 0.8,
  "M4CROM4STI4 Breasts Physics": 0.6,
  "High Noise I2V": 0.5
}

Adjust based on desired effect:

  • Higher physics LoRA strength = more exaggerated bounce
  • Higher NSFW LoRA strength = more explicit generation
  • Higher High Noise = more dynamic motion

Prompt Guidelines

Recommended Negative Prompt (Chinese)

The Chinese negative prompt is recommended for Wan 2.2:

色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走

Prompt Structure

For best results, structure prompts as:

  1. Subject description
  2. Action/pose description
  3. Motion details (bouncing, rocking, etc.)
  4. Expression/mood
  5. Camera motion instructions

Camera Motion Keywords

  • Camera smoothly zooms in - Gradual zoom
  • Zoom in on the woman's breasts - Targeted zoom
  • Tilt down from face to waist - Vertical pan
  • Camera orbits around - Circular motion
  • Static camera - Fixed position

Example Prompts

Physics Showcase

A woman moving sensually with natural body physics. 
Her breasts bounce naturally with each movement.
High quality, detailed, smooth motion.
Camera motion: Zoom in slowly.

Full Scene (from CivitAI reference)

A woman straddling a man who is lying on his back. The camera smoothly zooms in to woman's face and breasts. The woman's legs are spread wide and she is sitting on top of the man in the cowgirl position with his erect penis penetrating her vagina quickly. His penis is going in and out of her pussy at very fast speed. He is piston fucking causing her body hips into a rocking motion while her breasts bounce from each thrust, she bounces forward, her breasts are bouncing. She is immersed in deep pleasure and has a light smile on her face. She stares at the camera with a seductive stare. She keeps looking at the camera. Camera motion: Zoom in on the woman's breasts to emphasize jiggle of breasts. And then, tilt down from the woman's face to waist from above.

System Requirements

  • GPU VRAM:
    • 14B model: ~32GB (recommended)
    • 5B model: ~16GB (alternative)
  • RAM: 32GB+ recommended
  • Storage: ~50GB for all models

Troubleshooting

Out of Memory

  1. Enable tile_decode in config (reduces VRAM during decoding)
  2. Reduce num_frames
  3. Use smaller resolution
  4. Use 5B model instead of 14B

Poor Motion Quality

  1. Increase steps to 40-50
  2. Adjust cfg between 5.0-7.0
  3. Increase High Noise I2V LoRA strength
  4. Ensure input image is clear and well-lit

Unrealistic Physics

  1. Adjust M4CROM4STI4 LoRA strength (0.4-0.8)
  2. Include physics keywords in prompt
  3. Describe motion explicitly in prompt