> ## 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.</Note>

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

<CodeGroup>
  ```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()
  ```
</CodeGroup>

## From a product page URL

<CodeGroup>
  ```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()
  ```
</CodeGroup>

## 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.