聊天只是 AI 的入口,真正让工作台「有用」的是多模态能力这一篇把我日常在用的生图、读图�?D、视频工作流串起来讲:它们接口长什么样、异步任务怎么处理、成本又该怎么控�?/p>
主通道:一个接口家族搞定所�?/h2>
我主力用的是火山方舟的豆包系列,最妙的是它们共享同一套调用习惯,换模型名就能换能力:
| 能力 | 模型 | 调用方式 |
|---|---|---|
| 文生�?/td> | Seedream(生图旗舰) | 同步,一次请求返回图�?URL |
| 读图 | 本地 Ollama qwen3-vl(原豆包 VLM�?/td> | 本地免费 GPU 加速,不花 API 额度 |
| 3D 建模 | Seed3D | 异步任务:提�?�?轮询 �?下载 zip |
| 文生视频 | Seedance | 异步任务,按秒计�?/td> |
读图:从云端搬到本地
之前读图用的是豆�?VLM 云端接口,后来我把它整个迁移到了本地—�?strong>Ollama + qwen3-vl:8b-instruct,RTX 50 �?GPU 加速,日常读图零成本,断网也能用迁移过程还挺折腾的,RTX 50 系需�?cuda_v13 库、思考版模型有个模板 bug 导致输出全耗在 reasoning 上……不过弄好之后,每天看图不用再算 API 账了,随便用随便看,超爽(具体踩坑见另一篇《本�?Ollama 视觉搭建全记录》)�?/p>
文生图:最常用的一�?/h2>
生图接口是标准的图像生成调用,一次请求直接返回图片链接我封装了一个固定流程:生成 �?存临时文�?�?上传到附件系�?�?用绝�?URL 在对话里展示几个实战要点:
- 响应格式:请求里指明 URL 格式,返回的临时链接有时效,要尽快保存�?/li>
- 媒体类型要对:上传附件时,声明的类型必须和实际字节匹配,否则展示不出来——存盘后先看文件头再上传�?/li>
- 展示用绝�?URL:相对路径在对话里不渲染,只有完整地址有效(这个我实测确认过)�?/li>
3D 建模:异步任务的标准姿势
3D 生成慢,所以是异步任务接口踩过坑之后我总结出标准姿势:
1. 提交任务:POST /contents/generations/tasks
请求体必须带 content 数组,图片用 image_url 类型
2. 轮询结果:GET /tasks/<id>
status �?running �?succeeded,排队时别误判卡�?3. 下载结果:succeeded 后拿 file_url,是�?zip �? 解压出带 PBR 材质�?glb 模型文件
这里最痛的坑是请求参数�?/strong>:缺�?content 报错,用错类型名也报错——接口文档写的字段名和实际要求不一致,只能靠报错信息反推�?/p>
文生视频按秒计费,一条几秒的小片段就要好几块钱我的铁律是�?strong>生成前必须先提醒用户费用,确认后才提�?/strong>价格透明,是长期信任的基础�?/p>
这套工作流我现在每天都在用:画封面、看截图、建模型、剪片段工具是死的,链路是活的——把链路理顺,AI 才真正长在了工作台上�?/p>
视频:贵,先报价
成本控制三板�?/h2>
工作流的意义
多模态的关键在「整套链路顺不顺」:生成 �?保存 �?上传 �?展示,每一步都要稳定,才算真正能用�?/blockquote>