Caroselli Canva(原 carosello-aurum)
自 2026 年 10 月 13 日起,Davide 更喜欢第 1 课幻灯片风格,并希望在所有轮播图中复制这种风格:这些轮播图应使用
caroselli-claude技能(无需 Canva)制作。此技能仅保留用于 Canva 中的轮播图。
取代了旧方法(手动复制 Canva 模板,在照片+深色条带上使用 Anton 字体)。该旧风格仍可作为 Reel 封面的参考风格([[copertine-reel]]),但不再用于轮播图。同时也取代了全局技能 ig-carousel(Higgsfield/Nano Banana):该技能会生成 AI 图像并将文本直接嵌入其中,这不再是我们的工作流程。
在打开此技能之前,内容(文本、研究、语气)应按照 [[caroselli]](记忆/维基)中的描述进行准备:向 Davide 提出 5-6 个问题,核实真实研究,使用“你”称呼 Davide 并始终保持客观(从不使用“我”)。此技能从该步骤出发,仅负责图形制作。
为什么使用此方法而不是旧方法
edit-design(用于制作 Reel 封面的工具)是外科手术式的:它修改已存在的元素,不能为新内容选择字体或布局。create-design 则不同:你向它发送一个书面简报,Canva 自身的 AI 引擎(与“Magic Design”所用引擎相同)会决定字体、布局、图标、层级结构——而不是手动完成。结果是一个真正的设计,每张幻灯片都有不同的图形(准星、巨大数字、清单、编号圆圈),而不是拼贴画。代价是:总是带有需要检查的缺陷——因此下面的第 4 阶段并非可选项。
第 1 阶段 — 简报
一个单一的文本简报(非结构化大纲——那仅适用于 design_type: presentation,这里我们不使用),包含:
- 格式:
"Instagram Post"(提供 4:5 比例,1080x1350 像素——已在项目中确认)。 - 语气:温和的骑士/罗马风格,2026 年 9 月 25 日与 Davide 共同确定——角斗士/斯巴达风格是健身/格斗领域最泛滥的陈词滥调(Gladiator Gym Gear、Spartan Race……),骑士风格使用较少,且与 [[cammino-guerriero]] 中已写的内容一致(宫本武藏/武士道 = 个人准则,而非大众军团纪律)。尚未 100% 确定 — Davide 表示他喜欢两种风格,并希望随着时间的推移找到“合适的组合”:如果距离上次使用间隔时间不长,请确认;否则,继续使用相同的组合(Anton/Roboto/OpenSauce 字体,金色配黑色,不出现明确的头盔/盾牌/短剑,仅使用像罗马数字这样的低调细节)。
- 颜色:黑色/深灰色背景,白色文本,仅使用一种浅金色强调色(范围
#c29342–#d8af54,每张幻灯片之间略有变化,因为由 AI 生成——这不是 bug,无需统一)。 - 照片:仅封面包含一张照片(Davide 于 9 月 24 日决定:其他幻灯片保持图形/排版形式,无照片——这样无需处理多个不同的图像)。在简报中写明“仅封面包含一张照片……其他 7 页为图形/排版形式,无照片”。
- 结构:将每张幻灯片列为
第 N 页:...,并包含标签、标题、正文以及引用研究的斜体注释。最后一张幻灯片是带有“保存”CTA(图标 + 两行文本,见第 4 阶段)的结尾页。 - 滚动指示器:在所有页面上(除最后一张外)请求一个页面指示器“1/8”…“8/8”以及一个箭头(它会默认提供,然后在第 4 阶段转换为罗马数字)。
- Logo/账号:每页上放置一个小的、低调的“AURUM MILES”。
使用此简报调用 create-design,并附带简短 user_intent,无需 outline(我们使用 Instagram Post 格式,而非 Presentation)。
第 2 阶段 — 等待生成
create-design 是异步的:它返回一个 job_id + continuation_token 以及一个 status: pending。
- 在首次轮询前等待
polling_policy.wait_seconds(通常 10-15 秒)。 - 使用
job_id+ 最新的continuation_token调用get-create-design-async-job。 - 重复直到
status: completed— 通常需要 4-6 轮,不要缩短等待时间(相同的响应会重复返回,不会加速任何东西)。使用Bash命令配合sleep进行等待,而不是连续快速调用。 - 结果会返回
design.id和design.url— 这就是需要检查和纠正的轮播图。
第 3 阶段 — 质量控制(始终执行,无例外)
在向 Davide 展示任何内容之前,读取所有页面(使用 read-design,design_content 不带 page_indices 可一次性查看所有文本)并检查:
a) 页面的物理顺序
生成器有时会按照与每张幻灯片上写的(“N/8”)不同的顺序创建页面。将每页的文本与其携带的标签进行比较;如果某张幻灯片位置错误,请使用以下命令重新排序:
merge-designs, type: modify_existing_design, operations: [{type: move_pages, from_page_numbers: [N], to_after_page_number: M}]
每次调用仅执行一个操作 — 该工具会拒绝批量操作。
b) 缺失的幻灯片
生成器有时会跳过简报中的一页(已经发生过:7 页而不是 8 页,缺少了结尾页)。如果缺少:
copy-design复制结构上最相似的页面(例如,最后一个“修正”页面用于结尾页,而不是像“01”这样带有主题特定数字幻影的页面)。- 使用
replace_text在现有的定位器上重写文本(切勿为标题使用add_text— 这会导致丢失生成器选择的字体,请参见下面的技术说明)。 - 使用
delete_element删除不再需要的装饰元素(例如,如果变为 CTA,则删除清单图标行)。 - 插入最终的 CTA(图标 + 两行文本,见下文)。
- 使用
merge-designs→insert_pages将页面重新插入到正确位置。
c) 背景中的“幻影”文本
此生成器的一个反复出现的 bug:原始文本(在任何 replace_text 之前)有时会“烤”入页面的背景图像中,而不仅仅存在于可编辑的文本元素中——替换文本并不能使其从渲染中消失。它看起来像一道微弱的水印,位于标题或正文后面。
修复方法:insert_shape 使用一个实心矩形(路径 M0,0 H<w> V<h> H0 Z),颜色接近页面黑色(#0e0e0e 或 #131110 均可),放置在整个受影响的区域之上——然后始终在该同一定位器上使用 layer_element 配合 position: "back",这样补丁位于光栅背景之上,但位于标题/正文/徽章(它们仍然是独立的、可见的元素)之下。如果幻影继续在较低位置(例如,靠近列表处)可见,请使用 resize_element 扩大补丁,直到没有痕迹为止——在将其视为已关闭前,始终通过渲染进行检查。
d) 一般的层叠顺序(z-order)
每个新元素(insert_shape、add_text)始终插入到最顶层(位于所有内容之前)。如果你添加了必须位于现有文本之后的内容(例如上述补丁),则始终需要在之后使用 layer_element: back。相反,如果一个现有元素(徽标、标题、页码)位于你添加的内容之后,请对其使用 layer_element: front。
e) 罗马数字页码
生成器生成“1/8”、“2/8”……将其替换为“I / VIII”、“II / VIII”……最后一张幻灯片为“VIII / VIII”。罗马数字文本更长:几乎总是需要加宽文本框(使用 resize_element,宽度增加 +100/150 像素)并重新定位到左侧(使用 position_element),以免侵入旁边的箭头图标——始终在同一页上检查箭头图标左侧的位置,并将数字框放置在其左侧紧邻的位置。最后一张幻灯片没有箭头(没有更多内容可以滚动):仅保留“VIII / VIII”,无需其他操作。
f) 字体一致性
生成器为不同元素分配不同的字体。我无法为新元素或现有元素选择字体——没有操作允许这样做(format_text 只能更改大小/粗细/颜色/斜体,不能更改字体系列)。唯一的方法:Davide 在 Canva(使用 edit_url 链接)中选择文本,并手动选择字体,对每个元素操作一次;然后我可以通过 replace_text 在其他元素上重复使用该字体,replace_text 始终保留目标元素的字体。如果新轮播图中的幻灯片字体不一致,这是正常的——请让 Davide 像以前一样迅速过一遍(标题用一种字体,正文用另一种,小标签用第三种),然后你手动调整大小/间距。
g) 封面图片
如果 Davide 发送了他本人的照片:create-upload-url(不要使用 upload-asset-from-url,它需要一个公开 URL)→ 直接向收到的唯一 URL 发送一个 POST 请求(包含文件)→ mediaId → 在封面的照片矩形上使用 update_fill。Canva 的自动裁剪对于垂直或正方形照片通常效果不错;在手动使用 crop_media 进行调整之前,先通过渲染进行检查。其他幻灯片保持无照片状态(见第 1 阶段)。
第 4 阶段 — 最终 CTA(结尾幻灯片)
与 Davide 确定的标准(2026 年 9 月 22-25 日),每次需要相同地重现:
- 书签图标(
insert_shape,路径M0,0 H34 V44 L17,30 L0,44 Z,金色)位于 CTA 第一行的同一行上,而不是上方。 - 第 1 行(操作,例如“在下次实战训练前保存它。”):大写、加粗、非斜体、金色。
- 第 2 行(额外信息,例如“发送给下次需要上场的人。”):首字母大写,其余小写、斜体、相同金色——稍浅一些。注意文本:不要过度限制目标受众(例如,不要写成“第一次上场的人”,如果消息需要适用于任何重返拳台的人,而不仅仅是初学者——这取决于具体内容,如果初稿看起来范围太窄,请询问 Davide)。
- 块与上方的段落之间使用真正的垂直间距(约 150 像素) 分隔,而不是紧贴在一起——否则它看起来像是同一句话的延续。
- 两行 = 两个不同的文本元素(而不是在一个元素中使用
\n),因为每一行都有不同的格式。
第 5 阶段 — 交付
export-design,格式为png,width: 1080, height: 1350,不带pages(一次性导出所有页面),在第 3 阶段完成后进行。- 下载每个 PNG 并将其保存到
Caroselli elaborati/AAMMGG_Titolo/1.png … 8.png(与文本文件slide_、caption_、note_相同的文件夹——请参见 [[caroselli]] 和 [[produzione-contenuti]])。 - 在将其视为最终版本之前,向 Davide 发送一个联系表或 8 幅图像——总会有修改轮次,不要假设首次导出即获批准。
- 发布前检查:统计导出的 PNG 数量(N),并在交付消息中明确提醒 Davide,在点击发布前检查是否所有 N 张幻灯片都已排队上传到 Instagram(例如:“共 N 张幻灯片,文件 1.png...N.png — 请在发布前确认它们都已存在”)。这种情况已经发生过(轮播图 #8),由于上传时遗忘,一张幻灯片被遗漏,而无人发现——虽然后来并未影响效果,但这是一个零成本的检查。
- 仅在获得 Davide 的同意后:在
memoria/wiki/log.md中记录日志,并更新 [[caroselli]] 的状态。
布局标准 — Davide 于 2026 年 10 月 2 日在 #12 中确定(从现在起适用于每个轮播图)
在克隆 #8 之后(见下文),Davide 在 Canva 中手动修正了一系列细节,这些细节在每张“带标题”的幻灯片(标签 + 罗马数字 + 顶部箭头,例如“技术 N”)上是相同的。以下是可以立即应用的固定尺寸/标准,无需每张幻灯片重新发现:
- 罗马数字与标签对齐:罗马数字的
top应与旁边标签(“技术 2”、“为什么”等)的top重合(或近乎重合),而不是单独偏高或偏低。同一行,同一视觉高度。 - 箭头:字体大小
~32-36px,颜色始终为#c29342(标准金色,见下文)。箭头应位于罗马数字之后,间距干净利落(约 15-20px),不要紧贴在一起。 - 标题下方的水平分隔线:当存在时(标签下方有线条的幻灯片),应使其几乎达到全宽(大约
560-930px),而不是短线段——在标签+数字整个块下方整齐地切断,而不仅仅是在标签下方。 - 正文加粗:正文(非标题,非引用)应使用
font_weight: bold,而不是normal/medium——在黑色背景上更饱满、更易读。连续的短段落(例如“句子 1:” + “句子 2.”)可以合并为一个文本元素,而不是分开保留,如果在逻辑上它们是一个断成两行的句子。 - 白色绝非纯白:在所有白色文本和“Aurum Miles”徽标上,将
#ffffff替换为#f1f1f1——与黑色相比稍微不那么刺眼。 - 最终 CTA(图标 + 2 行):保存图标和第一行文本(“保存...”)共享相同的
top(相同行,而不是图标在上、文本在下),图标右边缘与文本开头之间有约 25-30px 的水平间距。
已确认的 Bug:resize_element 对图像填充图标的影响
我方无法解决:通过 API 调整带有图像填充的图标(箭头、徽章)的大小会进行裁剪而不是缩放(请参见 [[caroselli]] 中的说明)。当需要更小的箭头/图标时,不要使用 resize_element:要么保持其原生大小并调整位置,要么——如果 Davide 在 Canva 中手动修复——要注意,在那里调整大小效果良好(真正的编辑器可以正确缩放内容,只有 API 操作存在此 bug)。出现此类问题的具体迹象:一个靠近带有 textAlign: end 的文本的元素出现“翻转”现象——很可能是一个破碎的图标片段叠加其上,而不是文本本身的 bug。
技术杂项说明(无需每次重新发现)
merge-designs:每次调用仅执行一个操作,始终如此。resize-design(旧方法中与 Canva 模板配合使用的那个)受到试用/有限使用限制——在此工作流程中不再需要,create-design已经以正确的格式生成。- 如果需要保留一个版本的 p
…
[因翻译而截断]