UniAPI API Doc
  1. Chat
UniAPI API Doc
  • OpenAI
    • Audio
      • 文本生成音频
      • 音频转文本
      • 创建转录
    • Chat
      • 聊天接口
        POST
    • Completions
      • 自动补全
    • Embeddings
      • 向量接口
    • Images
      • 图像编辑
      • 图像生成
      • 图像变体
    • Models
      • 获取模型列表
    • Moderations
      • 审核
    • Responses
      • response
  • 平台接口
    • 余额
      GET
  • 音乐模型
    • Suno
      • 创建音乐
      • 创建歌词
      • 批量获取任务
      • 查询单个任务
    • Udio
      • 创建音乐
      • 查询任务
  • 图像模型
    • MidJourney
      • 提交swap_face任务
      • 绘图变化(UPSCALE; VARIATION; REROLL)
      • 执行动作(所有的关联按钮动作UPSCALE; VARIATION; REROLL; ZOOM等)
      • 绘图变化-simple(UPSCALE; VARIATION; REROLL)
      • 提交Blend任务(图生图)
      • 提交Describe任务(图生文)
      • 提交Imagine任务(文生图、文图生图)
      • 提交Modal(提交局部重绘、ZOOM)
      • 提交Shorten任务(prompt分析)
    • ideogram
      • Generates(文生图)
      • Remix(混合图)
      • Upscale(放大高清)
      • Describe(描述)
    • FalAI
      • Openai 格式
      • 提交任务
      • 获取任务状态
      • 获取任务结果
    • 即梦
      • Openai 格式
    • Kling
      • 图像生成(文生图/图生图)
      • 图像生成 获取状态
      • 虚拟试穿
      • 虚拟试穿 获取状态
  • 视频模型
    • Luma
      • 生成视频
      • 扩展视频
      • 获取下载地址
      • 获取任务
    • FalAI
      • 提交任务
      • 获取任务状态
      • 获取任务结果
    • Kling
      • 图像生成(文生图/图生图)
      • 图像生成 获取状态
      • 文生视频
      • 文生视频 获取状态
      • 图生视频
      • 图生视频 获取状态
      • 虚拟试穿
      • 虚拟试穿 获取状态
  1. Chat

聊天接口

POST
/v1/chat/completions
Chat

请求参数

Authorization
在 Header 添加参数
Authorization
,其值为在 Bearer 之后拼接 Token
示例:
Authorization: Bearer ********************
Body 参数application/json
messages
array[null (ChatCompletionRequestMessage) {6}] 
必需
包含迄今为止对话的消息列表。根据您使用的模型,支持不同的消息类型(模态),如文本、图像和音频。
>= 1 items
object 
Developer message
可选
开发者提供的指令,模型应遵循,无论用户发送的消息内容如何。对于o1及更新版本的模型,developer消息取代了之前的system消息。
object 
System message
可选
开发者提供的指令,模型应遵循,无论用户发送的消息内容如何。对于o1及更新版本的模型,请改用developer消息来实现此目的。
object 
User message
可选
由终端用户发送的消息,包含提示或附加的上下文信息。
object 
Assistant message
可选
模型对用户消息发送的回复。
object 
Tool message
可选
object 
Function message
已废弃
model
string 
必需
用于生成响应的模型ID,如 gpt-4o 或 o3。OpenAI 提供了多种具有不同能力、性能特征和价格点的模型。
modalities
array[string] | null 
ResponseModalities
可选
您希望模型生成的输出类型。
大多数模型能够生成文本,这是默认选项:
["text"]
gpt-4o-audio-preview 模型还可以用于生成音频。要请求该模型同时生成
文本和音频响应,您可以使用:
["text", "audio"]
枚举值:
textaudio
reasoning_effort
enum<string>  | enum<null> 
ReasoningEffort
可选
仅限o系列模型
限制推理模型的推理努力
推理模型。
当前支持的值为low(低)、medium(中)和high(高)。减少推理努力可以带来更快的响应速度和在响应中使用更少的推理令牌。
枚举值:
lowmediumhigh
默认值:
medium
max_completion_tokens
integer  | null 
可选
完成生成的最大令牌数上限,包括可见输出令牌和推理令牌。
frequency_penalty
number  | null 
可选
介于 -2.0 和 2.0 之间的数字。正值根据文本中已有的频率惩罚新生成的标记,从而降低模型逐字重复相同行的可能性。
>= -2<= 2
默认值:
0
presence_penalty
number  | null 
可选
介于 -2.0 和 2.0 之间的数字。正值会根据新标记是否出现在当前文本中进行惩罚,从而增加模型谈论新话题的可能性。
>= -2<= 2
默认值:
0
web_search_options
object 
Web search
可选
此工具在网络上搜索相关结果,以用于响应。
user_location
object  | null 
可选
搜索的大致位置参数。
search_context_size
enum<string> 
WebSearchContextSize
可选
用于搜索的上下文窗口空间量的高级指导。可选值为low、medium或high。默认值为medium。
枚举值:
lowmediumhigh
默认值:
medium
top_logprobs
integer  | null 
可选
一个介于0到20之间的整数,指定在每个标记位置返回的最可能标记数量,每个标记都有一个相关的对数概率。
如果使用此参数,logprobs必须设置为true。
>= 0<= 20
response_format
可选
一个指定模型必须输出格式的对象。
设置为 { "type": "json_schema", "json_schema": {...} } 启用结构化输出,确保模型将匹配您提供的 JSON 模式。更多信息请参见结构化输出指南。
设置为 { "type": "json_object" } 启用较旧的 JSON 模式,确保模型生成的消息是有效的 JSON。支持的模型建议使用 json_schema。
One of
Default response format. Used to generate text responses.
type
enum<string> 
必需
默认响应格式。用于生成文本响应。
枚举值:
text
audio
object  | null 
可选
音频输出参数。当请求音频输出时需要,参数为
modalities: ["audio"]。
voice
string 
必需
模型用来响应的声音。支持的声音有
alloy,ash,ballad,coral,echo,fable,nova,onyx,sage,和 shimmer。
format
enum<string> 
必需
指定输出音频格式。必须是 wav、mp3、flac、opus 或 pcm16 之一。
枚举值:
wavaacmp3flacopuspcm16
store
boolean  | null 
可选
是否存储此聊天完成请求的输出以用于我们的模型蒸馏]或评估产品。
默认值:
false
stream
boolean  | null 
可选
如果设置为 true,模型响应数据将在生成时通过服务器发送事件流式传输到客户端。
默认值:
false
stop
StopConfiguration
可选
不支持最新的推理模型 o3 和 o4-mini。
最多支持4个序列,API将在这些序列处停止生成更多的标记。
返回的文本将不包含停止序列。
One of
默认值:
<|endoftext|>
示例值:
logit_bias
object  | null 
可选
修改指定令牌在完成中出现的可能性。
接受一个 JSON 对象,该对象将令牌(通过其在分词器中的令牌 ID 指定)映射到一个相关的偏置值,范围从 -100 到 100。数学上,
偏置值会在模型生成的 logits 采样之前被添加。确切的效果会因模型而异,但 -1 到 1 之间的值应该会
减少或增加选择的可能性;像 -100 或 100 这样的值应该会导致相关令牌的禁止或唯一选择。
默认值:
null
logprobs
boolean  | null 
可选
是否返回输出标记的对数概率。如果为真,
则返回在message的content中每个输出标记的对数概率。
默认值:
false
max_tokens
integer  | null 
已废弃
在聊天补全中可以生成的最大令牌数量。此值可用于控制通过API生成文本的成本。
此值现已被max_completion_tokens取代,并且与o系列模型不兼容。
n
integer  | null 
可选
为每条输入消息生成多少个聊天完成选项。请注意,您将根据所有选项生成的令牌数量收费。将 n 保持为 1 以最小化成本。
>= 1<= 128
默认值:
1
示例值:
1
prediction
可选
预测输出 的配置,
当模型响应的大部分内容事先已知时,
这可以大大提高响应速度。这种情况最常见于
你只对大部分内容做了少量更改而重新生成文件时。
One of
One of
预测输出 的配置,
当模型响应的大部分内容事先已知时,
这可以大大提高响应速度。这种情况最常见于
你只对大部分内容做了少量更改而重新生成文件时。
seed
integer  | null 
可选
此功能处于测试阶段。
如果指定,我们的系统将尽最大努力进行确定性采样,以便使用相同的 seed 和参数的重复请求应返回相同的结果。
不保证确定性,您应参考 system_fingerprint 响应参数以监控后端的变化。
>= -9223372036854776000<= 9223372036854776000
stream_options
object  | null 
ChatCompletionStreamOptions
可选
流式响应的选项。仅在设置 stream: true 时设置此项。
默认值:
null
include_usage
boolean 
可选
如果设置了,在 data: [DONE] 消息之前会额外流式传输一个块。该块上的 usage 字段显示整个请求的令牌使用统计信息,choices 字段将始终是一个空数组。
所有其他块也将包含一个 usage 字段,但其值为 null。注意:如果流被中断,您可能无法收到包含请求总令牌使用量的最终使用块。
tools
array[object (ChatCompletionTool) {2}] 
可选
模型可能调用的工具列表。目前,仅支持函数作为工具。使用此列表提供模型可能生成 JSON 输入的函数列表。最多支持 128 个函数。
type
enum<string> 
必需
工具的类型。目前仅支持function。
枚举值:
function
function
object 
FunctionObject
必需
tool_choice
ChatCompletionToolChoiceOption
可选
控制模型调用哪个(如果有的话)工具。
none 意味着模型不会调用任何工具,而是生成一条消息。
auto 意味着模型可以选择生成消息或调用一个或多个工具。
required 意味着模型必须调用一个或多个工具。
通过 {"type": "function", "function": {"name": "my_function"}} 指定特定工具,强制模型调用该工具。
当没有工具时,默认值为 none。当有工具时,默认值为 auto。
One of
none 意味着模型不会调用任何工具,而是生成一条消息。auto 意味着模型可以选择生成消息或调用一个或多个工具。required 意味着模型必须调用一个或多个工具。
枚举值:
noneautorequired
parallel_tool_calls
boolean 
ParallelToolCalls
可选
是否在使用工具时启用并行函数调用
默认值:
true
function_call
已废弃
已弃用,建议使用 tool_choice。
控制模型调用哪个(如果有的话)函数。
none 表示模型不会调用函数,而是生成一条消息。
auto 表示模型可以选择生成消息或调用函数。
通过 {"name": "my_function"} 指定特定函数,强制模型调用该函数。
当没有函数时,默认值为 none。当有函数时,默认值为 auto。
One of
none means the model will not call a function and instead generates a message. auto means the model can pick between generating a message or calling a function.
枚举值:
noneauto
functions
array[object (ChatCompletionFunctions) {3}] 
已废弃
已弃用,建议使用 tools。
模型可能生成 JSON 输入的函数列表。
>= 1 items<= 128 items
description
string 
已废弃
函数的描述,供模型选择何时以及如何调用该函数时使用。
name
string 
已废弃
要调用的函数名称。必须是a-z、A-Z、0-9,或包含下划线和连字符,最大长度为64。
parameters
object 
FunctionParameters
已废弃
函数接受的参数,描述为一个 JSON Schema 对象。有关示例,请参见指南,有关格式的文档,请参见JSON Schema 参考。
省略 parameters 定义一个参数列表为空的函数。
metadata
object  | null 
Metadata
可选
一组由16个键值对组成的数据,可以附加到一个对象上。这对于以结构化格式存储有关该对象的附加信息以及通过API或仪表板查询对象非常有用。
键是字符串,最大长度为64个字符。值是字符串,最大长度为512个字符。
temperature
number  | null 
可选
使用介于0到2之间的采样温度。较高的值如0.8会使输出更随机,而较低的值如0.2会使其更集中和确定。
我们通常建议调整此参数或top_p,但不要同时调整两者。
>= 0<= 2
默认值:
1
示例值:
1
top_p
number  | null 
可选
一种替代温度采样的方法,称为核采样(nucleus sampling),
在这种方法中,模型只考虑概率质量最高的前 p% 的 token。
因此,0.1 意味着只有构成前 10% 概率质量的 token 被考虑。
我们通常建议调整这个参数或 temperature,但不要同时调整两者。
>= 0<= 1
默认值:
1
示例值:
1
user
string 
可选
表示您的终端用户的唯一标识符,有助于 OpenAI 监控和检测滥用行为。
示例值:
user-1234
service_tier
enum<string>  | enum<null> 
ServiceTier
可选
指定用于处理请求的延迟层。此参数适用于订阅了规模层服务的客户:
如果设置为“auto”,且项目启用了规模层,系统将使用规模层积分,直到积分用尽。
如果设置为“auto”,且项目未启用规模层,请求将使用默认服务层处理,具有较低的正常运行时间SLA且不保证延迟。
如果设置为“default”,请求将使用默认服务层处理,具有较低的正常运行时间SLA且不保证延迟。
如果设置为“flex”,请求将使用灵活处理服务层处理。了解更多。
如果未设置此参数,默认行为为“auto”。
当设置此参数时,响应体将包含所使用的service_tier。
枚举值:
autodefaultflex
默认值:
auto
示例
{
    "metadata": {
        "property1": "string",
        "property2": "string"
    },
    "temperature": 1,
    "top_p": 1,
    "user": "user-1234",
    "service_tier": "auto",
    "messages": [
        {
            "content": "string",
            "role": "developer",
            "name": "string"
        }
    ],
    "model": "string",
    "modalities": [
        "text"
    ],
    "reasoning_effort": "medium",
    "max_completion_tokens": 0,
    "frequency_penalty": 0,
    "presence_penalty": 0,
    "web_search_options": {
        "user_location": {
            "type": "approximate",
            "approximate": {
                "country": "string",
                "region": "string",
                "city": "string",
                "timezone": "string"
            }
        },
        "search_context_size": "medium"
    },
    "top_logprobs": 0,
    "response_format": {
        "type": "text"
    },
    "audio": {
        "voice": "string",
        "format": "wav"
    },
    "store": false,
    "stream": false,
    "stop": "<|endoftext|>",
    "logit_bias": null,
    "logprobs": false,
    "max_tokens": 0,
    "n": 1,
    "prediction": {
        "type": "content",
        "content": "string"
    },
    "seed": -9223372036854776000,
    "stream_options": null,
    "tools": [
        {
            "type": "function",
            "function": {
                "description": "string",
                "name": "string",
                "parameters": {},
                "strict": false
            }
        }
    ],
    "tool_choice": "none",
    "parallel_tool_calls": true,
    "function_call": "none",
    "functions": [
        {
            "description": "string",
            "name": "string",
            "parameters": {}
        }
    ]
}

示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.uniapi.io/v1/chat/completions' \
--header 'Content-Type: application/json' \
--data-raw '{
    "metadata": {
        "property1": "string",
        "property2": "string"
    },
    "temperature": 1,
    "top_p": 1,
    "user": "user-1234",
    "service_tier": "auto",
    "messages": [
        {
            "content": "string",
            "role": "developer",
            "name": "string"
        }
    ],
    "model": "string",
    "modalities": [
        "text"
    ],
    "reasoning_effort": "medium",
    "max_completion_tokens": 0,
    "frequency_penalty": 0,
    "presence_penalty": 0,
    "web_search_options": {
        "user_location": {
            "type": "approximate",
            "approximate": {
                "country": "string",
                "region": "string",
                "city": "string",
                "timezone": "string"
            }
        },
        "search_context_size": "medium"
    },
    "top_logprobs": 0,
    "response_format": {
        "type": "text"
    },
    "audio": {
        "voice": "string",
        "format": "wav"
    },
    "store": false,
    "stream": false,
    "stop": "<|endoftext|>",
    "logit_bias": null,
    "logprobs": false,
    "max_tokens": 0,
    "n": 1,
    "prediction": {
        "type": "content",
        "content": "string"
    },
    "seed": -9223372036854776000,
    "stream_options": null,
    "tools": [
        {
            "type": "function",
            "function": {
                "description": "string",
                "name": "string",
                "parameters": {},
                "strict": false
            }
        }
    ],
    "tool_choice": "none",
    "parallel_tool_calls": true,
    "function_call": "none",
    "functions": [
        {
            "description": "string",
            "name": "string",
            "parameters": {}
        }
    ]
}'

返回响应

🟢200成功
application/json
OK
Body
表示模型根据提供的输入返回的聊天完成响应。
id
string 
必需
聊天完成的唯一标识符。
choices
array [object {4}] 
必需
聊天完成选项列表。如果 n 大于 1,可能有多个选项。
finish_reason
enum<string> 
必需
模型停止生成令牌的原因。如果模型达到了自然的停止点或提供了停止序列,这将是 stop,
如果请求中指定的最大令牌数量已达到,这将是 length,
如果由于我们的内容过滤器的标记而省略了内容,这将是 content_filter,
如果模型调用了工具,这将是 tool_calls,或者如果模型调用了函数(已弃用),这将是 function_call。
枚举值:
stoplengthtool_callscontent_filterfunction_call
index
integer 
必需
选择列表中的选择索引。
message
object (ChatCompletionResponseMessage) 
必需
由模型生成的聊天完成消息。
logprobs
object  | null 
必需
选择的对数概率信息。
created
integer 
必需
聊天完成创建时的 Unix 时间戳(以秒为单位)。
model
string 
必需
用于聊天完成的模型。
service_tier
enum<string>  | enum<null> 
可选
指定用于处理请求的延迟层。此参数适用于订阅了规模层服务的客户:
如果设置为“auto”,且项目启用了规模层,系统将使用规模层积分,直到积分用尽。
如果设置为“auto”,且项目未启用规模层,请求将使用默认服务层处理,具有较低的正常运行时间SLA且不保证延迟。
如果设置为“default”,请求将使用默认服务层处理,具有较低的正常运行时间SLA且不保证延迟。
如果设置为“flex”,请求将使用灵活处理服务层处理。了解更多。
如果未设置此参数,默认行为为“auto”。
当设置此参数时,响应体将包含所使用的service_tier。
枚举值:
autodefaultflex
默认值:
auto
system_fingerprint
string 
可选
此指纹表示模型运行的后端配置。
可以与“种子”请求参数结合使用,以了解何时进行了可能影响决定性的后端更改。
object
enum<string> 
必需
对象类型,始终为 chat.completion。
枚举值:
chat.completion
usage
object (CompletionUsage) 
可选
完成请求的使用统计数据。
completion_tokens
integer 
必需
生成的完成内容中的标记数量。
默认值:
0
prompt_tokens
integer 
提示中的标记数量。
必需
默认值:
0
total_tokens
integer 
必需
请求中使用的令牌总数(提示 + 完成)。
默认值:
0
completion_tokens_details
object 
可选
完成中使用的标记细分。
prompt_tokens_details
object 
可选
提示中使用的令牌细分。
示例
{
    "id": "string",
    "choices": [
        {
            "finish_reason": "stop",
            "index": 0,
            "message": {
                "content": "string",
                "refusal": "string",
                "tool_calls": [
                    {
                        "id": "string",
                        "type": "function",
                        "function": {
                            "name": "string",
                            "arguments": "string"
                        }
                    }
                ],
                "annotations": [
                    {
                        "type": "url_citation",
                        "url_citation": {
                            "end_index": 0,
                            "start_index": 0,
                            "url": "string",
                            "title": "string"
                        }
                    }
                ],
                "role": "assistant",
                "function_call": {
                    "arguments": "string",
                    "name": "string"
                },
                "audio": {
                    "id": "string",
                    "expires_at": 0,
                    "data": "string",
                    "transcript": "string"
                }
            },
            "logprobs": {
                "content": [
                    {
                        "token": "string",
                        "logprob": 0,
                        "bytes": [
                            0
                        ],
                        "top_logprobs": [
                            {
                                "token": "string",
                                "logprob": 0,
                                "bytes": [
                                    0
                                ]
                            }
                        ]
                    }
                ],
                "refusal": [
                    {
                        "token": "string",
                        "logprob": 0,
                        "bytes": [
                            0
                        ],
                        "top_logprobs": [
                            {
                                "token": "string",
                                "logprob": 0,
                                "bytes": [
                                    0
                                ]
                            }
                        ]
                    }
                ]
            }
        }
    ],
    "created": 0,
    "model": "string",
    "service_tier": "auto",
    "system_fingerprint": "string",
    "object": "chat.completion",
    "usage": {
        "completion_tokens": 0,
        "prompt_tokens": 0,
        "total_tokens": 0,
        "completion_tokens_details": {
            "accepted_prediction_tokens": 0,
            "audio_tokens": 0,
            "reasoning_tokens": 0,
            "rejected_prediction_tokens": 0
        },
        "prompt_tokens_details": {
            "audio_tokens": 0,
            "cached_tokens": 0
        }
    }
}
修改于 2025-05-18 07:36:21
上一页
创建转录
下一页
自动补全
Built with