---
title: Transparent backgrounds — Qwen-Image-2.1-Pro | Runware Docs
url: https://runware.ai/docs/models/alibaba-qwen-image-2-1-pro/guides/transparent-backgrounds
description: "How to generate cut-outs with a real alpha channel on Qwen-Image-2.1-Pro: the prompt wording that turns it on, the output formats that keep it, and subject extraction from a photo."
---
### [Introduction](https://runware.ai/docs/models/alibaba-qwen-image-2-1-pro/guides/transparent-backgrounds#introduction)

A product thumbnail or a T-shirt graphic has to sit on a layout it has never seen, so it cannot bring a background with it. Qwen-Image-2.1-Pro returns that kind of asset directly: **the subject on a real alpha channel**, with nothing behind it.

Two things turn it on: **a fixed wording in the prompt** and **an output format that can carry transparency**.

![A rattan lounge chair with a rounded back, a cream seat cushion, and slim black metal legs, cut out with no background behind it](https://runware.ai/docs/assets/output-hero.DrgsPodf_ACdQP.jpg)

*The checkerboard is drawn by this page, behind the file*

> **Prompt**: This is an RGBA image with transparency. A rattan lounge chair with a rounded back, a thick cream seat cushion, and slim black metal legs, three-quarter front view, the whole chair inside the frame with a wide empty margin on every side, soft even studio lighting, no floor and no shadow. The image has alpha channel and the background is transparent.

This guide covers the wording, the formats, graphics with lettering, cutting a subject out of an existing photo, and where the alpha channel stops being reliable.

### [Request shape](https://runware.ai/docs/models/alibaba-qwen-image-2-1-pro/guides/transparent-backgrounds#request-shape)

Two parts of the request do the work: the sentences that open and close the prompt, and `outputFormat`.

**TypeScript**:

```typescript
import { createClient } from '@runware/sdk'

const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()

const [result] = await client.run({
  model: 'alibaba:qwen-image@2.1-pro',
  positivePrompt: 'This is an RGBA image with transparency. A rattan lounge chair with a rounded back, a thick cream seat cushion, and slim black metal legs, three-quarter front view, the whole chair inside the frame with a wide empty margin on every side, soft even studio lighting, no floor and no shadow. The image has alpha channel and the background is transparent.',
  width: 1536,
  height: 1536,
  outputFormat: 'PNG',
  settings: {
    promptExtend: false
  }
})
```

**Python**:

```python
import asyncio
import os

from runware import Runware

async def main():
    async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
        results = await client.run({
            "model": "alibaba:qwen-image@2.1-pro",
            "positivePrompt": "This is an RGBA image with transparency. A rattan lounge chair with a rounded back, a thick cream seat cushion, and slim black metal legs, three-quarter front view, the whole chair inside the frame with a wide empty margin on every side, soft even studio lighting, no floor and no shadow. The image has alpha channel and the background is transparent.",
            "width": 1536,
            "height": 1536,
            "outputFormat": "PNG",
            "settings": {
                "promptExtend": False
            }
        })

asyncio.run(main())
```

**cURL**:

```bash
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "imageInference",
      "taskUUID": "11f1a427-3be0-4d81-919b-a4d15b7c6fbd",
      "model": "alibaba:qwen-image@2.1-pro",
      "positivePrompt": "This is an RGBA image with transparency. A rattan lounge chair with a rounded back, a thick cream seat cushion, and slim black metal legs, three-quarter front view, the whole chair inside the frame with a wide empty margin on every side, soft even studio lighting, no floor and no shadow. The image has alpha channel and the background is transparent.",
      "width": 1536,
      "height": 1536,
      "outputFormat": "PNG",
      "settings": {
        "promptExtend": false
      }
    }
  ]'
```

**CLI**:

```bash
runware run alibaba:qwen-image@2.1-pro \
  positivePrompt="This is an RGBA image with transparency. A rattan lounge chair with a rounded back, a thick cream seat cushion, and slim black metal legs, three-quarter front view, the whole chair inside the frame with a wide empty margin on every side, soft even studio lighting, no floor and no shadow. The image has alpha channel and the background is transparent." \
  width=1536 \
  height=1536 \
  outputFormat=PNG \
  settings.promptExtend=false
```

**JSON**:

```json
{
  "taskType": "imageInference",
  "taskUUID": "11f1a427-3be0-4d81-919b-a4d15b7c6fbd",
  "model": "alibaba:qwen-image@2.1-pro",
  "positivePrompt": "This is an RGBA image with transparency. A rattan lounge chair with a rounded back, a thick cream seat cushion, and slim black metal legs, three-quarter front view, the whole chair inside the frame with a wide empty margin on every side, soft even studio lighting, no floor and no shadow. The image has alpha channel and the background is transparent.",
  "width": 1536,
  "height": 1536,
  "outputFormat": "PNG",
  "settings": {
    "promptExtend": false
  }
}
```

Put your description between **two fixed sentences** and leave them exactly as they are:

```text
This is an RGBA image with transparency. <your description>. The image has alpha channel and the background is transparent.
```

`outputFormat` has to be `PNG` or `WEBP`. The default is `JPG`, which has no alpha channel, so the same request comes back with **a solid fill where the transparency should be**:

![A matte black gooseneck kettle with a wooden handle, cut out with no background behind it](https://runware.ai/docs/assets/output-format-png.qNl-p_QA_Z1GwgiG.jpg)

*PNG*

> **Prompt**: This is an RGBA image with transparency. A matte black electric kettle with a wooden handle and a slim gooseneck spout, side view, the whole kettle inside the frame with a wide empty margin on every side, soft even studio lighting, no floor and no shadow. The image has alpha channel and the background is transparent.

![The same kettle on a flat purple background](https://runware.ai/docs/assets/output-format-jpg.27cX0JLH_1amLyk.jpg)

*JPG, same prompt and seed*

> **Prompt**: This is an RGBA image with transparency. A matte black electric kettle with a wooden handle and a slim gooseneck spout, side view, the whole kettle inside the frame with a wide empty margin on every side, soft even studio lighting, no floor and no shadow. The image has alpha channel and the background is transparent.

### [What the wording changes](https://runware.ai/docs/models/alibaba-qwen-image-2-1-pro/guides/transparent-backgrounds#what-the-wording-changes)

The format alone does nothing. Without the two sentences, a PNG request returns **an ordinary opaque image**:

![A sticker-style corgi in a red bandana with a white die-cut border on a plain white backdrop](https://runware.ai/docs/assets/output-wording-off.C1HpOYNW_14uSvo.jpg)

*Description only*

> **Prompt**: A sticker-style illustration of a corgi wearing a red bandana, sitting and smiling, bold clean outlines, flat colors, thick white die-cut border, the whole sticker inside the frame with a wide empty margin on every side.

![The same sticker-style corgi with its white die-cut border and no background behind it](https://runware.ai/docs/assets/output-wording-on.D92G4had_2glAgX.jpg)

*Description inside the two sentences*

> **Prompt**: This is an RGBA image with transparency. A sticker-style illustration of a corgi wearing a red bandana, sitting and smiling, bold clean outlines, flat colors, thick white die-cut border, the whole sticker inside the frame with a wide empty margin on every side. The image has alpha channel and the background is transparent.

Both requests share a description, a seed, and a format, so **the two sentences are the only difference**. Every example here also sets `promptExtend` to `false`, so the prompt rewrite cannot reword them on the way to the model.

Inside the description, **say what is absent**. "No floor and no shadow" stops the model from standing the subject on a surface that would then be part of the cut-out. **Ask for an empty margin** as well, because the model fills the frame and a subject that touches the edge of the file is a cropped asset.

### [Graphics with lettering](https://runware.ai/docs/models/alibaba-qwen-image-2-1-pro/guides/transparent-backgrounds#graphics-with-lettering)

Print-on-demand and merch tools need exactly this file: **a graphic with its lettering, on nothing**. Quote the copy the way you would in any other prompt:

![A retro badge graphic of a setting sun behind a wave in cream, burnt orange, and teal, with PACIFIC COAST SURF CLUB arched above and EST. 1987 below, on no background](https://runware.ai/docs/assets/output-graphic.DSjy3MRo_14SkA3.jpg)

*The file*

> **Prompt**: This is an RGBA image with transparency. A vintage badge-style T-shirt graphic: a setting sun behind a single wave in cream, burnt orange, and teal, with the words "PACIFIC COAST SURF CLUB" arched above it and "EST. 1987" beneath it in bold retro lettering, flat screen-print colors, crisp edges. The image has alpha channel and the background is transparent.

![The same surf club graphic placed on a flat navy background](https://runware.ai/docs/assets/output-graphic-on-navy.D-9JE7tD_1311NM.jpg)

*On a navy garment color*

Check artwork **on the color it will print on**. The cream lettering nearly vanishes on a white page and reads at full strength on navy, while the dark red date does the opposite. A white preview says little about a graphic meant for dark garments.

### [Cutting a subject out of a photo](https://runware.ai/docs/models/alibaba-qwen-image-2-1-pro/guides/transparent-backgrounds#cutting-a-subject-out-of-a-photo)

The same wording **works on an edit**. Attach the photo as a reference and ask for the subject:

![A tan leather backpack with brass buckles standing on a wooden bench in a sunlit park](https://runware.ai/docs/assets/source-backpack.BzPsnYeZ_ZwlNyT.jpg)

*Source*

> **Prompt**: A lifestyle product photograph of a tan leather backpack with brass buckles standing on a weathered wooden bench in a sunlit park, trees blurred in the background, a soft shadow on the bench. Photoreal e-commerce lifestyle photography, shallow depth of field, no people, no text.

![The same tan leather backpack cut out with no bench, no park, and no shadow behind it](https://runware.ai/docs/assets/output-cutout.XVE2Yr4K_Z2lkPBu.jpg)

*Cut-out*

> **Prompt**: This is an RGBA image with transparency. Extract the backpack from the photo and remove the bench, the park, and the shadow. Keep the backpack exactly as it is, at the same size and position. The image has alpha channel and the background is transparent.

The instruction lists what goes as well as what stays. **Name the shadow among the things to remove**, because a shadow left on the bench counts as subject as far as the alpha channel is concerned. `width` and `height` match the source, so the cut-out keeps the framing of the original.

### [Checking the edge](https://runware.ai/docs/models/alibaba-qwen-image-2-1-pro/guides/transparent-backgrounds#checking-the-edge)

A cut-out is only as good as its edge, and **a white page hides a bad one**. The kettle from earlier, on two tiles:

![The matte black kettle cut-out placed on a plain warm cream background](https://runware.ai/docs/assets/output-composite-light.CTpxyPLI_Z1yEbeB.jpg)

*On a light tile*

![The same kettle cut-out placed on a plain near-black background](https://runware.ai/docs/assets/output-composite-dark.B0vvChOk_TIt2D.jpg)

*On a dark tile*

**The dark tile** is the test that matters. A pale fringe around a subject disappears on white and shows on black, so check every asset against the darkest background it might meet before it ships into a themeable interface.

### [Where the alpha stops](https://runware.ai/docs/models/alibaba-qwen-image-2-1-pro/guides/transparent-backgrounds#where-the-alpha-stops)

The alpha channel answers one question per pixel: **subject or nothing**. A glass bottle is cut along its outline, and the glass itself stays opaque:

![A clear glass perfume bottle with pale amber liquid and a brushed gold cap, cut out with no background behind it](https://runware.ai/docs/assets/output-glass.BdskdjyB_1rDtzP.jpg)

*The file*

> **Prompt**: This is an RGBA image with transparency. A clear glass perfume bottle filled with pale amber liquid and topped with a brushed gold cap, standing upright, centered, soft studio lighting, no floor and no shadow. The image has alpha channel and the background is transparent.

![The same perfume bottle placed on a near-black background, its glass still pale](https://runware.ai/docs/assets/output-glass-on-dark.BehKaWPI_14Q1aC.jpg)

*On a dark tile*

On the dark tile the glass stays pale, because **the background does not show through it**. Inside its outline the bottle averages 99% opacity. For see-through products, plan on a clean outline and nothing more.

### [Tips](https://runware.ai/docs/models/alibaba-qwen-image-2-1-pro/guides/transparent-backgrounds#tips)

1. **Wrap the description in the two fixed sentences.** They are what turns transparency on, and a PNG request without them comes back opaque.
    
2. **Ask for a format with an alpha channel.** Set `outputFormat` to `PNG` or `WEBP`, because the default `JPG` fills the transparent area with a solid color.
    
3. **Say what is absent.** "No floor and no shadow" keeps a surface from being cut out along with the subject, and a requested margin keeps the subject off the edges of the file.
    
4. **Check every asset on a dark tile.** A fringe that is invisible on white is obvious on black.
    
5. **Treat glass as opaque.** The alpha channel follows the outline of a see-through object and does not look through it.