三种传图方式,一套接口。 在线 URL 最省事,本地图转 base64,Claude 也能直接看图。 整理日期:2026-10-18 | 相关:Python 快速开始 · 按任务选模型
| 模型 ID | 特点 |
|---|---|
gpt-6-astra | 通用,识图与对话兼顾 |
gemini-3.8-flash | 识图准、便宜,截图 / 表格识别强 |
claude-sonnet-5-5 | 中文理解好,长图 / 文档截图表现稳 |
用纯文本模型(如 deepseek-v4-pro)传图会直接报错。
content 从字符串变成一个数组,里面 mixed 放 text 和 image_url 两种元素。图片 URL 必须是公网可访问的。内网地址、需要登录的地址,模型拉不到。
| 易错点 | 说明 |
|---|---|
忘了 data:image/png;base64, 前缀 | 只传裸 base64 会报格式错误 |
| MIME 类型写错 | PNG 用 image/png,JPEG 用 image/jpeg,WebP 用 image/webp |
如果你更想用 Anthropic 原生协议( /v1/messages),也可以——base URL 就不带/v1。但用 OpenAI 兼容更省事,代码不用改。
| 场景 | 建议 |
|---|---|
| 普通照片 | 长边压到 1024–1568 即可,太大不提升准确率只增加费用 |
| 文档 / 截图 | 保持清晰度更重要,别过度压缩,否则小字识别错 |
| 超长截图 | 切成几段分别传,比整张压缩效果好 |
| 现象 | 原因 | 解决 |
|---|---|---|
invalid_image_format | 缺 data:image/xxx;base64, 前缀 | 补上前缀 |
| 模型不支持图片 | 用了纯文本模型 | 换 gpt-6-astra / gemini-3.8-flash |
| 图片太大 | 超出尺寸上限 | 按第五节压缩 |
| 拉不到远程图 | URL 不公开 / 有防盗链 | 换成可公网访问的地址,或转 base64 |
| 识图结果很模糊 | 压缩过 头 | 提高分辨率重试 |
401 / 404 | 密钥 / base_url 问题 | 见配置报错对照表 |
| 做法 | 效果 |
|---|---|
| 压缩到长边 1024 | 成本明显下降,准确率几乎不变 |
用 gemini-3.8-flash 做批量 | 比旗舰模型便宜很多 |
| 只传必要区域 | 截图裁掉无关部分 |
实际单价以价格页为准。
| 日期 | 改了什么 |
|---|---|
| 2026-10-18 | 由原「Python 使用 gpt-4o 识别图片」「本地图片」「Claude 识别图片」三篇合并;模型 ID 更新,补 base64 前缀与图片压缩两块 |