本文将介绍慧星云大模型推理 API 接口(兼容 OPenAI)的使用。
Post
/api.huixingyun.com/v1/chat/completions鉴权
使用 Bearer token 方式进行 API 鉴权,格式为 Bearer 加上 API Key。
Curl 请求中 HTTP Auth 头示例:
--header 'Authorization: Bearer sk-xxxxxxxxxxxxxx' \请求
Body
| 名称 | 类型 | 是否必填 | 说明 | 默认值 |
|---|---|---|---|---|
| model | string | 是 | 模型id | - |
| messages | object[] | 是 | 到目前为止的对话组成的消息列表 | - |
| messages.role | string | 是 | 发送消息的角色。支持 system(系统指令)、user(用户提问)和 assistant(模型回答)。 | user |
| messages.content | string/object[] | 是 | 消息内容。支持纯文本内容string和多模态内容object[]。多模态仅支持Doubao-Seed-1.6-flash、Doubao-Seed-1.6-thinking、doubao-seed-1-6-250615 | |
| messages.content.text | string | 文本模态部分的内容。 | ||
| messages.content.type | string | 内容模态。根据内容模态可为 text、image_url、video_url | ||
| messages.content.image_url | object | 图片模态的内容。 | ||
| messages.content.image_url.url | string | 图片的 url 链接或Base64 编码。 | ||
| messages.content.video_url | object | 视频消息的内容部分。 | ||
| messages.content.video_url.url | string | 视频的 url 链接或Base64 编码。 | ||
| messages.content.video_url.fps | float/ null | 抽帧频率。取值越高,对视频中画面变化越敏感。 取值越低,对视频中画面变化越迟钝,但 token 花费少,速度更快。取值范围:[0.2, 5]。 | 1 | |
| frequency_penalty | float / null | 多样性控制参数。根据⽣成⽂本出现 token 的频率进⾏惩罚。若值⼤于0,表示通过惩罚已经频繁使用的词来降低模型中重复用词的可能性。若值⼩于 0,则鼓励重复。取值范围为 [-2.0, 2.0]。 | 0 | |
| max_tokens | integer / null | 最终回答的最大长度。 输入 token 和输出 token 的总长度还受模型的上下文长度限制。取值范围各个模型不同,详细见模型广场模型详情。 | 4096 | |
| presence_penalty | float / null | 多样性控制参数。根据 Token 是否已在⽣成⽂本出现过进⾏惩罚。若值⼤于0,表示通过惩罚已经在生成文本中出现的词来降低模型中重复用词的可能性。若值⼩于 0,则鼓励重复。取值范围为 [-2.0, 2.0]。 | 0 | |
| response_format | object | 模型输出内容须遵循此处指定的格式 | {"type": "text"} | |
| response_format.type | string | 是 | 回复格式 | text |
| stop | string / string[] / null | 停止序列用于告诉模型何时停止生成输出。最多支持 4 个字符串。深度思考模型不支持 | null | |
| stream | boolean | 是否开启流式响应。默认关闭,将一次性返回此次生成的所有内容。 | false | |
| stream_options | object | 流式响应的选项。当 stream 为 true 时,可设置 stream_options 字段。 | - | |
| stream_options.chunk_include_usage | boolean / null | 模型流式输出时,输出的每个 chunk 中是否输出本次请求到此 chunk 输出时刻的累计 token 用量信息。 | false | |
| stream_options.include_usage | boolean | 模型流式输出时,是否在输出结束前输出本次请求的 token 用量信息。true:在 data: [DONE] 消息之前会返回一个额外的 chunk。此 chunk 中, usage 字段中输出整个请求的 token 用量,choices 字段为空数组。false:输出结束前,没有一个 chunk 来返回 token 用量信息。 | false | |
| stream_options.chunk_include_usage | boolean | 模型流式输出时,输出的每个 chunk 中是否输出本次请求到此 chunk 输出时刻的累计 token 用量信息。true:在返回的 usage 字段中,输出本次请求到此 chunk 输出时刻的累计 token 用量。false:不在每个 chunk 都返回 token 用量信息。 | false | |
| temperature | float / null | 采样温度。较高的数值会使输出更加随机,而较低的数值会使其更加集中和确定。建议该参数和top_p只设置1个。取值范围为 [0, 2]。 | 1 | |
| top_p | float / null | 核采样概率阈值。影响输出文本的多样性,取值越大,生成文本的多样性越强。建议该参数和temperature只设置1个。取值范围为 [0, 1]。 | 0.7 | |
| tools | object[] / null | 工具列表。仅部分模型支持 Functional calling,请以模型广场「Function call」筛选结果为准。 | ||
| tools.type | string | 是 | 工具类型 | |
| tools.function | object | 是 | 待调用的工具。 | |
| tools.function.name | string | 是 | 调用的函数的名称。 | |
| tools.function.description | string | 调用的函数的描述,大模型会使用它来判断是否调用这个工具。 | ||
| tools.function.parameters | object | 所有字段名大小写敏感。parameters 须是合规的 JSON Schema 对象。建议用英文字段名,中文置于 description 字段中。 | ||
| thinking | object | 控制模型是否开启深度思考模式。默认开启深度思考模式,可以手动关闭。 | ||
| thinking.type | string | 是 | 取值范围:enabled, disabled,auto。enabled:开启思考模式,模型一定先思考后回答。disabled:关闭思考模式,模型直接回答问题,不会进行思考。auto:自动思考模式,模型根据问题自主判断是否需要思考,简单题目直接回答。 | enabled |
响应
Body
| 名称 | 类型 | 说明 |
|---|---|---|
| id | string | 请求 ID |
| model | string | 本次请求中使⽤的模型 ID。 |
| created | integer | 本次请求创建时间的 Unix 时间戳(秒)。 |
| object | string | 固定为 chat.completion.chunk。 |
| choices | object[] | 本次请求的模型输出内容。 |
| choices.index | integer | 数组索引值,从 0 开始。 |
| choices.finish_reason | object[] | 模型停止生成 token 的原因。取值范围:stop、length、content_filter、tool_calls |
| choices.logprobs | object[] / null | 当前内容的对数概率信息。 |
| choices.message | object | 消息内容。 |
| choices.message.role | string | 内容输出的角色。支持system、user、assistant |
| choices.message.content | string | 模型生成的消息内容。 |
| usage | object | Token 统计数据。流式调用时,默认不统计 token 用量信息,返回值为 null。
如需统计,需设置stream_options.include_usage为true。 |
| usage.completion_tokens | integer | 输出的 Token 总数 |
| usage.prompt_tokens | integer | 输入的 Token 总数。 |
| usage.total_tokens | integer | 本次请求的 Token 总数(含请求和响应)。 |
| usage.prompt_tokens_details | object | 输入的 Token 总数细节 |
| usage.prompt_tokens_details.cached_tokens | integer | 缓存输入内容的 token 用量 |
| usage.completion_tokens_details | object | 输出的 Token 总数细节 |
| usage.completion_tokens_details.reasoning_tokens | integer | 输出思维链内容花费的 token 数 |
调用示例
默认
curl https://api.huixingyun.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ARK_API_KEY" \
-d '{
"model": "doubao-1-5-pro-32k-250115",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Hello!"
}
],
"tools": [
{
"type": "function",
"function": {
"name": "string",
"description": "string",
"parameters": {
"type": "string",
"properties": {},
"required": [
"string"
]
}
}
}
],
"frequency_penalty":0,
"max_tokens":16384,
"presence_penalty":0,
"response_format":{"type":"text"},
"stop":null,
"stream":false,
"stream_options":null,
"temperature":1,
"top_p":0.7,
"tools":null,
"thinking":{"type":"enabled"}
}'{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"message": {
"content": "Hello! How can I help you today?",
"role": "assistant"
}
}
],
"created": 1742631811,
"id": "0217426318107460cfa43dc3f3683b1de1c09624ff49085a456ac",
"model": "doubao-1-5-pro-32k-250115",
"service_tier": "default",
"object": "chat.completion",
"usage": {
"completion_tokens": 9,
"prompt_tokens": 19,
"total_tokens": 28,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 0
}
}
}流式输出
curl https://api.huixingyun.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ARK_API_KEY" \
-d $'{
"messages": [
{
"content": "You are a helpful assistant.",
"role": "system"
},
{
"content": "hello",
"role": "user"
}
],
"model": "doubao-1-5-pro-32k-250115",
"stream": true
}'{"choices":[{"delta":{"content":"Hello","role":"assistant"},"index":0}],"created":1742632436,"id":"021742632435712396f12d018b5d576a7a55349c2eba0815061fc","model":"doubao-1-5-pro-32k-250115","service_tier":"default","object":"chat.completion.chunk","usage":null}
{"choices":[{"delta":{"content":"!","role":"assistant"},"index":0}],"created":1742632436,"id":"021742632435712396f12d018b5d576a7a55349c2eba0815061fc","model":"doubao-1-5-pro-32k-250115","service_tier":"default","object":"chat.completion.chunk","usage":null}
{"choices":[{"delta":{"content":" How","role":"assistant"},"index":0}],"created":1742632436,"id":"021742632435712396f12d018b5d576a7a55349c2eba0815061fc","model":"doubao-1-5-pro-32k-250115","service_tier":"default","object":"chat.completion.chunk","usage":null}
{"choices":[{"delta":{"content":" can","role":"assistant"},"index":0}],"created":1742632436,"id":"021742632435712396f12d018b5d576a7a55349c2eba0815061fc","model":"doubao-1-5-pro-32k-250115","service_tier":"default","object":"chat.completion.chunk","usage":null}
{"choices":[{"delta":{"content":" I","role":"assistant"},"index":0}],"created":1742632436,"id":"021742632435712396f12d018b5d576a7a55349c2eba0815061fc","model":"doubao-1-5-pro-32k-250115","service_tier":"default","object":"chat.completion.chunk","usage":null}
{"choices":[{"delta":{"content":" help","role":"assistant"},"index":0}],"created":1742632436,"id":"021742632435712396f12d018b5d576a7a55349c2eba0815061fc","model":"doubao-1-5-pro-32k-250115","service_tier":"default","object":"chat.completion.chunk","usage":null}
{"choices":[{"delta":{"content":" you","role":"assistant"},"index":0}],"created":1742632436,"id":"021742632435712396f12d018b5d576a7a55349c2eba0815061fc","model":"doubao-1-5-pro-32k-250115","service_tier":"default","object":"chat.completion.chunk","usage":null}
{"choices":[{"delta":{"content":" today","role":"assistant"},"index":0}],"created":1742632436,"id":"021742632435712396f12d018b5d576a7a55349c2eba0815061fc","model":"doubao-1-5-pro-32k-250115","service_tier":"default","object":"chat.completion.chunk","usage":null}
{"choices":[{"delta":{"content":"?","role":"assistant"},"index":0}],"created":1742632436,"id":"021742632435712396f12d018b5d576a7a55349c2eba0815061fc","model":"doubao-1-5-pro-32k-250115","service_tier":"default","object":"chat.completion.chunk","usage":null}
{"choices":[{"delta":{"content":"","role":"assistant"},"finish_reason":"stop","index":0}],"created":1742632436,"id":"021742632435712396f12d018b5d576a7a55349c2eba0815061fc","model":"doubao-1-5-pro-32k-250115","service_tier":"default","object":"chat.completion.chunk","usage":null}
[DONE]视觉理解
图片理解
curl https://api.huixingyun.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ARK_API_KEY" \
-d $'{
"messages": [
{
"content": [
{
"image_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/images/view.jpeg"
},
"type": "image_url"
},
{
"text": "图片主要讲了什么?",
"type": "text"
}
],
"role": "user"
}
],
"model":"Doubao-Seed-1.6-flash"
}'{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"message": {
"content": "这幅图片主要展现了一个人在宁静的湖面上划着橙色皮划艇的场景,背景是壮丽的雪山和茂密的森林,呈现出一种静谧优美的自然风光,给人一种远离喧嚣、亲近自然的感觉。",
"reasoning_content": "用户现在需要回答图片主要讲了什么。首先观察图片内容:一个人在湖上乘橙色皮划艇,背景是雪山和森林,环境宁静优美。所以要概括主要场景和主体。总结就是:图片展现了一个人在宁静的湖面上划着橙色皮划艇,背景是壮丽的雪山和茂密的森林,呈现出一种静谧优美的自然风光。",
"role": "assistant"
}
}
],
"created": 1764829726,
"id": "021764829724730f159c9ab1008a1ce873202d2470efb5cd831dc",
"model": "doubao-seed-1-6-flash-250615",
"service_tier": "default",
"object": "chat.completion",
"usage": {
"completion_tokens": 133,
"prompt_tokens": 561,
"total_tokens": 694,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 83
}
}
}视频理解
curl https://api.huixingyun.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ARK_API_KEY" \
-d $'{
"messages": [
{
"content": [
{
"video_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_video/ark_vlm_video_input.mp4",
"fps":1
},
"type": "video_url"
},
{
"text": "视频内容主要讲了什么?",
"type": "text"
}
],
"role": "user"
}
],
"model":"Doubao-Seed-1.6-flash"
}'{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"message": {
"content": "视频主要展示了一座钟楼(类似伦敦大本钟)旁的城市桥梁景象。画面中时钟快速转动,显示时间的流逝,同时桥上的车辆持续行驶,呈现出城市交通的动态变化,背景是城市建筑和多云的天空,整体展现了城市中时间与交通的动态场景。",
"reasoning_content": "用户现在需要描述视频内容主要讲了什么。首先,视频展示了一座著名钟楼(类似大本钟),背景是城市景观,桥上有车辆行驶,时钟在快速转动,显示时间流逝,同时车辆也在动态行驶。总结起来就是:视频展现了一座钟楼旁繁忙的城市桥梁,时钟快速转动体现时间流逝,车辆不断行驶,呈现城市动态景象。",
"role": "assistant"
}
}
],
"created": 1764841684,
"id": "0217648416805203ef2042c5b5d52c95264f559b04390064135ba",
"model": "doubao-seed-1-6-flash-250615",
"service_tier": "default",
"object": "chat.completion",
"usage": {
"completion_tokens": 149,
"prompt_tokens": 10415,
"total_tokens": 10564,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 84
}
}
}