开发文档
图片理解
Claude、GPT、Gemini 系列模型都能读懂图片:识别内容、提取文字、分析图表和界面截图。图片和文字一起放进同一条用户消息即可。
传入图片的两种方式
- 图片链接:公网可以访问的
https://地址。 - Base64:本地图片编码后直接放进请求,适合私有图片。
OpenAI 兼容格式
vision.py
from openai import OpenAI
client = OpenAI(api_key="sk-...", base_url="https://api.flyrouter.ai/v1")
resp = client.chat.completions.create(
model="gpt-6.1-sol",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "这张图里有什么?"},
{"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}},
],
}],
)
print(resp.choices[0].message.content)Anthropic 原生格式
vision_claude.py
import base64
from anthropic import Anthropic
client = Anthropic(api_key="sk-...", base_url="https://api.flyrouter.ai")
with open("chart.png", "rb") as f:
data = base64.b64encode(f.read()).decode()
msg = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=2048,
messages=[{
"role": "user",
"content": [
{"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": data}},
{"type": "text", "text": "总结这张图表的主要趋势"},
],
}],
)
print(msg.content[0].text)使用图片链接时,把 source 换成 {"type": "url", "url": "https://..."}。
注意事项
- 支持 JPEG、PNG、GIF、WebP 等常见格式。
- 图片按尺寸折算成输入 token 计费,图片越大越贵。发送前把图片缩放到够用的分辨率,可以明显降低成本。
- 一条消息可以放多张图片,模型能对比分析。
- 把图片放在问题文字之前,通常效果更好。