实战 SOP
实战 SOP

零成本搭 AI 多模态工作流 SOP:免费 API+国产+本地三件套

2026 年用 Agnes 免费 API(OpenAI 兼容,一个 key 覆盖文本/图片/视频)+国产模型(DeepSeek/Qwen/即梦/Kling)+本地模型(Wan2.1/Hunyuan/CogVideo)三层叠加,搭出零成本多模态管线。给五步流程、可跑 Python 代码(含视频异步轮询与本地兜底)和五个踩坑。

发布于 2026年8月10日8 分钟阅读
<!-- zero-cost-ai-multimodal-workflow-sop | sop | 零成本搭一套 AI 多模态工作流 SOP:免费 API + 国产模型 + 本地模型 -->

2026 年搭一套能出文本、图片、视频的 AI 工作流,不再必须给 OpenAI 交月费。三件事凑到一起改变了成本结构:一是出现了 OpenAI 兼容、带免费额度的多模态 API(Agnes 一个 key 能调文本、图片、视频);二是国产模型 API 矩阵成熟(DeepSeek、通义 Qwen、即梦、豆包、Kling 覆盖文本到音视频);三是开源视频模型够用(Wan2.1、Hunyuan、CogVideo 本地能跑)。三条腿走路,任何一条断档另两条兜得住--这才是「零成本」能落地的根,而不是赌某家永远免费。

这篇 SOP 给一条可复制的流程:盘点需求 -> 统一接入 -> 搭最小管线 -> 本地兜底 -> 成本控制,五步。代码基于 Agnes 官方文档、OpenMontage 的 PROVIDERS.md(国产/本地模型清单)及各国产模型官方文档整理,截至 2026-08-10;API 形态以官方为准,免费额度随时变动以平台公告为准。与同批的 Agnes 5 模型横评(选哪个 Agnes 模型)、OpenMontage 国内替代方案(本 SOP 的模型映射可直接复用其 PROVIDERS 清单)、Hy3 免费窗口热点(文本模型又一免费选项,8/31 前免费)互补,建议对照读。


一、为什么 2026 能零成本:三件套各管一段

「零成本」不是白嫖某一个 API,而是三层叠加把单点依赖压到零:

  • 免费 API 层:Agnes 这类 OpenAI 兼容多模态网关,一个 key 覆盖文本/图片/视频,带 RPM 与配额。优点是接入成本极低(换 base_url 即可),缺点是额度有限、随时可能调整。详见本批 Agnes 横评。
  • 国产模型层:DeepSeek(文本/编码)、通义 Qwen(DashScope,图片+TTS+ASR)、即梦 Jimeng(字节,视频)、豆包 Doubao Speech(TTS)、Kling(快手,视频)。按量计费但单价低,作为免费额度耗尽后的第一替代;Hy3 在 8/31 前有免费窗口,可临时当文本主力。
  • 本地模型层:Wan2.1(阿里,视频)、Hunyuan(腾讯,视频)、CogVideo(智谱,视频)、WhisperX(字幕)。零 API 成本,吃显存,是配额彻底用完时的兜底。

三层不是「选一层」,是「免费层打满 -> 切国产按量 -> 切本地」的降级链。任何一层单独都不够稳,叠起来才稳。


二、需求 -> 模型映射表

动手前先把要做的模态列清,按「免费优先 -> 国产次之 -> 本地兜底」排好。这张表与 OpenMontage 的 PROVIDERS.md 清单对齐,可直接复用:

模态首选免费国产替代(按量)本地兜底(零成本)
文本/编码Agnes agnes-2.5-flashDeepSeek / Qwen-Max / Hy3(免费窗口内)Qwen 本地 / llama.cpp
文生图Agnes agnes-image-2.1-flashQwen-Image (DashScope) / 即梦SD / Flux 本地
图/文生视频Agnes agnes-video-v2.0即梦 Jimeng / KlingWan2.1 / Hunyuan / CogVideo
TTS 语音Agnes(若提供)豆包 Doubao Speech / Qwen TTSedge-tts / XTTS 本地
字幕--WhisperX 本地

用法:每一行挑一个当主力,另两个当 fallback,在编排脚本里按配额状态自动切。


三、SOP 五步流程

Step 1 盘点需求与模型组合:列出你要的模态,照第二节映射表给每个模态定「主力 + 两个 fallback」。要点是别只定主力--免费额度一定会耗尽,没有 fallback 的管线第一次撞配额就停摆。

Step 2 统一接入:OpenAI 兼容是钥匙。Agnes 一个 key + 一个 base_url 同时搞定文本和图片(直接用 openai SDK),省掉三套 SDK 的心智负担。国产非兼容的(如 DashScope)走原生 SDK,但要在底外包一层统一接口(同一个 generate_text(prompt) / generate_image(prompt) 签名),后面换模型只改实现。

Step 3 搭最小管线:先跑通「文本 -> 图片 -> 视频」一条链,别一上来堆五个模态。能跑通这一条,加 TTS、加字幕都是接线,不是重写。第四节给可跑代码。

Step 4 本地兜底:在管线的视频环节加一个开关 VIDEO_GEN_LOCAL_MODEL=wan2.1-14b,配额耗尽自动走本地出片。第五节给配置。

Step 5 成本控制:缓存重复请求的结果、错峰跑视频、多 key 轮换(注意别撞 ToS)、视频任务异步串行不要并发刷。监控每个 endpoint 的用量,超免费档立刻切降级链下一层。


四、最小可跑管线:文本 -> 图片 -> 视频

下面这段 Python 跑通三步:agnes-2.5-flash 生成分镜 -> agnes-image-2.1-flash 出图 -> agnes-video-v2.0 图生视频(异步轮询)。文本和图片走 openai SDK(兼容),视频是任务型异步端点用 requests 直连。

python
import os, time, requests
from openai import OpenAI

AGNES_KEY = os.getenv("AGNES_API_KEY", "ag-xxxxxxxx")  # 脱敏,勿硬编码
BASE = "https://apihub.agnes-ai.com/v1"

# 文本 + 图片走 OpenAI 兼容 SDK,换 base_url 即可
client = OpenAI(api_key=AGNES_KEY, base_url=BASE)

# Step 1 文本:生成 15 秒视频分镜(走免费档 20 RPM)
script = client.chat.completions.create(
    model="agnes-2.5-flash",
    messages=[{"role": "user",
               "content": "写一条 15 秒产品视频分镜,输出三句画面描述,每句一行。"}],
)
shots = script.choices[0].message.content
first_shot = shots.splitlines()[0]
print("分镜:", shots)

# Step 2 图片:文生图(走图片 RPM 配额)
img = client.images.generate(
    model="agnes-image-2.1-flash",
    prompt=first_shot,
    n=1,
    size="1280x720",
)
image_url = img.data[0].url
print("首图:", image_url)

# Step 3 视频:图生视频,异步任务(走视频配额)
# 视频是任务型端点,不在 openai SDK 内,用 requests 直连 Agnes
headers = {"Authorization": f"Bearer {AGNES_KEY}"}
create = requests.post(f"{BASE}/videos/generations", headers=headers, json={
    "model": "agnes-video-v2.0",
    "image": image_url,
    "prompt": shots,
}, timeout=30).json()
task_id = create["id"]

# 关键:视频是异步任务,必须轮询,不轮询拿不到结果
for _ in range(60):  # 最多等 10 分钟
    st = requests.get(f"{BASE}/videos/generations/{task_id}",
                      headers=headers, timeout=30).json()
    if st["status"] == "succeeded":
        print("视频地址:", st["video"]["url"])
        break
    if st["status"] == "failed":
        raise RuntimeError("视频生成失败:" + st.get("error", "unknown"))
    time.sleep(10)

每步免费额度:文本 20 RPM、图片按图片 RPM 配额、视频按任务配额,三条都以平台公告为准。配额耗尽时把 Step 3 换成下一节的本地兜底即可,前两步不动。


五、本地模型兜底配置

视频配额最先耗尽,本地兜底主要兜视频。设环境变量 VIDEO_GEN_LOCAL_MODEL,配额不足时脚本自动切本地 Wan2.1 出片,零 API 成本:

python
# 本地兜底:Wan2.1 离线出视频,零 API 成本
# 环境:pip install diffusers torch accelerate
# 选型:显存 24GB+ 用 14b,8GB 左右用 1.3b,量力而行
import os, torch
from diffusers import WanPipeline

model_id = os.getenv("VIDEO_GEN_LOCAL_MODEL", "Wan-AI/Wan2.1-T2V-14B-Diffusers")
pipe = WanPipeline.from_pretrained(model_id, torch_dtype=torch.bfloat16).to("cuda")

video = pipe(
    prompt=first_shot,          # 复用上面的分镜描述
    num_frames=49, height=720, width=1280,
    num_inference_steps=30,
).frames[0]
# 导出 mp4 用 imageio / opencv,此处省略

选型纪律:显存够(24GB+)选 14b 出片质量好;不够就选 1.3b,质量降一档但能跑。Hunyuan、CogVideo 是同类替代,接口类似。本地兜底不参与 RPM 限制,慢但稳,是免费层断档后的最后一道防线。


六、五个踩坑

坑 1:把免费 API 当生产 免费额度一超就停,没有 fallback 当场断线。修法:每个模态都按第二节备好国产/本地 fallback,编排脚本检测到 429 或配额错误自动降级,别让管线单点依赖免费层。

坑 2:视频不轮询,拿不到结果 视频是异步任务,创建接口只返回 task_id,状态和结果要去查询接口取。不轮询直接用创建返回值,拿到的是个 id 不是视频。修法:像第四节那样循环 GET /videos/generations/{id},设最大等待轮数和失败分支。

坑 3:假设国产模型都能 drop-in 国产模型 API 形态不统一。DashScope 不是 OpenAI 兼容,参数名、返回结构都不同;即梦、Kling 各有各的签名。修法:非兼容的走原生 SDK,但外包一层统一接口(generate_image(prompt)->url),换模型只改实现,管线代码不动。

坑 4:本地模型硬上 14b 爆显存 14b 要 24GB+ 显存,硬上会 OOM 或极慢。修法:先查自己显卡显存,8-12GB 选 1.3b,16GB 选 5b,24GB+ 再上 14b。用 nvidia-smi 看实际占用,留余量给系统。

坑 5:多 key 轮换撞 ToS 为绕免费额度开多号并发刷视频配额,可能违反平台服务条款被封。修法:单号串行跑视频(视频本来就异步慢,并发没意义),多 key 只用于跨项目隔离用量,别在一个号上并发刷。


七、常见问题

Q1:Agnes 的免费额度到底够不够用? 够做原型和小批量生产,不够规模化。文本 20 RPM 能撑个人级日常调用,图片按 RPM 配额够出几十张,视频配额最少、最易耗尽。判断标准:跑通管线后看一周实际用量,超免费档 70% 就该把视频环节切本地或国产按量。额度随时变动,以平台为准。

Q2:不用 Agnes 能搭这套吗? 能。Agnes 的价值是一个 key 全模态 + OpenAI 兼容省接入成本。你也可以全用国产:DeepSeek 文本 + Qwen-Image 图片 + 即梦视频,按量计费但单价低。或全本地:Qwen 本地 + Flux + Wan2.1,零 API 成本但吃显卡。Agnes 只是「免费优先」层最省事的选择,不是必需。

Q3:本地模型出视频要多久? 14b 在 24GB 显卡上出 5 秒 720p 视频大约几分钟到十几分钟(取决于步数),比 API 慢但零成本。1.3b 快很多但质量低。如果时间敏感,优先用 API(免费或按量),本地只作兜底。

Q4:n8n 和 Python 脚本选哪个编排? 原型和单条管线用 Python 脚本最直接(本文代码即如此)。需要可视化、定时触发、多分支和人在回路审批,用 n8n。两者不冲突:n8n 可调用你封装好的 Python 接口,复杂逻辑在 Python 里,调度在 n8n 里。

Q5:这套和 OpenMontage 是什么关系? 互补。OpenMontage 是一套开源编排框架,PROVIDERS.md 里整理了国产/本地模型清单(本 SOP 第二节映射表即对齐它)。本 SOP 的流程可以手工用 Python 跑,也可以套进 OpenMontage 用它现成的 provider 适配层,省掉自己写统一接口的活。详见本批 OpenMontage 国内替代方案。


可复用编排模板

text
# 多模态工作流编排模板(伪代码)
PIPELINE:
  1. text_gen(prompt) -> script          # Agnes agnes-2.5-flash,免费优先
  2. image_gen(script.first_shot) -> img  # Agnes agnes-image-2.1-flash
  3. video_gen(img, script) -> video      # Agnes agnes-video-v2.0,配额耗尽切本地 Wan2.1
  4. (可选) tts(script) -> audio          # 豆包 Doubao Speech / Qwen TTS
  5. (可选) asr(audio) -> subtitle        # WhisperX 本地

FALLBACK_RULE:
  每步失败或 429 -> 按映射表降级:免费 -> 国产按量 -> 本地
  视频步优先切本地(成本敏感),文本/图片优先切国产按量(质量敏感)

COST_RULE:
  缓存相同 prompt 的结果;视频异步串行不并发;监控各 endpoint 用量

参考来源

本文由 AI 辅助生成,经人工审核编辑。最后更新:2026-08-10

常见问题

Agnes 的免费额度到底够不够用?
够做原型和小批量生产,不够规模化。文本 20 RPM 撑个人日常,图片够出几十张,视频配额最少最易耗尽。跑通后看一周用量,超免费档 70% 就把视频切本地或国产按量;额度随时变动以平台为准。
不用 Agnes 能搭这套吗?
能。Agnes 价值是一个 key 全模态 + OpenAI 兼容省接入成本。可全用国产(DeepSeek+Qwen-Image+即梦,按量但便宜)或全本地(Qwen 本地+Flux+Wan2.1,零 API 成本但吃显卡)。Agnes 只是免费优先层最省事的选择,不是必需。
本地模型出视频要多久?
14b 在 24GB 显卡上出 5 秒 720p 约几分钟到十几分钟,比 API 慢但零成本;1.3b 快但质量低。时间敏感优先用 API,本地只作兜底。
n8n 和 Python 脚本选哪个编排?
原型和单条管线用 Python 最直接;需要可视化、定时触发、多分支、人在回路审批用 n8n。两者不冲突:n8n 调用封装好的 Python 接口,复杂逻辑在 Python,调度在 n8n。
这套和 OpenMontage 是什么关系?
互补。OpenMontage 是开源编排框架,PROVIDERS.md 整理了国产/本地模型清单(本 SOP 映射表对齐它)。流程可手工 Python 跑,也可套进 OpenMontage 用现成 provider 适配层省掉自己写统一接口。

相关文章

实战 SOP

开源语音模型五连发:蚂蚁 MIT 协议四卡起步

蚂蚁集团 inclusionAI 2026-10-19/20 以 MIT 协议开源 Ming-3.0 语音系列五款模型(多源确认,可自部署可微调可商用),覆盖语音合成、音频理解与对话、语音识别三方向:Ming-3.0-tts-0.5B(0.5B dense,最轻量四卡可部署)、Ming-3.0-tts-tiny(7.9B 总/1.3B 激活 MoE,长篇多说话人播客)、Ming-3.0-audio-flash(126B 总/6.5B 激活 MoE,音频理解与对话、可文字可语音作答)、Ming-3.0-audio-tiny(9.3B/2.7B,效率向)、Ming-3.0-asr-tiny(8.6B/2B,上下文感知转写)。能力:TTS 文字描述音色、导演模式自然语言控情绪/重音/节奏、声音克隆、七种语言+两种方言;音频理解长音频直接输入、结构化输出、保留情绪与说话人身份、工具调用生成;ASR 方言识别、热词注入、上下文感知。接入步骤(kie.ai 与 README 核实):TTS 路线 git clone github.com/inclusionAI/Ming-3.0-tts → conda 环境(0.5B:python 3.10 + pip install -r requirements.txt + conda install -c conda-forge pynini==2.1.6)→ 按 README 跑推理;tts-tiny 需独立环境 Python 3.10.15 + PyTorch/Torchaudio 2.7.1(cu118)+ Transformers 4.46.3;audio-flash 可下载权重或走 Ling Studio Chat(ling.tbox.cn),128K 上下文,语音输出走 Chat Completions 的 audio.voice 字段(modalities=["text","audio"])。硬件口径:官方主要在数据中心卡测试,推荐 NVIDIA H800(80GB)/H20(96GB),0.5B 四卡为最低门槛,消费级卡可行性未验证;day-0 生态 vLLM-Omni、SGLang-Omni 已适配。蚂蚁内部应用(官方稿口径):asr-tiny 用于阿福医生助手、支付宝搜索、蚁小保实时语音对话、安全核身。局限四条如实写:无量化文件(GGUF/AWQ/EXL2 均无)、流式存疑(SGLang-Omni 传 stream=true 仍返回整段波形,真实首音频延迟未确立)、控制模式互斥(Voice Design/情绪调制/方言选择不能单次推理组合)、训练语料未公布。榜单背书(二手口径):Artificial Analysis TTS 榜(Provider Voices)Ming-3.0-tts 1244 分居前列。与站内分工:voice-cloning-toolkit-comparison-review(2026-10-15)是横评栏选型文(五强怎么选),本篇是 SOP 栏接入实操(五款全栈怎么装怎么调),不同栏不同角度。

2026年10月21日9 分钟阅读
实战 SOP

AI 跨会话记忆怎么实现?混元 MemHub 十分钟跑通

用腾讯混元现成方案给 AI agent 装跨会话记忆的接入 SOP,全部命令取自 MemHub README 与 PyPI 实测。安装三层:SDK 层 pip install hy-memory==2.0.3(写作时最新版);CLI 层 npm 装 memhub-cli 引导器(约 384KB),再跑 memhub install 下载 Runtime;数据目录 ~/.one-memory。v1.0.3 平台支持:Linux x64/arm64 Runtime、macOS arm64/x64 App——Windows 不支持(README 明确,正文加粗提醒+FAQ 双提醒,本站 Windows 读者多)。十条 CLI 命令逐条展开:serve/start/stop/restart/status/doctor/install/upgrade/uninstall/delete-data,含首跑流程示例(install 装完先 status 验证、doctor 体检、serve 起服务再接 agent)。隐私边界五条照写:不采集屏幕、不 OCR、不采集键盘鼠标事件、不读剪贴板、不录音。工具数两口径并写:MemHub README 列 5 种工具,腾讯官方公众号稿称 10 种,正文不选边、以实际 CLI 输出为准。preview 警示独立成节:Hy Memory 2.0 与 MemHub 均处 preview 阶段,命令与 API 可能变动,生产慎用。常见坑:Windows 读者给出的替代路线(WSL2 或等官方支持)、版本号必须带 ==2.0.3 保证可复现、数据目录备份即拷 ~/.one-memory。分工声明:ai-agent-long-term-memory-sop(2026-08-08)讲 mem0/Letta 自建长期记忆(向量库+文件),本篇讲腾讯混元现成开箱方案,面向想当天跑通的读者。主攻搜索词「AI 跨会话记忆」(S1=2/S2=1/S3=2/S4=3,约 8 分强采线)只进标题与本摘要,不进正文。

2026年10月20日9 分钟阅读
实战 SOP

Claude Code 接 DeepSeek:官方九变量,别抄旧教程

Claude Code 接 DeepSeek 的官方直连 SOP,全部命令与变量取自 DeepSeek 官方指南(api-docs.deepseek.com/quick_start/agent_integrations/claude_code),对应 1017 checkpoint 上线后的现役配置。主攻搜索词「Claude Code 接 DeepSeek」(S1=3/S2=1/S3=2/S4=3)。迁移路径九项环境变量:ANTHROPIC_BASE_URL 指向 https://api.deepseek.com/anthropic、ANTHROPIC_AUTH_TOKEN 填 DeepSeek API Key、ANTHROPIC_MODEL=deepseek-flash[1m]、DEFAULT_OPUS/SONNET 同为 deepseek-flash[1m]、DEFAULT_HAIKU=deepseek-flash、CLAUDE_CODE_SUBAGENT_MODEL=deepseek-flash、CLAUDE_CODE_EFFORT_LEVEL=max、CLAUDE_CODE_AUTO_COMPACT_WINDOW=786432;Windows PowerShell 与 Linux/Mac 两版写法都给。从零安装四步:Node.js 18+(Windows 另装 Git for Windows)、npm install -g @anthropic-ai/claude-code、claude --version 验证、配变量后进项目目录运行。模型映射:claude-opus 开头的请求映射到 deepseek-v4-pro(按 V4 Pro 价计费,比 Flash 贵,必读提醒)、claude-haiku/sonnet 映射到 deepseek-flash。Web Search 原生可用但两条计费线:搜索请求按 Search API 计费,对检索内容的摘要另产生 token 费。价格口径(官方定价页):off-peak 每百万输入 0.15 美元(cache miss)、0.003 cache hit(约为 miss 的五十分之一)、输出 0.60 美元,peak(工作日 UTC 01:00-04:00 与 06:00-10:00)双倍,周末与中国法定节假日算 off-peak。常见坑五条:AUTH_TOKEN 与 API_KEY 不是一回事(混用等于白配)、新旧变量并存可能鉴权冲突(只留新变量,社区教程口径)、密钥不进 settings.json 不入 git(固化用 ~/.bashrc、~/.zshrc 或系统环境变量)、接好后先跑「读一个文件再改一个文件」最小任务验证工具调用链路、/status 查当前生效模型。市面旧教程多残留 deepseek-chat 等已退休模型名。与站内分工:deepseek-v4-pro-claude-code-sop 是 V4-Pro-0813 时代「2 个环境变量」最小配置(2026-09),本篇是 1017 后官方现役全量配置;Harness 本体入门见 deepseek-harness-quickstart-sop。

2026年10月19日10 分钟阅读