Skip to main content

图像输入与图床上传

文本模型处理图片时通常有两种传图方式:
不要把 API Key 写进前端、日志或文档仓库。图片 URL 不要使用需要登录态、临时 Cookie 或内网访问的地址。

上传本地图片

如果模型协议要求传图片 URL,可以先把本地图片上传到自己的图床,再把返回的 url 放进模型请求。 图床上传接口建议采用 multipart/form-data,字段名为 file,返回 JSON 中包含公网可访问的 url
Python 示例:

Chat Completions

Chat Completions 使用 OpenAI 兼容的 messages[].content 数组。图片 URL 放在 image_url.url
base64 图片也通过 image_url.url 传入,但需要带完整 data URL 前缀:

Claude Messages

Claude 原生 Messages 使用 content[].source URL 图片:
base64 图片:
Claude 的 source.data 只放纯 base64 字符串,不要带 data:image/png;base64, 前缀。

OpenAI Responses

Responses 使用 input[].content 数组。图片 URL 放在 input_image.image_url
如果模型和通道支持 base64,可把 image_url 改成 data URL:

Gemini 原生

Gemini 原生格式常用 inlineData 传 base64:
URL 图片可使用 fileData,但是否能被上游下载取决于模型和通道:

上线前检查

  1. 先用 /v1/models 确认当前 API Key 能调用目标模型。
  2. 用一张小图分别测试 URL 与 base64,确认模型能正确读取图片内容。
  3. URL 方式失败时,先确认图片是否公网可访问;仍失败时,上传到稳定图床后重试。
  4. base64 方式失败时,确认协议是否需要 data URL 前缀,以及 media_type / mimeType 是否正确。