---
title: "Create Ad Creative Size Set"
method: POST
path: "/ad-creatives/{creative_id}/size-set"
tags: ["Ad Creatives"]
---

# Create Ad Creative Size Set

`POST /ad-creatives/{creative_id}/size-set`

## Request

- Base URL: `https://be.graph8.com/api/v1`
- URL: `https://be.graph8.com/api/v1/ad-creatives/{creative_id}/size-set`
- Auth: HTTP bearer

Fan one creative out into the platform's other formats. SPENDS CREDIT.

ONE PASS PER FORMAT, so the cost scales with how many you ask for. Copy is
locked verbatim; only the layout and the crop change. Omit `formats` and
you get the platform's FULL set, which is the most expensive call on this
router - name the formats you actually need.

Asynchronous: the rows appear immediately and fill in afterwards.

## Path parameters

- `creative_id` string, required: Ad creative id.

## Headers

- `Authorization` string, nullable
- `X-Target-Org-Id` string, nullable

## Request body

- SizeSetRequest: Fan one creative out into the platform's other formats. SPENDS CREDIT. Copy is locked verbatim; the imagery is re-laid-out per format, so the cost scales with how many formats you ask for. Omit `formats` for the platform's full set.
  - `formats` string[], nullable

## Response `202`

Successful Response

- ApiResponseStudioContentPayload
  - `data` StudioContentPayload, required: One Studio object, open-shaped. See the module docstring.
  - `pagination` PaginationMeta
    - `page` integer, required: Current page number (1-indexed)
    - `limit` integer, required: Items per page
    - `total` integer, required: Total number of items
    - `has_next` boolean, required: Whether there are more pages
    - `next_cursor` string, nullable: Opaque cursor for the next page; null when there are no more items. Pass it back as the `cursor` query param to fetch the following page without computing page numbers.
    - `total_available` integer, nullable: Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search.
    - `total_is_lower_bound` boolean, nullable: Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search.
    - `notes` string[], nullable: Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/graph8/apis/graph8-developer-api.md) · [All operations](https://skmtc.dev/graph8/apis/graph8-developer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/graph8/apis/graph8-developer-api/revisions/2e7cfa0ca921?raw)
