---
title: "POST /v1/messages"
method: POST
path: "/v1/messages"
---

# POST /v1/messages

`POST /v1/messages`

## Request body

- ClaudeMessagesRequest
  - `messages` object[], required
    - `role` string
    - `content` string
  - `model` string, required — Models supported by TTAPI, see [Claude Supported Models](/grids/cn/start/pricing/llm)
  - `max_tokens` number, required — Maximum tokens to generate before stopping. Minimum: 1
  - `stream` boolean — Whether to use server-sent events for progressive response transmission

## Response `200`

Successful response

- object
  - `id` string — Unique message identifier
  - `type` string — Response type
  - `role` string — Role identifier
  - `content` object[] — Message content list
    - `type` string, required
    - `text` string, required — Response text content
  - `model` string — Model version used
  - `stop_reason` string, nullable — Stop reason
  - `usage` object — Token usage statistics
    - `input_tokens` integer, required
    - `output_tokens` integer, required

## Other responses

- `400` — Parameter error
- `401` — Authorization failed

---

[API](https://skmtc.net/ttapi/apis/flowmusic-api-docs.md) · [All operations](https://skmtc.net/ttapi/apis/flowmusic-api-docs/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ttapi/flowmusic-api-docs/versions/f27f8a59dbd0/schema)
