Nanosaur2-670M
well9472 · 工具包
用一个 670M 参数的小型扩散模型,根据文字提示生成插画,在 ComfyUI 中运行。这是一个低预算的研究模型,适合想试用或训练自己 LoRA 的人。

一个 n8n 工作流,根据主题、模块数和每个模块的字数起草一门在线课程。Tavily 负责调研,OpenAI 把各个模块和一份配音稿写进两份 Google 文档,第二个表单再把配音稿变成 gpt-image-1 画的图,存进 Drive。
在线课程写作器:调研、配音稿和配图 是一款 n8n 工作流,属于效率类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。
两个表单
课程表单启动写作,之后用第二个表单启动配图。课程表单需要填写:
Google 文档里的一套课程初稿和配音稿,Drive 里的网上图片和 AI 配图
开始之前要准备好这些。
语言和图像模型
用 gpt-4.1-mini 和 gpt-4o-mini 写说明、大纲、模块、配音稿和配图提示词,用 gpt-image-1 画图。
需要OpenAI API 密钥
网络调研
搜索主题和每个模块标题,返回网页文字和图片地址。
需要Tavily API 密钥
文档
让转换服务有权限在你的账号里创建课程文档和配音稿文档。
需要Google Docs OAuth2 凭据,以及一个转换服务或 Google Docs 节点
文件存储
每门课程存一个网上图片文件夹,每次配图存一个 AI 图片文件夹。
需要Google Drive OAuth2 凭据
由 Mindket 于 2026年11月13日检查
这个 n8n 工作流根据表单上的三个回答起草一门在线课程:主题、模块数和每个模块的字数。第一个模型把这些回答变成写作说明,Tavily 调研这个主题,gpt-4o-mini 规划各个模块。随后每个模块各做一次搜索、各写一段正文,网上找到的图片链接放在它们配合的那几行下面。所有模块合成一份 Google 文档,配音稿是第二份,网上的图片存进一个 Drive 文件夹。第二个表单留到之后再用,它接收配音稿,用 gpt-image-1 为每个模块画图。
想要一份课程初稿来修改、外加一份能直接配音的讲稿的课程创作者、培训师和教练。它适合愿意在开讲前逐条核对事实和图片的人。如果你要的是拿来就能发布的材料,就别用它。正文是模型读网页写出来的,链接的图片也属于别的网站。
| 行业 | 谁在用 | 怎么用 | 例子 |
|---|---|---|---|
| 在线课程 | 卖视频课程的创作者 | 跑一次就起草好新课程的模块和旁白 | 一位创作者输入家庭堆肥,选五个模块、每个 500 字,周末把两份文档改完。 |
| 企业培训 | 学习与发展团队 | 为新政策或新工具起草一套模块,再补上公司自己的细节 | 培训负责人起草六个讲数据隐私基础的模块,再加上公司自己的规定。 |
| 教练辅导 | 开工作坊的教练 | 把一个工作坊主题变成讲义和讲稿 | 一位职业教练把面试准备做成四个模块,外加一份要录下来的讲稿。 |
| 教育视频 | 做系列教学的频道 | 按模块标题规划一个系列,对着镜头念讲稿 | 一个科普频道把六个模块拍成六集。 |
你需要会一点 n8n:两个表单、两个 Google 凭据,再加一个生成文档的转换服务,或者用两个 Google Docs 节点代替它。作者估计设置要 18 分钟左右,不算转换服务。
只要能访问 OpenAI、Tavily 和 Google,任何 n8n 都能运行它。它做出来的东西全都落在你的 Google 账号里。
点“获取”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。生成文档那一步要调用一个不在文件里的转换服务,所以先想好文档怎么生成。
| 需要 | 说明 |
|---|---|
| n8n | n8n Cloud 或你自己的服务器 |
| OpenAI | 一个 API 密钥,给 gpt-4.1-mini、gpt-4o-mini 和 gpt-image-1 用 |
| Tavily | 一个 API 密钥,每门课程搜索一次,每个模块再各搜索一次 |
| 一个账号,外加一个 Google Drive 和一个 Google Docs 的 OAuth2 凭据 | |
| 转换服务 | 一个能把 Markdown 做成 Google 文档的服务,或者用两个 Google Docs 节点代替 |
workflow.json。OpenAI Chat Model 节点和 Generate image1 里选中它。Tavily web search 和 Tavily web search1 里,把 <YOUR_TAVILY_API_KEY> 连同尖括号一起换成你的密钥。Create a Folder、Upload to Folder、Create folder 和 Upload file 里选中它。Format and Update to Doc 和 Format and Update Doc 里,把 YOUR_CONVERTER_URL 换成你的转换服务地址,并选中一个 Google Docs 凭据。也可以把这两个节点都换成 Google Docs 节点。这两个转换节点会发出 Markdown 和一个文件名,n8n 还会在请求里附上你的 Google Docs 令牌。原来的副本把它们指向作者自己服务器上的一个转换服务。README 列出了这些字段,也说明了怎样用 Google Docs 节点生成文档,让外部服务碰不到你的令牌。
提交课程表单。表单会立刻道谢,两份文档和网上图片文件夹会随着运行进度陆续出现在 Drive 里。读一读这两份文档。想要配图时,打开第二个表单,填上课程标题,粘贴配音稿,再选每个模块 5、10 或 15 张图。
| 要改的 | 在哪里改 |
|---|---|
| 课程结构 | Instruction Generator 里的提示词:H1 标题、H2 小标题,表单没给字数时每个模块最多 800 字 |
| 模块数 | On form submission 里的下拉选项,以及 Structured Output Parser 里那个列了六个模块的示例 |
| 写作模型 | OpenAI Chat Model3 用 gpt-4.1-mini,另外四个用 gpt-4o-mini |
| 调研 | Tavily web search 和 Tavily web search1 的请求体 |
| 配图 | Generate image1 里的尺寸和质量,以及 On form submission2 里的张数 |
你提交家庭堆肥,4 个模块,每个 400 字。Course Outline 返回的方案是下面这个结构,这里做了删节:
{
"module 1": { "title": "…", "description": "…" },
"module 2": { "title": "…", "description": "…" },
"module 3": { "title": "…", "description": "…" },
"module 4": { "title": "…", "description": "…" }
}接着是四次模块搜索。Course content : 家庭堆肥 这份文档里有四个模块,每个模块开头是编号和标题,配图的段落下面跟着一行 Image: 和一个网址。Voice over script : 家庭堆肥 是口语版。一个以主题命名、结尾是 Web images 的 Drive 文件夹,会装满这些搜索找到的图片。
新手:n8n 把工作流画成用线连起来的方框,每个方框是一个节点,只做一件事。这张画布上有两行互不相连的节点,各自从自己的表单开始。挂在写作步骤下面的方框,是这些步骤用的模型。凭据是 n8n 替你保管的密钥。先拿一门小课程试试。每个节点都会显示它收到和发出的内容,缺密钥或者转换服务调用失败,都会在这里露出来。
专家:写作由五条链分担。只有大纲带解析器。
| 步骤 | 模型 | 须知 |
|---|---|---|
Instruction Generator | gpt-4.1-mini | 以 JSON 文本返回三段说明,后面的提示词整段引用它们 |
Course Outline | gpt-4o-mini,配 Structured Output Parser | 返回一个由模块组成的对象,Split Out 把每个模块拆成一项 |
Course content | gpt-4o-mini | 每个模块跑一次,带上该模块的搜索结果和图片地址 |
Voice over script | gpt-4o-mini | 读合并后的课程正文,保留可点击的图片链接 |
Image Prompts1 | gpt-4o-mini | 写配图提示词,由 Split prompts1 从一个带围栏的 JSON 代码块里解析出来 |
Generate image1 | gpt-image-1,高质量,1536x1024 | 每条提示词调用一次,在循环里运行 |
Tavily web search1 会要每条结果的网页原文,所以模块的提示词可能很长。网上图片这条分支和模块写作从同一批搜索出发。Get images 和 Upload to Folder 出错后会继续运行,下载不了的图片就跳过。
配图最需要花心思,一是成本,二是版权。
Format and Update to Doc,配音稿还没开始写Split prompts1 要求回答是放在带围栏的 JSON 代码块里的列表,提示词两样都没要求,这一步失败就补上这一句一个分两部分的 n8n 工作流。第一个表单接收课程主题、模块数和字数。Tavily 调研这个主题,OpenAI 写出各个模块和一份配音稿,两者都变成 Google 文档,途中找到的网上图片存进 Google Drive。第二个表单接收配音稿,用 gpt-image-1 为每个模块画图。
workflow.json:n8n 导出的工作流,31 个节点,分成两部分,各自从自己的表单开始,其中两个节点是便签。里面没有任何凭据。两个 Tavily 密钥和那个 Markdown 转 Google 文档的转换服务地址都是占位符。README.md:这份设置说明,压缩包里的是英文版。workflow.json。OpenAI Chat Model、OpenAI Chat Model1、OpenAI Chat Model2、OpenAI Chat Model3、OpenAI Chat Model4 和 Generate image1 里选中它。Tavily web search 和 Tavily web search1 里,把 Authorization 请求头中的 <YOUR_TAVILY_API_KEY> 换成你的密钥。尖括号也要去掉,让值变成 Bearer、一个空格,再加上密钥。Create a Folder、Upload to Folder、Create folder 和 Upload file 里选中它。Format and Update to Doc 和 Format and Update Doc。文件里不含这个服务。Format and Update to Doc 和 Format and Update Doc 各自向 YOUR_CONVERTER_URL 发送一个带两个字段的 JSON 请求体,并指望对方生成一份 Google 文档作为答复。
| 字段 | 节点发送的内容 |
|---|---|
| output | 一小段 JSON 文本,里面是 Markdown 和课程主题 |
| fileName | 第一个节点发 Course content : <topic>,第二个发 Voice over script : <topic> |
两个节点都用 Google Docs 凭据认证,所以 n8n 会把这个凭据的访问令牌加进请求。原来的副本把请求发到作者自己服务器上的一个转换服务。你有两个选择:
两样都没做的话,运行会停在 Format and Update to Doc,配音稿还没开始写。
| 阶段 | 节点 | 发生什么 |
|---|---|---|
| 说明 | On form submission、Instruction Generator | gpt-4.1-mini 根据你的回答写三套说明:大纲、模块和配音稿各一套 |
| 调研 | Tavily web search | 就主题搜索一次,带一个简短回答和图片地址 |
| 大纲 | Course Outline、Structured Output Parser、Split Out | gpt-4o-mini 规划各个模块,每个有标题和描述,每个模块拆成一项 |
| 模块调研 | Tavily web search1 | 每个模块标题搜索一次,带网页全文和图片 |
| 模块 | Course content、Merge the content | gpt-4o-mini 写出每个模块,把图片链接放在相应的行下面,再把所有模块合成一段文本 |
| 课程文档 | Format and Update to Doc | 转换服务生成 Course content : <topic> |
| 配音稿 | Voice over script、Format and Update Doc | gpt-4o-mini 把课程改写成适合朗读的稿子,转换服务生成 Voice over script : <topic> |
| 网上图片 | Create a Folder、Code、Get images、Upload to Folder | 模块搜索得到的每个图片地址都被下载进一个名为 <topic> - Web images 的 Drive 文件夹 |
Get images 和 Upload to Folder 出错后会继续运行,所以下载不了的图片会被跳过。
第二部分从 On form submission2 开始,它有自己的表单,等配音稿写好之后再用。
Create folder 新建一个 Drive 文件夹,名字是课程标题后面加上 AI Images。Image Prompts1 用 gpt-4o-mini 为每个模块写出相应数量的配图提示词。Split prompts1 把它们拆成每条提示词一项。Generate image1 用 gpt-image-1 以 1536x1024 和高质量逐张画图,Upload file 把每张存成 <module>-<prompt key>。Split prompts1 要找一个标记为 json、装着模块列表的围栏代码块。提示词的示例只给了一个模块,既没要求围栏,也没要求列表。如果这一步停下并报 No valid JSON block,就在 Image Prompts1 里加一句,要求把回答写成放在这种代码块里的 JSON 数组。
Instruction Generator 里的提示词。它要求模块标题用 H1、小标题用 H2,表单没给字数时每个模块最多 800 字。On form submission 的下拉选项有 4、5、6。Structured Output Parser 里的示例列了六个模块,所以选 4 或 5 却拿回六个时,就把示例删短。OpenAI Chat Model3 用 gpt-4.1-mini,其余四个对话模型节点用 gpt-4o-mini。Tavily web search 和 Tavily web search1 的请求体。第二个会要每个网页的原文,模块的提示词因此会很长。Generate image1 里的尺寸和质量,以及 On form submission2 里的选项。Merge the content 用 nn 连接各个模块,本来应该是两个换行,Split prompts1 里的模式写成了 s* 和 [sS],本来应该是 \s* 和 [\s\S]。这一份已经把 \n\n、\s* 和 [\s\S] 补了回来。README.md 7 KB workflow.json 31 KB
well9472 · 工具包
用一个 670M 参数的小型扩散模型,根据文字提示生成插画,在 ComfyUI 中运行。这是一个低预算的研究模型,适合想试用或训练自己 LoRA 的人。
Waqf-AI · 工具包
读取图片中的阿拉伯语手写文字并以文本形式返回。这是微调过的 PaddleOCR-VL 模型,适合要把阿拉伯语手写内容数字化的人。
Wan-AI · 工具包
根据文本提示或图像加文字生成视频片段,最高 720P、每秒 24 帧,Diffusers 格式,适合单块消费级 GPU。
Wan-AI · 工具包
用小型的 1.3B Wan2.1 模型根据文字提示词生成短的 480P 视频,已打包成 diffusers 库可用的形式。在约 8.19 GB 显存的消费级显卡上就能运行。
serendipitylabs · 工具包
在 CPU 或 CUDA GPU 上把马拉雅拉姆语语音转成文字,是 Serendipity Labs 的早期研究版本。适合想为简短清晰的录音生成转写草稿的人。
OrdenWills · 工具包
把“关掉电视”这样的日常家居指令变成结构化的工具调用,并先检查设备状态。这是一个 3.5 亿参数的模型,适合智能家居开发者和爱好者。