跳转到主要内容
支持 vision 的模型可以在一次请求里同时接收图片和文字。你可以把图片交给模型,让它描述画面、识别其中的文字(OCR)、看懂界面截图、流程图或图表,也可以从拍照的表格里把数据读出来。 底层用的还是和普通对话一样的 OpenAI 兼容端点。唯一变化的是 content 字段:不再传一个字符串,而是传一个由若干部分组成的数组 —— 文本块 {"type": "text"} 和图片块 {"type": "image_url"}
请使用支持 vision 的模型:Claude(Sonnet / Opus)、GPTGemini 都能接收图片。DeepSeek 只能处理文本 —— 见 DeepSeek 模型。发请求前,先在主站**「价格」**页面查看各模型的能力标签。

通过公开链接传图

最简单的情况 —— 图片已经在网上,有直接可访问的 URL。
Python (OpenAI SDK)
from openai import OpenAI

client = OpenAI(
    api_key="sk-你的密钥",
    base_url="https://www.ruapi.ai/v1",
)

response = client.chat.completions.create(
    model="claude-opus-4-8",  # vision 模型;准确名称见价格页
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "图里是什么?请简要描述。"},
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://upload.wikimedia.org/wikipedia/commons/3/3a/Cat03.jpg"
                    },
                },
            ],
        }
    ],
)

print(response.choices[0].message.content)

本地文件用 base64

如果图片无法公开访问(截图、磁盘上的照片),就把它编码成 base64,以 data:image/jpeg;base64,... 这种 data URI 形式传入。
Python (OpenAI SDK)
import base64
from openai import OpenAI

client = OpenAI(
    api_key="sk-你的密钥",
    base_url="https://www.ruapi.ai/v1",
)

# 把本地文件编码成 base64
with open("screenshot.jpg", "rb") as f:
    b64 = base64.b64encode(f.read()).decode("utf-8")

data_uri = f"data:image/jpeg;base64,{b64}"

response = client.chat.completions.create(
    model="claude-opus-4-8",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "识别这张截图里的所有文字。"},
                {"type": "image_url", "image_url": {"url": data_uri}},
            ],
        }
    ],
)

print(response.choices[0].message.content)
PNG 把前缀改成 data:image/png;base64,,WebP 用 data:image/webp;base64,。MIME 类型必须和文件的真实格式一致。

注意事项

图片会计入输入 token,分辨率越高,请求越贵。如果不需要看清细节,发送前先把图缩小(比如长边压到 1024–1568 px)。
base64 字符串比原文件大约大三分之一,而且整段都塞进请求体里。对于体积大的图片,用公开链接比传几兆字节的 data URI 更稳妥 —— 否则可能撞上请求体积上限。
通常是 jpegpngwebpgif。HEIC、TIFF、SVG 等冷门格式建议先转换成上述之一。

接下来