跳转到主要内容
POST
/
v1
/
messages
创建消息 (Create a Message)
curl --request POST \
  --url https://api.senseaudio.cn/v1/messages \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "senseaudio-s2",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "你好,Claude!请简要介绍一下你自己。"
    }
  ],
  "temperature": 1,
  "stream": false
}
'
import requests

url = "https://api.senseaudio.cn/v1/messages"

payload = {
"model": "senseaudio-s2",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "你好,Claude!请简要介绍一下你自己。"
}
],
"temperature": 1,
"stream": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'senseaudio-s2',
max_tokens: 1024,
messages: [{role: 'user', content: '你好,Claude!请简要介绍一下你自己。'}],
temperature: 1,
stream: false
})
};

fetch('https://api.senseaudio.cn/v1/messages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.senseaudio.cn/v1/messages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'senseaudio-s2',
'max_tokens' => 1024,
'messages' => [
[
'role' => 'user',
'content' => '你好,Claude!请简要介绍一下你自己。'
]
],
'temperature' => 1,
'stream' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.senseaudio.cn/v1/messages"

payload := strings.NewReader("{\n \"model\": \"senseaudio-s2\",\n \"max_tokens\": 1024,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"你好,Claude!请简要介绍一下你自己。\"\n }\n ],\n \"temperature\": 1,\n \"stream\": false\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.senseaudio.cn/v1/messages")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"senseaudio-s2\",\n \"max_tokens\": 1024,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"你好,Claude!请简要介绍一下你自己。\"\n }\n ],\n \"temperature\": 1,\n \"stream\": false\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.senseaudio.cn/v1/messages")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"senseaudio-s2\",\n \"max_tokens\": 1024,\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"你好,Claude!请简要介绍一下你自己。\"\n }\n ],\n \"temperature\": 1,\n \"stream\": false\n}"

response = http.request(request)
puts response.read_body
{
  "id": "msg_01ABCDxyz0123456789",
  "content": [
    {
      "citations": [
        {
          "cited_text": "<string>",
          "document_index": 123,
          "document_title": "<string>",
          "end_char_index": 123,
          "file_id": "<string>",
          "start_char_index": 123,
          "type": "char_location"
        }
      ],
      "text": "<string>",
      "type": "text"
    }
  ],
  "model": "senseaudio-s2",
  "role": "assistant",
  "type": "message",
  "usage": {
    "input_tokens": 123,
    "output_tokens": 123,
    "cache_creation": {
      "ephemeral_1h_input_tokens": 123,
      "ephemeral_5m_input_tokens": 123
    },
    "cache_creation_input_tokens": 123,
    "cache_read_input_tokens": 123,
    "inference_geo": "<string>",
    "iterations": [
      {
        "cache_creation": {
          "ephemeral_1h_input_tokens": 123,
          "ephemeral_5m_input_tokens": 123
        },
        "cache_creation_input_tokens": 123,
        "cache_read_input_tokens": 123,
        "input_tokens": 123,
        "output_tokens": 123,
        "type": "message"
      }
    ],
    "server_tool_use": {
      "web_fetch_requests": 123,
      "web_search_requests": 123
    }
  },
  "container": {
    "id": "<string>",
    "expires_at": "2023-11-07T05:31:56Z",
    "skills": [
      {
        "skill_id": "<string>",
        "version": "<string>"
      }
    ]
  },
  "context_management": {
    "applied_edits": [
      {
        "cleared_input_tokens": 123,
        "cleared_tool_uses": 123,
        "type": "clear_tool_uses_20250919"
      }
    ]
  },
  "stop_details": {
    "explanation": "<string>",
    "type": "refusal"
  },
  "stop_sequence": "\n\nHuman:"
}
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "Invalid API key."
}
}
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "Invalid API key."
}
}
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "Invalid API key."
}
}
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "Invalid API key."
}
}

授权

Authorization
string
header
必填

格式:Bearer <API_KEY>

请求体

application/json
max_tokens
integer
必填

生成的最大 token 数,达到该值后模型将停止生成。

示例:

1024

messages
object[]
必填

输入消息列表。单次请求最多包含 100,000 条消息。

Maximum array length: 100000
model
enum<string>
默认值:senseaudio-s2
必填

用于补全你提示词的模型。

可用选项:
deepseek-v4-flash,
deepseek-v4-pro,
doubao-seed-2-0-pro-260215,
glm-5.1,
glm-5.2,
kimi-k2.6,
minimax-m2.7,
qwen3.6-27b,
qwen3.6-35b-a3b,
senseaudio-s2,
senseaudio-s1,
senseaudio-s2-flash,
senseaudio-s2-lite,
senseaudio-vl-1.0-260319,
senseaudio-vl-lite-1.0-260319,
sensenova-6.7-flash-lite
示例:

"senseaudio-s2"

cache_control
object | null

顶层缓存控制;将自动在请求中最后一个可缓存的内容块上添加 cache_control 标记。

container

容器标识符,用于跨请求复用。

context_management
object | null

上下文管理配置。控制 Claude 在多次请求之间如何管理上下文。

inference_geo
string | null

指定推理处理的地理区域。

示例:

"us"

mcp_servers
object[]

本次请求中使用的 MCP 服务器

metadata
object

描述请求相关的元数据对象。

output_config
object

模型输出配置选项,例如输出格式等。

output_format
object | null

已废弃:请改用 output_config.format。

service_tier
enum<string>
默认值:auto

是否优先使用优先容量(可用时),或仅使用标准容量。

可用选项:
auto,
standard_only
示例:

"auto"

speed
enum<string> | null
默认值:standard

推理速度模式。'fast' 模式启用每秒更高输出 token 数的推理。

可用选项:
standard,
fast
示例:

"standard"

stop_sequences
string[]

自定义停止文本序列,模型在生成到这些序列时会停止。

stream
boolean
默认值:false

是否通过 Server-Sent Events (SSE) 以增量方式流式返回响应。

示例:

false

system

系统提示词(System Prompt)。

示例:

"你是一个严谨且乐于助人的人工智能助手。"

temperature
number
默认值:1

响应的随机性强度。默认值为 1.0。

必填范围: 0 <= x <= 1
示例:

1

thinking
object

启用思考模式的配置。

tool_choice
object

由模型自行决定是否使用工具。

tools
object[]

模型可以使用的工具定义列表。

用户自定义工具定义。

top_k
integer

仅从每个后续 token 的 top-K 个候选中采样。

示例:

5

top_p
number

使用核采样(nucleus sampling)。

示例:

0.9

user_profile_id
string | null

用于归属本次请求的用户配置 ID。

示例:

"user-profile-123"

响应

成功响应:非流式模式返回完整消息,流式模式(stream=true)返回 Server-Sent Events 事件流。

模型生成的消息响应对象。

id
string
必填

唯一对象标识符。

示例:

"msg_01ABCDxyz0123456789"

content
object[]
必填

响应内容块列表。

model
enum<string>
默认值:senseaudio-s2
必填

用于补全你提示词的模型。

可用选项:
deepseek-v4-flash,
deepseek-v4-pro,
doubao-seed-2-0-pro-260215,
glm-5.1,
glm-5.2,
kimi-k2.6,
minimax-m2.7,
qwen3.6-27b,
qwen3.6-35b-a3b,
senseaudio-s2,
senseaudio-s1,
senseaudio-s2-flash,
senseaudio-s2-lite,
senseaudio-vl-1.0-260319,
senseaudio-vl-lite-1.0-260319,
sensenova-6.7-flash-lite
示例:

"senseaudio-s2"

role
enum<string>
默认值:assistant
必填

消息角色,响应固定为 assistant。

可用选项:
assistant
示例:

"assistant"

type
enum<string>
默认值:message
必填

对象类型,固定为 message。

可用选项:
message
示例:

"message"

usage
object
必填

Billing and rate-limit usage.

container
object | null

Information about the container used in the request (for the code execution tool)

context_management
object | null
stop_details
object | null
stop_reason
enum<string> | null
可用选项:
end_turn,
max_tokens,
stop_sequence,
tool_use,
pause_turn,
compaction,
refusal,
model_context_window_exceeded
stop_sequence
string | null

触发停止生成的自定义停止序列(若命中)。

示例:

"\n\nHuman:"