# alibaba/wan-2.7/text-to-image > Seamlessly integrate premium text-to-image capabilities into your workflow with alibaba/wan-2.7/text-to-image on ShortAPI. Featuring a unique Thinking Mode for precise, high-quality visual outputs, this inference API delivers the best performance and eliminates delays with a strict no coldstarts architecture. ## Overview - **Endpoint**: `https://api.shortapi.ai/api/v1/job/create` - **Model ID**: `alibaba/wan-2.7/text-to-image` - **Category**: text-to-image - **Kind**: inference ## Pricing Std costs $0.026 per image, while Pro costs $0.064 per image. For more details, please check our pricing page. ## API Information This model can be used via our HTTP API or more conveniently via our client libraries. See the input and output schema below, as well as the usage examples. ### Input Schema The API accepts the following input parameters: - **`prompt`** (`string`, _required_): Text prompt - Examples: "An action shot of a black lab swimming..." - **`resolution`** (`string`, _optional_): Output image resolution. The std plan does not support 4K resolution - Default: `2K` - Options: "1K", "2K", "4K" - **`num`** (`int`, _optional_): The number of images to generate - Default: `1` - Range: `1` to `4` - **`mode`** (`string`, _optional_): Image Generation Mode - Default: `std` - Options: "std", "pro" ### Output Schema The API returns a JSON response with a `job_id` for tracking the request status. **Create Job Response:** ```json { "code": 0, "data": { "amount": "0.02", "job_id": "" } } ``` **Query Job Result (when status is 2, meaning succeeded):** ```json { "code": 0, "data": { "status": 2, "result": { "images": [{ "url": "https://..." }] } } } ``` ## Use Example To use this model, make an HTTP POST request to the API endpoint, then poll for results using the returned `job_id`. ### Bash (cURL) ```bash # Step 1: Create a job response=$(curl --request POST \ --url https://api.shortapi.ai/api/v1/job/create \ --header "Authorization: Bearer $SHORTAPI_KEY" \ --header "Content-Type: application/json" \ --data '{ "model": "alibaba/wan-2.7/text-to-image", "args": { "prompt": "Cinematic Street Shot | A Lazy Afternoon Narrative of a Girl with Porcelain Skin in Cool Tones. Her peach-colored makeup glows with a subtle sheen, her voluminous curls are gently sculpted by the wind, and tassels dangle lightly from her ears. Inside a glass-walled café, the setting sun filters through the blinds, casting dappled patterns of light on her alabaster skin. As she lazily rests her chin on her hand, her fingertips lightly touch the rim of a gilded coffee cup, the matte sunglasses hanging from her collar reflecting ambiguous light and shadow, and the luxurious handbag beside her displaying its finely textured leather. Suddenly, she turns her head to look at the street corner, her gaze unfocused for a fleeting moment, her hair and long eyelashes trembling into hazy, poetic lines—like an unnamed heroine captured by a photographer in a romantic film." }, "callback_url": "CALLBACK_URL" }') JOB_ID=$(echo "$response" | grep -o '"job_id": *"[^"]*"' | sed 's/"job_id": *//; s/"//g') # Step 2: Poll for results curl --request GET \ --url "https://api.shortapi.ai/api/v1/job/query?id=$JOB_ID" \ --header "Authorization: Bearer $SHORTAPI_KEY" ``` ### JavaScript (Fetch API) ```javascript // Step 1: Create a job const response = await fetch(`https://api.shortapi.ai/api/v1/job/create`, { method: "POST", headers: { "Authorization": `Bearer ${SHORTAPI_KEY}`, "Content-Type": "application/json" }, body: JSON.stringify({ "model": "alibaba/wan-2.7/text-to-image", "args": { "prompt": "Cinematic Street Shot | A Lazy Afternoon Narrative of a Girl with Porcelain Skin in Cool Tones. Her peach-colored makeup glows with a subtle sheen, her voluminous curls are gently sculpted by the wind, and tassels dangle lightly from her ears. Inside a glass-walled café, the setting sun filters through the blinds, casting dappled patterns of light on her alabaster skin. As she lazily rests her chin on her hand, her fingertips lightly touch the rim of a gilded coffee cup, the matte sunglasses hanging from her collar reflecting ambiguous light and shadow, and the luxurious handbag beside her displaying its finely textured leather. Suddenly, she turns her head to look at the street corner, her gaze unfocused for a fleeting moment, her hair and long eyelashes trembling into hazy, poetic lines—like an unnamed heroine captured by a photographer in a romantic film." }, "callback_url": "CALLBACK_URL" }) }); const data = await response.json(); const JOB_ID = data.job_id; // Step 2: Poll for results const result = await fetch(`https://api.shortapi.ai/api/v1/job/query?id=${JOB_ID}`, { method: "GET", headers: { "Authorization": `Bearer ${SHORTAPI_KEY}` } }); const resultData = await result.json(); console.log(resultData); ``` ### Python (Requests) ```python import requests # Step 1: Create a job url = "https://api.shortapi.ai/api/v1/job/create" payload = { "model": "alibaba/wan-2.7/text-to-image", "args": { "prompt": "Cinematic Street Shot | A Lazy Afternoon Narrative of a Girl with Porcelain Skin in Cool Tones. Her peach-colored makeup glows with a subtle sheen, her voluminous curls are gently sculpted by the wind, and tassels dangle lightly from her ears. Inside a glass-walled café, the setting sun filters through the blinds, casting dappled patterns of light on her alabaster skin. As she lazily rests her chin on her hand, her fingertips lightly touch the rim of a gilded coffee cup, the matte sunglasses hanging from her collar reflecting ambiguous light and shadow, and the luxurious handbag beside her displaying its finely textured leather. Suddenly, she turns her head to look at the street corner, her gaze unfocused for a fleeting moment, her hair and long eyelashes trembling into hazy, poetic lines—like an unnamed heroine captured by a photographer in a romantic film." }, "callback_url": "CALLBACK_URL" } headers = { "Authorization": f"Bearer {SHORTAPI_KEY}", "Content-Type": "application/json" } response = requests.post(url, headers=headers, json=payload) data = response.json() JOB_ID = data.get("job_id") # Step 2: Poll for results result_url = f"https://api.shortapi.ai/api/v1/job/query?id={JOB_ID}" result = requests.get(result_url, headers={"Authorization": f"Bearer {SHORTAPI_KEY}"}) print(result.json()) ```