多模态(图片输入)
在请求里附带图片,让模型理解图片内容。支持 Chat Completions 的 image_url 和 Anthropic Messages 的 image 内容块。
AI 星图目前支持图片输入(图片理解):在请求里附带图片,让模型描述、识别或分析图片内容。图片生成、音频和视频不在本文档范围内。
是否支持图片输入以模型自身能力为准,请先在 模型广场 查看模型详情,或在 游乐场 试一次。
示例中的 your-model-id 请替换为模型广场中的模型 ID(也可以调用 GET /v1/models 查看)。
方式一:Chat Completions(image_url)
在 messages[].content 里使用数组,同时放文本和图片。image_url.url 可以是公网可访问的图片 URL,也可以是 Base64 形式的 data: URL。
import base64
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["MYAIEXP_API_KEY"],
base_url="https://ai.myaiexp.com/v1",
)
# 读取本地图片并转成 data: URL
with open("photo.jpg", "rb") as f:
b64 = base64.b64encode(f.read()).decode()
resp = client.chat.completions.create(
model="your-model-id", # 替换为模型广场中的模型 ID
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "Describe this image in one sentence."},
{"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{b64}"}},
],
}
],
)
print(resp.choices[0].message.content)把 https://example.com/your-image.jpg 换成你自己的公网图片地址。
方式二:Anthropic Messages(Claude 原生格式)
通过 /v1/messages 调用支持 Claude 原生格式的模型时,图片使用 Anthropic 原生的 image 内容块,source 支持两种形式:
{"type": "base64", "media_type": "image/jpeg", "data": "<base64>"}:直接传图片数据,data里不带data:image/...;base64,前缀。{"type": "url", "url": "https://..."}:传公网图片 URL。
import base64
import os
import anthropic
client = anthropic.Anthropic(
api_key=os.environ["MYAIEXP_API_KEY"],
base_url="https://ai.myaiexp.com", # 注意:不带 /v1
)
with open("photo.jpg", "rb") as f:
b64 = base64.b64encode(f.read()).decode()
message = client.messages.create(
model="your-model-id", # 替换为模型广场中的模型 ID
max_tokens=512,
messages=[
{
"role": "user",
"content": [
{"type": "image", "source": {"type": "base64", "media_type": "image/jpeg", "data": b64}},
{"type": "text", "text": "Describe this image in one sentence."},
],
}
],
)
print(message.content[0].text)注意事项
- 图片会按模型的规则折算成输入 token 计费,图片越大消耗越多;可以先把图片缩小到够用的分辨率再发送。
- 常见格式为 JPEG、PNG、GIF、WebP;
media_type要和图片实际格式一致。 - 使用图片 URL 时,图片必须能被公网直接访问(不需要登录、没有防盗链),否则请改用 Base64。
- 一条消息里可以放多张图片,建议把图片放在文字问题之前。
- 每次请求实际消耗的输入 token 可以在 使用日志 中查看。
本服务仅供学习与研究用途。请遵守各模型提供方的使用政策。