gpt-5.4 识图 - URL 方式
from openai import OpenAI
client = OpenAI(api_key="sk-xxx", base_url="https://crazyrouter.com/v1")
response = client.chat.completions.create(
model="gpt-5.4",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "描述这张图片的内容"},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/photo.jpg"
}
}
]
}]
)
print(response.choices[0].message.content)
gpt-5.4 识图 - 本地图片
import base64
from openai import OpenAI
client = OpenAI(api_key="sk-xxx", base_url="https://crazyrouter.com/v1")
# 读取本地图片并转为 base64
with open("photo.jpg", "rb") as f:
image_data = base64.b64encode(f.read()).decode("utf-8")
response = client.chat.completions.create(
model="gpt-5.4",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "这张图片里有什么?"},
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{image_data}"
}
}
]
}]
)
print(response.choices[0].message.content)
多图对比
response = client.chat.completions.create(
model="gpt-5.4",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "对比这两张图片的区别"},
{"type": "image_url", "image_url": {"url": "https://example.com/img1.jpg"}},
{"type": "image_url", "image_url": {"url": "https://example.com/img2.jpg"}}
]
}]
)
print(response.choices[0].message.content)
Claude 识图
Claude 模型同样支持通过 OpenAI 兼容格式进行识图:
response = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "详细描述这张图片"},
{
"type": "image_url",
"image_url": {
"url": f"data:image/png;base64,{image_data}"
}
}
]
}],
max_tokens=1024
)
print(response.choices[0].message.content)
支持的识图模型
| 模型 | 说明 |
|---|
gpt-5.4 | 2026 年 3 月 23 日已在生产环境实测成功的 OpenAI 兼容视觉模型 |
claude-sonnet-4-6 | 已实测成功的 Claude OpenAI 兼容视觉模型 |
gpt-5.4 与 claude-sonnet-4-6 的视觉输入已于 2026 年 3 月 23 日在 Crazyrouter 生产环境完成实测。图片大小建议不超过 20MB;Base64 编码会增加约 33% 的数据量,大图建议优先使用 URL。