---
title: "Render a Studio design"
method: POST
path: "/studio-designs/{designId}/render"
tags: ["Studio designs"]
---

# Render a Studio design

`POST /studio-designs/{designId}/render`

## Request

- Base URL: `https://www.app.ocoya.com/api/_public/v1`
- URL: `https://www.app.ocoya.com/api/_public/v1/studio-designs/{designId}/render`
- Auth: API key in header `X-API-Key`

Renders a Studio design as a PNG with its fields filled in and returns the image URL. The design itself is not changed.

## Path parameters

- `designId` string, required

## Query parameters

- `brandId` string, required

## Request body

- object
  - `fields` object: Values keyed by field ID from `GET /studio-designs/{designId}`: text for text fields, an image URL for image fields, a CSS colour for colour fields. Fields left out keep the design's own content.

## Response `200`

Success

- object
  - `id` string, required: Studio design ID.
  - `name` string, required: Design name.
  - `url` string, required: The rendered PNG. Pass it in `mediaUrls` to `POST /post` to use it in a post.
  - `mimetype` string, required: Always `image/png`.

## Other responses

- `400`: A field ID the design does not have.
- `401`: Missing or invalid API key.
- `403`: Invalid brand id, or the API key's user does not own this brand.
- `404`: Studio design not found.
- `429`: Rate limit exceeded: 60 requests per minute per API key.
- `500`: Unknown error

## Changes

- **2026-11-04** `ef9bd3530850`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ocoya/apis/ocoya-api/changes/studio-designs/:designId/render/post.md)

---

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