---
title: "Qwen Image 2.0 JSON Prompt — Newcomer Guide 2026"
description: "Beginner-friendly Qwen Image 2.0 JSON prompt guide: every field explained, 3 copy-paste examples, and alternatives. 6 credits on AI Content Drop."
canonical: "https://aicontentdrop.com/blog/qwen-image-2-0-json-prompt-guide"
source: "https://aicontentdrop.com/blog/qwen-image-2-0-json-prompt-guide"
---
Tutorial

May 3, 2026

11

min read

# Qwen Image 2.0 Prompt Anatomy — Copy-Paste API Guide for Newcomers

Beginner-friendly Qwen Image 2.0 JSON prompt guide: every field explained, 3 copy-paste examples, and alternatives. 6 credits on AI Content Drop.

json-prompt

qwen-image-2-0

qwen

alibaba

## What this guide does

This is a beginner-friendly breakdown of Qwen Image 2.0 — every field in its JSON request body explained, three ready-to-paste examples, and a plain-English answer to when you should pick it over other models. By the end you will be able to send your first request to Qwen Image 2.0 and understand exactly what each field in the JSON controls.

If you have never called an AI model API before, that is completely fine. This guide defines every term the first time it comes up. You do not need to know how to code — but if you want to experiment with raw API calls, working curl and JavaScript snippets are in section 7. If you just want to generate an image right now without any setup, you can skip straight to [AI Content Drop's image generator](https://aicontentdrop.com/best-ai-video-generator) and paste your prompt there. No API key required.

## What is Qwen Image 2.0?

Qwen Image 2.0 is a text-to-image (T2I) model developed by Alibaba and accessed via [Alibaba Cloud DashScope](https://help.aliyun.com/zh/document_detail/2400266.html) — Alibaba's AI model platform. You give it a text description called a *prompt* and it generates a high-resolution image matching that description. Qwen Image 2.0 is built for fast, high-quality commercial output — product photography, lifestyle scenes, and ad creative — with notably strong prompt adherence on complex compositional instructions. It performs well on Chinese-language prompts too, which distinguishes it from most Western models. What it cannot do is generate video or audio; it is a still-image-only model.

On [AI Content Drop](https://aicontentdrop.com/best-ai-video-generator) Qwen Image 2.0 costs **6 credits per generation** — confirmed directly from the platform's credit table. The platform uses post-deduct billing, which means credits are only charged after the image successfully completes. If generation fails or the provider returns an error, no credits leave your account. At 6 credits, Qwen Image 2.0 is one of the most accessible image models on the platform — a useful starting point for high-volume batch testing. For a full comparison of image models and their strengths, see [best AI image models for video ad angles 2026](https://aicontentdrop.com/blog/best-ai-image-models-for-video-ad-angles-2026).

## The complete wanx2.1-t2i-turbo JSON request body

Below is the full request you send to the official Alibaba DashScope API to generate an image with Qwen Image 2.0. JSON stands for JavaScript Object Notation — a plain-text format that APIs use to send structured requests. You can copy this, fill in your own prompt, and run it immediately. DashScope generates images asynchronously, which means you submit a task and then poll a second endpoint for the result — both requests are shown below.

**Step 1 — Submit the task:**

```
POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis
Content-Type: application/json
Authorization: Bearer sk-YOUR_DASHSCOPE_API_KEY
X-DashScope-Async: enable

{
  "model": "wanx2.1-t2i-turbo",
  "input": {
    "prompt": "A glass bottle of serum on a white marble surface, soft studio lighting, photorealistic product shot, high resolution",
    "negative_prompt": "blurry, low quality, distorted, watermark"
  },
  "parameters": {
    "size": "1024*1024",
    "n": 1,
    "seed": 42
  }
}
```

The `model` field names the Qwen Image generation model on DashScope. The `input` object holds your text description and anything you want to exclude. The `parameters` object controls the output dimensions, how many images to generate, and an optional seed for reproducibility. The `X-DashScope-Async: enable` header tells DashScope to run the job in the background and return a task ID immediately instead of making you wait.

## Field-by-field breakdown

Let's go through every field in that JSON request one at a time. For each field you will find: what type of value it expects, whether you must include it, what the default is if you leave it out, and a side-by-side comparison of a well-set value versus a poorly-set one.

### model

**Type:** string | **Required:** Yes | **Default:** none

This tells DashScope which AI model to route your request to. For Qwen Image 2.0 generation tasks, the model ID on the international DashScope endpoint is `"wanx2.1-t2i-turbo"` for the fast variant or `"wanx2.1-t2i-plus"` for the quality variant. These are the latest confirmed IDs as of 2026 — always check the [DashScope model catalogue](https://help.aliyun.com/zh/document_detail/2400266.html) if you receive a model-not-found error, as Alibaba periodically revises model IDs.

- Good:
  
  "wanx2.1-t2i-turbo"
  
  — fast generation, lower cost per call
- Bad:
  
  "qwen-image-2"
  
  — not a valid DashScope model ID and will return a 400 error

### input.prompt

**Type:** string | **Required:** Yes | **Max length:** approximately 500 tokens (~2,000 characters)

The prompt is your natural-language description of the image you want to create. Qwen Image 2.0 follows prompts closely, so specifics matter. Name the subject, describe the setting, specify the lighting, and add quality or style keywords. Both English and Chinese-language prompts are supported — the model performs well in either language.

- Good:
  
  "A matte amber glass dropper bottle standing on white marble, single overhead softbox light, sharp focus, commercial product photography, ultra-high resolution"
- Bad:
  
  "A bottle"
  
  — the model fills in every unspecified detail itself, so the result rarely matches what you intended

For a framework that works across every image model, read our [AI prompt engineering secrets](https://aicontentdrop.com/blog/ai-prompt-engineering-secrets) post, which covers the Subject → Action → Camera → Lighting → Style approach proven across thousands of generations.

### input.negative_prompt

**Type:** string | **Required:** No | **Default:** empty string

A *negative prompt* is a list of things you do not want in the image. DashScope passes this to the model as a guidance signal telling it to move away from those concepts. Common entries are quality-related (blurry, low resolution, watermark) or compositional (extra limbs, cropped, out-of-frame).

- Good:
  
  "blurry, low quality, distorted, watermark, text overlay"
- Bad:
  
  leaving it empty for a product shot — the model may add soft bokeh or compression artefacts that degrade the sharp edges you need for compositing

### parameters.size

**Type:** string (enum) | **Required:** No | **Default:** `"1024*1024"`

The `size` field controls the pixel dimensions of the output image. Important DashScope-specific detail: the separator is an asterisk `*`, not the letter x or a colon. Writing `"1024x1024"` will return a validation error. See the reference table in the next section for all supported sizes.

- Good:
  
  "1024*1792"
  
  for a TikTok vertical creative
- Bad:
  
  "1024x1792"
  
  — wrong separator, returns 400

### parameters.n

**Type:** integer | **Required:** No | **Default:** `1` |  **Range:** 1–4

The number of images to generate in a single request. Setting `n: 4` returns four different image variants from the same prompt in one API call, which is useful for A/B testing ad creative. Each image in the batch counts as a separate generation for billing purposes.

- Good:
  
  4
  
  when you want to pick the best variant from a single prompt during creative exploration
- Bad:
  
  1
  
  when you are doing A/B testing — you will need four separate API calls instead of one, adding latency

### parameters.seed

**Type:** integer | **Required:** No | **Default:** random

A *seed* is a number that pins the random starting point of the generation process. If you use the same seed with the same prompt and size, you will get a nearly identical image every time. This is useful when you want to iterate on a composition — change one word in the prompt and keep the seed to see the isolated effect of that change. Leave it out (or set it to a different number each time) if you want different results on each run.

- Good:
  
  use seed
  
  42
  
  while experimenting with lighting keywords — change only the lighting word each run and compare results
- Bad:
  
  using the same seed for bulk generation — you want variation between ad variants, not identical images

## Allowed values reference table

Here is a single reference you can bookmark. All size values use an asterisk `*` as the separator, which is DashScope-specific syntax.

| Field | Allowed values | Best for |
| --- | --- | --- |
| model | `wanx2.1-t2i-turbo`, `wanx2.1-t2i-plus` | turbo = speed; plus = quality |
| size: 1024*1024 | Square | Instagram feed, Google Display ads |
| size: 1024*1792 | Portrait (tall) | TikTok, Instagram Story, Reels |
| size: 1792*1024 | Landscape (wide) | YouTube thumbnails, banners, hero images |
| size: 768*1024 | Portrait (slight) | Pinterest, Facebook portrait posts |
| size: 1024*768 | Landscape (slight) | Presentation slides, web blog headers |
| n | 1, 2, 3, 4 | Batch variant generation in one call |
| seed | Any integer (e.g. 42, 1234) | Reproducible results while iterating on prompt |
| negative_prompt | Any string | Exclude artefacts, watermarks, unwanted content |

Consult the [official DashScope documentation](https://help.aliyun.com/zh/document_detail/2400266.html) for any newly added size options — Alibaba expands the allowed list with major model updates.

## 3 working copy-paste examples

### Example 1: E-commerce product shot

```
{
  "model": "wanx2.1-t2i-turbo",
  "input": {
    "prompt": "A sleek matte-black glass perfume bottle standing on a dark grey marble surface, single overhead studio softbox, ultra-sharp product photography, high resolution, commercial advertising quality, clean isolated background with soft shadow",
    "negative_prompt": "blurry, low quality, watermark, text, distorted"
  },
  "parameters": {
    "size": "1024*1024",
    "n": 1,
    "seed": 101
  }
}
```

Square format works across most e-commerce placements — Amazon main images, Instagram feed posts, Google Shopping cards. The marble surface and single overhead light are specific enough to guide the model toward a clean, high-contrast result. Setting a seed of 101 means you can tweak the prompt — try swapping "dark grey marble" to "white quartz" — and see the isolated effect while the overall composition stays stable. For more on how AI replaces traditional product studios, see our [AI product photography revolution](https://aicontentdrop.com/blog/ai-product-photography-revolution) guide.

### Example 2: Portrait / character

```
{
  "model": "wanx2.1-t2i-plus",
  "input": {
    "prompt": "A confident female founder in her mid-30s, wearing a tailored navy blazer and white shirt, sitting in a bright modern open-plan office, looking directly at the camera with a composed professional expression, natural window light from the left, shallow depth of field, 85mm lens, editorial portrait photography",
    "negative_prompt": "distorted face, extra fingers, blurry, low resolution, watermark"
  },
  "parameters": {
    "size": "1024*1792",
    "n": 2,
    "seed": 777
  }
}
```

Using the `plus` model for portrait work raises the quality ceiling, especially on facial detail. The 1024×1792 size matches the native TikTok and Instagram Story canvas — no cropping needed before uploading. Setting `n: 2` returns two variants from the same prompt in a single API call, giving you a quick pick between slightly different expressions and light placements. The negative prompt entry `extra fingers` is a standard precaution for human subjects.

### Example 3: Cinematic scene

```
{
  "model": "wanx2.1-t2i-turbo",
  "input": {
    "prompt": "A rain-slicked Tokyo alley at night, neon-lit shop signs reflecting in puddles on the wet cobblestones, steam rising from a ramen stall, lone figure with an umbrella walking away from camera, anamorphic lens flare, cinematic colour grading, atmospheric depth of field",
    "negative_prompt": "blurry, overexposed, cartoonish, text, watermark, daytime"
  },
  "parameters": {
    "size": "1792*1024",
    "n": 1
  }
}
```

The wide landscape size turns this into a ready-to-use YouTube banner or website hero background. Film-specific terms — "anamorphic lens flare", "cinematic colour grading" — steer Qwen Image 2.0 toward the warm-shadow, slightly desaturated palette associated with premium productions. Specifying "lone figure walking away from camera" adds narrative depth without asking the model to generate a recognisable face, which keeps facial fidelity out of the equation entirely. No seed is set here because you want variation between runs.

## How to send the request

An *API endpoint* is a specific URL on a server that listens for requests and sends back responses. For Qwen Image 2.0, the endpoint is the official Alibaba DashScope API, and you send your JSON to it using an *HTTP POST* request — the same type of request a web form uses when you click Submit. You will need a DashScope API key — a long string starting with `sk-` — obtained from the [Alibaba Cloud Model Studio console](https://help.aliyun.com/zh/document_detail/2400266.html). The key is passed in the `Authorization` header as a Bearer token. Because DashScope generates images asynchronously, you send two requests: one to submit the task and one to retrieve the result.

**Submit the task — curl:**

```
curl -X POST \
  "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-YOUR_DASHSCOPE_API_KEY" \
  -H "X-DashScope-Async: enable" \
  -d '{
    "model": "wanx2.1-t2i-turbo",
    "input": {
      "prompt": "A sleek matte-black perfume bottle on grey marble, studio lighting, high resolution product shot",
      "negative_prompt": "blurry, watermark, low quality"
    },
    "parameters": {
      "size": "1024*1024",
      "n": 1
    }
  }'
```

**Poll for the result — curl:**

```
curl -X GET \
  "https://dashscope-intl.aliyuncs.com/api/v1/tasks/TASK_ID_FROM_SUBMIT_RESPONSE" \
  -H "Authorization: Bearer sk-YOUR_DASHSCOPE_API_KEY"
```

**Submit the task — JavaScript fetch:**

```
// Step 1 — Submit
const submitRes = await fetch(
  "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Authorization": "Bearer sk-YOUR_DASHSCOPE_API_KEY",
      "X-DashScope-Async": "enable"
    },
    body: JSON.stringify({
      model: "wanx2.1-t2i-turbo",
      input: {
        prompt: "A sleek matte-black perfume bottle on grey marble, studio lighting",
        negative_prompt: "blurry, watermark, low quality"
      },
      parameters: { size: "1024*1024", n: 1 }
    })
  }
);
const submitData = await submitRes.json();
const taskId = submitData.output?.task_id;
console.log("Task submitted:", taskId);

// Step 2 — Poll until done
async function pollTask(taskId) {
  const res = await fetch(
    `https://dashscope-intl.aliyuncs.com/api/v1/tasks/${taskId}`,
    { headers: { "Authorization": "Bearer sk-YOUR_DASHSCOPE_API_KEY" } }
  );
  const data = await res.json();
  const status = data.output?.task_status;
  if (status === "SUCCEEDED") return data.output.results;
  if (status === "FAILED") throw new Error(data.output?.message);
  await new Promise(r => setTimeout(r, 3000)); // wait 3 seconds
  return pollTask(taskId); // try again
}
const results = await pollTask(taskId);
console.log("Image URL:", results[0].url);
```

Or skip the API key entirely — paste your prompt into [/chat](https://aicontentdrop.com/) or [/generate/images](https://aicontentdrop.com/best-ai-video-generator) and we'll handle the request for you.

## What the response looks like

When you POST with `X-DashScope-Async: enable`, DashScope replies immediately with a task ID. This is called an *asynchronous* response — the server starts working on your image in the background and you check back later using that ID. This is called *polling*: you ask the status endpoint "is this done yet?" every few seconds until it says yes.

The submission response looks like this:

```
{
  "request_id": "req_abc123",
  "output": {
    "task_id": "tsk_xyz789",
    "task_status": "PENDING"
  },
  "code": "Success",
  "message": ""
}
```

Save the `task_id` — you will use it in the polling request. A completed poll response looks like this:

```
{
  "request_id": "req_abc123",
  "output": {
    "task_id": "tsk_xyz789",
    "task_status": "SUCCEEDED",
    "results": [
      {
        "url": "https://dashscope-result.oss-cn-beijing.aliyuncs.com/images/abc123.png",
        "orig_prompt": "A sleek matte-black perfume bottle on grey marble..."
      }
    ],
    "task_metrics": {
      "TOTAL": 1,
      "SUCCEEDED": 1,
      "FAILED": 0
    }
  },
  "usage": { "image_count": 1 }
}
```

Your image URL is in `output.results[0].url`. If `task_status` is `"RUNNING"`, wait 3 seconds and poll again. If it is `"FAILED"`, the `output.message` field will describe the error. DashScope typically delivers a Qwen Image 2.0 result within 10–25 seconds.

## Common errors and fixes

- 401 Unauthorized
  
  — Your API key is missing or wrong. Fix: Make sure you passed
  
  Authorization: Bearer sk-YOUR_KEY
  
  in the request header and that the key starts with
  
  sk-
  
  . Copy it fresh from the Alibaba Cloud Model Studio console — no extra spaces at the beginning or end.
- InvalidModel / 400 Bad Request on model field
  
  — The model ID you used does not exist at the DashScope endpoint. Fix: Use
  
  "wanx2.1-t2i-turbo"
  
  or
  
  "wanx2.1-t2i-plus"
  
  exactly as written. Check the
  
  DashScope model catalogue
  
  if the error persists — Alibaba occasionally updates model IDs.
- InvalidParameter on size
  
  — You used the wrong separator in the size string (e.g.
  
  "1024x1024"
  
  or
  
  "1024:1024"
  
  ). Fix: DashScope requires an asterisk —
  
  "1024*1024"
  
  . The size must also be in the allowed list; you cannot request arbitrary dimensions.
- Prompt too long / 400 on input.prompt
  
  — Your prompt exceeds approximately 500 tokens. Fix: Trim the prompt. Remove filler phrases like "please generate" and "I want an image of" — the model needs visual instructions, not polite framing.
- task_status: "FAILED" with content-policy message
  
  — Your prompt triggered DashScope's safety filter. Fix: Remove any terms that could be read as violent, explicit, or referencing real named individuals. Rephrase descriptively using style and lighting terms instead.
- 429 Too Many Requests / quota exceeded
  
  — You have hit the rate limit for your DashScope account tier. Fix: Add a 2–5 second delay between requests, or apply for a higher quota in the Alibaba Cloud console. On AI Content Drop, the credit system naturally paces usage since each generation draws from your monthly balance.
- Missing X-DashScope-Async header — synchronous timeout
  
  — If you omit the
  
  X-DashScope-Async: enable
  
  header, DashScope tries to return the result synchronously and times out on longer jobs. Fix: Always include
  
  X-DashScope-Async: enable
  
  for image-synthesis requests.

## Qwen Image 2.0 vs alternatives — when to use this

Not every image job needs Qwen Image 2.0. Here is a quick decision table to help you pick the right model. You can browse all available models in the [AI Content Drop marketplace](https://aicontentdrop.com/marketplace).

| Use case | Best model | Why |
| --- | --- | --- |
| High-volume batch testing (50+ variants), quick concept thumbnails, Chinese-language prompts | Qwen Image 2.0 — 6 credits | Lowest cost per image in the lineup with strong prompt adherence; supports both English and Chinese prompts natively |
| Photorealistic product shots, premium lifestyle scenes, commercial ad creative where fine texture detail matters | Nano Banana Pro — 10 credits | Higher quality ceiling on material textures and packaging; worth the 4-credit premium for hero assets |
| Artistic direction, maximum creative quality for flagship key visuals or images that will be printed or used in premium placements | Midjourney v7 — 14 credits | Best-in-class artistic quality ceiling; use when the image must stand alone as the hero creative |

## Cost math for newcomers

Here is a concrete example to make the credit system tangible. Say you are an e-commerce brand and you want to test 20 different product shot angles for a new skincare launch — different backgrounds, lighting setups, and compositions. You plan to run two batches: 10 at Qwen Image 2.0 speed to shortlist candidates, then 5 hero shots at higher quality.

10 images × 6 credits (Qwen Image 2.0) = **60 credits**
5 images × 10 credits (Nano Banana Pro) = **50 credits**
Total: **110 credits**

On the Starter plan ($19/month) you get 150 credits. That entire two-tier test batch uses under 75% of a single month of Starter, leaving 40 credits for video or other experiments. And because AI Content Drop uses post-deduct billing — credits are only charged on a successful generation — none of those 110 credits leaves your account if a generation fails or returns a content-policy block.

If you need 50 quick variants at 6 credits each, that is 300 credits — which fits exactly in the Professional plan ($49/month, 300 credits). Compare that cost to a single day of studio photography rental plus a retoucher.

## Glossary

**Prompt**

The text description you give the AI model. It is your instruction for what the generated image should contain, how it should be lit, and what style it should follow.

**Negative prompt**

A secondary text field listing things you do not want in the image — for example, "blurry, watermark, extra fingers". The model uses it as a guidance signal to steer away from those qualities.

**JSON**

JavaScript Object Notation — a plain-text format APIs use to send and receive structured data. It looks like a set of key–value pairs wrapped in curly braces.

**API request**

A message you send to a server asking it to do something — in this case, generate an image. The request contains your instructions in JSON format.

**Endpoint**

A specific URL on a server that is set up to receive a particular type of request. For Qwen Image 2.0, the task-creation endpoint is `https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis`.

**task_id**

A unique identifier DashScope returns when you submit a generation request. You use it to check whether the image has finished processing.

**Polling**

The practice of repeatedly asking the status endpoint "is this done yet?" at regular intervals — for example, every 3 seconds — until the task_status changes to `SUCCEEDED`.

**Seed**

An integer that pins the random starting point of the generation. Same seed + same prompt = nearly identical image. Change the seed to get a different variant.

**Post-deduct billing**

A billing model where credits are only deducted from your account after the generation succeeds. Failed or errored generations do not cost you anything.

## FAQ

### Can I just use the chat instead of writing JSON?

Yes. If writing JSON feels like too much right now, the simplest path is to open the [Chat-to-Ads Studio](https://aicontentdrop.com/) and describe the image you want in plain English. The studio handles the JSON formatting and API calls for you behind the scenes.

### What if I get a 401 error?

A 401 means the server rejected your API key. Check that the `Authorization` header is spelled correctly, that your key starts with `Bearer` (with a space after "Bearer"), and that the key itself is pasted exactly from the Alibaba Cloud Model Studio console — no extra spaces at the start or end. If you recently regenerated your key, the old one is invalidated immediately.

### How do I get an aspect ratio not in the allowed size list?

You cannot request an arbitrary resolution like `1200*630` — DashScope only accepts the sizes in the reference table above. Pick the closest available size (for a 1200×630 Open Graph image, that would be `1792*1024`), generate the image, then crop or resize it to the exact pixel dimensions you need in any image editor or CSS.

### Does Qwen Image 2.0 support audio or video generation?

No. Qwen Image 2.0 (wanx2.1-t2i-turbo / wanx2.1-t2i-plus) is a text-to-image model only — it outputs a still image, not a video or audio file. If you need video generation from Alibaba, check the Wan video model family on AI Content Drop, which uses Alibaba's WanX video pipeline. Alternatively, you can generate a Qwen image first and then pass it to a video model like Kling 3.0 as an image-to-video input.