---
title: "Export one image, video or chat sticker"
method: POST
path: "/v1/assets/{id}/exports"
tags: ["Assets"]
---

# Export one image, video or chat sticker

`POST /v1/assets/{id}/exports`

## Request

- Base URL: `https://api.masko.ai`
- URL: `https://api.masko.ai/v1/assets/{id}/exports`
- Auth: HTTP bearer

Creates a derivative of this exact completed source asset. Create a library sticker first with POST /v1/assets/{animation_id}/sticker to prepare all four platforms. Its sticker_animation asset ID can then request an individual platform export here. Image sources: image, transparent_image or sticker_image; formats PNG/WebP. Size is the maximum image dimension (32–2048), preserving aspect ratio and alpha without upscaling. Video sources: video/webm/hevc with an existing background-removal job; size is width (32–1920). Video formats: webm, hevc, prores (ProRes 4444 MOV with alpha for video editing), stacked_video, gif, lottie, dotlottie, png_sequence. Omit size for original. Choose format: sticker-telegram-v1, sticker-whatsapp-v1, sticker-wechat-v1 or sticker-discord-v1 for animated chat stickers. Each version determines codec, dimensions and duration and keeps 10% file-size headroom. Omit size. Only validated results become downloadable. The legacy sticker_profile input remains accepted. No generation credits. Reuses a pending/completed export for the same source/format/size; force requests a new file without changing old URLs. Poll the job, then GET this export list for signed downloads. Accepts Idempotency-Key.

Select Masko-API-Version: 2026-09-26 (or api_version=2026-09-26) for the canonical mascot contract shown first. Existing unversioned clients keep legacy collection fields. A mascot_id query filter also selects the canonical contract. Mixing identifier names returns 400.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `api_version` '2026-09-26' | 'legacy'

## Headers

- `Idempotency-Key` string
- `Masko-API-Version` '2026-09-26' | 'legacy'

## Request body

- object
  - `format` 'png' | 'webp' | 'webm' | 'hevc' | 'prores' | 'stacked_video' | 'gif' | 'animated_webp' | 'apng' | 'lottie' | 'dotlottie' | 'png_sequence' | 'sticker-telegram-v1' | 'sticker-whatsapp-v1' | 'sticker-wechat-v1' | 'sticker-discord-v1'
  - `sticker_profile` 'telegram-v1' | 'whatsapp-v1' | 'wechat-v1' | 'discord-v1': Legacy input. Prefer format: sticker-telegram-v1, sticker-whatsapp-v1, sticker-wechat-v1 or sticker-discord-v1.
  - `size` integer: Maximum image dimension, or video width. Omit for original size. Videos support up to 1920.
  - `force` boolean

## Response `200`

Completed reusable export

- object
  - `data` object, required
    - `id` string, uuid, required
    - `source_asset_id` string, uuid, required
    - `format` string, required
    - `size` number, nullable, required
    - `job_id` string, uuid, required
    - `asset_id` string, uuid, required
    - `status` 'pending' | 'processing' | 'completed' | 'failed', required
    - `error` string, nullable, required
    - `file_url` string, nullable, required
    - `public_url` string, nullable, required
    - `metadata` unknown
    - `sticker_profile` string
    - `poster_url` string, nullable
    - `poll_url` string, required

## Other responses

- `202`: Export queued
- `400`: Request failed
- `401`: Request failed
- `403`: Request failed
- `404`: Request failed
- `409`: Request failed
- `429`: Request failed
- `500`: Request failed
- `503`: Request failed

---

[API](https://skmtc.dev/masko/apis/masko-api.md) · [All operations](https://skmtc.dev/masko/apis/masko-api/llms.txt) · [OpenAPI document](https://skmtc.dev/masko/apis/masko-api/revisions/91eb3006a92f?raw)
