Seedream 5.0 Pro è LIVE | Prova nel Generatore di immagini →
Home/Esplora/Alibaba/Wan 2.7/Image To Video Spicy

Wan 2.7 Spicy Image to Video API

alibaba /

Wan 2.7 Spicy Image to Video is a fast AI image-to-video generation model that converts images into high-quality videos with smooth animations optimized for scalable content generation. Ready-to-use REST inference API for animating images, social media clips, product videos, advertising creatives, creative storytelling, and professional image-to-video workflows with simple integration, no coldstarts, and affordable pricing.

image-to-video
Input

Inattivo

$0.5per esecuzione·~20 / $10

Successivo:

EsempiVedi tutto

Modelli correlati

README

Wan 2.7 Spicy — Image-to-Video

Wan 2.7 Spicy converts images into unlimited high-quality videos with smooth, cinematic motion. It transforms static images into dynamic 720p and 1080p clips with expressive motion, rich color, and natural transitions — perfect for creative storytelling and scalable content generation.

Why It Works Well

  • Unlimited-style generation Optimized for high-quality, smooth animations at scale.

  • Expressive motion Bold, vivid motion and rich tonal contrast with stable temporal coherence.

  • Flexible resolution 720p or 1080p to match your needs.

  • Duration options 5s, 10s, or 15s clips.

Parameters

ParameterRequiredDescription
imageYesThe keyframe or base image to animate (URL or upload)
promptYesDescribe the motion, story, and style
resolutionNo720p (default) or 1080p
durationNo5, 10, or 15 seconds (default: 5)
shot_typeNosingle (default) or multi
negative_promptNoElements to avoid
enable_prompt_expansionNoEnable prompt expansion (default: false)
seedNoRandom seed; -1 for random

How to Use

  1. Upload your image — ensure clarity and proper framing.
  2. Enter a prompt — describe desired motion, mood, or camera movement.
  3. Select resolution and duration — choose based on your needs.
  4. Set a seed (optional) — for consistent, reproducible results.
  5. Run — click the button to generate your video.

Pricing

Duration720p1080p
5 s$0.50$0.75
10 s$1.00$1.50
15 s$1.50$2.25

Billing Rules

  • 720p rate: $0.50 per 5 seconds
  • 1080p rate: $0.75 per 5 seconds (1.5× multiplier)

Best Use Cases

  • Creative Storytelling — Transform static images into dynamic narrative clips.
  • Social Media Content — Generate eye-catching videos for TikTok, Reels, and Stories.
  • Music Videos — Create visually expressive content with bold motion.
  • Marketing & Ads — Produce scalable video content from product images.
  • Artistic Projects — Experimental and avant-garde video generation.

Pro Tips

  • Works best with clear, well-lit images with proper framing.
  • Use detailed prompts describing motion, mood, and camera movement for best results.
  • Enable prompt expansion for automatically enhanced descriptions.
  • Use negative_prompt to exclude unwanted elements or styles.
  • Same API shape as Wan 2.7 Image-to-Video for easy integration.

Notes

  • Both image and prompt are required fields.
  • Ensure uploaded image URLs are publicly accessible.
  • 1080p resolution costs 1.5× the 720p rate.

Related Models

Nota:Questo sito web utilizza modelli di intelligenza artificiale forniti da terze parti.

Wan 2.7 Image To Video Spicy API — Quick start

Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/alibaba/wan-2.7/image-to-video-spicy with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Wan 2.7 Image To Video Spicy below.

HTTP example
set -euo pipefail

: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"

REQUEST_BODY=$(cat <<'JSON'
{
    "image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
    "resolution": "720p",
    "duration": 5,
    "shot_type": "single",
    "enable_prompt_expansion": false,
    "seed": -1
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/alibaba/wan-2.7/image-to-video-spicy" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $WAVESPEED_API_KEY" \
  -d "$REQUEST_BODY")

TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL=$(printf '%s' "$TASK" | jq -r '.urls.get // empty')
if [ -z "$RESULT_URL" ]; then
  RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
fi

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
    -H "Authorization: Bearer $WAVESPEED_API_KEY")
  RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
  STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
  case "$STATUS" in
    completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
    failed|cancelled|timeout) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
    created|processing) sleep 2 ;;
    *) printf 'Unexpected status: %s
' "$STATUS" >&2; exit 1 ;;
  esac
done
Node.js example
const submitUrl = "https://api.wavespeed.ai/api/v3/alibaba/wan-2.7/image-to-video-spicy";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');

async function requestJson(url, options = {}) {
  const response = await fetch(url, options);
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
        "image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
        "resolution": "720p",
        "duration": 5,
        "shot_type": "single",
        "enable_prompt_expansion": false,
        "seed": -1
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = task.urls?.get ||
  `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;

// 2. Poll until the prediction finishes.
while (true) {
  const resultBody = await requestJson(resultUrl, {
    headers: { "Authorization": `Bearer ${apiKey}` },
  });
  const result = resultBody.data ?? resultBody;
  if (result.status === "completed") {
    console.log(result.outputs);
    break;
  }
  if (["failed", "cancelled", "timeout"].includes(result.status)) throw new Error(JSON.stringify(result));
  if (!["created", "processing"].includes(result.status)) throw new Error("Unexpected status: " + result.status);
  await new Promise(resolve => setTimeout(resolve, 2000));
}
Python example
import json
import os
import time
from urllib.request import Request, urlopen

api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
    "image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
    "resolution": "720p",
    "duration": 5,
    "shot_type": "single",
    "enable_prompt_expansion": False,
    "seed": -1
}

def request_json(url, data=None):
    request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
    with urlopen(request) as response:
        return json.load(response)

# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/alibaba/wan-2.7/image-to-video-spicy", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
    raise RuntimeError("Submission response did not contain a prediction id")
result_url = task.get("urls", {}).get("get") or f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"

# 2. Poll until the prediction finishes.
while True:
    result_body = request_json(result_url)
    result = result_body.get("data", result_body)
    status = result.get("status")
    if status == "completed":
        print(result.get("outputs", []))
        break
    if status in {"failed", "cancelled", "timeout"}:
        raise RuntimeError(result)
    if status not in {"created", "processing"}:
        raise RuntimeError(f"Unexpected status: {status}")
    time.sleep(2)

Wan 2.7 Image To Video Spicy API — Frequently asked questions

What is the Wan 2.7 Image To Video Spicy API?

Wan 2.7 Image To Video Spicy is a Alibaba model for video generation from images, exposed as a REST API on WaveSpeedAI. Wan 2.7 Spicy Image to Video is a fast AI image-to-video generation model that converts images into high-quality videos with smooth animations optimized for scalable content generation. Ready-to-use REST inference API for animating images, social media clips, product videos, advertising creatives, creative storytelling, and professional image-to-video workflows with simple integration, no coldstarts, and affordable pricing. You can call it programmatically or try it from the playground above.

How do I call the Wan 2.7 Image To Video Spicy API?

POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates production-oriented Python, JavaScript, and cURL examples with timeouts, transient-error handling, and safe GET retries. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/alibaba/alibaba-wan-2.7-image-to-video-spicy.

How much does Wan 2.7 Image To Video Spicy cost per run?

Wan 2.7 Image To Video Spicy starts at $0.50 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.

What inputs does Wan 2.7 Image To Video Spicy accept?

Key inputs: `prompt`, `image`, `audio`, `resolution`, `duration`, `seed`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/alibaba/alibaba-wan-2.7-image-to-video-spicy.

How long does Wan 2.7 Image To Video Spicy take to generate?

Median end-to-end generation time on WaveSpeedAI is around 193 seconds per request, based on recent successful runs. Queue time varies with global demand; live status is visible in the prediction record.

Can I use Wan 2.7 Image To Video Spicy outputs commercially?

Commercial usage rights depend on the model's license, set by its provider (Alibaba). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.

Wan 2.7 Spicy Image to Video API | WaveSpeedAI