调用火山引擎豆包多模态模型需明确输入格式、选用doubao-seed-vision/2.0-pro/2.1-pro三类模型,构造含role/content的list消息结构,支持base64图片、https/tos/s3链接及混合图文输入,并通过thinking_type字段与x-las-llm-thinking-type头控制深度思考,响应含llm_result与reasoning_content字段。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在实际项目中调用火山引擎豆包大模型的多模态能力,必须明确输入数据格式、选择适配的模型版本,并正确构造符合规范的 message 结构,否则请求会直接被拒绝或返回空推理结果。
确认可用的多模态模型版本
截至2026年8月,火山引擎官方支持多模态能力的主力模型为:【Doubao-Seed-Vision】(视觉理解专用)、【Doubao-Seed-2.1-pro】(通用多模态强推理)、【Doubao-Seed-2.0-pro】(空间与运动理解强化版)。其中 Doubao-Seed-Vision 仅支持图片输入,不支持视频或文本混合;Doubao-Seed-2.1-pro 和 2.0-pro 支持 images + videos + texts 三类混合输入,且默认启用深度思考机制。
调用前务必检查 API 文档中 model 字段是否列出该模型——例如 /v1/chat/completions 接口只接受 2.1-pro 及以上版本,而 /v1/vision/analyze 接口仅接受 Doubao-Seed-Vision。
构造合法的多模态输入结构
多模态输入必须以 list 形式组织 message,每个元素为 dict 类型,含 role 和 content 两个键。content 必须是 list,且每个子项需明确标注 type:
方法一:本地图片转 base64 后嵌入
将 JPG/PNG 文件读取为二进制 → base64 编码 → 构造 {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,xxx"}}。注意:base64 字符串不能换行,且总长度不能超过 20MB;超大会触发 413 错误。
方法二:传 HTTPS/TOS/S3 URL
直接提供可公开访问的图片链接,如 {"type": "image_url", "image_url": {"url": "https://example.com/img.png"}}。若使用 TOS 或 S3,URL 必须带预签名参数,否则返回 403;火山引擎不会自动帮你生成签名,需自行调用 TOS SDK 签发。
方法三:混合图文输入(推荐用于文档解析场景)
第一步:把 PDF 第一页截图保存为 page1.jpg → 转 base64
第二步:提取 PDF 文本段落 → 存为 text_block.txt → 读取为字符串
第三步:组合 message → [{"role": "user", "content": [{"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,..."}}, {"type": "text", "text": "请逐条提取图中表格字段名和对应值"}]}]
启用并控制深度思考行为
在 request body 中加入 thinking_type 字段可干预模型推理路径:
① 设置 "thinking_type": "enabled":强制输出 reasoning_content 字段,适合需要审计推理链的金融/医疗场景;但 token 消耗增加 30%~50%,响应延迟上升 1.2~2.3 秒。
② 设置 "thinking_type": "disabled":跳过思维链生成,仅返回 llm_result;适用于实时性要求高的 UI Agent 场景,如网页按钮点击判断。
③ 设置 "thinking_type": "auto"(默认):模型根据输入复杂度自动决策是否展开推理;当检测到视频帧数>30 或图像中存在多张表格时,会主动启用深度思考。
【必须在 headers 中添加 X-LAS-LLM-THINKING-TYPE: enabled】 才能使 thinking_type 字段生效,否则服务端直接忽略该参数。
处理多模态响应结果
成功响应为 JSON object,结构固定包含 llm_result(最终回答)和 reasoning_content(思维链),二者均为 string 类型。若未开启 thinking_type,则 reasoning_content 为空字符串。
当输入含视频时,response 中可能额外出现 video_summary 字段(仅限 Doubao-Seed-2.1-pro),内含关键帧时间戳、动作标签、空间关系三元组;该字段需显式在 request 中声明 "output_format": "detailed" 才会返回。
若 response 中出现 finish_reason: "content_filter",说明某帧图像或某段文本触发安全策略——此时不会返回 llm_result,仅返回空字符串和该 reason,【无法通过重试绕过】,必须更换原始素材。











