開發文件
圖片理解
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 計費,圖片越大越貴。傳送前把圖片縮放到夠用的解析度,可以明顯降低成本。
- 一條訊息可以放多張圖片,模型能比較分析。
- 把圖片放在問題文字之前,通常效果更好。