Wan 2.2 Text-to-Video Spicy
Wan 2.2 Text-to-Video Spicy is an uncensored model built for high-energy video synthesis. As a Spicy uncensored model, it bypasses standard restrictions to render fluid physical movements, dramatic action, and cinematic scenes from text prompts. Ideal for action scenes and creative media.
Wan 2.2 Text-to-Video Spicy
Tongyi Wanxiang Wan 2.2 Text-to-Video Spicy is Alibaba Cloud's high-definition video generation model. It generates 5-second videos from a text prompt with optional negative prompts, multiple resolution options, and optional watermarks.
Base URL
https://api.icreat.ai
Authentication
All API requests must be authenticated with an API Key. You can obtain an API Key from the console.
export ICREAT_API_KEY="your-api-key-here"
HTTP Request Headers
import os
API_KEY = os.environ.get("ICREAT_API_KEY")
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer " + API_KEY,
}
Protect your API Key Never expose your API Key in client-side code or public repositories. Use environment variables or a backend proxy.
Code Examples
Video generation uses a two-step async flow: submit a task to get task_id, then poll via query task result; the response includes status and result ([] while processing; on SUCCEEDED, result holds resources and costUSD is present). The examples below use the same task_id across both steps.
1. Submit Task
Send a generation request to the submit endpoint.
2. Query Task Result (Poll)
Use the task_id from submit to poll progress (repeat until terminal). The response includes status and result: result is [] while processing; on SUCCEEDED, result holds resources and costUSD is included; FAILED means the task failed.
Input Schema
Submit Task — Input
Total: 2 Required: 2 Optional: 0
Generation input payload.
Generation parameters. (Note: Video duration is fixed to 5 seconds. duration parameter is not supported).
Query Task Result — Input
Total: 1 Required: 1 Optional: 0
The task ID returned from the submit endpoint.
Output Schema
Submit Task — Output
Total: 1
Async task identifier.
Query Task Result — Output
Total: variable
Current task status. result is usually [] until success; on SUCCEEDED, result holds resources and costUSD is present.
Generated resources. Empty array while processing or on failure; array of objects on success.
Task cost in USD. Present only when status is SUCCEEDED.
LLM Prompt
The Markdown below is an LLM-friendly prompt you can paste into AI assistants (e.g. Cursor, ChatGPT) to help them understand this model's API, call flow, and key parameters. Use Copy for AI or copy from the code block below.
# aliyun/wan2-2/text-to-video-global
> Tongyi Wanxiang Wan 2.2 Text-to-Video Plus is Alibaba Cloud's video generation model.
## Overview
Use the iCreat two-step async task API: submit a generation request, then poll the query task result endpoint; on success read resources from `result` (includes `costUSD`).
## API Info
- **Base URL**: `https://api.icreat.ai`
- **Submit endpoint (POST)**: `/v1/task/submit/aliyun/wan2-2/text-to-video-global`
- **Query result endpoint (POST)**: `/v1/task/result`
- **Model ID**: `aliyun/wan2-2/text-to-video-global`
- **Auth**: `Authorization: Bearer ${ICREAT_API_KEY}`
## Call Flow
1. **Submit**: POST the submit path with `input` and `parameters`; response: `{ "task_id": "..." }`
2. **Query result**: POST `/v1/task/result` with `{ "task_id": "..." }`; while processing, `result` is `[]`. On `SUCCEEDED`, read the video from `result` and the task cost from `costUSD`.
### Input Notes
- Top-level body: `input` and `parameters` are sibling objects.
- `input.prompt` (required): Prompt describing the video to generate. Multiline text supported.
- `input.negative_prompt` (optional): Elements to avoid in the generation (e.g., distortion, blur).
- `parameters.size` (required): Video resolution and aspect ratio in `width*height` format. Supported options: `1920*1080` (16:9), `1080*1920` (9:16), `1440*1440` (1:1), `1632*1224` (4:3), `1224*1632` (3:4), `832*480`, `480*832`, `624*624`.
- `parameters.watermark` (optional): Whether to add a watermark. Default: `false`.
- Note: Duration is fixed to 5 seconds by the model. Do NOT pass `duration`, `prompt_extend`, or `seed`.
### Request Example
{
"input": {
"prompt": "a running cat",
"negative_prompt": "Blurry"
},
"parameters": {
"size": "1920*1080",
"watermark": false
}
}
### Output Notes
- Poll: read `status`; `result` is `[]` while processing.
- Success: `result` is `[{ "type": "Video", "url": "...", "download_url": "..." }]` and `costUSD` is present.
## Notes
- Use the same `task_id` across both steps.
- Continue polling while the task is processing.
- `FAILED` is terminal; check the request parameters.
- Keep `input` and `parameters` as sibling top-level fields.
