工程 / 官方
OpenRouter 视觉接入完整指南
OpenRouter 近日发布官方指南,详细说明如何通过 Chat Completions API 向具备视觉能力的大语言模型发送图像。核心方法是在用户消息的 content 数组中同时包含文本部分与 image_url 部分,请求结构在所有支持图像输入的模型之间保持一致,开发者只需修改 model 字段即可切换模型。指南涵盖公开 URL 与 base64 两种图像传输方式的适用场景:公开 URL 适合已托管的图像,base64 则适合本地文件或不宜公开的敏感内容,且能规避因访问控制或链接过期导致的请求失败。此外,指南还介绍了多图与长文档处理、图像 token 计费机制,以及如何在包含图像的文档上构建多模态 RAG 流水线。目前支持的视觉模型包括 Claude Opus、Claude Sonnet 及 Gemini Flash 等,各模型在 OCR、图表理解和通用场景识别方面各有侧重。
OpenRouter 通过 Chat Completions API 提供多模态图像理解能力,接入方式与纯文本调用高度一致。开发者只需将用户消息的 content 字段从字符串改为数组,在其中分别放置一个 text 类型对象和一个 image_url 类型对象,即可让模型读取图像内容。端点为 POST /api/v1/chat/completions,切换模型时仅需修改 model 字段,请求体其余部分无需改动,极大降低了多模型对比测试的集成成本。
图像传输支持两种方式:公开 HTTP/HTTPS 链接和 base64 数据 URL。若图像已托管于 CDN、S3 存储桶或自有服务器,直接传入 URL 即可,请求体保持轻量,由模型提供商自行拉取图像字节。若图像存储在本地或属于用户上传的身份证件、内部文档等敏感内容,则应编码为 base64 格式嵌入请求,确保文件仅通过 API 调用本身离开系统,同时避免因访问控制、地区封锁或签名链接过期导致的请求失败。
指南提供了 cURL、Python 和 TypeScript 三种语言的可运行示例,三者请求逻辑完全相同,唯一变化是 MODEL 变量的值。Python 示例展示了将本地文件读取并转换为 base64 数据 URL 的完整流程,TypeScript 示例则使用 Node.js 的 fs/promises 模块实现相同逻辑。这种语言无关的统一接口设计,使得团队可以在不同技术栈中复用同一套集成方案。
OpenRouter 目前支持多款视觉语言模型,各有不同的价格、上下文窗口和能力侧重。anthropic/claude-opus-4.8 输入价格为每百万 token 5 美元,上下文窗口达 100 万 token,擅长密集文档处理和图表推理;anthropic/claude-sonnet-5 价格降至 2 美元,适合对成本敏感的文档理解场景;google/gemini-3-flash-preview 仅需 0.5 美元,适合高并发批量处理。指南建议开发者在确定生产模型前,使用真实业务图像对候选模型进行实际测试。
在多模态 RAG 场景中,开发者可以在包含图像的文档上构建检索增强生成流水线,将图像内容纳入语义检索范围。指南同时说明了图像 token 的计费机制,以及多图和长文档的处理方式,帮助开发者在设计系统时合理评估成本与延迟。值得注意的是,本指南仅涵盖图像理解(模型读取图像),不涉及图像生成或编辑功能,两者在 API 层面属于不同的能力范畴。
要点
- 向视觉模型发送图像只需将 content 字段改为包含 text 和 image_url 两个部分的数组,请求结构在所有支持图像输入的模型间完全通用。
- 公开 URL 适合已托管图像,base64 适合本地或敏感文件,后者还能规避链接失效问题,两种格式均支持 PNG、JPEG、WebP 和 GIF。
- 切换视觉模型只需修改 model 字段,无需改动其他请求参数,便于快速对比 OCR、图表理解等不同能力的模型表现。
- 多模态 RAG 流水线可将图像内容纳入文档检索,但需提前了解图像 token 计费机制以控制生产环境成本。
- 不同视觉模型在价格和能力上差异显著,建议在正式上线前用真实业务图像完成基准测试。
原始标题:How to Send an Image to an LLM via API (Vision Guide)
本文由 DataHub 基于公开来源整理,用于信息发现与摘要阅读;具体事实、数据和后续更新以原始来源为准。