多模态视觉 API 实战:图片理解、OCR、多图对比
大模型不只能处理文字,还能”看图说话”。本文介绍如何通过 API 实现图片理解、文档 OCR、多图对比等视觉任务。
支持视觉的模型
| 模型 | 图片 | 视频 | 特点 |
|---|---|---|---|
| openai/gpt-4o | ✅ | — | 高质量图片分析 |
| openai/gpt-4o-mini | ✅ | — | 快速图片分析 |
| anthropic/claude-sonnet-4.5 | ✅ | — | 文档和代码理解强 |
| google/gemini-2.5-flash | ✅ | ✅ | 多模态全能 |
| google/gemini-2.5-pro | ✅ | ✅ | 最强多模态推理 |
URL 方式传图
最简单的方式,直接传图片 URL:
from openai import OpenAI
client = OpenAI(
base_url="https://api.ofox.ai/v1",
api_key="your-api-key"
)
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "描述这张图片的内容"},
{
"type": "image_url",
"image_url": {"url": "https://example.com/photo.jpg"}
}
]
}]
)
print(response.choices[0].message.content)
Base64 方式传图
处理本地图片时,转成 Base64 编码传入:
import base64
with open("screenshot.png", "rb") as f:
image_data = base64.standard_b64encode(f.read()).decode("utf-8")
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "这个截图里显示了什么?"},
{
"type": "image_url",
"image_url": {
"url": f"data:image/png;base64,{image_data}"
}
}
]
}]
)
精度控制
通过 detail 参数控制分析精度:
| 值 | 说明 | 场景 |
|---|---|---|
auto | 自动选择(默认) | 通用 |
low | 低精度,快速 | 简单分类、打标签 |
high | 高精度,详细 | 文档 OCR、细节分析 |
{
"type": "image_url",
"image_url": {
"url": "https://example.com/document.jpg",
"detail": "high"
}
}
多图对比
一次请求传多张图片,让模型对比分析:
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "比较这两张图片的区别"},
{"type": "image_url", "image_url": {"url": "https://example.com/before.jpg"}},
{"type": "image_url", "image_url": {"url": "https://example.com/after.jpg"}}
]
}]
)
这在 UI 改版前后对比、A/B 测试结果分析等场景非常实用。
Anthropic 协议视觉输入
Claude 模型使用不同的图片传入格式:
import anthropic
client = anthropic.Anthropic(
base_url="https://api.ofox.ai/anthropic",
api_key="your-api-key"
)
message = client.messages.create(
model="anthropic/claude-sonnet-4.5",
max_tokens=1024,
messages=[{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": image_data
}
},
{"type": "text", "text": "描述这张图片"}
]
}]
)
常见应用场景
- 文档 OCR — 从图片中提取文字和表格
- 代码截图分析 — 分析截图中的代码,给出修改建议
- UI 审查 — 评估界面设计和布局合理性
- 图表解读 — 分析数据可视化图表的内容
- 商品识别 — 识别图片中的物品和场景
视觉理解让 AI 不再是”睁眼瞎”,大幅拓展了应用场景。结合函数调用,你可以构建出能看图、能理解、能执行的全能 AI Agent。