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

# Product Stickers

Call `experimental.getSticker` to get a transparent-background cutout of a product, ready to layer onto collages, outfit boards, or any background.

> [!NOTE]
>
> Alpha. The request shape and billing may change.

Pass exactly one of:

* `product_id`, a Channel3 product ID.
* `url`, the product page URL of a product already in the Channel3 catalog. A URL the catalog doesn't hold returns 404. Channel3 does not fetch it.

Channel3 picks the product's most isolated image, such as a flat lay or a packshot ahead of on-model and lifestyle shots. It cuts the product out and returns `sticker_url`, a WebP with a transparent background, tight-cropped to the product. Stickers are cached, so repeat requests for the same product return the same URL quickly.

Billing is **1 credit per call**.

## From a product ID

```typescript TypeScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
import { Channel3 } from "@channel3/sdk";

const client = new Channel3();

async function main() {
  const sticker = await client.experimental.getSticker({
    product_id: "7b5sz6i",
  });

  console.log(sticker.sticker_url);
}

main();
```

```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
from channel3_sdk import Channel3

client = Channel3()

def main():
    sticker = client.experimental.get_sticker(product_id="7b5sz6i")
    print(sticker.sticker_url)

if __name__ == "__main__":
    main()
```

## From a product page URL

```typescript TypeScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
import { Channel3 } from "@channel3/sdk";

const client = new Channel3();

async function main() {
  const sticker = await client.experimental.getSticker({
    url: "https://www.example.com/products/white-t-shirt",
  });

  console.log(sticker.product_id, sticker.sticker_url);
}

main();
```

```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
from channel3_sdk import Channel3

client = Channel3()

def main():
    sticker = client.experimental.get_sticker(
        url="https://www.example.com/products/white-t-shirt",
    )
    print(sticker.product_id, sticker.sticker_url)

if __name__ == "__main__":
    main()
```

## Errors

| Status | Meaning |
| - | - |
| 404 | The product is not in the Channel3 catalog. |
| 422 | The product's images can't be cut into a sticker, for example when no image isolates the product, or the request did not provide exactly one of `url` or `product_id`. |
| 503 | Sticker rendering is temporarily unavailable. Retry with backoff. |

Stickers work best on flat lays and studio shots. On-model and lifestyle images may keep the person or scene, and clear materials such as glass lenses stay opaque.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.