昨天講完難度跟變化怎麼用規則抓,內容這一側的圖卡到這裡算交代完了。今天看圖卡底下那一大段字,也就是 caption。它跟圖卡有個很不一樣的地方:圖卡是模板算出來的,caption 是 AI 從頭寫到尾的自由文字,沒有任何版型管它。
先把機制講清楚。caption 是 deck.json 裡的一個欄位,跟 hashtags 並列,schema 寫的是「完整的 IG 文案,含換行」。發布的時候,publish_ig.py 把 caption 去掉尾巴空白,空兩行,再接上 hashtag 用空格串起來,整段一起送出去。
有兩個地方會檢查它。build_preview.py 在預覽那一步會看 caption 是不是空的、caption 加 hashtag 有沒有超過 2200 字元、hashtag 有沒有超過 30 個。publish_ig.py 發布前又檢查一次字元上限。除此之外,程式不看內容。寫得好不好、有沒有亂講,沒有人擋。
而且 caption 發出去就改不了。IG API 沒有編輯貼文的端點,預覽頁上也特別放了一行警告:caption 和圖都改不了,只能刪掉重發。所以這段字雖然是最自由的,卻是我最不想寫錯的。
我想要的 caption 是一個「真的在學、順手分享」的人,不是一個教學帳號的小編。
這個差別我在 Day 18 說過動機:我自己想學,把東西整理成要講給小孩聽的樣子,逼自己弄懂。caption 的口氣就該是這樣,我碰到一件事,覺得有意思,整理出來給你看。不是站在上面教你「今天一起來學」。
SKILL.md 第 1 階段的角色是「資深英語教師 + IG 視覺內容企劃」,那是圖卡內容的角色。caption 是我自己在說話,這兩個身分不太一樣,後面會講到這會造成什麼問題。
我最在意的是貼文開頭那段「為什麼想做這篇」。
Day 18 那篇「井蛙系列 02」,起因是我追美劇,聽到女主角隨口回一句 Pretty good, you?,跟課本教的 I'm fine, thank you 完全不是同一回事,我才去問 AI how are you 還能怎麼回。這段是真的發生過的事。
AI 很會編這種東西。你只要說「寫一段貼文開頭」,它可以馬上給你「有一天,我女兒回家問我……」「昨天在公車上聽到兩個小朋友在聊……」,細節有畫面、語氣有溫度,而且全部是假的。對一個想要建立信任的帳號來說,這是最傷的一種。看的人是家長,家長會拿這個來判斷這個帳號可不可信。
所以這條規則很單純:起因只能用我真的告訴它的事。我沒給的,它不准補。我要是沒什麼特別的起因,那 caption 就從教材本身開始講,不需要硬湊一個故事。
很多 IG 文案的結尾都長一個樣:「你家小孩也有這種經驗嗎?留言告訴我」「覺得有用請按讚收藏」「分享給需要的家長」。這種句子 AI 寫起來毫不費力,幾乎每篇都會帶。
我不想要。我做這個是自己想學、想給小孩學,不是在衝數字,每篇都對讀者喊話,跟我的出發點對不上。而且這種結尾是樣板,Day 22 才講過我不要千篇一律,每篇都用同一句收尾,系列感就變成公式感了。
不討互動不代表沒有結尾。我的做法是讓 caption 收在內容本身:把 Day 18 那篇的七種回法,一句英文配一句中文列出來,每一種是什麼語氣、用在什麼場合都帶到。家長滑完圖卡,手上就有一份能直接拿去跟小孩講的整理,我覺得這比一句「記得追蹤」實在。
hashtag 我也收得很小,只放三個:#小學英文、#親子共讀、#國小英文。
講真的,這兩條目前我還沒有寫進 SKILL.md。SKILL.md 第 1 階段那句「活潑、口語化、多用生活化比喻」,原本是為圖卡內容寫的,AI 把它套到 caption 上,就會往熱情、編故事、喊話的方向走,剛好是我最不想要的那幾種。
所以現在是在第 5 階段看預覽的時候,我自己對照:開頭的起因是不是我給的、結尾有沒有偷塞「留言告訴我」。這個做法能用,但每次都靠我記得去看。caption 發出去又改不了,我打算之後在 SKILL.md 另外補一段 caption 的規範,把人設、起因只能用我提供的、結尾不要求留言按讚追蹤,這三件事直接寫進去,讓 AI 一開始就照著寫。
今天講的是 caption 這段最自由的文字。人設是自己在學、順手分享,起因只能用真的發生過的事,結尾不討互動。這些我現在靠預覽時自己把關,還沒寫進 SKILL.md,之後會補上。
明天回到程式這邊,看 HTML 模板怎麼算出圖卡,還有為什麼 1080×1350 這個尺寸不是美觀問題。