---
title: "Studio Direct"
method: POST
path: "/v1/apps/{listing_id}/studio/direct"
tags: ["asc-studio"]
---

# Studio Direct

`POST /v1/apps/{listing_id}/studio/direct`

## 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}/studio/direct`
- Auth: HTTP bearer

Auto-Direct: read the app's raw screens + store metadata in ONE vision
call and return an art-directed plan (order, claim headlines with an
accent span, specific sublines, pop-out regions, palette, font, trust
chips) that the client turns into ordinary editable Studio elements.

Free like every other compose action (export is where credits are
charged), bounded by its own per-workspace limiter. SECURITY: the server
only fetches URLs that resolve to this listing's own uploaded screenshots
(matched by GCS object key), so it can't be pointed at arbitrary hosts or
another workspace's files.

## Path parameters

- `listing_id` string, uuid, required

## Request body

- StudioDirectRequest: POST /v1/apps/{listing_id}/studio/direct — Auto-Direct. `screens` are the Studio's screen-asset URLs in library order (the plan's slide.screen indexes into this list). Only this listing's own uploaded screenshots are accepted; anything else is ignored server-side.
  - `screens` string[], required
  - `focus` string, nullable
  - `avoid` string[], nullable
  - `hero` 'hand' | 'icon' | 'lifestyle' | 'phone', nullable

## Response `200`

Successful Response

- StudioDirectResponse
  - `project_name` string, required
  - `font` string, required
  - `palette` StudioDirectPalette, required
    - `bg` string, required
    - `surface` string, required
    - `ink` string, required
    - `accent` string, required
    - `accent2` string, required
    - `highlight` string, nullable
  - `slides` StudioDirectSlide[], required
    - `screen` integer, required
    - `headline` string, required
    - `subline` string, required
    - `popouts` array[], required
      - number[]
    - `layout` string
    - `stickers` StudioDirectSticker[]
      - `text` string, required
      - `y` number, required
  - `chips` string[], required
  - `rating` object, nullable
  - `hero` StudioDirectHero, required
    - `type` string, required
    - `pills` string[]
    - `scene` string
    - `mascot` number[], nullable
  - `accent_style` string
  - `header` object, 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)
