LINE Flex Message Templates — 50 張現成卡片 JSON,什麼時候該抄、什麼時候該自己刻
先問你自己一個問題:你做的這支 LINE Bot,一年到頭要推幾種不同版型的卡片?
如果答案是「就一兩種,訂單確認加個物流通知」,那下面這包東西可能是你今年最省事的一次複製貼上。如果答案是「我要做一套會隨資料動態長出十幾種版面的卡片系統」,那它幫你的,可能只有開頭那十分鐘。
這個分界,決定了 arieslee/line-flex-message-templates 對你到底是神器還是雞肋。
它是一包 JSON,不是一個套件
先把最容易誤會的事講掉。這東西不是 npm 套件,不是 SDK,你在 npm install 那邊找不到它。它就是一包現成的 JSON 檔——56 個設計好的 LINE Flex Message 範本,繁中、日文雙語都有,挑一張、改掉文字跟圖片連結,直接塞進 LINE API 就能發出去。
repo 裡是有幾支 Python 跟 Node 腳本沒錯,但那是作者自己拿來產內容、截預覽圖用的,跟你怎麼套模板一點關係都沒有。把這件事認清楚,後面所有判斷都會變得很乾淨:你買的不是工具,是素材。
說穿了它只有兩個資料夾。jsons/ 裡是 56 個檔案,檔名長成 編號_語系_名稱.json,大概 46 種設計各做了繁中跟日文兩版;previews/ 裡是對應的 PNG 預覽圖,讓你先看圖再決定要哪張。就這樣。
先補一下:Flex Message 為什麼這麼煩
你平常在 LINE 傳的東西——純文字、一張圖、貼圖——版面都是固定的,LINE 幫你排好。Flex Message 不一樣,它讓你用 JSON 自己排版,做出像 App 介面那樣的卡片:左邊放圖、右邊放文字、底下排兩顆按鈕,顏色、字級、圓角全部自己控。
它的排版邏輯其實是借網頁的 CSS Flexbox 來的。一張卡片就是一個 box,box 裡面可以再放 box,可以橫排也可以直排。聽起來很合理,對吧。
問題就出在這個「box 可以一直往下包」。一張訂單明細卡,光是要把品項、數量、金額三欄對齊,你就得一層 box 套一層 box,手寫起來又臭又長,動輒上百行。改個間距,iOS 跟 Android 還可能長得不一樣。這種苦工,就是這包模板想替你扛掉的。
拿來用,比你想的還樸素
因為沒有套件可裝,取得方式就是最原始的那種——直接抓檔案:
1 | # 整包 clone |
發出去也只有幾行,搭官方的 @line/bot-sdk:
1 | // 直接把模板 JSON 讀進來 |
兩個地方要記得。第一,模板的 JSON 本身就是一個完整的 bubble 物件,所以直接當 contents 丟就好,不用再包一層。第二,altText 是必填的——使用者在通知列看到的、或裝置太舊不支援 Flex 時看到的,就是這串退化文字,別偷懶。
還有個小坑:檔名裡有中文跟 emoji,用 require 讀的時候路徑編碼很容易出包。實務上很多人乾脆把檔案改成英文名,或改用 fs.readFileSync 加 JSON.parse 把這層問題繞掉。
模板涵蓋的情境,比你以為的雜
作者名義上把模板分四大類,但實際塞進去的東西雜很多。電商下單、餐飲、美業預約、診所叫號、優惠券、限時搶購、OTP 驗證碼、訂閱到期提醒這些常見的就不說了。比較意外的是還有健身預約、體檢報告、投資組合、課程表、遊戲排行榜、天氣、智慧家居狀態、薪資單、生日賀卡、每日運勢,連 Web3 資產儀表板都做了一張。
值得一提的是它的排版習慣是對的。用 separator 拉分隔線、用相對的 flex 權重做多欄對齊、間距用語意化的 token(xs / sm / md / lg)、header 直接套 LINE 官方綠 #06C755。這代表你照著抄的同時,順手就把正確的排版姿勢學起來了——這點其實比那 56 張卡片本身更值錢。
現在講真正該猶豫的地方
到這裡都很美好。但要不要用,得看清楚它沒給你的東西,而這些恰好都藏在你「真的把它接進產品」的那一刻才會炸出來。
最大的一件:它沒有 templating 機制。範本裡的訂單號、金額、地址,全部是寫死的範例字串。它不會幫你把 {{orderId}} 換成真的訂單編號,這種事你得自己用字串替換、或 JSON.parse 之後改物件。所以如果你的卡片內容是動態長出來的——品項數量不固定、欄位會增減——那模板幫你的只是「省下排版的起手式」,真正的組裝邏輯一行都沒少。
第二件:模板都是單張 bubble,沒有 carousel 組裝工具。要做那種可以左右滑的多卡輪播,你得自己把好幾個 bubble 包成 carousel 結構。
第三件,也是最該先確認的:這包沒有 LICENSE 檔。GitHub 上顯示 license: null,法律上的預設是「保留所有權利」,嚴格講它沒有給你明確的開源授權。當素材參考、學排版怎麼寫,沒問題;但你要拿去商用,最穩的做法是先寫信問作者一聲。
還有個背景值得知道:它跟作者的商業產品綁得很緊。作者另外做了一個線上視覺編輯器 FlexCraft,所有模板都能匯入那邊改色改字,連預覽圖都是用它自動截的。換句話說,這個 repo 某種程度上是那個編輯器的素材展示跟引流。這不是壞事——東西好用就好——但你心裡要有數,別把它當成一個有社群在維護的成熟開源專案。它建立於 2026 年 5 月,star 還在個位數,作者倒是幾乎每天在 push。
所以,抄還是不抄
把判斷壓成一句話:如果你要發的是內容相對固定、版型不會天天變的卡片,直接抄,這是你今天最划算的十分鐘。 訂單確認、預約成功、OTP、活動通知這類,套一張改一改就上線了,比純文字訊息的信任感跟轉換率高一截。
但如果你要做的是一套會隨資料動態生成、版面要程式化拼裝的卡片系統,那就把這包當「設計參考」看待——抄它的排版手法、學它怎麼用 flex 權重對齊,然後回頭自己寫一個能吃變數的產生器。在那個量級上,現成 JSON 反而會變成你要維護的負擔,而不是資產。
工具的價值從來不在它能做多少事,而在它替你省掉的,是不是你真正卡住的那一步。先想清楚你卡在哪,再決定要不要抄。










