Bonsai-27B-GGUF
lmstudio-community · 工具包
面向 LM Studio 的 27B Bonsai 模型 GGUF 转换版,含 3.80 GB 的 Q1_0 语言文件和 0.93 GB 的 BF16 视觉投影器。已测试文本、视觉和并行工具调用。

一个 n8n 工作流:把一张产品照片做成一段 10 秒、带 CGI 质感的广告视频。OpenAI 描述产品并构思场景,Runware 上的 Flux 模型画出一张静帧,Kling 再让这张静帧动起来。
先画主画面再动起来的 CGI 产品广告视频 是一款 n8n 工作流,属于营销类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。
上传照片
有人提交 Image trigger 表单时开始运行,表单里有:
一张产品照片做出的 10 秒 CGI 风格视频广告的地址
开始之前要准备好这些。
图像和语言模型
用 chatgpt-4o-latest 读照片,再用三个对话模型写出创意、主画面提示词和运动方式。
需要OpenAI API 密钥
文件存储
存放照片,并生成图像模型读取用的公开链接。
需要Dropbox 凭据,以及两个请求头里的同一个令牌
图像和视频生成
通过同一个 API,用 Flux 模型画出主画面,再用 Kling 让它动起来。
需要Runware API 密钥
由 Mindket 于 2026年11月13日检查
这个 n8n 工作流把一张产品照片做成一段 10 秒的视频广告,画面看起来像 3D 渲染出来的。三十个节点排成一条线,三张便签标出各个阶段。表单接收照片,Dropbox 把它存好,并给它一个公开链接。OpenAI 描述产品,挑一个广告创意,再为一张静帧写出详细的提示词,这张静帧就是主画面。Runware 上的 Flux 模型以你的照片为参考画出主画面。同样在 Runware 上的 Kling 再让它动起来。运行结束时,你拿到视频的地址。
想要一些很难低成本实拍的场景的店铺和品牌,比如一瓶香水立在结冰的湖面上。你只需要发照片,创意由工作流自己挑。所以它更适合快速出一批草稿,而不是执行一场事先规划好的营销活动。如果每一帧都必须和照片里的产品一模一样,就别选它。主画面是根据你的照片新画的一张图。你的照片本身不会出现在视频里。
| 行业 | 谁在用 | 怎么用 | 例子 |
|---|---|---|---|
| 网店零售 | 店主 | 每张新的产品照都送进表单,把生成的视频发成广告 | 一家球鞋店给每双新上架的鞋都拿到一段广告草稿。 |
| 美妆护肤 | 品牌营销人员 | 新品上市前先试几个 CGI 场景,再决定要不要请 3D 工作室 | 一个护肤品牌把精华瓶跑三次,比较拿到的几个场景。 |
| 营销代理公司 | 创意团队 | 带几段粗略的 CGI 草稿去比稿 | 代理公司把客户的三款爆品跑一遍,在第一次会议上就放出视频。 |
| 消费电子 | 产品营销人员 | 把一张普通的产品白底图变成会动的预告片 | 一家耳机厂商把一张白底照片变成一段简短的预告片。 |
任何能访问 OpenAI、Dropbox 和 Runware 的 n8n 都能运行它。成片留在 Runware 上的一个地址里,所以要想好它接下来去哪。
Edit Fields1 后面加一个节点,记下地址或把文件存起来点“获取”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。作者估计设置要 12 分钟左右。
| 需要 | 说明 |
|---|---|
| n8n | n8n Cloud 或你自己的服务器 |
| OpenAI | 一个 API 密钥。四个节点用到它:读图节点和三个对话模型 |
| Dropbox | 一个应用,它的访问令牌要能写文件,也能读取和创建共享链接 |
| Runware | 一个 API 密钥,主画面和视频都靠它 |
workflow.json。Analyze image、OpenAI Chat Model、OpenAI Chat Model1 和 OpenAI Chat Model2 里选中它。files.content.write、sharing.read 和 sharing.write 权限,再生成一个访问令牌。Upload a file 里选中它。HTTP Request1 和 HTTP Request6 里,把 Bearer 后面的 <YOUR_DROPBOX_ACCESS_TOKEN> 换成同一个令牌。尖括号也要一并去掉。Flux Image、kling image to video post 和 kling imag to video get status 里,用同样的方法把 <YOUR_RUNWARE_API_KEY> 换成你的 Runware 密钥。现在从 App Console 生成的令牌是短期有效的,粘贴进去的令牌过一段时间就会失效。想一直用下去,就给 Upload a file 换一个 Dropbox OAuth2 凭据。然后把两个 HTTP Request 节点的 Authentication 也指向它,并删掉它们的 Authorization 请求头。
从 On form submission 打开表单,在 upload product image 里附上一张产品照片,发送。表单会立刻确认收到。运行在后台至少要三分四十秒,因为画完主画面后要等十秒,请求视频后还要等三分半钟。到 Executions 里打开这次运行,在 Edit Fields1 里读 finalVideoURL。
| 要改的 | 位置 |
|---|---|
| 广告创意 | Ad Ideas 里的提示词,每次运行挑一个创意 |
| 主画面的规则 | Image Prompt 里的消息,比如 95 个词的上限,以及开头和结尾用的词 |
| 运动方式 | Video Prompt 里的提示词,一行,最多 40 个词 |
| 尺寸和时长 | Flux Image 和 kling image to video post 里的 width 和 height,以及 duration,10 秒 |
| 模型 | 两个 Runware 请求体里的 model,以及三个 OpenAI 对话模型 |
一张哑光黑水瓶放在白桌上的照片送进表单。Analyze image 的描述从瓶身标签、瓶盖一直写到颜色和尺寸。Ad Ideas 交回一个创意:第一行是一个表情符号和一个用弯引号括起来的标题,第二行是一段简短的场景。Image Prompt 根据这两样写出主画面的提示词,它的解析器把提示词放在一个键下面交出去:
{
"Ad Concept 1": "Ultra-realistic 8K CGI render of … --ar 16:9"
}Flux 根据这段提示词和你在 Dropbox 里的照片画出主画面。Kling 随后收到这样结构的请求体,这里有删减:
[
{
"taskType": "videoInference",
"model": "klingai:5@1",
"positivePrompt": "<那一行运动提示词>",
"frameImages": [{ "inputImage": "<主画面的地址>", "frame": "first" }],
"duration": 10,
"width": 1280,
"height": 720,
"deliveryMethod": "async"
}
]三分半钟后,工作流向 Runware 请求一次,取回视频的地址。视频本身不会下载。
新手:n8n 把工作流画成用线连起来的方框,每个方框叫一个节点,只做一件事。凭据是 n8n 替你保管的密钥,你在哪个节点里选中它,就交给哪个节点用。先用表单的测试地址发一张照片。之后每个节点都会显示它收到了什么、发出了什么,令牌填错了,或者 Dropbox 少了某个权限,就在出错的那个节点看得出来。
专家:三个 OpenAI 模型负责写。Runware 通过同一个接口做出图片和视频。
| 步骤 | 模型 | 要知道的 |
|---|---|---|
Analyze image | chatgpt-4o-latest,以 base64 读取照片 | Code6 先把下载下来的文件命名为 product.png |
Ad Ideas | gpt-4o-mini | 提示词里说的是四个创意,但它要求的 JSON 只有一个键,Ad Concept 1 |
Image Prompt | chatgpt-4o-latest,带一个 Structured Output Parser | 提示词以 --ar 16:9 结尾,但尺寸其实由 width 和 height 决定 |
Video Prompt | gpt-4.1 | 根据主画面的提示词写运动方式,而不是根据画好的图 |
Flux Image | Runware bfl:3@1,1024 x 1024 的 PNG | 把你在 Dropbox 里的照片当作参考图 |
kling image to video post | Runware klingai:5@1,1280 x 720,10 秒 | 异步执行,所以要靠后面的一次 getResponse 请求取回结果 |
主画面是正方形的,视频不是,所以 Kling 从一张正方形的图开始。经过 Code4 之后,Dropbox 链接以 raw=1 结尾,Runware 才能直接读到文件本身。
每次运行都要在两个服务上花钱。有两个步骤可能悄悄出问题。
Ad Ideas 没有接输出解析器,所以它的回答以文字的形式返回,而 Image Prompt 把这段文字当成 JSON,在里面找 Ad Concept 1。这样场景就只靠产品描述来定。在 Ad Ideas 里打开 Require Specific Output Format,接一个解析器,示例和 Structured Output Parser1 的一样finalVideoURL 就是空的。调长 Wait,或者绕回去等,直到拿到 videoURLJSON.stringify,替代外面那对引号Upload a file 用 /s+/g 清理文件名,这会匹配字母 s,Ad Ideas 提示词里的换行也丢了反斜杠。这个副本把它们补回来了一个 n8n 工作流。通过它的表单发一张产品照片,它会交回一段 10 秒、带 CGI 质感的视频广告的地址。OpenAI 围绕产品构思一个场景,Runware 上的 Flux 模型画出一张静帧,Runware 上的 Kling 再让这张静帧动起来。
workflow.json:n8n 导出的工作流,30 个节点,外加三张标出各个阶段的便签。里面没有任何凭据,请求头里的令牌都是占位符。README.md:这份设置说明,压缩包里的是英文版。files.content.write、sharing.read 和 sharing.write 权限。workflow.json。Analyze image、OpenAI Chat Model、OpenAI Chat Model1 和 OpenAI Chat Model2 里选中它。Upload a file 里选中它。HTTP Request1 和 HTTP Request6 里,把 Bearer 后面的 <YOUR_DROPBOX_ACCESS_TOKEN> 换成同一个令牌。尖括号也要一并去掉。Flux Image、kling image to video post 和 kling imag to video get status 里,把 Bearer 后面的 <YOUR_RUNWARE_API_KEY> 换成你的 Runware 密钥。现在 Dropbox 的 App Console 生成的令牌是短期有效的,粘贴进去的令牌过一段时间就会失效。想让它一直运行,就给 Upload a file 换一个 Dropbox OAuth2 凭据,再把两个 HTTP Request 节点的 Authentication 设成这个凭据,并删掉 Authorization 请求头。
On form submission 在 upload product image 里接收一个文件。Code3 把这个文件的字段改名为 product_image。Upload a file 把它存到你 Dropbox 的根目录,文件名里的空格换成下划线。HTTP Request1 向 Dropbox 要这个文件的共享链接。如果还没有,If 就把运行交给 HTTP Request6,由它创建一个公开链接。Code4 把 dl=0 换成 raw=1,让链接直接给出文件本身。HTTP Request5 从这个链接下载照片,Code6 把它命名为 product.png,Analyze image 描述产品的标签、瓶盖、材质、标志、颜色、外形和尺寸。Ad Ideas 写出一个广告创意:一个表情符号、一个用弯引号括起来的标题和一段简短的场景。接着,Image Prompt 把描述和创意写成一段最多 95 个词的主画面提示词,它的解析器把提示词放在 Ad Concept 1 这个键下面返回。Video Prompt 根据这段主画面提示词,写出一行最多 40 个词的运动提示词。Flux Image 让 Runware 根据主画面提示词画一张 1024 x 1024 的 PNG,以你在 Dropbox 里的照片为参考图。Wait4 停顿十秒,Edit Fields2 记下这张图的地址。kling image to video post 让 Runware 以这张图为第一帧,做一段 10 秒、1280 x 720 的视频。Wait 停顿三分半钟,kling imag to video get status 查询一次结果,Edit Fields1 把视频地址存为 finalVideoURL。Ad Ideas 里的提示词。创意由它自己挑,所以同一张照片每跑一次都可能换一个场景。Image Prompt 里的消息,比如词数上限,以及开头和结尾用的词。Video Prompt 里的提示词。Flux Image 和 kling image to video post 里的 width 和 height,以及后者的 duration。model,主画面用 bfl:3@1,视频用 klingai:5@1,还有三个 OpenAI 对话模型。Ad Ideas 没有接输出解析器,所以它的回答以文字的形式返回,而 Image Prompt 把这段文字当成 JSON,在里面找 Ad Concept 1。这样场景就只靠产品描述来定。想把创意传下去,就在 Ad Ideas 里打开 Require Specific Output Format,再接一个 Structured Output Parser,示例和 Structured Output Parser1 的一样。finalVideoURL 就是空的,所以要调长 Wait,或者绕回去等,直到响应里有 videoURL。JSON.stringify,替代外面那对引号,就能避免。Upload a file 用 /s+/g 清理文件名,这会匹配字母 s,Ad Ideas 提示词里的换行也丢了反斜杠。这个副本把它们补回来了。chatgpt-4o-latest 是一个会变动的别名,OpenAI 可能把它下线。某个节点提示它已下线,就在那里换一个视觉模型。README.md 5 KB workflow.json 27 KB
lmstudio-community · 工具包
面向 LM Studio 的 27B Bonsai 模型 GGUF 转换版,含 3.80 GB 的 Q1_0 语言文件和 0.93 GB 的 BF16 视觉投影器。已测试文本、视觉和并行工具调用。
LibertAIDAI · 工具包
以每权重 2.9 位的 EXL3 量化运行 DeepSeek-V4.1-Flash-1017,这是一份 196 GiB 的副本,适合在自己硬件上部署大模型的人。困惑度与原模型相差不大。
facebook · 工具包
根据文字描述或音频提示生成短音乐片段,是 facebook MusicGen 的 small 检查点。适合想在自己电脑上试用文字生成音乐的开发者和音乐爱好者。
alchaincyf · 技能
把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。
nerijs · 工具包
一个用于 Stable Diffusion XL 的像素画风格附加模型,把文字提示词变成像素风图片,并可搭配 LCM LoRA 加快运行。适合游戏开发者、设计师和爱好者。
LiconStudio · 工具包
给模型最多五张参考图,让生成视频中的人物、服装、物体和背景保持一致。这是用于 ComfyUI 中 LTX-2.5 的 LoRA,还可以为两位说话者添加音频参考。