Thanks to visit codestin.com
Credit goes to wavespeed.ai

Framepack

Framepack

Playground

Try it on WavespeedAI!

Framepack is an efficient autoregressive Image-to-Video model that generates smooth, temporally consistent videos from a single image. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

FramePack — wavespeed-ai/framepack

FramePack is an image-to-video model designed for smooth, cinematic animation from a single input image. Upload a reference image to anchor composition and subject identity, then use a director-style prompt to control motion, pacing, and camera language (push-in, pull-back, reveals, etc.). FramePack exposes frame-level control via num_frames, making it convenient for generating clips at different lengths while keeping output stable and consistent.

Key capabilities

  • Image-to-video generation anchored to a reference image
  • Strong at cinematic camera moves (push-in, pull-back, reveal, orbit, tilt)
  • Frame-level length control via num_frames for flexible clip duration
  • Supports negative_prompt to reduce jitter, blur, distortion, and artifacts
  • Resolution and aspect_ratio controls for common output formats

Use cases

  • “Living poster” animations: bring key art to life with subtle motion
  • Cinematic reveals: close-up → pull-back to establish scene context
  • Mood shots and b-roll from a single still (rain, neon, dust motes, fog, wind)
  • Trailer-style beats for marketing and social content
  • Rapid iteration by keeping the same image and varying prompt/seed/frames

Pricing

Pricing scales with the number of frames generated.

FramesPrice per run
60$0.066
120$0.132
180$0.198
240$0.264

Inputs

  • image (required): reference image (subject/composition anchor)
  • prompt (required): motion + camera direction
  • negative_prompt (optional): what to avoid (blur, jitter, distortion, etc.)

Parameters

  • image: input image (upload or URL)
  • prompt: director-style motion description
  • negative_prompt: optional “avoid list”
  • aspect_ratio: output aspect ratio (e.g., 16:9)
  • resolution: output resolution (e.g., 720p)
  • num_inference_steps: sampling steps
  • num_frames: total frames to generate (controls clip length)
  • guidance_scale: prompt adherence strength
  • seed: random seed (set for reproducible results)

Prompting guide (I2V)

Write prompts like a shot list:

  • Start framing: close-up / medium / wide
  • Camera move: push-in / pull-back / pan / orbit
  • Motion: hair, cloth, rain, particles, light flicker, subtle facial change
  • Mood/lighting: neon, rim light, fog, bokeh, cinematic contrast
  • Constraints: keep the subject identity and composition consistent

Example prompts

  • Animate with a deliberate, unfolding sense of drama. Start with a tight close-up on the eyes, then slowly pull back to reveal the full figure on a rain-slick balcony, neon city lights shimmering in the background, subtle wind and drifting rain, cinematic lighting, smooth camera motion.
  • Slow push-in on the subject, soft fog rolls through the scene, gentle light flicker, filmic contrast, no jitter, stable face and hands.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result


# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/framepack" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "seed": 0,
    "num_inference_steps": 25,
    "num_frames": 180,
    "guidance_scale": 10
}'

# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
imagestringYes-The URL of the video to generate the audio for.
promptstringYes-The positive prompt for the generation.
negative_promptstringNo-The negative prompt for the generation.
aspect_ratiostringNo16:916:9, 9:16The aspect ratio of the generated media.
resolutionstringNo720p720p, 480pThe resolution of the video to generate. 720p generations cost 1.5x more than 480p generations.
seedintegerNo--1 ~ 2147483647The random seed to use for the generation.
num_inference_stepsintegerNo254 ~ 50The number of inference steps to perform.
num_framesintegerNo18030 ~ 1800The duration of the audio to generate.
guidance_scalenumberNo100 ~ 32The guidance scale to use for the generation.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction, the ID of the prediction to get
data.modelstringModel ID used for the prediction
data.outputsstringArray of URLs to the generated content (empty when status is not completed).
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.