> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ttapi.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Claude Messages 接口

<Note>
  请求参数及响应参数与官方一致，
  具体参考<a href="https://platform.claude.com/docs/en/api/messages" target="_blank">Claude官方文档</a>。
</Note>


## OpenAPI

````yaml openapi/cn/llm.json POST /v1/messages
openapi: 3.1.0
info:
  title: LLM API DOCS
  version: 1.0.0
  description: TTAPI LLM API 接口服务。
servers:
  - url: https://api.ttapi.io
security: []
paths:
  /v1/messages:
    post:
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClaudeMessagesRequest'
      responses:
        '200':
          description: 成功响应
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: 消息唯一标识
                    example: msg_018zZJf8ZJf8ZJf8ZJf8ZJf8ZJf8
                  type:
                    type: string
                    description: 响应类型
                    example: message
                  role:
                    type: string
                    description: 角色标识
                    example: assistant
                  content:
                    type: array
                    description: 消息内容列表
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          example: text
                        text:
                          type: string
                          description: 响应文本内容
                          example: ' Hello! My name is Claude.'
                      required:
                        - type
                        - text
                  model:
                    type: string
                    description: 使用的模型版本
                    example: claude-2.0
                  stop_reason:
                    type:
                      - string
                      - 'null'
                    description: 停止原因
                    example: stop_sequence
                  usage:
                    type: object
                    description: token 使用统计
                    properties:
                      input_tokens:
                        type: integer
                        example: 15
                      output_tokens:
                        type: integer
                        example: 22
                    required:
                      - input_tokens
                      - output_tokens
                example:
                  id: msg_018zZJf8ZJf8ZJf8ZJf8ZJf8ZJf8
                  type: message
                  role: assistant
                  content:
                    - type: text
                      text: ' Hello! My name is Claude.'
                  model: claude-2.0
                  stop_reason: stop_sequence
                  usage:
                    input_tokens: 15
                    output_tokens: 22
                required:
                  - id
                  - type
                  - role
                  - content
                  - model
                  - usage
            text/event-stream:
              schema:
                type: string
                description: 'SSE 流式输出，包含 event: completion/ping 等类型，最后返回停止标识'
              examples:
                stream-example:
                  summary: SSE 流式输出 (stream=true)
                  value: >-
                    event: completion


                    data: {"type": "completion", "completion": " Hello",
                    "stop_reason": null, "model": "claude-2.0"}


                    event: completion


                    data: {"type": "completion", "completion": "!",
                    "stop_reason": null, "model": "claude-2.0"}


                    event: ping


                    data: {"type": "ping"}


                    event: completion


                    data: {"type": "completion", "completion": " My",
                    "stop_reason": null, "model": "claude-2.0"}


                    event: completion


                    data: {"type": "completion", "completion": " name",
                    "stop_reason": null, "model": "claude-2.0"}


                    event: completion


                    data: {"type": "completion", "completion": " is",
                    "stop_reason": null, "model": "claude-2.0"}


                    event: completion


                    data: {"type": "completion", "completion": " Claude",
                    "stop_reason": null, "model": "claude-2.0"}


                    event: completion


                    data: {"type": "completion", "completion": ".",
                    "stop_reason": null, "model": "claude-2.0"}


                    event: completion


                    data: {"type": "completion", "completion": "",
                    "stop_reason": "stop_sequence", "model": "claude-2.0"}
        '400':
          $ref: '#/components/responses/400Response'
        '401':
          $ref: '#/components/responses/401Response'
      security:
        - x-api-key: []
components:
  schemas:
    ClaudeMessagesRequest:
      type: object
      properties:
        messages:
          type: array
          items:
            type: object
            properties:
              role:
                type: string
              content:
                type: string
          example:
            - role: user
              content: Hello!
        model:
          type: string
          example: claude-sonnet-4-5
          description: TTAPI 支持使用的模型，详见[Claude支持模型](/grids/cn/start/pricing/llm)
        max_tokens:
          type: number
          default: 1024
          description: 停止前生成的最大令牌数量。 最小值：1
        stream:
          type: boolean
          default: 'false'
          description: 是否使用服务器发送的事件逐步传输响应
      required:
        - messages
        - model
        - max_tokens
  responses:
    400Response:
      description: 参数错误
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                example: FAILED
              message:
                type: string
                example: '"prompt" cannot be empty.'
              data:
                type: object
            required:
              - status
              - message
    401Response:
      description: 授权失败
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                example: FAILED
              message:
                type: string
                example: Wrong TT-API-KEY or email is not activated.
            required:
              - status
              - message
  securitySchemes:
    x-api-key:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        请前往 <a href='https://dashboard.ttapi.io' target='_blank'>TTAPI 控制台</a>
        获取 API 密钥。

````