A built-in thinking mode
Before generating, it reasons about composition, spatial relationships, and prompt logic, which produces noticeably better results on complex, multi-element scenes.
Alibaba Tongyi Lab's unified image generation and editing model (Apr 2026), notable for a "thinking mode" that plans composition before generating, plus strong text rendering and multi-reference control.
Integrate Wan Image 2.7 with a single API call — one key, one unified endpoint, and shared billing across every model on Apiframe.
model: "wan-image-2.7"
Before generating, it reasons about composition, spatial relationships, and prompt logic, which produces noticeably better results on complex, multi-element scenes.
One model handles text-to-image, multi-reference composition with up to 9 reference images, and region-level editing in a single workflow.
It generates a coherent batch of related images from one prompt, ideal for the same character across scenes, product angles, or storyboard sequences.
It renders thousands of characters across many languages, including readable formulas, tables, signs, and labels, which suits posters and educational visuals.
It locks outputs to exact colors with hex palette control and generates distinct, consistent characters rather than recycling a single "AI face."
You describe a change, like swapping a background, and it preserves everything else, with affordable standard-tier generation up to 2K.
A few outputs generated through the Wan Image 2.7 API on Apiframe.
An A4 tech conference poster with a structured layout, readable headings, and a schedule table.
A coherent set of four images of the same orange cat across spring, summer, autumn, and winter.
A clean e-commerce product shot of a sneaker on a white background, sharp detail.
An educational diagram explaining the rock cycle with labeled stages and readable captions.
A brand banner using these exact hex colors, with the headline 'NEW ARRIVALS' in bold type.
Change the background of this portrait to a beach sunset, keeping the face, pose, and clothing unchanged.
Send a single POST /v2/images/generate request with your API key to
generate with Wan Image 2.7. The call returns a jobId you can poll or
receive via webhook.
curl -X POST https://api.apiframe.ai/v2/images/generate \
-H "X-API-Key: afk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"prompt": "a sleek silver sports car on a coastal highway at sunset, hyper-realistic",
"model": "wan-image-2.7",
"wanParams": {
"image": "https://example.com/input.jpg",
"thinking_mode": false,
"seed": 1
}
}'import requests
response = requests.post(
"https://api.apiframe.ai/v2/images/generate",
headers={
"X-API-Key": "afk_your_api_key_here",
"Content-Type": "application/json",
},
json={
"prompt": "a sleek silver sports car on a coastal highway at sunset, hyper-realistic",
"model": "wan-image-2.7",
"wanParams": {
"image": "https://example.com/input.jpg",
"thinking_mode": False,
"seed": 1
}
},
)
print(response.json()) # { "jobId": "...", "status": "QUEUED" }const response = await fetch("https://api.apiframe.ai/v2/images/generate", {
method: "POST",
headers: {
"X-API-Key": "afk_your_api_key_here",
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "a sleek silver sports car on a coastal highway at sunset, hyper-realistic",
"model": "wan-image-2.7",
"wanParams": {
"image": "https://example.com/input.jpg",
"thinking_mode": false,
"seed": 1
}
}),
});
const { jobId } = await response.json();
console.log(jobId);Generation is asynchronous. A successful submission returns 202 Accepted with a jobId. Poll GET /v2/jobs/{id} (or supply a webhook_url) until the status is COMPLETED; the result field then holds the output URL(s).
{
"jobId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"status": "QUEUED"
}curl https://api.apiframe.ai/v2/jobs/JOB_ID \
-H "X-API-Key: afk_your_api_key_here"import requests, time
while True:
job = requests.get(
"https://api.apiframe.ai/v2/jobs/JOB_ID",
headers={"X-API-Key": "afk_your_api_key_here"},
).json()
if job["status"] in ("COMPLETED", "FAILED"):
break
time.sleep(2)
print(job["result"])let job;
do {
await new Promise((r) => setTimeout(r, 2000));
job = await fetch("https://api.apiframe.ai/v2/jobs/JOB_ID", {
headers: { "X-API-Key": "afk_your_api_key_here" },
}).then((r) => r.json());
} while (job.status !== "COMPLETED" && job.status !== "FAILED");
console.log(job.result);Request parameters accepted by the Wan Image 2.7 endpoint. Model-specific options are nested under the params object shown below.
| Parameter | Type | Required | Default | Allowed / range | Description |
|---|---|---|---|---|---|
| prompt | string | required | — | — | Text description of what to generate. |
| model | string | required | "wan-image-2.7" | "wan-image-2.7" | The model identifier for this endpoint. |
| wanParams.image | string (URL) | optional | — | — | Reference image (URL) |
| wanParams.thinking_mode | boolean | optional | false | — | Slower, more deliberate generation. |
| wanParams.seed | number | optional | — | step 1 | Reuse a number to reproduce the same result. |
Common questions about the Wan Image 2.7 API.
Alibaba Tongyi Lab's unified image generation and editing model, released in April 2026.
A reasoning step where the model analyzes composition and spatial logic before generating, improving adherence on complex prompts.
Instruction following and dense, readable text, across e-commerce, posters, diagrams, and marketing assets.
Pro uses a larger model and dataset for native 4K and stronger composition on complex, dense scenes, while the standard tier covers most work at up to 2K for less cost.
Yes. It supports mask-free editing, up to 9 reference images, and image sets for consistent characters.
Through Apiframe, as well as Alibaba Cloud Model Studio and major hosting partners.
Still have questions?
Get your API key and integrate Wan Image 2.7 in minutes — Pay-as-you-go.
Questions? Join our Discord or contact sales.