---
title: "Storyboard Images"
method: POST
path: "/api/v1/asset/storyboard-images"
tags: ["assets"]
---

# Storyboard Images

`POST /api/v1/asset/storyboard-images`

## Request

- Base URL: `https://api.brandbooster.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.brandbooster.ai/api/v1/asset/storyboard-images`
- Auth: one of:
  - API key in header `X-Internal-Api-Key`
  - API key in query parameter `api_key`

Generate a storyboard image from a prompt (async). No user auth.

The image is generated with the requested model, uploaded to our GCS bucket
(`qa-dev-quickads-project` on dev/local/stage) and the public URL is returned
from GET /asset/check-storyboard-images/{task_id}.

Headers:
    x-api-key: <STORYBOARD_API_KEY>   (or ?api_key=<STORYBOARD_API_KEY>)

Body:
    prompt:        the image prompt (required)
    model:         nanobanana | nanobanana_pro | nanobanana_2 | seedream | gpt_image_2
                   (default: nanobanana)
    aspect_ratio:  e.g. "16:9", "9:16", "1:1" (default: "16:9")

Returns:
    dict: task_id to poll

## Request body

- StoryboardImageRequestDTO: Request DTO for storyboard image generation. The endpoint is async: POST returns a task id, the generated public GCS URL is read back from the polling endpoint.
  - `prompt` string, required
  - `model` string, nullable
  - `aspect_ratio` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

## Changes

> 35 revisions in range; 1 not diffed.

- **2026-10-26** `b7c090567a88`: 1 info
  - the `model` request property default value changed from `gpt_image_2` to `seedream`

[Operation history](https://skmtc.dev/brandbooster/apis/fastapi/changes/api/v1/asset/storyboard-images/post.md)

---

[API](https://skmtc.dev/brandbooster/apis/fastapi.md) - [All operations](https://skmtc.dev/brandbooster/apis/fastapi/llms.txt) - [OpenAPI document](https://skmtc.dev/brandbooster/apis/fastapi/revisions/8e8c18c2dc35?raw)
