2026 主流 AI API 协议完全指南:公司、格式与可运行示例
随着 AI 成为基础设施,理解主流厂商之间的 协议差异 对开发者至关重要。本指南提供技术上绝对准确、生产就绪的 API 实际示例——没有推测,只有真实格式。
第一部分:OpenAI(Chat Completions API)
官方文档:https://platform.openai.com/docs/api-reference
OpenAI 维护着被最广泛采用的 API 格式,已成为许多替代模型效仿的事实标准。
核心端点
| 功能 | 端点 | 请求方法 |
|---|---|---|
| 文本对话 | https://api.openai.com/v1/chat/completions |
POST |
| 图像生成 | https://api.openai.com/v1/images/generations |
POST |
| 图像理解 (GPT-4o/GPT-4V) | https://api.openai.com/v1/chat/completions |
POST |
| 音频转录 (Whisper) | https://api.openai.com/v1/audio/transcriptions |
POST |
| 文本转语音 | https://api.openai.com/v1/audio/speech |
POST |
| 视频生成 (Sora,如可用) | 请参考最新文档 | — |
1. 文本对话(标准)
请求示例:
POST https://api.openai.com/v1/chat/completions
Authorization: Bearer sk-...你的密钥...
Content-Type: application/json
{
"model": "gpt-4o",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "用一句话解释递归。"
}
],
"temperature": 0.7,
"max_tokens": 500,
"stream": false
}
返回示例:
{
"id": "chatcmpl-...",
"object": "chat.completion",
"created": 1719310000,
"model": "gpt-4o-...",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "递归是一种编程技术,函数通过不断调用自身并使用修改后的输入,直到到达一个能终止递归的基准情况。"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 32,
"completion_tokens": 45,
"total_tokens": 77
},
"system_fingerprint": "fp_..."
}
2. 多模态(图片输入)
请求示例:
POST https://api.openai.com/v1/chat/completions
Authorization: Bearer sk-...你的密钥...
Content-Type: application/json
{
"model": "gpt-4o",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "这张图片里有什么?"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/image.jpg",
"detail": "high"
}
}
]
}
],
"max_tokens": 300
}
或者使用 base64 内联:
POST https://api.openai.com/v1/chat/completions
Authorization: Bearer sk-...你的密钥...
Content-Type: application/json
{
"model": "gpt-4o",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "描述一下这张图片。"
},
{
"type": "image_url",
"image_url": {
"url": "data:image/jpeg;base64,/9j/4AAQSkZJRg..."
}
}
]
}
]
}
返回结构: 与文本对话相同(见上文)。
3. 音频转录(Whisper)
请求示例 (multipart/form-data):
POST https://api.openai.com/v1/audio/transcriptions
Authorization: Bearer sk-...你的密钥...
Content-Type: multipart/form-data; boundary=----boundary
------boundary
Content-Disposition: form-data; name="file"; filename="audio.mp3"
Content-Type: audio/mpeg
[...二进制音频数据...]
------boundary
Content-Disposition: form-data; name="model"
whisper-1
------boundary
Content-Disposition: form-data; name="response_format"
json
------boundary--
返回示例:
{
"text": "The quick brown fox jumps over the lazy dog."
}
或者详细 JSON:
{
"task": "transcribe",
"language": "english",
"duration": 2.5,
"text": "The quick brown fox jumps over the lazy dog.",
"segments": [
{
"id": 0,
"seek": 0,
"start": 0.0,
"end": 2.5,
"text": "The quick brown fox jumps over the lazy dog."
}
]
}
4. 文本转语音
请求示例:
POST https://api.openai.com/v1/audio/speech
Authorization: Bearer sk-...你的密钥...
Content-Type: application/json
{
"model": "tts-1",
"input": "The quick brown fox jumps over the lazy dog.",
"voice": "alloy",
"response_format": "mp3",
"speed": 1.0
}
返回: 二进制音频流(MP3)。
5. 图像生成(DALL-E)
请求示例:
POST https://api.openai.com/v1/images/generations
Authorization: Bearer sk-...你的密钥...
Content-Type: application/json
{
"model": "dall-e-3",
"prompt": "一只可爱的机器猫坐在窗台上,背景是日落,赛博朋克风格。",
"n": 1,
"size": "1024x1024",
"quality": "standard",
"response_format": "url"
}
返回示例:
{
"created": 1719310000,
"data": [
{
"url": "https://oaidalleapiprodscus.blob.core.windows.net/...",
"revised_prompt": "一只可爱的金属质感机器猫优雅地坐在窗台上..."
}
]
}
第二部分:Anthropic(Claude Messages API)
官方文档:https://docs.anthropic.com/claude/reference/messages_post
Anthropic 使用设计简洁、深思熟虑的 API 格式,专注于安全性和长上下文。
核心端点
| 功能 | 端点 | 请求方法 |
|---|---|---|
| 文本与多模态对话 | https://api.anthropic.com/v1/messages |
POST |
1. 文本消息(标准)
请求示例:
POST https://api.anthropic.com/v1/messages
x-api-key: sk-ant-...你的密钥...
anthropic-version: 2023-06-01
Content-Type: application/json
{
"model": "claude-3-5-sonnet-20241022",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "用一句话解释递归。"
}
],
"system": "You are a helpful, precise assistant.",
"temperature": 0.7
}
返回示例:
{
"id": "msg_...",
"type": "message",
"role": "assistant",
"model": "claude-3-5-sonnet-20241022",
"content": [
{
"type": "text",
"text": "递归是一种编程技术,函数使用逐步简化的输入调用自身,直到到达可以直接解决的基准情况。"
}
],
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 25,
"output_tokens": 48
}
}
2. 多模态(图片)
请求示例:
POST https://api.anthropic.com/v1/messages
x-api-key: sk-ant-...你的密钥...
anthropic-version: 2023-06-01
Content-Type: application/json
{
"model": "claude-3-5-sonnet-20241022",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "/9j/4AAQSkZJRg..."
}
},
{
"type": "text",
"text": "这张图片里有什么?"
}
]
}
]
}
返回结构: 与文本消息相同(见上文)。
3. 多轮对话
请求示例:
POST https://api.anthropic.com/v1/messages
x-api-key: sk-ant-...你的密钥...
anthropic-version: 2023-06-01
Content-Type: application/json
{
"model": "claude-3-5-sonnet-20241022",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "法国的首都是哪里?"
},
{
"role": "assistant",
"content": "法国的首都是巴黎。"
},
{
"role": "user",
"content": "那它离伦敦有多远?"
}
]
}
返回示例:
{
"id": "msg_...",
"type": "message",
"role": "assistant",
"model": "claude-3-5-sonnet-20241022",
"content": [
{
"type": "text",
"text": "巴黎距离伦敦的直飞航程约为 344 公里(214 英里)。"
}
],
"stop_reason": "end_turn",
"usage": {
"input_tokens": 68,
"output_tokens": 32
}
}
第三部分:Google(Gemini API)
官方文档:https://ai.google.dev/api
Google 的 Gemini API 支持跨文本、图片、音频和视频的统一多模态交互。
核心端点
| 功能 | 端点 | 请求方法 |
|---|---|---|
| 文本与多模态(内容生成) | https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent |
POST |
| 流式生成 | https://generativelanguage.googleapis.com/v1beta/models/{model}:streamGenerateContent |
POST |
注意: 将 {model} 替换为 gemini-2.0-flash-exp、gemini-1.5-pro 等。
1. 纯文本(内容生成)
请求示例:
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro:generateContent?key=你的API密钥
Content-Type: application/json
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "用一句话解释递归。"
}
]
}
],
"generationConfig": {
"temperature": 0.7,
"maxOutputTokens": 500
}
}
返回示例:
{
"candidates": [
{
"content": {
"parts": [
{
"text": "递归是一种编程技术,函数通过使用修改后的、更小的问题调用自身,直到到达可以直接解决的基准情况,然后解开调用栈以产生最终结果。"
}
],
"role": "model"
},
"finishReason": "STOP"
}
],
"usageMetadata": {
"promptTokenCount": 12,
"candidatesTokenCount": 52,
"totalTokenCount": 64
}
}
2. 多模态(文本 + 图片)
请求示例:
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro:generateContent?key=你的API密钥
Content-Type: application/json
{
"contents": [
{
"role": "user",
"parts": [
{
"inline_data": {
"mime_type": "image/jpeg",
"data": "/9j/4AAQSkZJRg..."
}
},
{
"text": "这张图片里有什么?"
}
]
}
]
}
返回结构: 与文本生成相同(见上文)。
3. 多模态(文本 + 音频)
请求示例:
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro:generateContent?key=你的API密钥
Content-Type: application/json
{
"contents": [
{
"role": "user",
"parts": [
{
"inline_data": {
"mime_type": "audio/mp3",
"data": "SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU2..."
}
},
{
"text": "转录这段音频。"
}
]
}
]
}
返回示例:
{
"candidates": [
{
"content": {
"parts": [
{
"text": "The quick brown fox jumps over the lazy dog."
}
],
"role": "model"
}
}
],
"usageMetadata": {
"promptTokenCount": 842,
"candidatesTokenCount": 18,
"totalTokenCount": 860
}
}
4. 多模态(文本 + 视频)
请求示例:
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro:generateContent?key=你的API密钥
Content-Type: application/json
{
"contents": [
{
"role": "user",
"parts": [
{
"inline_data": {
"mime_type": "video/mp4",
"data": "AAAAIGZ0eXBtcDQyAAAAAG1wNDJpc29tAAACAG1wNDJpc3..."
}
},
{
"text": "总结一下视频中发生了什么。"
}
]
}
]
}
返回示例:
{
"candidates": [
{
"content": {
"parts": [
{
"text": "视频显示一只猫坐在窗台上,看着外面的鸟。大约 10 秒后,猫站起来,离开了窗户。"
}
],
"role": "model"
}
}
],
"usageMetadata": {
"promptTokenCount": 2846,
"candidatesTokenCount": 48,
"totalTokenCount": 2894
}
}
第四部分:快速对比速查表
| 方面 | OpenAI | Anthropic | Google Gemini |
|---|---|---|---|
| 身份认证 | Authorization: Bearer sk-... |
x-api-key: sk-ant-... + anthropic-version |
URL 查询参数 ?key=... |
| 文本消息键 | messages[].content |
messages[].content |
contents[].parts[].text |
| 系统提示 | { role: "system", ... } |
顶层 "system" 字段 |
systemInstruction 字段 |
| 图片输入 | { type: "image_url", ... } |
{ type: "image", source: {...} } |
{ inline_data: { mime_type, data } } |
| 流式标志 | stream: true |
(请参考文档) | 使用 :streamGenerateContent |
| 用量字段 | usage: { prompt_tokens, completion_tokens } |
usage: { input_tokens, output_tokens } |
usageMetadata: { promptTokenCount, ... } |
第五部分:cURL 快速参考(生产就绪)
OpenAI (cURL)
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "Hello!"}]
}'
Anthropic (cURL)
curl https://api.anthropic.com/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-3-5-sonnet-20241022",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello!"}]
}'
Google Gemini (cURL)
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro:generateContent?key=$GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"role": "user", "parts": [{"text": "Hello!"}]}]
}'
重要说明
本指南反映了 截至 2026 年中期的稳定 API 模式。在部署到生产环境前,请务必参考官方文档,因为 API 会不断演进。
要检查您自己的网站对 AI 的可见度,请使用我们的 AI Visibility Checker 工具。