Vision API (图像理解) 教程
- **截图转代码**: 传一张网页截图,让 AI 直接写出 HTML/Tailwind 代码。
5分钟
2025-12-26
API开发集成Vision
Vision API (图像理解) 教程
现在的旗舰模型(GPT-4o, Claude 3.5 Sonnet, Gemini 1.5 Pro)都具备 Vision 能力。你可以传一张图,问它里面有什么。这为 AI 应用开启了全新的维度。
1. 核心应用场景
- 截图转代码: 传一张网页截图,让 AI 直接写出 HTML/Tailwind 代码。
- 文档数字化: 传一张发票或手写笔记,提取其中的结构化数据(JSON)。
- 内容审核: 检查用户上传的图片是否包含违规内容。
2. API 调用 (OpenAI 格式)
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "这张图里有什么?详细描述。"},
{
"type": "image_url",
"image_url": {
"url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg",
"detail": "high" # low/high/auto
},
},
],
}
],
max_tokens=300,
)
print(response.choices[0].message.content)
3. base64 还是 URL?
- URL: 如果图片已经在网上(如 S3),直接传 URL 最省事。
- Base64: 如果图片在本地或内存中,转成 Base64 字符串发送。注意图片不要太大,否则会消耗大量 Token 甚至超时。
4. 多图与视频
- 多图:
content数组里可以放多个image_url对象。模型会理解图片之间的关系(如“找不同”)。 - 视频: 目前 API 不直接支持视频文件(Gemini 除外)。通用的做法是抽帧,每秒截一张图,拼成多图发送给模型。
最后更新:2025-12