---
title: "Qwen Image 3 Playground & API | Made"
description: "Try Qwen Image 3 in Made's playground or integrate it with one API key. 4 credits / image, priced before you run it."
url: https://www.made.app/playground/qwen-image-3
---

Image 4 credits / image

# Qwen Image 3

Qwen Image 3 is Alibaba’s latest open image model — two major versions past the original Qwen Image — combining generation and instruction-based editing with the family’s trademark reliable text rendering.

[View docs](https://www.made.app/developers) [Model guide](https://www.made.app/models/qwen-image-3)

```
// Node.js. Running this creates one paid generation.
import { randomUUID } from 'node:crypto';
const base = "https://www.made.app/api";
const headers = {
  Authorization: `Bearer ${process.env.MADE_API_KEY}`,
  'Content-Type': 'application/json',
};
const input = {
  "model": "qwen_image_3",
  "prompt": "Close portrait of a woman with dewy skin and freckles in soft window light, minimal makeup, calm expression. 35mm film still, soft natural light, muted earth tones with one peach accent, shallow depth of field, subtle film grain, candid and unposed, no text, logos, or watermark.",
  "aspect_ratio": "1:1"
};

async function api(path, body) {
  const response = await fetch(base + path, {
    method: body ? 'POST' : 'GET', headers,
    ...(body && { body: JSON.stringify(body) }),
  });
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

const { cost } = await api('/v1/cost', input);
console.log('Quoted cents:', cost.customerCostCents);
// Preserve this request ID when retrying a submission.
const requestId = randomUUID();
let job = await api('/v1/generations', {
  ...input, request_id: requestId,
  max_cost_cents: cost.customerCostCents,
});
console.log('Request:', job.id);
while (!['succeeded', 'failed', 'canceled'].includes(job.status)) {
  await new Promise(resolve => setTimeout(resolve, 3000));
  job = await api('/v1/generations/' + job.id);
}
if (job.status !== 'succeeded') throw new Error(JSON.stringify(job.error || job.status));
console.log(job.result.assets);
```

## Input

Prompt

Aspect ratio

**Advanced settings**

seed negative prompt output format

[Sign in to generate](https://www.made.app/login?returnUrl=%2Fplayground%2Fqwen-image-3%23playground)

Uses your credits. See the exact price before generating.

## Result

Example

![close portrait with dewy skin generated with Qwen Image 3 in Made](https://www.made.app/images/models/qwen-image-3/dewy-portrait.jpg)

Qwen Image 3: Skin portrait

## Price

4 credits / image. Check the exact cost for your settings before generating. Failed generations are refunded. [Full price sheet](https://www.made.app/price-sheet).

## More models by Alibaba

Compare available models and their prices. The exact price depends on your settings.

| Model name | Price | Resolution | Duration |
| --- | --- | --- | --- |
| [Happy Horse 1.1](https://www.made.app/playground/happy-horse-1-1) | from 14 credits / second | 720p · 1080p | 3–15s |
| [WAN 2.5 (Image to Video)](https://www.made.app/playground/wan-2-5-i2v) | from 5 credits / second | 480p · 720p · 1080p | 5–10s |
| [WAN 3.0 Prime (Reference to Video)](https://www.made.app/playground/wan-3-0-prime-reference) | from 6.8 credits / second | 480p · 720p · 1080p | 2–30s |

---

Markdown version of https://www.made.app/playground/qwen-image-3. Every public Made page has one at its URL plus .md (https://www.made.app/playground/qwen-image-3.md). Site summary for AI assistants: https://www.made.app/llms.txt
