Introduction
Wan 2.7 Pro Text to image turns a written art direction into a new image. Use it when composition, subject, lighting, and visual hierarchy need to be designed from a brief.
Choose a Wan 2.7 Pro mode by starting material
| What you have at the start | Mode |
|---|---|
| a written visual brief | Wan 2.7 Pro Text to image |
| an image that needs a directed change | Wan 2.7 Pro Image to image |
Key features & highlights
Up to 4K, on text-to-image
Text-to-image here defaults to 2k, about 4 megapixels, and goes up to 4k, about 16 megapixels, where the standard family stops at 2k. Image-to-image works at 2k. That split is the point: reach for 4k when you are generating a hero frame that will be cropped or printed, not when you are recolouring a packshot.
Candlelight, skin and brushwork
The second frame for this endpoint is a painterly interior: a figure against a backlit folding screen, one candle and a glass of wine on a lacquer table. Soft falloff, visible brush texture and a face read at that size are the first things to collapse on a small canvas, and exactly what the larger one is for.
It keeps every clause of a long instruction
On image-to-image the extra capacity goes into following compound instructions — take this object, put it on that surface, match the second image's light, leave the condensation alone. The standard family drops one clause of an instruction like that more often than this one does.
Request parameters
| Parameter | Required | Description |
|---|---|---|
prompt | Yes | Describe the frame, then name the materials worth the canvas — leather, wet concrete, glass, printed type. at least 1 characters · at most 5000 characters |
aspect_ratio | No | 1:1, 4:3, 3:4, 16:9, 9:16, 3:2 or 2:3. Defaults to 1:1. |
resolution | No | 2k or 4k; 2k by default. 2k is about 4 megapixels and 4k carries four times that, about 16 megapixels. |
color_palette | No | Optional colour theme of 3 to 10 colours (8 is the recommended count). at least 3 items · at most 10 items |
seed | No | 0 to 2147483647. An identical seed with an identical prompt holds the draw steady, which is what makes single-clause iteration meaningful. |
Pricing
$0.075 / image
Use cases
Explore a visual concept before production
Use text-to-image when nothing has to survive from a source and the frame will be cropped, enlarged or printed. It runs at 2k by default, about 4 megapixels, and 4k gives about 16 megapixels; every ratio gets the same pixel budget.
Create a storyboard key image
Render the still at 4k, then feed it to a 4K image-to-video endpoint as the opening frame. Video resolution governs the render, not the source, so starting from a large sharp still is what keeps fabric and skin texture alive in the clip.
Establish a campaign visual system
A magazine-cover frame with legible masthead type and cover lines needs the larger canvas to keep the lettering crisp. Generate at 3:2 or 2:3, hold the seed, and iterate on the typography clause alone until the words come out clean.
Prompt guide & pro tips
Write composition before decoration
Describe the frame, then name the materials worth the canvas: leather, wet concrete, glass, printed type. Composition is planned before drawing, so one clear spatial relationship beats a keyword pile.
Hold the seed and change one clause per run
With the seed and every other input held, the draw stays steady, so the difference between two runs is what the changed clause did. Only then sweep aspect_ratio for the crops you need to deliver.
Review before reusing the image downstream
Text-to-image returns one image per request and invents a new face on each seed, so a specific person needs a reference and the image-to-image endpoint. When the output is only going to a feed or a thumbnail, Wan 2.7 does the same job on a smaller canvas.
API quick start
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "alibaba/wan-2.7-pro/text-to-image",
"input": {
"prompt": "A ceramic teapot on a linen cloth, soft window light, muted palette",
"resolution": "2k",
"aspect_ratio": "1:1"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
See the API reference for authentication, the complete schema, polling, and error handling.





























