讓 AI 封面圖自動加上正體中文標題
你有沒有試過讓 AI 在圖片上寫中文?結果通常慘不忍睹——不是缺筆畫就是變亂碼,要不然直接變成日文漢字。
這是目前所有主流 AI 圖片生成器(Gemini、DALL-E、Midjourney)的共同弱點:它們對中文字的渲染能力還是很不穩定。英文沒問題,但換成中文,尤其是正體中文,出來的結果幾乎沒辦法直接用。
Day 74 分享了怎麼讓 Claude Code 自動用 Gemini 網頁版生圖。但封面圖需要有標題文字,那怎麼辦?
我的做法是:拆成兩步。
第一步:讓 AI 只負責畫插圖
在給 Gemini 的 prompt 最後,我一定會加上 "No text, no words, no letters in the image"。讓 AI 專心畫它擅長的部分——構圖、配色、氛圍。文字的事,完全不要交給它。
第二步:用程式在本機疊上中文標題
圖片下載回來之後,我用 Node.js 的 sharp 套件搭配 SVG,在本機把標題渲染上去。
原理其實很簡單:
- 讀取圖片尺寸,根據寬高算出合適的字體大小(響應式設計,不同尺寸的圖片都適用)
- 產生一個 SVG,裡面包含:底部漸層(從透明到半透明黑色)、白色標題文字、文字陰影
- 用 sharp 把 SVG 疊合到圖片上,輸出最終結果
字體用的是 macOS 內建的 PingFang TC(蘋方-繁),這是 Apple 為繁體中文設計的系統字體,品質非常高,完全不需要額外安裝任何字體。
處理混合文字的小細節
因為標題通常是中英混合(像 "Day 76 讓 AI 封面圖自動加上正體中文標題"),程式會估算每個字的寬度——中文字大約是 1em,英文字母大約 0.55em——然後決定要不要自動換行。這樣不管標題多長,都不會超出圖片邊界。
整合成一鍵流程
我把這個疊字腳本整合進了 Claude Code 的 skill 裡。現在整個生封面圖的流程是全自動的:
- 讀取文章內容,自動提取標題
- 根據文章主題,自動產生英文 image prompt
- 讓 Gemini 生成插圖(不含文字)
- 下載圖片後,用 sharp + SVG 在本機疊上正體中文標題
- 完成
從輸入一句 "幫我生封面圖" 到拿到成品,大概一分鐘。
為什麼不直接用 Canva 或 Photoshop?
因為我追求的是全自動化。手動開 Canva 加文字當然可以,但每天都要做一次的事情,就值得花時間自動化。而且這個做法的好處是完全可程式化——換個標題、換個字體、換個配色,改一行參數就好。
這個思路不只適用於正體中文。日文、韓文、簡體中文,只要本機有對應的字體,都能用同樣的方式處理。核心概念就是:讓 AI 做它擅長的(畫圖),讓本機程式做它擅長的(渲染文字),各司其職。
下次如果你想讓 AI 幫你做有中文字的圖片,記得:不要讓 AI 直接寫字,先拿到乾淨的插圖,再用程式把字加上去。這是目前最穩定也最好看的做法。