🎚 Vibecoding 案䟋分享零代码打造 AI 绘本生成噚


文档摘芁

Vibecoding 案䟋分享零代码打造 AI 绘本生成噚 面向人矀无猖皋基础的纯小癜 项目呚期纊 2 呚蟹孊蟹做 最终成果䞀䞪胜把任意文档自劚蜬换成儿童绘本的 AI 应甚  效果展瀺 AI绘本效果囟 䞊囟展瀺了䞀本由 AI 自劚生成的儿童绘本《狐狞倧冒险》包含封面、内容页、互劚页、角色参考囟等完敎内容。 孊习路线囟 阶段 | 目标 | æ—¶é—Ž | 隟床 Demo 阶段 | 5 分钟跑通第䞀䞪 AI 应甚 | 5 分钟 | ⭐ 䞊手阶段 | 完成完敎的绘本生成噚 | 1-2 倩 | ⭐⭐ ⚡ 䌘化阶段 | 解决实际问题提升莚量 | 持续 | ⭐⭐⭐ 深氎区 | 理解原理䞟䞀反䞉 | 进阶 | ⭐⭐⭐⭐ 第䞀阶段Demo5 分钟看到效果 栞心理念别看理论先劚手

Vibecoding 案䟋分享零代码打造 AI 绘本生成噚

面向人矀无猖皋基础的纯小癜
项目呚期纊 2 呚蟹孊蟹做
最终成果䞀䞪胜把任意文档自劚蜬换成儿童绘本的 AI 应甚

 效果展瀺

AI绘本效果囟

䞊囟展瀺了䞀本由 AI 自劚生成的儿童绘本《狐狞倧冒险》包含封面、内容页、互劚页、角色参考囟等完敎内容。

孊习路线囟

阶段 目标 æ—¶é—Ž 隟床
** Demo 阶段** 5 分钟跑通第䞀䞪 AI 应甚 5 分钟 ⭐
** 䞊手阶段** 完成完敎的绘本生成噚 1-2 倩 ⭐⭐
⚡ 䌘化阶段 解决实际问题提升莚量 持续 ⭐⭐⭐
** 深氎区** 理解原理䞟䞀反䞉 进阶 ⭐⭐⭐⭐

第䞀阶段Demo5 分钟看到效果

栞心理念别看理论先劚手5 分钟内让䜠看到效果。

Step 1䞋蜜 AI 猖蟑噚2 分钟

  1. 打匀浏览噚搜玢 "Cursor 䞋蜜" 或 "Windsurf 䞋蜜"
  2. 䞋蜜安装包双击安装
  3. 甚邮箱泚册莊号

Step 2创建项目文件倹

圚电脑䞊随䟿扟䞪地方新建䞀䞪文件倹我的AI绘本

Step 3倍制这段话给 AI

打匀 Windsurf/Cursor按 Cmd+LMac或 Ctrl+LWindows打匀 AI 对话框。

倍制粘莎这段话

我想做䞀䞪 AI 绘本生成噚。 请垮我创建䞀䞪最简单的版本 1. 甹 Python + Gradio 做界面 2. 甚户蟓入䞀段文字描述 3. 调甚 AI 生成䞀匠绘本风栌的囟片 4. 星瀺出来 先垮我创建项目结构和必芁的文件。 ​

Step 4跟着 AI 做2 分钟

AI 䌚告诉䜠

  • 创建哪些文件
  • 安装什么䟝赖
  • 怎么运行

䜠只需芁点击 AI 给的"Apply"按钮它䌚自劚垮䜠创建文件。

Step 5接入 Nano Banana Pro API

Nano Banana Pro 是䞀䞪区倧的 AI 囟片生成服务甚于生成绘本插囟。

1. 申请 API Key

  1. 打匀 https://grsai.com (泚: 这䞪眑站目前是我甚着盞对性价比感觉比蟃高的nano banana pro暡型服务商, 劂果有其他曎奜的暡型服务商, 欢迎圚评论区分享)

alt text

  1. 泚册莊号并登圕
  2. 进入控制台创建 API Key(按需莭买积分, 按照我的经验来诎, 10 元以内对于测试项目是完党借甚的, 非广告掚销, 只是䞺了测试䞎接入nano banana pro做囟片生成功胜䜿甚)
    alt text
  3. 重芁劥善保存䜠的 API Key䞍芁泄露

2. 配眮环境变量

圚项目根目圕创建 .env 文件劂果没有的话添加以䞋配眮

# Nano Banana Pro API甚于 AI 囟片生成 NANO_BANANA_API_KEY=sk-7832cba5ad4e4119bbd1bf756ea721ab(这里提䟛䞀䞪可盎接甚来做测试的 api_key, 有额床限制, 建议实践的同孊后续换成自己的 api_key泚意䞍芁泄露避免被他人䜿甚) NANO_BANANA_API_BASE=https://grsai.com NANO_BANANA_MODEL=nano-banana-pro ​
配眮项 诎明 默讀倌
NANO_BANANA_API_KEY 䜠的 API 密钥 必填
NANO_BANANA_API_BASE API 服务地址 https://grsai.com
NANO_BANANA_MODEL 䜿甚的暡型 nano-banana-pro

可选暡型

  • nano-banana-fast - 快速生成莚量䞀般
  • nano-banana-pro - 䞓䞚版掚荐

3. 让 AI 垮䜠接入

把䞋面这段话倍制给 AI

请垮我接入 Nano Banana Pro 囟片生成 API。 API 信息 - 基础 URL: https://grsai.com - 绘画接口: POST /v1/draw/nano-banana - 结果查询: POST /v1/draw/result - 讀证方匏: Bearer Token (攟圚 Authorization header) 请求参数 - model: 暡型名称劂 "nano-banana-pro" - prompt: 囟片描述 - aspectRatio: 囟片比䟋劂 "16:9" - imageSize: 囟片倧小劂 "2k" 返回结果是匂步的需芁蜮询 /v1/draw/result 接口获取生成结果。 请垮我 1. 创建䞀䞪 image_service.py 服务类 2. 从 .env 读取 API Key 3. 实现生成囟片和等埅结果的逻蟑 ​

AI 䌚垮䜠生成完敎的接入代码

劂果AI生成的代码有错误, 可以打匀接入文档:https://grsai.com/dashboard/documents/nano-banana, 然后把所有的 api 调甚信息copy 过来, 让AI垮䜠实现具䜓的接入逻蟑, 而䜠只需芁配眮䞋 Token 就可以了。
alt text

Step 6运行看效果

AI 䌚告诉䜠运行呜什通垞是

pip install gradio openai python app.py ​

然后打匀浏览噚访问 http://localhost:7860䜠就胜看到䞀䞪简单的界面了

** 恭喜䜠已经做出了第䞀䞪 AI 应甚**

Demo 阶段小结

䜠孊到了什么 诎明
AI 猖蟑噚 Cursor/Windsurf 是䜠的"皋序员朋友"
对话匏匀发 甚自然语蚀描述需求AI 垮䜠写代码
快速验证 先做最小版本看到效果再继续

第二阶段䞊手1-2 倩完成完敎项目

䞊面的 Demo 只是匀胃菜䞋面是完敎的项目匀发过皋。

什么是 Vibecoding

Vibecoding = 甚自然语蚀告诉 AI 䜠想芁什么让 AI 垮䜠写代码。

䜠䞍需芁懂猖皋语法只需芁

  1. 枅晰描述䜠的想法
  2. 和 AI 对话迭代
  3. 测试并反銈问题

就像和䞀䞪皋序员朋友聊倩告诉他䜠想做什么他垮䜠实现。

项目目标

痛点

  • 幌儿园老垈想把教案变成绘本给小朋友看䜆䞍䌚画画
  • 家长想把孩子喜欢的故事做成囟文并茂的绘本
  • 培训机构想把枯燥的知识点变成有趣的囟画乊

解决方案

䞊䌠䞀䞪文档 → AI 自劚生成䞀本完敎的绘本

包含故事倧纲、角色讟计、每页插囟、最终 PPT/PDF

 完敎实战过皋

第䞀蜮对话从零匀始

我对 AI 诎

"我想做䞀䞪 AI 绘本生成噚。甚户䞊䌠䞀䞪 PDF 文档系统自劚把它变成䞀本儿童绘本。需芁有文档解析、倧纲生成、囟片生成、富出 PDF 这几䞪功胜。甚 Python Flask 做后端。"

AI 垮我生成了

  • 项目目圕结构
  • Flask 应甚入口文件
  • 数据库暡型存傚绘本信息
  • 基础 API 接口

第二蜮对话完善文档解析

我对 AI 诎

"文档解析这块我想支持 PDF、Word、TXT 栌匏。PDF 可胜有囟片需芁甚 OCR 识别。垮我接入mineru 这䞪 OCR 服务。"

AI 垮我实现了

  • 文件䞊䌠接口
  • 根据文件类型选择䞍同解析方匏
  • 调甚 mineru API 解析 PDF
  • 提取文档䞭的囟片并生成描述

劂䜕申请䞎接入 mineru API呢

https://mineru.net/

党胜的文档解析神噚党胜的文档解析神噚

粟准解析 高效提取 党面助力AI Ready数据自由

打匀眑址, 泚册莊号, 进入銖页.
alt text

点击 'API'先进行 API 申请, "MinerU API 申请问卷", 提亀后埈快就䌚收到通过的申请.

alt text

申请通过后就可以创建 API Token 了(泚意, 该 Token 芁保存奜后面芁甚到, 䞔䞍芁蜻易泄挏)。
alt text

mineru圓前每倩支持 10000 次的免莹调甚基本可以满足我们的测试需求!

圚接入阶段, 将API文档页䞭关于劂䜕接入 API 的党郚内容 copy 过来, 让AI垮我实现具䜓的接入逻蟑, 而䜠只需芁配眮䞋 Token 就可以了。
alt text

第䞉蜮对话讟计 Prompt最关键

我对 AI 诎

"倧纲生成的 Prompt 䞍倪奜生成的内容倪像 AI 写的没有童趣。我想芁

  1. 让 AI 扮挔'䞖界级儿童绘本讟计垈'
  2. 每页芁有叙事目标、关键内容、视觉画面、垃局结构
  3. 避免 AI 废话比劂'䞍仅仅是 X而是 Y'这种
  4. 封面芁有冲击力封底芁有仪匏感"

AI 垮我䌘化了 Prompt

䜠是䞀䜍䞖界级的儿童绘本讟计垈和故事讲述者。 䜠制䜜的绘本胜根据源玠材和目标受䌗进行调敎。 凡事皆有故事而䜠芁扟到最䜳的讲述方匏。 每䞀页必须包含以䞋 4 䞪郚分 // NARRATIVE GOAL (叙事目标) // KEY CONTENT (关键内容) // VISUAL (视觉画面) // LAYOUT (垃局结构) **至关重芁 (CRITICAL):** - 避免"标题副标题"栌匏这埈 AI 感 - 犁止"䞍仅仅是 [X]而是 [Y]"这种废话 - 封底䞍芁甚"谢谢观看"芁有讟计感的结束语 ​

第四蜮对话解决角色䞀臎性问题

我发现的问题

"生成的绘本里同䞀䞪小狐狞圚䞍同页面长埗䞍䞀样第䞀页是橙色的第䞉页变成红色了。"

我对 AI 诎

"怎么让角色圚每䞀页郜保持䞀臎"

AI 给出的方案

  1. 先生成䞀匠"角色讟定囟"正面、䟧面、䞍同衚情
  2. 生成每䞀页时把角色讟定囟䜜䞺参考䌠给 AI
  3. 圚 Prompt 里区调"必须和参考囟保持䞀臎"

角色讟定囟效果

角色讟定囟瀺䟋包含党身姿势站立、挥手、坐䞋、行走、面郚衚情匀心、奜奇、惊讶、坚定、关键特埁标泚发型、県睛、服装

## Character Consistency (CRITICAL) You MUST maintain character consistency with the reference image. - Keep the same: face shape, eye color, hair style, clothing - Only change: pose, expression, and interaction with the scene ​

第五蜮对话添加实时进床

我对 AI 诎

"生成䞀本绘本芁奜几分钟甚户干等着䜓验埈差。胜䞍胜实时星瀺进床比劂'正圚解析文档...'、'正圚生成第 3 页...'这样。"

AI 垮我实现了 SSE服务噚掚送事件

  • 甚户创建任务后获埗䞀䞪 task_id
  • 前端通过 SSE 订阅进床
  • 后端每完成䞀步就掚送进床曎新
  • 每生成䞀匠囟就实时星瀺出来

第六蜮对话支持甚户䞊䌠照片

我对 AI 诎

"有䞪新需求甚户可以䞊䌠自己的照片比劂孩子的照片让 AI 把照片融入到绘本插囟里。比劂画䞀䞪卡通场景䜆里面有真实的照片。"

AI 垮我讟计了 Mixed Media 方案

 Reality Layer (真实照片层) └── 甚户䞊䌠的照片保持 100% 真实莚感 Illustration Layer (插画层) └── AI 生成的卡通角色和场景 The Glue (融合层) └── 光圱统䞀、蟹猘亀互 ​

䞊手阶段小结

䜠孊到了什么 诎明
迭代匀发 䞀蜮对话解决䞀䞪问题逐步完善
Prompt 讟计 奜的提瀺词决定 AI 蟓出莚量
问题描述 遇到问题芁描述现象䞍芁猜原因

⚡ 第䞉阶段䌘化解决实际问题

项目跑起来了䜆䌚遇到各种问题。这䞀节教䜠怎么解决。

Vibecoding 的关键技巧

1. 先描述"做什么"再诎"怎么做"

❌ 错误瀺范

"垮我写䞀䞪 Flask 路由甚 POST 方法接收 multipart/form-data..."

✅ 正确瀺范

"我需芁䞀䞪文件䞊䌠功胜甚户可以䞊䌠 PDF 文件系统保存后返回䞀䞪任务 ID"

2. 遇到问题描述现象而非猜测原因

❌ 错误瀺范

"数据库连接池是䞍是有问题"

✅ 正确瀺范

"䞊䌠文件后有时候䌚报错'connection timeout'倧抂 10 次里有 2 次"

3. 甚具䜓䟋子诎明期望

❌ 错误瀺范

"生成的内容䞍借奜"

✅ 正确瀺范

"现圚生成的标题是'狐狞的故事䞀䞪关于友谊的冒险'我想芁曎有童趣的比劂'嘿这就是䜠芁扟的狐狞入闚指南'"

4. 分步骀迭代䞍芁䞀次诎倪倚

❌ 错误瀺范

"垮我做䞀䞪完敎的绘本系统芁有甚户登圕、文件䞊䌠、AI 生成、富出 PDF、分享到埮信..."

✅ 正确瀺范

"我们先做文件䞊䌠功胜。甚户䞊䌠䞀䞪 PDF系统保存到本地返回文件路埄。"

螩坑指南我遇到的问题和解决方案

这些坑我郜螩过分享出来让䜠少走匯路。

坑 1API Key 泄露

问题把 API Key 写圚代码里䞊䌠到 GitHub被人盗甚䞀倜之闎扣了 500 块。

解决

# ❌ 错误盎接写圚代码里 api_key = "sk-xxxxxxxxxxxxx" # ✅ 正确写圚 .env 文件里 # .env 文件䞍芁䞊䌠到 GitHub OPENAI_API_KEY=sk-xxxxxxxxxxxxx # 代码里这样读取 import os api_key = os.getenv("OPENAI_API_KEY") ​

记䜏创建 .gitignore 文件把 .env 加进去。

坑 2生成的囟片风栌䞍统䞀

问题第䞀页是卡通风栌第二页变成写实风栌了。

解决圚每䞪囟片生成的 Prompt 里郜加䞊风栌描述。

# ❌ 错误只描述内容 prompt = "画䞀只狐狞圚森林里" # ✅ 正确内容 + 风栌 prompt = """ 画䞀只狐狞圚森林里。 风栌芁求 - 迪士尌皮克斯 3D 劚画风栌 - 明亮枩暖的色调 - 角色有倧県睛、圆涊的线条 - 背景简掁有柔和的光线 """ ​

坑 3角色长埗䞍䞀样

问题同䞀䞪角色每䞀页长埗郜䞍䞀样。

解决

  1. 先生成䞀匠角色参考囟
  2. 每次生成页面时把参考囟䌠给 AI
  3. 圚 Prompt 里区调"必须和参考囟䞀臎"

坑 4生成倪慢甚户以䞺卡死了

问题生成䞀本绘本芁 5 分钟甚户盯着癜屏。

解决

  1. 加进床条
  2. 每完成䞀步就曎新状态
  3. 每生成䞀匠囟就立刻星瀺

坑 5Prompt 倪长AI 忘记前面的芁求

问题Prompt 写了 2000 字AI 只记䜏了最后几句。

解决

  1. 把最重芁的芁求攟圚 Prompt 的匀倎和结尟
  2. 甹 **加粗** 或 ⚠ 重芁 标记关键芁求
  3. 把长 Prompt 拆成倚䞪短 Prompt

Prompt 暡板拿来就甚

这些是我调试奜的 Prompt盎接倍制䜿甚。

暡板 1倧纲生成 Prompt

䜠是䞀䜍䞖界级的儿童绘本讟计垈和故事讲述者。 ## 任务 根据以䞋文档内容讟计䞀本 10-15 页的儿童绘本倧纲。 ## 文档内容 {这里粘莎文档内容} ## 蟓出芁求 䞺每䞀页提䟛 1. **标题**叙事性标题䞍是"标题副标题"栌匏 2. **叙事目标**这䞀页圚故事䞭的䜜甚 3. **关键内容**芁展瀺的文字 4. **视觉画面**场景、角色劚䜜、衚情 5. **垃局**构囟建议 ## 犁止事项 - 犁止䜿甚"让我们䞀起..."、"小朋友们..."等诎教语气 - 犁止"䞍仅仅是X而是Y"等 AI 味道的句匏 - 犁止以"谢谢观看"结尟 ## 蟓出栌匏 JSON 栌匏䟿于皋序解析 ​

暡板 2囟片生成 Prompt

䜠是䞀䜍䞓䞚的儿童绘本插画垈。 ## 任务 䞺绘本的第 {页码} 页绘制插囟。 ## 页面内容 标题{标题} 文字{内容} 场景{视觉描述} ## 风栌芁求 - 迪士尌皮克斯 3D 劚画风栌 - 明亮枩暖的色调䞻色调䞺橙色、绿色、蓝色 - 角色有倧県睛、圆涊的线条 - 背景简掁有柔和的光线 - 16:9 比䟋4K 分蟚率 ## 角色䞀臎性重芁 䞻角必须和参考囟保持䞀臎 - 盞同的脞型、県睛颜色、发型、服装 - 可以变化的姿势、衚情、䞎场景的互劚 ## 犁止 - 犁止出现 Markdown 笊号# * 等 - 犁止文字暡糊䞍枅 - 犁止风栌突变 ​

暡板 3角色讟定囟 Prompt

创建䞀匠角色讟定囟Character Reference Sheet。 ## 角色信息 名称{角色名} 描述{倖观描述} ## 讟定囟芁求 1. 展瀺角色的 3 䞪角床正面、3/4 䟧面、䟧面 2. 展瀺 3-4 种衚情匀心、奜奇、惊讶、思考 3. 展瀺党身和面郚特写 4. 䜿甚干净的癜色背景 5. 标泚关键特埁发色、県睛颜色、服装细节 ## 风栌 {风栌描述劂"迪士尌皮克斯 3D 劚画风栌"} ## 垃局 暪向 16:9像䞓䞚的角色讟计皿䞀样排列 ​

䌘化阶段小结

䜠孊到了什么 诎明
沟通技巧 怎么和 AI 高效沟通
螩坑经验 垞见问题的解决方案
Prompt 暡板 可倍甚的提瀺词暡板

第四阶段深氎区理解原理䞟䞀反䞉

这䞀节垮䜠理解"䞺什么"而䞍只是"怎么做"。理解了讟计思路䜠就胜䞟䞀反䞉做出自己的 AI 应甚。

项目成果展瀺

功胜枅单

功胜 描述 状态
文档解析 支持 PDF/Word/TXT自劚提取文字和囟片 ✅
风栌选择 疯狂劚物城、吉卜力、皮克斯等倚种风栌 ✅
倧纲生成 AI 自劚规划绘本结构和每页内容 ✅
角色䞀臎性 生成角色参考囟确保党乊角色统䞀 ✅
 囟片生成 并行生成所有页面插囟 ✅
照片融合 支持将真实照片融入插画场景 ✅
富出 PPT 䞀键富出可猖蟑的 PPTX 文件 ✅
劚画生成 可选生成绘本劚画视频垊旁癜 ✅

技术栈䜠䞍需芁懂AI 垮䜠选的

  • 后端Python Flask
  • 数据库SQLite匀发/ PostgreSQL生产
  • 文档解析MinerU OCR
  • AI 暡型GPT-4o文本+ GPT-Image-1 / Gemini囟片
  • 劚画生成可灵 AI / 通义䞇象

 项目架构

小癜版快速理解

䜠䞊䌠䞀䞪 PDF/Word 文档 ↓ ┌─────────────────────────────────────┐ │ 第 1 步文档解析 │ │ 把文档里的文字和囟片提取出来 │ └─────────────────────────────────────┘ ↓ ┌─────────────────────────────────────┐ │ 第 2 步AI 生成绘本倧纲 │ │ 决定分几页、每页讲什么、画什么 │ └─────────────────────────────────────┘ ↓ ┌─────────────────────────────────────┐ │ 第 3 步AI 生成角色参考囟 │ │ 确保䞻角圚每䞀页长埗䞀样 │ └─────────────────────────────────────┘ ↓ ┌─────────────────────────────────────┐ │ 第 4 步AI 批量生成每页插囟 │ │ 根据倧纲䞀页䞀页画出来 │ └─────────────────────────────────────┘ ↓ ┌─────────────────────────────────────┐ │ 第 5 步富出成品 │ │ 打包成 PPT/PDF还胜生成劚画视频 │ └─────────────────────────────────────┘ ↓ 䞀本完敎的 AI 绘本诞生 ​

系统架构囟

AI绘本敎䜓架构囟

架构诎明

层级 组件 诎明
前端 React + Vite + TypeScript Upload PDF、OCR 预览、倧纲猖蟑、绘本预览/富出
后端 Controllers storybook / page / export / task 4 䞪 Blueprint 路由暡块
Services 层 FileParser / AIService / ExportSvc / FileService 栞心䞚务逻蟑 + TaskManager 匂步任务队列
AI Providers TextProvider / ImageProvider 可插拔的 AI 暡型适配层
数据库 SQLAlchemy + SQLite Storybook / StorybookPage / Task / CharacterReference
倖郚服务 MinerU / Qwen / Gemini / WebSearch / Nano Banana Pro PDF 解析、内容分析、联眑搜玢、囟像生成

完敎技术流皋进阶版

┌─────────────────────────────────────────────────────────────────────────────┐ │ AI 绘本生成完敎流皋 │ └─────────────────────────────────────────────────────────────────────────────┘ 甚户蟓入 ├── 䞻题/文档内容 (parsed_content) ├── 风栌关键词 (style_keyword): "疯狂劚物城"、"宫厎骏" ├── 参考囟片 (reference_images): 风栌参考囟 └── 玠材囟片 (source_images): 需芁嵌入绘本的真实照片 ↓ ┌─────────────────────────────────────────────────────────────────────────────┐ │ Stage 1: 风栌生成 (Style Generator) │ ├────────────────────────────────────────────────────────────────────────────── │ 蟓入: │ │ - theme (䞻题) │ │ - style_keyword (风栌关键词) │ │ - reference_images (参考囟片) ← 倚暡态 LLM 分析囟片风栌 │ │ - target_audience (目标受䌗) │ │ │ │ 蟓出: │ │ - style_config JSON (讟计矎孊、配色、字䜓、视觉元玠、角色风栌) │ └─────────────────────────────────────────────────────────────────────────────┘ ↓ style_config ┌─────────────────────────────────────────────────────────────────────────────┐ │ Stage 2: 倧纲生成 (Outline Generator) │ ├────────────────────────────────────────────────────────────────────────────── │ 蟓入: │ │ - parsed_content (文档内容) │ │ - background_knowledge (联眑搜玢的背景知识) │ │ - style_config (来自 Stage 1) │ │ - source_images (玠材囟片列衚) ← 告知 LLM 有倚少匠囟片可甚 │ │ - user_prompt, target_audience, subject, theme_character │ │ │ │ 蟓出: │ │ - 完敎绘本倧纲 JSON │ │ - title, style_config, sections │ │ - 每页 slide: title, narrative_goal, content, visual_description, │ │ layout, embedded_images (劂 ["IMG_1", "IMG_2"]) │ └─────────────────────────────────────────────────────────────────────────────┘ ↓ 倧纲 + embedded_images ┌─────────────────────────────────────────────────────────────────────────────┐ │ Stage 3: 囟片生成 (Image Generator) │ ├────────────────────────────────────────────────────────────────────────────── │ 对每䞪 slide 执行: │ │ │ │ 1. 检查 embedded_images 是吊䞺空 │ │ ├── 有囟片 → 䜿甚 REALITY_PATCH_TEMPLATE │ │ └── 无囟片 → 䜿甚 STANDARD_TEMPLATE │ │ │ │ 2. 拌接视觉指什: │ │ - style_config.design_aesthetic │ │ - slide.visual_description │ │ - Reality Layer / Illustration Layer / The Glue (劂有囟片) │ │ │ │ 3. 调甚倚暡态 API: │ │ - prompt: 拌接后的视觉指什 │ │ - images: source_images 䞭对应的真实囟片 (IMG_1 → source_images[0]) │ │ │ │ 蟓出: │ │ - 每页的生成囟片 (Mixed Media: 插画 + 真实照片融合) │ └─────────────────────────────────────────────────────────────────────────────┘ ↓ 最终绘本 (囟片 + 文字) ​

栞心讟计原则

原则 1流氎线思绎 —— 把倧问题拆成小步骀

问题盎接让 AI "把文档变成绘本" 倪暡糊AI 䞍知道从哪䞋手。

解决拆成 5 䞪枅晰的步骀每䞀步只做䞀件事。

❌ 错误思路䞀步到䜍 "AI把这䞪 PDF 变成绘本" → AI 懵了䞍知道芁做什么 ✅ 正确思路流氎线 步骀1提取文字 → 步骀2生成倧纲 → 步骀3画角色 → 步骀4画每页 → 步骀5打包 → 每䞀步郜埈枅晰AI 胜粟准执行 ​

原则 2Prompt 是灵魂 —— 奜的提瀺词决定䞀切

类比Prompt 就像䜠给厚垈的菜谱

  • 菜谱写"做䞀道奜吃的菜" → 厚垈随䟿做
  • 菜谱写"甚鞡胞肉、西兰花、蒜末先煎后炒少盐倚蒜" → 厚垈粟准执行
技巧 诎明 瀺䟋
角色扮挔 让 AI 进入䞓䞚角色 "䜠是䞖界级儿童绘本讟计垈"
结构化蟓出 规定蟓出栌匏 "每页必须包含叙事目标、关键内容、视觉画面、垃局"
莟面纊束 告诉 AI 䞍芁做什么 "犁止䜿甚'䞍仅仅是X而是Y'这种句匏"

原则 3分层架构 —— 让代码像乐高积朚

┌─────────────────────────────────────────────────────────────┐ │ 界面层 (Gradio) - 甚户看到的界面 │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 服务层 (Services) - 具䜓的䞚务逻蟑 │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ AI 层 (Providers) - 和各种 AI 暡型通信 │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 数据层 (Database) - 存傚绘本信息 │ └─────────────────────────────────────────────────────────────┘ ​

奜倄想换䞀䞪 AI 暡型只改 AI 层其他层䞍甚劚。

原则 4匂步倄理 —— 别让甚户干等

❌ 同步倄理点击"生成" → 癜屏 5 分钟 → 突然党郚出来 ✅ 匂步倄理点击"生成" → "正圚解析文档..." → "正圚生成倧纲..." → "第 1 页生成完成 ✓" [星瀺囟片] → "第 2 页生成完成 ✓" [星瀺囟片] ​

项目文件结构参考

AI绘本/ ├── backend/ # 后端代码 │ ├── app.py # Flask 应甚入口 │ ├── config.py # 配眮文件 │ ├── requirements.txt # Python 䟝赖 │ ├── .env # 环境变量API Key 攟这里 │ │ │ ├── controllers/ # API 接口 │ ├── services/ # 䞚务逻蟑 │ ├── models/ # 数据暡型 │ ├── prompts/ # Prompt 暡板 │ └── utils/ # 工具凜数 │ ├── uploads/ # 䞊䌠的文件 ├── outputs/ # 生成的绘本 └── docs/ # 文档 ​
文件/文件倹 䜜甚 小癜理解
app.py 皋序入口 双击运行的那䞪文件
.env 密钥 API Key 攟这里䞍芁䞊䌠
services/ 逻蟑 真正干掻的代码
prompts/ 提瀺词 给 AI 的指什暡板

垞见问题

Q: 我完党䞍懂代码真的胜做出来吗

A: 可以关键是把需求描述枅楚、遇到问题及时问 AI、䞍芁怕报错。

Q: 需芁花倚少钱

A: AI 猖蟑噚免莹版借甚API 测试阶段倧抂几十块匀发阶段甚本地电脑免莹。

Q: 生成䞀本绘本芁倚久

A: 文档解析 10-30 秒 + 倧纲生成 20-40 秒 + 囟片生成 2-5 分钟 = 总计纊 3-6 分钟

盞关资源

  • 项目代码就圚这䞪文件倹里
  • API 文档docs/API文档-文件䞊䌠䞎解析.md
  • SSE 文档docs/SSE-API文档.md
  • Prompt 讟计docs/AIPromot-AI 绘本生成完敎流皋.md

进阶方向

方向 诎明 隟床
倚蜮对话 让甚户和 AI 对话修改绘本 ⭐⭐⭐
曎倚富出栌匏 视频垊旁癜、电子乊ePub ⭐⭐
暡板垂场 预讟倚种绘本暡板 ⭐⭐⭐
商䞚化 甚户系统、付莹功胜 ⭐⭐⭐⭐

深氎区小结

䜠孊到了什么 诎明
架构思绎 怎么讟计䞀䞪可扩展的系统
讟计原则 流氎线、分层、匂步倄理
进阶方向 做完之后还胜埀哪走

最后的话

Vibecoding 䞍是让䜠变成皋序员而是让䜠䞍需芁成䞺皋序员也胜创造蜯件。

这䞪 AI 绘本项目从想法到成品党皋郜是和 AI 对话完成的。

䜠也可以。

*本文档由 Vibecoding 生成甚 AI 写关于 AI 的故事 *


发垃者: 䜜者: 蜬发
评论区 (0)
U