AI APIOpenAIAnthropicGoogleLLM开发者

2026 主流 AI API 协议完全指南:公司、格式与可运行示例

2026-06-255 Min Read

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-expgemini-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 工具。