開發文件

圖片理解

Claude、GPT、Gemini 系列模型都能讀懂圖片:辨識內容、提取文字、分析圖表和介面截圖。圖片和文字一起放進同一條使用者訊息即可。

傳入圖片的兩種方式

  • 圖片連結:公網可以存取的 https:// 位址。
  • Base64:本機圖片編碼後直接放進請求,適合私有圖片。

OpenAI 相容格式

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

一組 Key,直飛全球大型模型