> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runpod.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Qwen Image

> Image generation foundation model with advanced text rendering capabilities.

Qwen Image is an image generation foundation model with advanced text rendering capabilities. It excels at generating images that include readable, well-formed text within the image.

<Card title="Try in playground" icon="play" href="https://console.runpod.io/hub/playground/image/qwen-image-t2i" horizontal>
  Test Qwen Image in the Runpod Hub playground.
</Card>

|              |                                                   |
| ------------ | ------------------------------------------------- |
| **Endpoint** | `https://api.runpod.ai/v2/qwen-image-t2i/runsync` |
| **Pricing**  | \$0.02 per image                                  |
| **Type**     | Image generation                                  |

## Request

All parameters are passed within the `input` object in the request body.

<ParamField body="input.prompt" type="string" required>
  Text description of the desired image.
</ParamField>

<ParamField body="input.negative_prompt" type="string">
  Elements to exclude from the generated image.
</ParamField>

<ParamField body="input.size" type="string" default="1024*1024">
  Image dimensions in format "width\*height".
</ParamField>

<ParamField body="input.seed" type="integer" default="-1">
  Seed for reproducible results. Set to -1 for random.
</ParamField>

<ParamField body="input.enable_safety_checker" type="boolean" default="true">
  Enable content safety checking.
</ParamField>

<RequestExample>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl -X POST "https://api.runpod.ai/v2/qwen-image-t2i/runsync" \
    -H "Authorization: Bearer $RUNPOD_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "input": {
        "prompt": "A fashion-forward woman sitting at cobblestone street in Paris",
        "negative_prompt": "",
        "size": "1328*1328",
        "seed": -1,
        "enable_safety_checker": true
      }
    }'
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import requests

  response = requests.post(
      "https://api.runpod.ai/v2/qwen-image-t2i/runsync",
      headers={
          "Authorization": f"Bearer {RUNPOD_API_KEY}",
          "Content-Type": "application/json",
      },
      json={
          "input": {
              "prompt": "A fashion-forward woman sitting at cobblestone street in Paris",
              "negative_prompt": "",
              "size": "1328*1328",
              "seed": -1,
              "enable_safety_checker": True,
          }
      },
  )

  result = response.json()
  print(result["output"]["image_url"])
  ```

  ```javascript JavaScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const response = await fetch(
    "https://api.runpod.ai/v2/qwen-image-t2i/runsync",
    {
      method: "POST",
      headers: {
        Authorization: `Bearer ${RUNPOD_API_KEY}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        input: {
          prompt: "A fashion-forward woman sitting at cobblestone street in Paris",
          negative_prompt: "",
          size: "1328*1328",
          seed: -1,
          enable_safety_checker: true,
        },
      }),
    }
  );

  const result = await response.json();
  console.log(result.output.image_url);
  ```
</RequestExample>

## Response

<ResponseField name="id" type="string">
  Unique identifier for the request.
</ResponseField>

<ResponseField name="status" type="string">
  Request status. Returns `COMPLETED` on success, `FAILED` on error.
</ResponseField>

<ResponseField name="delayTime" type="integer">
  Time in milliseconds the request spent in queue before processing began.
</ResponseField>

<ResponseField name="executionTime" type="integer">
  Time in milliseconds the model took to generate the image.
</ResponseField>

<ResponseField name="workerId" type="string">
  Identifier of the worker that processed the request.
</ResponseField>

<ResponseField name="output" type="object">
  The generation result containing the image URL and cost.

  <ResponseField name="output.image_url" type="string">
    URL of the generated image. This URL expires after 7 days.
  </ResponseField>

  <ResponseField name="output.cost" type="float">
    Cost of the generation in USD, calculated based on the output megapixels.
  </ResponseField>
</ResponseField>

<ResponseExample>
  ```json 200 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "id": "sync-a1b2c3d4-e5f6-7890-abcd-ef1234567890-u1",
    "status": "COMPLETED",
    "delayTime": 15,
    "executionTime": 3254,
    "workerId": "oqk7ao1uomckye",
    "output": {
      "image_url": "https://image.runpod.ai/abc123/output.png",
      "cost": 0.035267
    }
  }
  ```

  ```json 400 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "id": "sync-a1b2c3d4-e5f6-7890-abcd-ef1234567890-u1",
    "status": "FAILED",
    "error": "Invalid parameter: size format must be width*height"
  }
  ```
</ResponseExample>

<Warning>
  Image URLs expire after 7 days. Download and store generated images immediately if you need to keep them.
</Warning>

## Cost calculation

Qwen Image charges \$0.02 per image generated.
