anaksor-ocr
Sokheng · 工具包
这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。

一个 n8n 工作流:从一个类别或你自己的想法出发,做出一段无需出镜的短视频。OpenAI 给出十个开场创意供你挑选,Tavily 和 Claude 负责调研和写脚本,JSON2Video 渲染视频,Gmail 把链接发给你。
带选题环节的无出镜 YouTube Shorts 制作器 是一款 n8n 工作流,属于营销类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。
创意表单
有人提交 Video Creator 表单时开始运行,表单里有:
一段无需出镜的短视频,地址通过邮件送到
开始之前要准备好这些。
创意和研究摘要
通过带网页搜索的 Responses API 给出十个开场创意,并把搜索结果浓缩成一段话。
需要OpenAI API 密钥
网页搜索
在 64 个指定网站里搜索选中的创意,返回一段回答和网页正文。
需要Tavily API 密钥
脚本撰写
在写开场和各个场景的智能体里运行 Claude 3.7 Sonnet。
需要Anthropic API 密钥
视频渲染
根据你的模板和脚本渲染视频,并报告项目的状态。
需要JSON2Video API 密钥,以及一个你自己的模板
邮件
把做好的视频地址发到表单里填的邮箱。
需要有 Gmail 权限的 Google 账号
由 Mindket 于 2026年11月13日检查
这个 n8n 工作流从一个类别或你自己的想法出发,做出一段无需出镜的短视频,并把视频的地址发到你的邮箱。二十七个节点分三个阶段运行。第一阶段,OpenAI 的 gpt-4.1 带着网页搜索,在表单的第二页给出十个开场创意,你选一个,或者再要十个。第二阶段,Tavily 搜索选中的创意,gpt-4.1 把结果浓缩,Claude 3.7 Sonnet 上的智能体写出逐场景的脚本。最后,你自己的 JSON2Video 模板渲染视频,每个场景配一张图和一句旁白,Gmail 再把成品的地址发出去。
发布无出镜 Shorts 的创作者和代理公司,想在一次运行里完成选题、调研和成片渲染。除了 n8n,它还需要五个账号,以及一个你要先做好或复制好的 JSON2Video 模板。只做一条临时的短片就别选它。模板和账号的设置时间,比手工做一条片子还长。
| 行业 | 谁在用 | 怎么用 | 例子 |
|---|---|---|---|
| 无出镜频道 | 不出镜的 Shorts 创作者 | 从十个创意里选一个,让运行去调研和渲染,再发布视频 | 频道主每天早上选一个 Did you know 的开场,把成片上传。 |
| 教育 | 老师和课程制作人 | 把一个问题当作自己的想法输入,得到一段带插图的短讲解 | 老师问火山为什么会喷发,得到一段 30 秒的手绘风格视频。 |
| 内容代理公司 | 社交媒体团队 | 给每个客户设定一种风格,把表单的地址发给客户 | 代理公司给一个园艺品牌一份表单,它永远使用 Gardening 这个类别。 |
| 小众品牌 | 宠物店和园艺店 | 用一个类别做每周系列 | 一家宠物店每周五发一条 Cool Animal Facts 短视频。 |
任何能访问 OpenAI、Tavily、Anthropic、JSON2Video 和 Gmail 的 n8n 都能运行它。表单是入口,收件箱是结果送达的地方。
点“获取”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。作者估计设置要 17 分钟左右,前提是账号和模板都已经有了。
| 需要 | 说明 |
|---|---|
| n8n | n8n Cloud 或你自己的服务器 |
| OpenAI | 一个 API 密钥,用于创意和研究摘要 |
| Tavily | 一个 API 密钥,用于网页搜索 |
| Anthropic | 一个 API 密钥,用于写脚本 |
| JSON2Video | 一个账号、它的 API 密钥,以及一个你自己的、能读取下面这些变量的模板 |
| Gmail | 一个账号,用于 Gmail OAuth2 凭据 |
workflow.json。Paste your template id,把 YOUR_TEMPLATE_ID 换成这个 ID。Submit Idea Prompt to OpenAI、Search (Regenerated) 和 Summarize Web Context 里选中它。Search Web for Script Context 里,把 Bearer 后面的 <YOUR_TAVILY_KEY> 换成你的 Tavily 密钥。尖括号也要一并去掉。Anthropic Chat Model 里选中它。x-api-key,值填你的 JSON2Video 密钥。在 Send to Video Generation API 和 Check Video Status 里选中它。Email Video to User 里选中它。模板不在文件里。Build Video Creation Payload 把模板 ID 连同下面这些变量一起发过去,你的模板要能读取它们:
{
"template": "<your template ID>",
"comment": "<the script writer’s note>",
"variables": {
"voiceModel": "azure",
"imageModel": "flux-schnell",
"audioURL": "<the Audio url you gave>",
"introImagePrompt": "<the opening image’s prompt>",
"introText": "<the title and the hook, on two lines>",
"scenes": [{ "voiceOverText": "<one sentence>", "imagePrompt": "<one image>" }]
}
}代码里还写了 voiceID,但没有任何值传到它那里。原因见“Good to know”那一节。
从 User Input Form 打开表单,选一个类别,或者输入你自己的想法,再设好时长、风格、声音和音频地址。也要填上邮箱地址,因为最后一步要往那里发邮件。下一页列出十个创意。选一个,或者在 Regenerate 里回答 Yes,再要十个新的。选定之后表单就关闭,运行在后台继续:调研、脚本、渲染、发邮件。
| 字段 | 是否必填 | 作用 |
|---|---|---|
Choose a Category | 否 | 一个起始短语或话题,从八个里选 |
Or Enter Your Own Idea | 否 | 你自己的话题。填了它,就会取代类别 |
Duration | 是 | 30 秒、1 分钟、1 分 30 秒或 2 分钟。它决定场景的数量 |
Generative Style | 是 | 画面的风格,从九个里选 |
Voice Model | 是 | 十个 Azure 声音里的一个 |
Audio url | 是 | 一个音频文件的地址,供你的模板播放 |
Email | 否,但最后一步需要它 | 成品视频的地址发到哪里 |
| 要改的 | 位置 |
|---|---|
| 类别、风格、声音 | User Input Form 里的下拉选项。要求写开场短语的那几个类别,在 Generate Video Ideas Prompt 和 Build Payload (Regenerated) 的代码里也列了一遍 |
| 场景数量 | Calculate Scene Count,6、12、18 和 24 个场景 |
| 调研的网站 | Search Web for Script Context 里 include_domains 的 64 个名字 |
| 脚本的语气和结构 | Script Generator (AI) 的 system message |
| 邮件 | Email Video to User 里的主题和正文 |
| 等待 | Wait for Video Rendering,3 分钟,以及 Retry Wait Before Recheck,10 秒 |
你选 Cool Animal Facts,时长 30 秒,风格选手绘。创意页列出十个一句话的开场,每个都以 Cool Animal Facts 这几个词开头,你选一个。Tavily 在文件列出的网站里搜索,Calculate Scene Count 定下六个场景,脚本撰写器按下面的结构作答,这里做了精简:
{
"comment": "…",
"variables": {
"introImagePrompt": "…",
"introVoiceoverText": "<title>\n<hook>",
"scenes": [{ "voiceOverText": "…", "imagePrompt": "…" }]
}
}JSON2Video 用你的模板渲染它。等三分钟后检查状态,邮件里带着 movie.url。
新手:n8n 把工作流画成用线连起来的方框,每个方框叫一个节点,只做一件事。凭据是 n8n 替你保管的密钥,你在哪个节点里选中它,就交给哪个节点用。JSON2Video 模板是一份留了空白的视频版式,这个工作流把脚本、画面提示词和声音填进这些空白。先用表单的测试地址发一次。之后每个节点都会显示它收到了什么、发出了什么,密钥填错了,或者漏了模板 ID,就在这里看得出来。
专家:三个模型分担写作,选题这一步不是对话模型节点。Generate Video Ideas Prompt 用代码拼出请求体,Submit Idea Prompt to OpenAI 把它发到 OpenAI 的 Responses API。另一对节点为重新生成的创意做同样的事。
| 步骤 | 模型 | 要知道的 |
|---|---|---|
| 两个创意请求 | gpt-4.1,通过 Responses API,带高上下文的网页搜索工具 | 被要求返回一个含十个字符串的 JSON 数组。解析节点在读取之前先去掉代码围栏 |
Summarize Web Context | gpt-4.1 | 根据 Tavily 的前四个结果写一段话,并用浅显的话讲出主要观点背后的原因 |
Script Generator (AI) | Claude 3.7 Sonnet(claude-3-7-sonnet-20250219) | 写出开场和一句话的场景,每个 3 到 6 秒,并让每条画面提示词都贴合选定的风格 |
| JSON2Video | Azure 声音和 flux-schnell 图片,在你模板的变量里设定 | 工作流只负责发送脚本和轮询项目 |
每次运行要在五个地方花钱,还有几个步骤会悄悄失败。
Extract Script JSON 从脚本撰写器的回复里读 voiceID,而回复里没有这个字段,所以 Build Video Creation Payload 什么也没发。把那里的 voiceID 设成 $("Prepare Input Variables").first().json.voiceID,你的选择就生效了Handle Video Render Status 的 Error 输出也接到邮件节点,所以渲染失败时仍然会发出一封没有可用链接的邮件running 的渲染,每十秒查一次,直到状态变化Extract Script JSON 去读。如果 n8n 给这个节点标了问题,把那个选项关掉Summarize Web Context 里的 .join("\n\n")。这个副本把它们补回来了claude-3-7-sonnet-20250219 下线,所以它提示下线时,就在 Anthropic Chat Model 里换一个当前的 Claude 模型一个 n8n 工作流。选一个类别或输入你自己的想法,从 AI 给出的十个开场创意里挑一个,工作流会去调研这个话题,写出逐场景的脚本,并让 JSON2Video 渲染成一段无需出镜的短视频。成片的地址通过邮件送到。
workflow.json:n8n 导出的工作流,27 个节点。里面没有任何凭据,也不调用任何子工作流。它也不含 JSON2Video 的模板:模板要你自己准备(见下文)。README.md:这份设置说明,压缩包里的是英文版。workflow.json。Paste your template id,把 YOUR_TEMPLATE_ID 换成这个 ID。Submit Idea Prompt to OpenAI、Search (Regenerated) 和 Summarize Web Context 里选中它。Search Web for Script Context 里,把 Bearer 后面的 <YOUR_TAVILY_KEY> 换成你的 Tavily 密钥。尖括号也要一并去掉。Anthropic Chat Model 里选中它。x-api-key,值填你的 JSON2Video 密钥。在 Send to Video Generation API 和 Check Video Status 里选中它。Email Video to User 里选中它。| 字段 | 是否必填 | 作用 |
|---|---|---|
| Choose a Category | 否 | 一个起始短语或话题,从八个里选 |
| Or Enter Your Own Idea | 否 | 你自己的话题。填了它,就会取代类别 |
| Duration | 是 | 30 秒、1 分钟、1 分 30 秒或 2 分钟。它决定场景的数量 |
| Generative Style | 是 | 画面的风格,从九个里选 |
| Voice Model | 是 | 十个 Azure 声音里的一个 |
| Audio url | 是 | 一个音频文件的地址,供你的模板播放 |
| Email | 否,但最后一步需要它 | 成品视频的地址发到哪里 |
Build Video Creation Payload 把下面这些发到 JSON2Video 的 movie 接口,你的模板读取其中的 variables:
{
"template": "<your template ID>",
"comment": "<the script writer’s note>",
"variables": {
"voiceModel": "azure",
"imageModel": "flux-schnell",
"audioURL": "<the Audio url you gave>",
"introImagePrompt": "<the opening image’s prompt>",
"introText": "<the title and the hook, on two lines>",
"scenes": [{ "voiceOverText": "<one sentence>", "imagePrompt": "<one image>" }]
}
}
代码里还写了 voiceID,但没有任何值传到它那里(见“注意事项”)。
Merge 和 Prepare Input Variables,它们保留话题、音频地址、时长、风格和声音。Generate Video Ideas Prompt 为 OpenAI 的 Responses API 拼出一个请求,用 gpt-4.1 和它的网页搜索工具,由 Submit Idea Prompt to OpenAI 发出。像 What if 或 Did you know 这样的类别,会要求十条以这个短语开头的一句话开场。别的话题则要求十个相关的开场创意。Parse Idea Response JSON 去掉代码围栏,读出 JSON 数组。Idea Suggestions 在第二页用下拉框显示这十个。Regenerate Idea Decision 读第二个下拉框:Yes 就经过 Build Payload (Regenerated)、Search (Regenerated) 和 Parse Results (Regenerated),显示新的十个。别的都进 End Form,它告诉读者视频会通过邮件送到。Search Web for Script Context 让 Tavily 为选中的创意搜 10 条结果,带上回答和网页原文,范围限定在 include_domains 里的 64 个网站。Summarize Web Context 让 gpt-4.1 根据前四条结果写一段话。Calculate Scene Count 把时长换成 6、12、18 或 24 个场景。Script Generator (AI) 是一个跑在 Claude 3.7 Sonnet 上的智能体。它写出一段开场,有标题和最多八个词的钩子,再写出一句话一个的场景,每个场景都带一条符合选定风格的画面提示词。Combine Input and Script Output 把脚本和表单的数据合在一起。Extract Script JSON 去掉代码围栏并解析,Build Video Creation Payload 拼出请求。Send to Video Generation API 把它发到 JSON2Video。Wait for Video Rendering 停顿 3 分钟,Check Video Status 再查询这个项目。Handle Video Render Status 读 movie.status。done 和 error 都进 Email Video to User。running 经过 Retry Wait Before Recheck,等十秒,回到 Check Video Status。User Input Form 里的下拉选项。要求写开场短语的那几个类别,在 Generate Video Ideas Prompt 和 Build Payload (Regenerated) 的代码里也列了一遍。Calculate Scene Count。Search Web for Script Context 里的 include_domains 列表。Script Generator (AI) 里的 system message。Email Video to User 里的主题和正文。Wait for Video Rendering 和 Retry Wait Before Recheck。gpt-4.1,Anthropic Chat Model 里用 claude-3-7-sonnet-20250219。如果 Anthropic 提示这个模型已下线,就在那里换一个当前的 Claude 模型。Extract Script JSON 从脚本撰写器的回复里读 voiceID,而回复里没有这个字段,所以 Build Video Creation Payload 什么也没发。把那里的 voiceID 设成 $("Prepare Input Variables").first().json.voiceID,你的选择就生效了,这个节点对音频就是这样做的。End Form 出现才能离开。running 的渲染,状态循环没有上限。Extract Script JSON 去读。如果 n8n 给这个节点标了问题,把那个选项关掉。Parse Idea Response JSON、Parse Results (Regenerated) 和 Extract Script JSON 里的报错信息,以及 Summarize Web Context 里的 .join("\n\n")。这个副本把它们补回来了。README.md 7 KB workflow.json 42 KB
Sokheng · 工具包
这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。
Qwen · 工具包
Qwen2.5-7B-Instruct 的 GGUF 文件,提供八种量化大小,可通过 llama.cpp 在本地聊天。适合想在自己电脑上用 7.6B 强力模型、又不想搭 Python 环境的人。
ACE-Step · 工具包
用 4B 扩散解码器根据文字生成音乐,50 步并带引导控制,音频质量高于基础版。适合拥有 12 GB 或更多显存 GPU 的创作者。
alchaincyf · 技能
把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。
nerijs · 工具包
一个用于 Stable Diffusion XL 的像素画风格附加模型,把文字提示词变成像素风图片,并可搭配 LCM LoRA 加快运行。适合游戏开发者、设计师和爱好者。
LiconStudio · 工具包
给模型最多五张参考图,让生成视频中的人物、服装、物体和背景保持一致。这是用于 ComfyUI 中 LTX-2.5 的 LoRA,还可以为两位说话者添加音频参考。