---
title: "Queue a carousel of a product"
method: POST
path: "/carousels"
---

# Queue a carousel of a product

`POST /carousels`

## Request

- Base URL: `https://app.cartviral.com/api/v1`
- URL: `https://app.cartviral.com/api/v1/carousels`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://app.cartviral.com/oauth/authorize`, token URL `https://app.cartviral.com/oauth/token`, scopes: `mcp`)

Queue a multi-slide carousel (Instagram and TikTok slides) for one catalog product, built only from its real facts: 3 credits per set, a few minutes to render. format picks the content idea (e.g. a save-this cheat sheet or a myth vs fact), style picks the visual look; leave either out and CartViral rotates to a format/style combo it hasn't tried recently for this account. Credits are charged from the account; a failed set refunds automatically. Poll list_carousels for download links.

## Request body

- object
  - `product_id` string, required: Product id from list_products
  - `format` 'cheat_sheet' | 'myth_vs_fact' | 'this_or_that' | 'vs_usual_way' | 'before_after' | 'listicle' | 'how_to_routine' | 'gift_guide' | 'behind_the_scenes' | 'customer_story' | 'origin_story' | 'unpopular_opinion': Optional carousel format id; omit to let CartViral pick one
  - `style` 'editorial' | 'cinematic' | 'comic' | 'social': Optional visual style id; omit to let CartViral pick one

## Response `200`

Success

- object

## Other responses

- `400`: Invalid input or the action could not be done; body has an error message
- `401`: Missing or invalid credentials
- `429`: Rate limit: 120 calls per minute per key

---

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