AI 模型接口

本文档整理 AI 模型接口的常用调用方式,按原文档的一级目录和二级页面结构组织。接口风格兼容 OpenAI、Claude、Gemini 等常见 API 格式,并通过统一网关转发到不同上游模型服务。

目录

基础信息

二级页面总览

一级目录
二级页面
方法与路径
音频 Audio
原生 Gemini 格式
POST /v1beta/models/{model}:generateContent
音频 Audio
原生 OpenAI 格式 / 文本转语音
POST /v1/audio/speech
音频 Audio
原生 OpenAI 格式 / 音频转录
POST /v1/audio/transcriptions
音频 Audio
原生 OpenAI 格式 / 音频翻译
POST /v1/audio/translations
聊天 Chat
原生 Claude 格式
POST /v1/messages
聊天 Chat
原生 Gemini 格式
POST /v1beta/models/{model}:generateContent
聊天 Chat
原生 OpenAI 格式 / ChatCompletions
POST /v1/chat/completions
聊天 Chat
原生 OpenAI 格式 / Responses
POST /v1/responses
补全 Completions
原生 OpenAI 格式
POST /v1/completions
嵌入 Embeddings
原生 OpenAI 格式
POST /v1/embeddings
嵌入 Embeddings
原生 Gemini 格式
POST /v1/engines/{model}/embeddings
图像 Images
原生 Gemini 格式
POST /v1beta/models/{model}:generateContent
图像 Images
OpenAI 聊天格式
POST /v1/chat/completions
图像 Images
原生 OpenAI 格式 / 生成图像
POST /v1/images/generations
图像 Images
原生 OpenAI 格式 / 编辑图像
POST /v1/images/edits
图像 Images
通义千问 OpenAI 格式 / 生成图像
POST /v1/images/generations
图像 Images
通义千问 OpenAI 格式 / 编辑图像
POST /v1/images/edits
模型 Models
列出模型
GET /v1/modelsGET /v1beta/models
审查 Moderations
原生 OpenAI 格式
POST /v1/moderations
实时语音 Realtime
原生 OpenAI 格式
GET /v1/realtime
重排序 Rerank
创建重排序
POST /v1/rerank

通用错误

失败响应通常返回 JSON:

{
  "error": {
    "message": "错误信息",
    "type": "invalid_request_error",
    "code": "invalid_api_key"
  }
}

常见状态码:

状态码
说明
400
请求参数错误
401
API Key 无效或缺失
429
触发请求频率或额度限制
500
服务端或上游供应商异常

音频 Audio

音频接口用于语音转文本、音频翻译、文本转语音,以及 Gemini 原生 TTS 请求。

音频 原生 Gemini 格式

Gemini 音频生成接口适合调用 gemini-2.5-flash-preview-tts 等支持语音输出的模型。

POST https://api.infillm.com/v1beta/models/{model}:generateContent

参数
位置
类型
必填
说明
model
path
string
模型名称
contents
body
array
Gemini 内容数组
generationConfig
body
object
生成配置,可包含 responseModalitiesspeechConfig
curl "https://api.infillm.com/v1beta/models/gemini-2.5-flash-preview-tts:generateContent" \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          {"text": "请用自然的语气朗读:你好,欢迎使用 InfillM API。"}
        ]
      }
    ],
    "generationConfig": {
      "responseModalities": ["AUDIO"],
      "speechConfig": {
        "voiceConfig": {
          "prebuiltVoiceConfig": {
            "voiceName": "Kore"
          }
        }
      }
    }
  }'

音频 原生 OpenAI 格式

文本转语音

POST https://api.infillm.com/v1/audio/speech

参数
类型
必填
说明
model
string
TTS 模型,例如 tts-1
input
string
要转换的文本,最长 4096 字符
voice
string
声音,可选 alloyechofableonyxnovashimmer
response_format
string
mp3opusaacflacwavpcm,默认 mp3
speed
number
语速,范围 0.254,默认 1
curl https://api.infillm.com/v1/audio/speech \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "Content-Type: application/json" \
  -o speech.mp3 \
  -d '{
    "model": "tts-1",
    "input": "你好,欢迎使用 InfillM API。",
    "voice": "alloy",
    "response_format": "mp3"
  }'

音频转录

POST https://api.infillm.com/v1/audio/transcriptions

请求类型: multipart/form-data

参数
类型
必填
说明
file
file
音频文件
model
string
转录模型,例如 whisper-1
language
string
ISO-639-1 语言代码,例如 zhen
prompt
string
上下文提示词
response_format
string
jsontextsrtverbose_jsonvtt,默认 json
temperature
number
采样温度
timestamp_granularities[]
string[]
时间戳粒度,可选 wordsegment
curl https://api.infillm.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -F file="@speech.mp3" \
  -F model="whisper-1" \
  -F language="zh" \
  -F response_format="json"

音频翻译

POST https://api.infillm.com/v1/audio/translations

请求类型: multipart/form-data

参数
类型
必填
说明
file
file
音频文件
model
string
翻译模型
prompt
string
上下文提示词
response_format
string
返回格式
temperature
number
采样温度
curl https://api.infillm.com/v1/audio/translations \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -F file="@speech.mp3" \
  -F model="whisper-1"

聊天 Chat

聊天接口用于多轮对话、工具调用、流式生成和多模态理解。

聊天 原生 Claude 格式

Anthropic Claude Messages API 格式。需要传入 anthropic-version 请求头。

POST https://api.infillm.com/v1/messages

参数
类型
必填
说明
model
string
Claude 模型 ID
messages
array
消息列表
max_tokens
integer
最大输出 token 数
system
string/array
系统提示词
temperature
number
采样温度,范围 01
top_p
number
nucleus sampling 参数
top_k
integer
Top-K 参数
stream
boolean
是否流式返回
stop_sequences
string[]
停止序列
tools
array
工具定义
tool_choice
object
工具选择策略
thinking
object
推理配置
metadata
object
元数据
curl https://api.infillm.com/v1/messages \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-3-5-sonnet-20241022",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "用一句话解释 API 网关。"}
    ]
  }'

聊天 原生 Gemini 格式

Gemini 原生接口用于文本聊天和图片、PDF、音频、视频等媒体识别。媒体输入使用 inlineData 的 base64 形式。

POST https://api.infillm.com/v1beta/models/{model}:generateContent

流式请求可使用:

POST https://api.infillm.com/v1beta/models/{model}:streamGenerateContent?alt=sse

参数
位置
类型
必填
说明
model
path
string
模型名称
contents
body
array
Gemini 内容数组
generationConfig
body
object
生成配置
safetySettings
body
array
安全配置
tools
body
array
工具定义
systemInstruction
body
object
系统指令
curl "https://api.infillm.com/v1beta/models/gemini-2.5-pro:generateContent" \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          {"text": "用一句话介绍向量数据库。"}
        ]
      }
    ],
    "generationConfig": {
      "temperature": 0.7,
      "maxOutputTokens": 512
    }
  }'

媒体识别示例:

{
  "contents": [
    {
      "role": "user",
      "parts": [
        {"text": "请描述这张图片。"},
        {
          "inlineData": {
            "mimeType": "image/png",
            "data": "<base64-image>"
          }
        }
      ]
    }
  ]
}

聊天 原生 OpenAI 格式

ChatCompletions 格式

POST https://api.infillm.com/v1/chat/completions

参数
类型
必填
说明
model
string
模型 ID
messages
array
对话消息列表
temperature
number
采样温度,默认 1,范围 02
top_p
number
nucleus sampling 参数,默认 1
n
integer
生成数量,默认 1
stream
boolean
是否使用 SSE 流式响应
stream_options
object
流式响应选项
stop
string/string[]
停止序列
max_tokens
integer
最大生成 token 数
max_completion_tokens
integer
最大补全 token 数
presence_penalty
number
存在惩罚,范围 -22
frequency_penalty
number
频率惩罚,范围 -22
logit_bias
object
调整指定 token 出现概率
user
string
终端用户标识
tools
array
工具定义
tool_choice
string/object
工具选择策略
response_format
object
输出格式约束
seed
integer
随机种子,需模型支持
reasoning_effort
string
推理强度,可选 lowmediumhigh
modalities
string[]
输出模态
audio
object
音频输出配置
curl https://api.infillm.com/v1/chat/completions \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [
      {"role": "system", "content": "你是一个简洁的中文助手。"},
      {"role": "user", "content": "用一句话介绍向量数据库。"}
    ],
    "temperature": 0.7
  }'

Responses 格式

POST https://api.infillm.com/v1/responses

参数
类型
必填
说明
model
string
模型 ID
input
string/array
输入内容,可以是字符串或消息数组
instructions
string
系统级指令
max_output_tokens
integer
最大输出 token 数
temperature
number
采样温度
top_p
number
nucleus sampling 参数
stream
boolean
是否流式返回
tools
array
工具定义
tool_choice
string/object
工具选择策略
reasoning
object
推理配置
previous_response_id
string
上一轮响应 ID
truncation
string
截断策略,可选 autodisabled
curl https://api.infillm.com/v1/responses \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "input": "总结一下 API 网关的作用。"
  }'

压缩对话

POST https://api.infillm.com/v1/responses/compact

当对话上下文过长时,可使用压缩接口生成更短的上下文摘要。

curl https://api.infillm.com/v1/responses/compact \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "input": [
      {"role": "user", "content": "这里是一段很长的历史对话..."}
    ]
  }'

补全 Completions

补全接口用于基于提示词生成文本,适合兼容旧版文本补全 API 的应用。

补全 原生 OpenAI 格式

POST https://api.infillm.com/v1/completions

参数
类型
必填
说明
model
string
模型 ID
prompt
string/array
输入提示词
max_tokens
integer
最大输出 token 数
temperature
number
采样温度
top_p
number
nucleus sampling 参数
n
integer
返回候选数量
stream
boolean
是否流式返回
stop
string/array
停止序列
suffix
string
插入补全时追加在生成内容之后的文本
echo
boolean
是否在响应中回显提示词
curl https://api.infillm.com/v1/completions \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-3.5-turbo-instruct",
    "prompt": "把下面这句话改写得更专业:我们会很快处理你的问题。",
    "max_tokens": 128,
    "temperature": 0.3
  }'

新应用建议优先使用聊天接口。如果需要兼容已有的 OpenAI Completions 调用,可继续使用本接口。

嵌入 Embeddings

嵌入接口用于将文本转换为向量,常用于语义搜索、推荐、聚类和 RAG 检索。

嵌入 原生 OpenAI 格式

POST https://api.infillm.com/v1/embeddings

参数
类型
必填
说明
model
string
嵌入模型 ID
input
string/string[]
输入文本,支持单条或批量
encoding_format
string
向量编码格式,可选 floatbase64,默认 float
dimensions
integer
指定输出向量维度,需模型支持
curl https://api.infillm.com/v1/embeddings \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-embedding-3-small",
    "input": [
      "向量数据库用于语义检索。",
      "API 网关可以统一鉴权、计费和限流。"
    ]
  }'

嵌入 原生 Gemini 格式

原文档将兼容引擎路径归在原生 Gemini 格式下,用于按 {model} 路径创建嵌入。

POST https://api.infillm.com/v1/engines/{model}/embeddings

参数
位置
类型
必填
说明
model
path
string
模型/引擎 ID
model
body
string
嵌入模型 ID
input
body
string/string[]
要嵌入的文本
encoding_format
body
string
向量编码格式,可选 floatbase64
dimensions
body
integer
输出向量维度
curl https://api.infillm.com/v1/engines/text-embedding-3-small/embeddings \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-embedding-3-small",
    "input": "API 网关统一处理鉴权、限流和计费。"
  }'

图像 Images

图像接口用于根据提示词生成图像,或基于已有图像进行编辑。

图像 原生 Gemini 格式

Gemini 图片生成,使用 Gemini generateContent 格式。

POST https://api.infillm.com/v1beta/models/{model}:generateContent

参数
位置
类型
必填
说明
model
path
string
模型名称
contents
body
array
Gemini 内容数组
generationConfig
body
object
生成配置,可包含 responseModalitiesimageConfig
curl "https://api.infillm.com/v1beta/models/gemini-2.5-flash-image:generateContent" \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          {"text": "draw a cat"}
        ]
      }
    ],
    "generationConfig": {
      "responseModalities": ["TEXT", "IMAGE"],
      "imageConfig": {
        "aspectRatio": "16:9",
        "imageSize": "4K"
      }
    }
  }'

图像 OpenAI 聊天格式

该二级页归在图像的原生 Gemini 格式下,但路径使用 OpenAI Chat Completions,用于以聊天请求体触发 Gemini 图片生成。

POST https://api.infillm.com/v1/chat/completions

参数
类型
必填
说明
model
string
图像模型 ID
stream
boolean
是否流式返回
messages
array
OpenAI 聊天消息数组
extra_body
object
额外上游参数
contents
array
Gemini 内容数组
curl https://api.infillm.com/v1/chat/completions \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-2.5-flash-image",
    "stream": true,
    "messages": [
      {"role": "user", "content": "draw a cat"}
    ],
    "contents": [
      {
        "role": "user",
        "parts": [
          {"text": "draw a cat"}
        ]
      }
    ]
  }'

图像 原生 OpenAI 格式

生成图像

POST https://api.infillm.com/v1/images/generations

参数
类型
必填
说明
prompt
string
所需图像的文本描述
model
string
图像模型,例如 dall-e-2dall-e-3gpt-image-1
n
integer
生成数量,范围 110
size
string
图片尺寸,例如 1024x10241536x10241024x1536
background
string
背景透明度设置,仅部分模型支持
moderation
string
内容审核级别
quality
string
图像质量
stream
string
是否流式返回,需模型支持
style
string
图像风格
user
string
终端用户标识
curl https://api.infillm.com/v1/images/generations \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-1",
    "prompt": "一张极简产品海报,白色背景,玻璃质感的智能音箱,柔和自然光。",
    "size": "1024x1024"
  }'

编辑图像

POST https://api.infillm.com/v1/images/edits

请求类型: multipart/form-data

编辑图像用于基于已有图片和提示词生成修改后的结果。

参数
类型
必填
说明
image
file
要编辑的 PNG 图片,小于 4MB,通常要求方形
mask
file
遮罩图片,透明区域表示需要编辑的位置
prompt
string
所需图像的文本描述,最长 1000 字符
n
string
生成图像数量,范围 110
size
string
256x256512x5121024x1024
response_format
string
urlb64_json
user
string
终端用户标识
model
string
图像编辑模型
curl https://api.infillm.com/v1/images/edits \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -F image="@image.png" \
  -F model="gpt-image-1" \
  -F prompt="A cute baby sea otter wearing a beret." \
  -F size="1024x1024"

图像 通义千问 OpenAI 格式

通义千问图像接口复用 OpenAI 风格路径,但请求体采用百炼 qwen-image 系列结构。

注意: pricing 页面里的 qwen/qwen3.6-plusqwen/qwen3.6-flash 是聊天模型,应使用 /v1/chat/completions;图像端点需要使用 qwen-image-plusqwen-image-edit-plus 等图像模型,并且当前在线环境必须配置对应渠道。

生成图像

POST https://api.infillm.com/v1/images/generations

参数
类型
必填
说明
model
string
图像模型 ID,例如 qwen-image-plus
input.messages
array
消息结构,文本提示词放在 content[].text
parameters.size
string
图片尺寸,例如 1328*1328
parameters.negative_prompt
string
负向提示词
parameters.prompt_extend
boolean
是否启用提示词扩展
parameters.watermark
boolean
是否添加水印
curl https://api.infillm.com/v1/images/generations \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen-image-plus",
    "input": {
      "messages": [
        {
          "role": "user",
          "content": [
            {"text": "一张极简产品海报,白色背景,玻璃质感的智能音箱,柔和自然光。"}
          ]
        }
      ]
    },
    "parameters": {
      "size": "1328*1328",
      "prompt_extend": true,
      "watermark": false
    }
  }'

编辑图像

POST https://api.infillm.com/v1/images/edits

参数
类型
必填
说明
model
string
图像编辑模型 ID,例如 qwen-image-edit-plus
input.messages
array
消息结构,支持 content[].imagecontent[].text
parameters.n
integer
生成数量
parameters.size
string
图片尺寸
parameters.negative_prompt
string
负向提示词
parameters.prompt_extend
boolean
是否启用提示词扩展
parameters.watermark
boolean
是否添加水印
curl https://api.infillm.com/v1/images/edits \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen-image-edit-plus",
    "input": {
      "messages": [
        {
          "role": "user",
          "content": [
            {"image": "https://example.com/input.png"},
            {"text": "将背景替换为清晨的城市街道,保留主体。"}
          ]
        }
      ]
    },
    "parameters": {
      "n": 1,
      "prompt_extend": true,
      "watermark": false
    }
  }'

模型 Models

模型接口用于获取当前 API Key 可访问的模型列表。

列出模型 OpenAI 格式

GET https://api.infillm.com/v1/models

curl https://api.infillm.com/v1/models \
  -H "Authorization: Bearer $INFILLM_API_KEY"

响应示例:

{
  "object": "list",
  "data": [
    {
      "id": "gpt-4o-mini",
      "object": "model",
      "created": 1710000000,
      "owned_by": "openai"
    }
  ]
}

列出模型 Gemini 格式

GET https://api.infillm.com/v1beta/models

curl https://api.infillm.com/v1beta/models \
  -H "Authorization: Bearer $INFILLM_API_KEY"

响应示例:

{
  "models": [
    {
      "name": "models/gemini-pro",
      "version": "string",
      "displayName": "string",
      "description": "string",
      "inputTokenLimit": 0,
      "outputTokenLimit": 0,
      "supportedGenerationMethods": ["generateContent"]
    }
  ]
}

模型列表也会根据请求头自动选择兼容格式:

请求方式
返回格式
普通 Bearer Token
OpenAI 格式
携带 x-api-keyanthropic-version
Anthropic 格式
携带 x-goog-api-keykey 查询参数
Gemini 格式

审查 Moderations

审查接口用于检测输入内容是否可能违反安全策略。

审查 原生 OpenAI 格式

POST https://api.infillm.com/v1/moderations

参数
类型
必填
说明
input
string/string[]
要审查的文本
model
string
审查模型,例如 text-moderation-latest
curl https://api.infillm.com/v1/moderations \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-moderation-latest",
    "input": "请检查这段文本是否合规。"
  }'

使用建议:

实时语音 Realtime

Realtime 接口用于建立 WebSocket 连接,实现低延迟语音或多模态实时对话。

实时语音 原生 OpenAI 格式

GET wss://api.infillm.com/v1/realtime

参数
位置
类型
必填
说明
model
query
string
实时模型 ID,例如 gpt-4o-realtime-preview
Authorization
header
string
Bearer <API_KEY>
wscat -c "wss://api.infillm.com/v1/realtime?model=gpt-4o-realtime-preview" \
  -H "Authorization: Bearer $INFILLM_API_KEY"

注意事项:

重排序 Rerank

重排序接口用于根据查询文本对候选文档重新排序,常用于 RAG 检索结果精排。

创建重排序

POST https://api.infillm.com/v1/rerank

参数
类型
必填
说明
model
string
重排序模型 ID
query
string
查询文本
documents
string[]/object[]
候选文档列表
top_n
integer
返回前 N 个结果
return_documents
boolean
是否在结果中返回文档内容,默认 false
curl https://api.infillm.com/v1/rerank \
  -H "Authorization: Bearer $INFILLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "rerank-english-v2.0",
    "query": "什么是 API 网关?",
    "documents": [
      "API 网关统一处理鉴权、限流、路由和日志。",
      "向量数据库用于相似度搜索。",
      "负载均衡可以把请求分发到多个服务实例。"
    ],
    "top_n": 2,
    "return_documents": true
  }'

使用建议: