架站筆記

AI 生圖 API 哪家 CP 值最高?算完發現決定價格的不是平台,是計費單位

2026-08-14 #Gemini#fal.ai#Replicate#FLUX#API 成本

這站每篇文章的封面圖都是 API 生的(tools/make-cover.js),累積 20 張。最近想確認「有沒有更便宜的平台」,把 Google、fal.ai、Replicate、Together AI 的價目表全部攤開對完之後,結論跟原本想的不一樣:

價差主要不是來自平台,而是來自計費單位。 同一個開源模型 FLUX.1 [schnell],在三個平台的實際單價差到兩倍,而三家的表定價格幾乎一樣。關鍵在這站的封面圖是 1376×768 = 1.057 MP,只超過 1 MP 門檻 5.7%,就足以讓「按 MP 無條件進位」的平台收兩倍的錢。

順帶驗掉一個直覺:把 Gemini 模型掛在 fal.ai 上跑不會比較便宜,而是貴 25%。轉售就是轉售。

一、先確認現況:這個站到底在花多少錢

不查價目表,先看程式碼在呼叫什麼。tools/make-cover.js 的預設值:

1
2
const model = args.model || 'gemini-3.1-flash-lite-image';
const size = args.size || '1K';

搭配 response_format 裡的 aspect_ratio: '16:9'。也就是 Nano Banana 2 Lite,Gemini 家族最便宜的生圖模型。

母檔留在 assets/covers-original/(已 gitignore),直接解 JPEG header 拿實際尺寸:

1
2
3
4
5
6
batch-loop-db-cache.jpg                1376x768 1.057 MP 458KB
db-data-dictionary-with-claude.jpg 1376x768 1.057 MP 390KB
dotnet-cache-comparison.jpg 1376x768 1.057 MP 408KB
dotnet-dll-diff-report.jpg 1376x768 1.057 MP 467KB
llm-wiki-intro.jpg 1376x768 1.057 MP 563KB
llm-wiki-tutorial.jpg 1376x768 1.057 MP 563KB

1376×768,每張都一樣。 這個數字等一下會變成整篇文章的關鍵。

Google 按 output token 計價,跟實際像素無關,只看 image_size 檔位:1K 一張固定 1,120 tokens,費率 $30 / 1M tokens,所以一張是 1120 × 30 / 1000000 = $0.0336,約台幣 1.05 元。站上 20 張 ≈ $0.67(NT$21)。含試錯重生的次數,撐死一杯咖啡。

二、把四家的價目表攤開

驗證過的數字(1K、16:9、單張):

平台 模型 表定價格 計費單位
Google 直連 Gemini 3.1 Flash Lite Image $30 / 1M tok token(檔位)
Google 直連 Gemini 3.1 Flash Image $60 / 1M tok token(檔位)
Google 直連 Gemini 3 Pro Image $120 / 1M tok token(檔位)
fal.ai Nano Banana 2 Lite $37.50 / 1M tok token
fal.ai FLUX.1 [schnell] $0.003 / MP MP,進位
fal.ai FLUX.2 $0.012 / MP MP
fal.ai Qwen-Image $0.02 / MP MP,進位
fal.ai Seedream V4 $0.03 / 張 張
Replicate FLUX schnell $3.00 / 1000 張 張
Replicate FLUX dev $0.025 / 張 張
Replicate FLUX 1.1 pro $0.04 / 張 張
Together AI FLUX.1 [schnell] $0.0027 / MP MP
Together AI FLUX.1 [dev] $0.0154 / 張 張

第一眼看起來,fal 的 schnell($0.003/MP)最便宜。這就是陷阱所在。

三、第一個陷阱:同一個模型,轉售平台只會更貴

先處理最單純的一項。fal.ai 上確實有 google/nano-banana-2-lite,也就是這站現在用的同一個模型。價格是 $37.50 / 1M image output tokens,而 Google 直連是 $30.00。

走法 費率 1K 一張
Google 直連 $30 / 1M tok $0.0336
fal.ai 轉售 $37.50 / 1M tok $0.042

貴 25%。 而且 fal 的這個端點固定輸出 1024×1024,連 16:9 都拿不到。

這其實是合理的:fal 自己也要付 Google 的錢,中間那 25% 是它的營收。所以「改用 fal 省錢」如果指的是繼續跑 Nano Banana,方向從一開始就錯了——多繞一層、多付錢、還少一個尺寸選項。

要省錢就得換模型,而換模型跟平台是誰無關。

四、第二個陷阱:1.057 MP

換模型的話,最便宜的候選是 FLUX.1 [schnell]。但這裡有個要命的細節,fal 的模型頁寫得很清楚:

Your request will cost $0.003 per megapixel. Images are billed by rounding up to the nearest megapixel.

無條件進位。而這站的封面圖是 1.057 MP。

1.057 進位 = 2。 只超過門檻 5.7%,付兩倍的錢。

把這條規則套回價目表,同一張 1376×768 的圖:

平台 模型 表定 實際付 vs 現況
Replicate FLUX schnell $0.003 / 張 $0.003 −91%
Together AI FLUX.1 schnell $0.0027 / MP ~$0.003 −91%
fal.ai FLUX.1 schnell $0.003 / MP $0.006 −82%
Google 直連 Flash Lite(現況) — $0.0336 —
fal.ai Qwen-Image $0.02 / MP $0.04 +19%

兩個反直覺的結果:

  1. 同一個開源模型,Replicate 比 fal 便宜一半。 不是因為 Replicate 有折扣,純粹因為它按張計費($3.00 / 1000 張),不管你的圖是 0.9 MP 還是 1.05 MP。
  2. Qwen-Image 表定 $0.02/MP 看起來比現況便宜,實際付 $0.04,比現況貴 19%。 只看表定價格會做出完全相反的決定。

所以真正該問的不是「哪家便宜」,而是**「我的圖幾 MP、這家怎麼進位」**。

順帶一提,如果哪天真的要換到按 MP 計費的平台,換之前該做的第一件事不是選平台,是把輸出尺寸壓到 1 MP 以下:1280×720 = 0.92 MP,落在第一個級距內,直接省一半。對部落格封面來說,版面寬度撐死 800px,1280 寬綽綽有餘。這比選哪一家重要得多。

五、那到底誰 CP 值最高?

分場景,因為答案不只一個:

場景 最佳選擇 理由
大量產圖(月產千張以上) Replicate FLUX schnell $0.003/張,按張計費不會被尺寸咬
要試很多種模型 fal.ai 一把 key 打遍所有模型,省的是時間不是錢
要 Gemini 系列 Google 直連 轉售必貴,沒有例外
低量、要風格一致 維持現狀 見下

這個部落格屬於最後一種。把年度成本算出來就知道為什麼:

方案 每張 一年 50 張 年省
現況(Google Flash Lite) $0.0336 $1.68(NT$53) —
換 Replicate schnell $0.003 $0.15(NT$5) NT$48

一年省不到台幣 50 元。 這個數字不足以支撐任何工程決策。

六、換平台的真實代價

省 NT$48 要付出什麼:

腳本要重寫。 現在的 generate() 是一次同步 POST,直接從回應拿 base64:

1
2
const img = (body.steps || []).flatMap((s) => s.content || []).find((c) => c.type === 'image');
return Buffer.from(img.data, 'base64');

fal 是 queue-based(submit → poll 或 webhook),回傳的是圖片 URL 不是 base64;Replicate 的 prediction API 同樣要輪詢。整個函式加錯誤處理都得改,還要多一把 key、多一個帳號要儲值。

風格會斷層。 20 張封面已經是同一套 STYLE 產出的視覺語言,換模型等於往後的圖跟前面的對不上。這個代價無法用錢衡量,而且不可逆——除非把舊的 20 張全部重生(那又是一筆錢跟一個下午)。

STYLE 裡的 no-text 是硬需求,而且沒驗過。 腳本的 STYLE 結尾寫著:

1
Absolutely no text, no letters, no numbers, no labels, no watermarks anywhere in the image.

這條不是偏好,是這個腳本的設計前提(檔頭註解寫得很清楚:中文字形準確率不穩,所以乾脆全面禁止)。FLUX schnell 對這種否定式指令的遵循度我沒有實測過,不能宣稱它比較差——但這正是換之前必須先驗的一件事。只要它有一定機率糊出假字母,退貨重生的次數就會吃掉一部分價差,而且吃掉的是時間不是錢。用 NT$48 去賭一個未知數,划不來。

七、真正值得評估的優化

如果目標真的是省這筆錢,有一個不用換平台、不用換模型、不用重寫風格的選項:Google 的 Batch 模式。

模式 費率 每張
Standard(現況) $30 / 1M tok $0.0336
Batch $15 / 1M tok $0.0168

直接半價,而且是同一個模型、同一套 STYLE、同一種視覺語言,零風格風險。 這是這次對價過程裡唯一在技術上乾淨的省法。

但它的代價一樣真實:Batch API 是非同步的,作業最長可能排到 24 小時才回。而封面圖的實際流程是「生完馬上看,不喜歡就改 prompt 重生」——一個要等一天才知道結果的迴圈,會把原本五分鐘的事變成三天。

為了省 NT$26 讓迭代週期從五分鐘變成一天,這筆交易比換平台更糟。

所以決策樹跑完是這樣:

flowchart TD
    Q([想省生圖的錢]) --> A{換平台跑
同一個模型} A -->|fal 轉售| X1["貴 25%,否決"] A -->|否| B{換更便宜的模型} B -->|是| C{目標平台
怎麼計費} C -->|按 MP 進位| X2["1.057 MP 算 2 MP
先把尺寸壓到 1 MP 以下"] C -->|按張| D["年省 NT$48
代價:重寫腳本 + 風格斷層"] B -->|否| E{改用 Batch} E -->|是| X3["省一半,但迭代
從 5 分鐘變 1 天,否決"] E -->|否| F([維持現狀]) D --> G{值得嗎} G -->|這站的量級| F G -->|月產千張| H([換 Replicate])

結論

CP 值最高的平台不存在,只有 CP 值最高的組合。 而這次對價真正的收穫不是價格表,是三件可以帶走的事:

  1. 轉售平台不會比原廠便宜。 想用某家的模型就去那家直連,fal 這類聚合平台的價值在「一把 key 試遍所有模型」,那是省時間不是省錢。
  2. 看計費單位,不要看表定單價。 按張 / 按 MP 進位 / 按 token 檔位,是三種完全不同的東西。Qwen-Image 表定比現況便宜,實際貴 19%,價差整整來自那 0.057 MP。
  3. 先算年度總額再決定要不要優化。 這站一年 $1.68,最極端的優化省下 NT$48。任何需要改程式碼的方案,光是寫的時間就已經超過它一輩子能省的錢。

至於這站的封面圖,維持 gemini-3.1-flash-lite-image 不動。真要動的理由應該是「想換一種視覺風格」,那時候值得比的是 Seedream V4($0.03/張)或 FLUX.2($0.012/MP)這種同價位、不同美感的選項——schnell 那個價差在這個量級構不成理由。


延伸閱讀:

Creative Commons 姓名標示 非商業性

本文採用 CC BY-NC 4.0 授權

歡迎轉載與引用,請標明出處(AI 生圖 API 哪家 CP 值最高?算完發現決定價格的不是平台,是計費單位 — mur mur);禁止用於商業用途。

商業使用或合作提案,歡迎來信洽談:[email protected]

留言
分享

留言