---
title: "Propose the dialogue (costs credits)"
method: POST
path: "/v1/storyboards/{id}/dialogue"
tags: ["Storyboards"]
---

# Propose the dialogue (costs credits)

`POST /v1/storyboards/{id}/dialogue`

## Request

- Base URL: `https://nanostudiopro.com/api`
- URL: `https://nanostudiopro.com/api/v1/storyboards/{id}/dialogue`
- Auth: HTTP bearer

The AI looks at every keyframe picture on every path (each once) and proposes lines per segment. **Costs one scan per picture** (`scan` in `/v1/pricing`), checked before the call and charged only after a usable answer, through your token so its daily cap applies. Nothing is saved: send the lines you keep as `addLine` mutations. A storyboard whose owner approves agent spending (`agentSpend: "approve"`) answers `403`.

## Request body

- object
  - `amount` 'subtle' | 'moderate' | 'talkative', required

## Response `200`

The proposal

- object
  - `proposal` object
    - `bySegment` object
    - `count` integer
  - `credits_cost` integer
  - `images` integer

## Other responses

- `400`: The picture of moment 2 is missing: make it again first.
- `401`: Missing or invalid token
- `402`: Insufficient credits
- `403`: The owner approves an agent's spending on this storyboard
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/nanostudiopro/apis/nano-studio-pro-api.md) · [All operations](https://skmtc.dev/nanostudiopro/apis/nano-studio-pro-api/llms.txt) · [OpenAPI document](https://skmtc.dev/nanostudiopro/apis/nano-studio-pro-api/revisions/b454211e598e?raw)
