---
title: "Create Cpp Set"
method: POST
path: "/v1/apps/{listing_id}/cpp-sets"
tags: ["creative-apps"]
---

# Create Cpp Set

`POST /v1/apps/{listing_id}/cpp-sets`

## Request

- Base URL: `https://api.theagentc.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.theagentc.io/v1/apps/{listing_id}/cpp-sets`
- Auth: HTTP bearer

Create a CPP screenshot-set batch: screenshot_frame renders per
(concept x up to 4 source screenshots) + promo text per concept.
Credit-gated at CREATIVE_CREDIT_COSTS['cpp_set'] per concept.

## Path parameters

- `listing_id` string, uuid, required

## Request body

- CppSetCreate
  - `concept_ids` string[], required
  - `device` string
  - `theme_name` string, nullable
  - `theme_prompt` string, nullable
  - `slides` CppSlide[], nullable
    - `shot` integer, nullable
    - `headline` string
    - `focus` string, nullable
    - `region` SlideRegionRect: An explicit rect override, floats 0-1 in SCREENSHOT fractions (the RAW screenshot's own width/height — the same coordinate space screenshot_regions.RegionHit.bbox uses). x0<x1, y0<y1 required; a degenerate box (too thin/short to be a legible region) is rejected rather than silently clamped. v1 non-editable-on-tilted-slides caveat: for a TILTED slide (the classic/momentum 45°-bridge hero, or zoom's rotated bookend devices at slides 0/5), the render pipeline's recorded `screen_rect` is only the post-rotation `expand=True` device bbox — an axis-aligned box 1.65-2.25x larger than the phone's actual visible screen, with no inverse-rotation math to map a Studio drag back to a true screenshot fraction. Posting a `region`/`chip_regions` override for a slide that turns out to be tilted is still accepted (the backend never 4xx's on it), but the render pass reports every region on that slide as `editable: false` in `slides_meta` (see SlideMeta/SlideRegionMeta below) so the Studio region editor never offers drag handles there, instead of silently round-tripping a user's box to the wrong place. This may be revisited with real rotation-aware mapping in a later version.
      - `x0` number, required
      - `y0` number, required
      - `x1` number, required
      - `y1` number, required
    - `chip_regions` ChipRegion[], nullable
      - `x0` number, required
      - `y0` number, required
      - `x1` number, required
      - `y1` number, required
      - `label` string, nullable
  - `layout` string

## Response `201`

Successful Response

- BatchCreateResponse
  - `id` string, uuid, required
  - `status` string, required
  - `credits_cost` integer, required
  - `job_id` string, uuid, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/theagentc/apis/the-agent-c-api.md) · [All operations](https://skmtc.dev/theagentc/apis/the-agent-c-api/llms.txt) · [OpenAPI document](https://skmtc.dev/theagentc/apis/the-agent-c-api/revisions/1c9868b44584?raw)
