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

# /v1/messages

> 发送结构化的输入消息列表（包含文本和/或图像内容），模型将生成对话中的下一条消息。Messages API可用于单次查询或无状态多轮对话。



## OpenAPI

````yaml POST /v1/messages
openapi: 3.1.0
info:
  title: TokenOps AI API
  description: TokenOps AI API 提供了强大的AI服务能力，包括聊天对话、Gemini模型集成等功能。
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://model-api.skyengine.com.cn
    description: TokenOps AI API 生产环境
security: []
paths:
  /v1/messages:
    post:
      summary: 创建消息
      description: 发送结构化的输入消息列表（包含文本和/或图像内容），模型将生成对话中的下一条消息。Messages API可用于单次查询或无状态多轮对话。
      operationId: createMessage
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMessageRequest'
      responses:
        '200':
          description: 消息创建成功
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '400':
          description: 请求参数错误
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - ClaudeAuth: []
          AnthropicVersionAuth: []
components:
  schemas:
    CreateMessageRequest:
      type: object
      required:
        - model
        - max_tokens
        - messages
      properties:
        model:
          type: string
          description: 要使用的模型ID
          example: claude-3-5-sonnet-20241022
          enum:
            - claude-3-5-sonnet-20241022
            - claude-3-5-haiku-20241022
            - claude-3-opus-20240229
            - claude-3-sonnet-20240229
            - claude-3-haiku-20240307
        max_tokens:
          type: integer
          description: 生成的最大token数量
          minimum: 1
          maximum: 8192
          example: 1024
        messages:
          type: array
          description: 输入消息列表
          example:
            - role: user
              content: 你好，请介绍一下你自己
          items:
            $ref: '#/components/schemas/MessageInput'
          minItems: 1
        metadata:
          type: object
          description: 用于标识和跟踪对话的可选元数据
          properties:
            user_id:
              type: string
              description: 外部用户ID
        stop_sequences:
          type: array
          description: 自定义文本序列，当模型生成这些序列时将停止生成
          items:
            type: string
          maxItems: 4
        stream:
          type: boolean
          description: 是否以服务器发送事件(SSE)的形式增量流式传输响应
          default: false
        system:
          oneOf:
            - type: string
            - type: array
              items:
                $ref: '#/components/schemas/SystemBlock'
          description: 系统提示，用于指导Claude的行为
        temperature:
          type: number
          description: 采样温度，控制随机性
          minimum: 0
          maximum: 1
          default: 1
        tool_choice:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - auto
                    - any
                    - tool
                name:
                  type: string
                  description: 工具名称（仅当type为tool时需要）
              required:
                - type
            - type: string
              enum:
                - auto
                - any
          description: 控制模型如何使用提供的工具
        tools:
          type: array
          description: Claude可以使用的工具列表
          items:
            $ref: '#/components/schemas/ToolDefinition'
        top_k:
          type: integer
          description: 仅从每个后续token的前K个选项中采样
          minimum: 1
        top_p:
          type: number
          description: 使用核采样，仅从累积概率达到此值的token中采样
          minimum: 0
          maximum: 1
    Message:
      type: object
      required:
        - id
        - type
        - role
        - content
        - model
        - stop_reason
        - stop_sequence
        - usage
      properties:
        id:
          type: string
          description: 消息的唯一标识符
          example: msg_013Zva2CMHLNnXjNJJKqJ2EF
        type:
          type: string
          enum:
            - message
          description: 对象类型
          example: message
        role:
          type: string
          enum:
            - assistant
          description: 对话角色
          example: assistant
        content:
          type: array
          description: 消息内容
          example:
            - type: text
              text: 你好！我是Claude，一个由Anthropic开发的AI助手。
          items:
            $ref: '#/components/schemas/ContentBlock'
        model:
          type: string
          description: 使用的模型
          example: claude-3-5-sonnet-20241022
        stop_reason:
          type: string
          enum:
            - end_turn
            - max_tokens
            - stop_sequence
            - tool_use
          description: 停止生成的原因
        stop_sequence:
          type: string
          nullable: true
          description: 导致停止的序列（如果适用）
        usage:
          $ref: '#/components/schemas/MessageUsage'
          description: 使用情况统计
    ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/Status'
          description: 错误信息
    MessageInput:
      type: object
      required:
        - role
        - content
      properties:
        role:
          type: string
          enum:
            - user
            - assistant
          description: 消息的角色
          example: user
        content:
          oneOf:
            - type: string
              example: 你好，请介绍一下你自己
            - type: array
              items:
                $ref: '#/components/schemas/ContentBlock'
          description: 消息内容
          example: 你好，请介绍一下你自己
    SystemBlock:
      oneOf:
        - $ref: '#/components/schemas/TextBlock'
        - type: object
          required:
            - type
            - cache_control
          properties:
            type:
              type: string
              enum:
                - text
            text:
              type: string
            cache_control:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - ephemeral
    ToolDefinition:
      type: object
      required:
        - name
        - description
      properties:
        name:
          type: string
          description: 工具名称
          example: get_weather
        description:
          type: string
          description: 工具描述
          example: 获取指定城市的天气信息
        input_schema:
          type: object
          description: JSON Schema描述工具输入
          additionalProperties: true
    ContentBlock:
      oneOf:
        - $ref: '#/components/schemas/TextBlock'
        - $ref: '#/components/schemas/ImageBlock'
        - $ref: '#/components/schemas/ToolUseBlock'
        - $ref: '#/components/schemas/ToolResultBlock'
    MessageUsage:
      type: object
      required:
        - input_tokens
        - output_tokens
      properties:
        input_tokens:
          type: integer
          description: 输入token数量
          example: 25
        output_tokens:
          type: integer
          description: 输出token数量
          example: 18
    Status:
      type: object
      properties:
        code:
          type: integer
          description: 错误代码
        message:
          type: string
          description: 错误消息
        details:
          type: array
          description: 错误详情
          items:
            type: object
            additionalProperties: true
    TextBlock:
      type: object
      required:
        - type
        - text
      properties:
        type:
          type: string
          enum:
            - text
          example: text
        text:
          type: string
          description: 文本内容
          example: 你好，请介绍一下你自己
    ImageBlock:
      type: object
      required:
        - type
        - source
      properties:
        type:
          type: string
          enum:
            - image
          example: image
        source:
          type: object
          required:
            - type
            - media_type
            - data
          properties:
            type:
              type: string
              enum:
                - base64
              example: base64
            media_type:
              type: string
              enum:
                - image/jpeg
                - image/png
                - image/gif
                - image/webp
              description: 图像的媒体类型
              example: image/jpeg
            data:
              type: string
              description: Base64编码的图像数据
              example: >-
                iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==
    ToolUseBlock:
      type: object
      required:
        - type
        - id
        - name
        - input
      properties:
        type:
          type: string
          enum:
            - tool_use
          example: tool_use
        id:
          type: string
          description: 工具使用的唯一标识符
          example: toolu_01A09q90qw90lq917835lq9
        name:
          type: string
          description: 工具名称
          example: get_weather
        input:
          type: object
          description: 传递给工具的输入
          additionalProperties: true
          example:
            city: 北京
    ToolResultBlock:
      type: object
      required:
        - type
        - tool_use_id
      properties:
        type:
          type: string
          enum:
            - tool_result
          example: tool_result
        tool_use_id:
          type: string
          description: 对应的工具使用ID
          example: toolu_01A09q90qw90lq917835lq9
        content:
          oneOf:
            - type: string
            - type: array
              items:
                oneOf:
                  - $ref: '#/components/schemas/TextBlock'
                  - $ref: '#/components/schemas/ImageBlock'
          description: 工具执行结果
        is_error:
          type: boolean
          description: 表示工具执行是否出错
          default: false
  securitySchemes:
    ClaudeAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Claude API密钥认证。在 `x-api-key` HTTP Header 中包含您的 API-Key
    AnthropicVersionAuth:
      type: apiKey
      in: header
      name: anthropic-version
      description: Claude API版本号，必需的Header，例如：2023-06-01

````