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

一个把发给 Telegram 机器人的历史题目变成带插图 PDF 书的 n8n 工作流。OpenAI 检查题目并写出章节,Kie.ai 为每章画一张图,APITemplate.io 生成 PDF 存进 Google Drive。
发一条 Telegram 消息,生成一本带插图的历史 PDF 书 是一款 n8n 工作流,属于营销类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。
Telegram 消息
有人给你的机器人发一条文字消息时开始运行,消息里有:
一条 Telegram 消息换来你 Drive 里的一本带插图的 PDF 书,以及表格里带链接的一行
开始之前要准备好这些。
聊天触发
接收发给你机器人的每条消息,题目被拒或者发来文件时回复。
需要一个从 BotFather 拿到的 Telegram 机器人令牌
语言模型
用 gpt-4.1-mini 检查题目,用带网页搜索的 gpt-5.1 写章节。
需要OpenAI API 密钥
图片生成
用 Nano Banana Pro 为每一章画一张宽幅图片,并报告任务状态。
需要Kie.ai API 密钥,填在两个请求头里,以及够用的额度
图片托管
通过无签名上传接收每张图片,返回 PDF 里显示的公开地址。
需要Cloud name 和一个 Unsigned 上传预设
PDF 渲染
把各章的 HTML 页面渲染成 A4 PDF,返回下载地址。
需要APITemplate.io API 密钥,填在节点的请求头里
任务记录
书占一行,每张图片各占一行,写着状态和链接。
需要一个用来登录的 Google 账号,以及一张有八个表头的表格
PDF 存储
把做好的 PDF 存在“我的云端硬盘”的根目录。
需要一个用来登录的 Google 账号
由 Mindket 于 2026年11月13日检查
这个 n8n 工作流把发给 Telegram 机器人的一个题目,变成一本关于它的带插图 PDF 书。先由一个小的 OpenAI 模型检查题目是不是历史、人物生平或知识概念。然后一个更大的模型,带网页搜索的 gpt-5.1,按时间顺序写出五到二十个章节,每章一段正文和一句画面提示词。Kie.ai 用 Nano Banana Pro 为每一章画一张图,Cloudinary 托管图片,APITemplate.io 把各章排成 A4 页面,每章一页。PDF 存进 Google Drive。一张表格记录这本书和每张图片。它有 37 个节点。
想要一本某个题目的图画书、又不想自己排版的老师、家教、历史频道和做数字产品的人。一条消息就能得到一本做好的小册子,所以适合讲义、引流资料和复习指南。事实必须有出处的场合,就别用它。章节不列任何出处。分类器也会拒绝历史和教育以外的题目。分享之前,先把每份 PDF 读一遍。
| 行业 | 谁在用 | 怎么用 | 例子 |
|---|---|---|---|
| 教育 | 老师 | 上课前一晚发出单元的题目 | 一位老师把关于法国大革命的小册子打印出来当课堂讲义。 |
| 辅导 | 私人家教 | 为每个学生的考试题目做一本短读本 | 一位家教给学生发了一份冷战指南,每个转折点一页。 |
| 数字产品 | 卖 PDF 的创作者 | 写长篇之前,先用一本样本小册子试试题目 | 一位创作者把一本关于古罗马的小册子作为免费下载。 |
| YouTube 历史频道 | 频道主 | 为一期节目先拟出带日期的大纲和配图 | 一位频道主把各章的日期当作节目的顺序。 |
你需要会一点 n8n,还要六个账号:Telegram、OpenAI、Kie.ai、Cloudinary、APITemplate.io 和 Google。作者估计设置要 24 分钟左右,前提是账号都已经准备好。
任何在公开 https 地址上的 n8n 都能运行它,因为 Telegram 把每条消息发到一个 webhook。它做出的一切都落在你的 Drive 和你的表格里。
点“获取”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。先建好表格和 Cloudinary 预设。
| 需要 | 说明 |
|---|---|
| n8n | n8n Cloud 或你自己的服务器,要能通过 https 访问 |
| Telegram | 一个机器人和它的令牌,从 BotFather 获取 |
| OpenAI | 一个能用 gpt-5.1 和 gpt-4.1-mini 的 API 密钥 |
| Kie.ai | 一个有额度的 API 密钥,用于 Nano Banana Pro |
| Cloudinary | Cloud name 和一个无签名上传预设 |
| APITemplate.io | 一个 API 密钥 |
| 一个账号,用于 Google Sheets OAuth2 和 Google Drive OAuth2 凭据 | |
| 一张表格 | 第一个标签页名为 Sheet1,第 1 行有八个表头 |
| 列 | 存什么 |
|---|---|
ID | 书或某张图片的 UUID |
Parent ID | 在图片那一行,是它所属那本书的 ID |
Concept | 在书那一行,是分类器改写后的题目 |
Type | 书是 Briefing Job,图片是 Asset Creation |
Status | Queued、Generating... 或 Completed |
Prompt | 在图片那一行,是它的画面提示词 |
Public Link | 在图片那一行,是它在 Cloudinary 上的地址 |
PDF Link | 在书那一行,是 PDF 的 Drive 链接 |
workflow.json。/d/ 和 /edit 之间那一长串。Telegram Trigger、Send a text message 和 Send a text message1 里选中它。OpenAI Chat Model 和 OpenAI Chat Model1 里选中它。YOUR_SHEET_ID 换成表格的 ID。nano-banana-pro 和 nano-banana-pro-result 里,把 Bearer 后面的 <YOUR_KIE_API_KEY> 换成你的 Kie.ai 密钥。尖括号也要去掉。Upload Photo 里,用你的 cloud name 替换 <YOUR_CLOUD_NAME>,连尖括号一起,再用你的预设和一个文件夹名替换 YOUR_PRESET_NAME 和 YOUR_FOLDER_NAME。HTML to PDF 里,把 X-API-KEY 请求头里的 <YOUR_APITEMPLATE_API_KEY> 换成你的密钥,连尖括号一起。Upload PDF 里选中它。HTML to PDF 调用的是 APITemplate.io 的美国区域 rest-us,如果你的账号在别的区域,就改掉这个地址。在别人知道机器人的名字之前,先在 Telegram Trigger 里设好 Restrict to User IDs。
给机器人发一个几个词的题目,比如 the moon landing。其他题目会收到一句简短的拒绝。有效的题目会自己跑完,表格里先出现书的那一行,然后每画好一张图就多一行。一本长书要十分钟以上,因为每张图至少要等 30 秒。书的那一行变成 Completed 之后,打开它的 PDF Link,因为书做好时机器人什么也不会发。
| 要改的 | 在哪里改 |
|---|---|
| 哪些题目能通过 | AI Agent1 的系统消息 |
| 章节 | AI Agent 的系统消息:章数、长度和语气 |
| 图片 | nano-banana-pro 请求体里的 aspect_ratio、resolution 和 output_format |
| 页面设计 | HTML 里的 HTML 和 CSS,包括字体和页脚 |
| 纸张和页边距 | HTML to PDF 请求体里的 settings |
| PDF 存到哪里 | Upload PDF 里的云端硬盘和文件夹,文件里是“我的云端硬盘”的根目录 |
你给机器人发一行字。
the moon landing
AI Agent1 把它改写成一个标题,比如 The Apollo 11 Moon Landing,Create Job 加上书的那一行。接着 AI Agent 返回这样的章节,这里有删节:
{
"chapter_id": 4,
"title": "One Small Step",
"date": "July 1969",
"content": "Neil Armstrong climbed down the ladder of the lunar module and stepped onto the Sea of Tranquility...",
"image_prompt": "An astronaut in a white suit steps off a ladder onto grey dust under a black sky, a sign beside the lander reading July 1969."
}每一章成为一页,上面有标题、日期徽标、图片、正文段落和带 ID 的页脚。最后,书的那一行变成这样:
| 列 | 值 |
|---|---|
| Concept | The Apollo 11 Moon Landing |
| Type | Briefing Job |
| Status | Completed |
| PDF Link | 指向这份 PDF 的 Drive 链接,文件以题目和 ID 命名 |
新手:n8n 把工作流画成用线连起来的方框,每个方框是一个节点,只做一件事。凭据是 n8n 替你保管的密钥,你在哪个节点里选中它,它就交给哪个节点。这里画布上的四张便签标出了各个阶段:检查题目、写章节、画图和做 PDF。第一次先发一个小题目,看着表格一行行填满。每个节点都会显示它收到和发出的内容,密钥被拒或者某张图失败,都能在那里看出来。
专家:两个带结构化输出解析器的 OpenAI 智能体负责写文字,其余工作由 Kie.ai 和 APITemplate.io 通过 n8n 发出的普通 HTTP 请求完成。
| 节点 | 模型或调用 | 要知道的 |
|---|---|---|
AI Agent1 | gpt-4.1-mini | 返回 is_valid、refined_topic 和 reply_to_user,由一个 If 读取 is_valid |
AI Agent | 带 OpenAI 内置网页搜索的 gpt-5.1 | 它的解析器要 chapters,每章有 title、date、content 和 image_prompt |
nano-banana-pro | Kie.ai 的 jobs/createTask,模型 nano-banana-pro | 1K 的 16:9 PNG,不带参考图 |
Switch | Kie.ai 任务的 state | 等待、排队和生成中都回到 Wait,success 继续往下,fail 没有去处 |
HTML to PDF | APITemplate.io 的 v2/create-pdf-from-html | A4,打印背景。它的请求体修复过,见注意事项 |
Merge 按 id 把排队的行和章节合在一起。随后 Edit Fields 把每一章连同图片地址交给循环。
做好的书只留在你的 Drive 和表格里。Telegram 上不会通知任何人。
Update row in sheet2 后面加一个 Telegram 发送节点,带上 PDF LinkTelegram Trigger 里设好 Restrict to User IDsgpt-4.1-mini,替代模型是 gpt-6-luna,并于 2027 年 4 月 1 日停用 gpt-5.1,替代模型是 gpt-6-solHTML to PDF 的请求体里丢了两个反斜杠。按导出的样子,它会删掉页面里所有的字母 n,引号也没有转义,所以调用不可能成功。这个包已经把它们补了回来Switch 的 fail 没有连到任何地方,所以循环就停在那里,不会生成 PDF,各行一直停在 Generating...AI Agent1 时没有文字,运行会失败,也不会回复一个把发给 Telegram 机器人的历史题目变成带插图 PDF 书的 n8n 工作流。一个小的 OpenAI 模型先检查题目是不是历史或知识概念。一个更大的模型上网研究,写出 5 到 20 个章节,每章带日期和一句画面提示词。Kie.ai 用 Nano Banana Pro 为每章画一张图,APITemplate.io 把各章排成 A4 页面。PDF 存进你的 Google Drive,一张 Google 表格记录这本书和每张图片。
workflow.json:n8n 导出的工作流,37 个节点,其中四个便签只标出各个阶段。里面没有任何凭据。README.md:这份设置说明,压缩包里的是英文版。YOUR_SHEET_ID,并按名称 Sheet1 找标签页。Bearer <token>,现在是 Bearer <YOUR_KIE_API_KEY>。APITemplate.io 的请求头现在是 <YOUR_APITEMPLATE_API_KEY>。HTML to PDF 里的一处修复:导出时它的请求体丢了两个反斜杠。原来写的是 .replace(/"/g, '\"') 和 .replace(/n/g, ''),结果 HTML 里的双引号都没有转义,页面里的字母 n 也全被删掉。现在写的是 .replace(/"/g, '\\"') 和 .replace(/\n/g, ''),这一步要发出有效的 JSON 就得这样。<YOUR_CLOUD_NAME>、YOUR_PRESET_NAME 和 YOUR_FOLDER_NAME 原本就在文件里。gpt-5.1 和 gpt-4.1-mini 的 OpenAI API 密钥。workflow.json。Sheet1,第 1 行写下面八个表头。复制它的 ID:地址里 /d/ 和 /edit 之间那一长串。Telegram Trigger、Send a text message 和 Send a text message1 里选中它。OpenAI Chat Model 和 OpenAI Chat Model1 里选中它。Create Job、Append row in sheet2、Update row in sheet、Update row in sheet1 和 Update row in sheet2 里选中它,并把每个节点里的 YOUR_SHEET_ID 换成表格的 ID。nano-banana-pro 和 nano-banana-pro-result 里,把 Bearer 后面的 <YOUR_KIE_API_KEY> 换成你的 Kie.ai 密钥。尖括号也要去掉。Upload Photo 里,把地址中的 <YOUR_CLOUD_NAME> 换成你的 cloud name,连尖括号一起,再用预设名和一个文件夹名替换 YOUR_PRESET_NAME 和 YOUR_FOLDER_NAME。HTML to PDF 里,把 X-API-KEY 请求头里的 <YOUR_APITEMPLATE_API_KEY> 换成你的密钥,连尖括号一起。地址用的是 APITemplate.io 的美国区域,如果你的账号在别的区域,就把 rest-us 改掉。Upload PDF 里选中它。文件存在“我的云端硬盘”的根目录。the moon landing。Sheet1 的第 1 行写这八个表头,拼法和这里一样。一本书占一行,书里的每张图片各占一行:
| 列 | 书的那一行 | 图片的那一行 |
|---|---|---|
| ID | 一个新的 UUID | 一个新的 UUID |
| Parent ID | 空 | 所属那本书的 ID |
| Concept | 分类器改写后的题目 | 空 |
| Type | Briefing Job | Asset Creation |
| Status | Generating...,然后 Completed | Queued、Generating...,然后 Completed |
| Prompt | 空 | 画面提示词 |
| Public Link | 空 | 图片在 Cloudinary 上的地址 |
| PDF Link | PDF 的 Drive 链接 | 空 |
Telegram Trigger 接收发给机器人的每条消息。发来的是文件时,File Check 回复 Files not supported。gpt-4.1-mini 上的 AI Agent1 判断文字是不是历史或教育题目。不是的话,机器人回复一句由模型写的简短拒绝,运行结束。Crypto1 生成一个 UUID,Create Job 用改写后的题目加上书的那一行。gpt-5.1 上的 AI Agent 按时间顺序写出 5 到 20 个章节。每章有标题、日期、一段三四句话的正文,以及一句写明画面里要出现什么文字的提示词。Split Out 和 Crypto 给每章一个自己的 UUID,Append row in sheet2 为它排进一行。Loop Over Items 一次处理一章。nano-banana-pro 请 Kie.ai 生成一张 1K 的 16:9 PNG。Wait 等 30 秒,nano-banana-pro-result 查询任务状态,Switch 按状态分流:还在进行就再等,完成了就继续。download-image 下载图片,Upload Photo 把它传到 Cloudinary,Update row in sheet1 把那一行标为 Completed 并写入地址。Aggregate 和 HTML 为每章做一页:标题、日期徽标、图片、正文段落,以及带这一章 ID 的页脚。HTML to PDF 把页面发给 APITemplate.io 做成 A4 PDF,Download PDF 下载它,Upload PDF 存进 Drive,文件以题目和书的 ID 命名。Update row in sheet2 把书标为 Completed 并写入 Drive 链接。AI Agent1 的系统消息。AI Agent 的系统消息。nano-banana-pro 请求体里的 aspect_ratio、resolution 和 output_format。HTML 里的 HTML 和 CSS,包括字体和页脚文字。HTML to PDF 请求体里的 settings。Upload PDF 的云端硬盘和文件夹。Update row in sheet2 后面加一个 Telegram 发送节点,带上 PDF Link。Telegram Trigger 里把 Restrict to User IDs 设成你自己的 ID。gpt-4.1-mini,替代模型是 gpt-6-luna,并于 2027 年 4 月 1 日停用 gpt-5.1,替代模型是 gpt-6-sol。在这些日期之前改掉 OpenAI Chat Model1 和 OpenAI Chat Model。Switch 的 fail 状态没有去处,所以循环停在那里。不会生成 PDF,各行一直停在 Generating...,也没有人收到通知。AI Agent1 时没有文字,运行会在那里失败,也不会回复。AI Agent 的提示词说画风由一张外部参考图决定,但 nano-banana-pro 并没有发送参考图,所以每张图的风格由模型决定。想要统一的画风,Kie.ai 的 image_input 最多能接收八张参考图。README.md 8 KB workflow.json 48 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,还可以为两位说话者添加音频参考。