---
title: "Wan 2.2"
method: POST
path: "/api/v1/videos/generations"
tags: ["VideoGenerations"]
---

# Wan 2.2

`POST /api/v1/videos/generations`

Wan 2.2 text-to-video and image-to-video generation. Pass `image_url` to use a reference image, or omit it for text-to-video.

**Pricing** — per task, in tokens (USD at $0.02/token):

| resolution | tokens | USD |
|---|---|---|
| 480p | 5 | $0.10 |
| 720p | 10 | $0.20 |

Returns an `img_uuid`; poll GET /api/v1/jobs/detail (or use `custom_callback_url`) to get the generated video.

## Headers

- `Authorization` string, required

## Request body

- object — Wan 2.2 supports text-to-video and first-frame image-to-video at 480p or 720p.
  - `model` 'wan22_spicy', required — Model name. Must be `wan22_spicy`.
  - `prompt` string, required — Text prompt describing the video.
  - `image_url` string, uri — Optional first-frame image URL. If provided, runs image-to-video; otherwise text-to-video.
  - `resolution` '480p' | '720p' — Output resolution. A 480p task costs 5 tokens; a 720p task costs 10 tokens.
  - `custom_callback_url` string, uri — Optional. A publicly accessible HTTPS URL. When the task status changes (processing / success / failed), GoEnhance sends a POST request to this URL. The request body is identical to the response of GET /api/v1/jobs/detail. If your server does not respond with HTTP 200, the notification is retried up to 3 times, with a 3-second timeout per attempt.

## Response `200`

Task submitted or application-level error.

- object
  - `code` integer, required
  - `msg` string, required
  - `data` object
    - `img_uuid` string

## Other responses

- `401` — Unauthorized

---

[API](https://skmtc.net/goenhance/apis/goenhance-api.md) · [All operations](https://skmtc.net/goenhance/apis/goenhance-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/goenhance/goenhance-api/revisions/0f636e1b6caf/schema)
