同一主視覺要拆成多組社交尺寸時,最怕「漏平台、檔名亂、無法還原當次參數」。本文假設你已有一台遠端 Mac,用 OpenClaw 把「API 呼叫 + 腳本範本 + 目錄約定」綁成批處理:任何人照步驟都能得到同一組 PNG。以下依 HowTo 順序寫:環境、金鑰與閘道、Prompt/模板、重試與命名、輸出結構;並內連安裝與校驗相關文章。需要服務條款或節點說明可至幫助中心。
① 環境與目錄準備
先讓遠端機成為「單一真實來源」,本機只做上傳主圖與下載結果。
- 系統:macOS 13+,可 SSH;執行
xcode-select --install以便使用sips抽驗寬高。 - OpenClaw:依 OpenClaw 安裝指南裝到固定路徑(例:
~/openclaw),版本號寫進 README,方便半年後還原。 - 專案根目錄(例):
~/DesignBatch/social-2026/,底下固定五類:input/(主視覺 PNG)、prompts/(模板與尺寸表)、scripts/(呼叫 API 的 shell/小程式)、out/(僅寫入結果)、logs/(run 日誌與 manifest)。 - 工具:
brew install jq(解析 JSON);若流水線要裁切/合成,再加imagemagick或沿用設計稿匯出 + 腳本校驗。
目錄一經約定就不要改路徑,OpenClaw 技能與 cron/launchd 才能穩定複現。
② API Key 與閘道安全
批處理會高頻打模型或影像 API,金鑰外洩成本極高,請當成「生產祕密」管理。
- 存放:只放互動式 shell 的環境變數(
~/.zshrc內export PROVIDER_API_KEY=...)或launchd的EnvironmentVariables;專案內用.env.example列出鍵名、不放真值;.gitignore排除.env與含金鑰的日誌。 - 閘道:若在中間層轉發請求,務必 TLS;對外公開時加 IP 白名單、每分鐘限流、請求體大小上限;禁止在 URL query 帶 Key。
- 分環境:
dev/stage/prod各一把 Key;遠端批處理機只掛prod讀取權。 - 日誌:寫入
logs/時對回應中的 token 欄位打碼;排程每季輪換 Key,舊 Key 加入撤銷清單。
③ Prompt/腳本模板與尺寸表
把「平台 → 像素」寫死成資料,Prompt 只負責描述任務,避免每次口頭改規格。
尺寸表片段(可依品牌再調):IG 方圖 1080×1080、限動 1080×1920;Facebook 連結預覽 1200×630;LinkedIn 1200×627;X/Twitter 橫幅 1500×500、貼文圖 1600×900(實際以當年官方建議為準,表中註明版本日期)。
機讀模板(放 prompts/job-spec.schema.json 同結構):
{
"campaign": "spring_sale",
"source_png": "input/hero_master.png",
"targets": [
{ "platform": "ig_square", "w": 1080, "h": 1080, "safe_margin_pct": 6 },
{ "platform": "ig_story", "w": 1080, "h": 1920, "safe_margin_pct": 10 },
{ "platform": "fb_link", "w": 1200, "h": 630, "safe_margin_pct": 5 }
],
"output_profile": "png_srgb_flat"
}
給模型的 Prompt 骨架(示意,請替換為貴司語氣):「依 job-spec 逐筆產生裁切指令:以 source_png 為準,維持 sRGB、避免文字進入邊緣 safe_margin_pct 區域;每個 target 輸出一行 shell(或 ImageMagick 參數),不要輸出金鑰。」OpenClaw 可把模型回傳寫入 scripts/generated_cut.sh,再由 shell 執行或交給下一個技能。
批量校驗邏輯(尺寸/命名)可與 Mac 安裝與批量校驗步驟對齊,減少「圖對了但檔名不合規」的返工。
④ 失敗重試與命名規範
API 逾時或 429 是常態,批處理要預設會失敗。
- 重試:同一 target 最多 3 次;等待
2^n秒(n=0,1,2);若 HTTP 429,優先讀Retry-After。單次 run 用環境變數RUN_ID=$(date +%Y%m%dT%H%M%S)貫穿日誌與檔名。 - 命名:
{campaign}__{platform}__{W}x{H}__{YYYYMMDD}__{runId}.png,全小寫、雙底線分段,避免空格與系統差異。同一 run 內檔名必唯一;若重跑,新runId即可與舊輸出並存,方便 diff。 - 帳本:每處理一個 target 追加一行
logs/manifest.jsonl:{"runId","platform","path","httpStatus","ok","ts"},失敗列留空path並寫error摘要,供 OpenClaw 或人工半自動補跑。
⑤ 資料夾輸出約定
交付給運營或廣告後台時,目錄結構即合約。
- 階層:
out/_staging/{RUN_ID}/{platform}/寫入過程檔;全數成功後同步到out/_release/{RUN_ID}/(可用rsync或單純mv)。 - 驗收:對 release 目錄跑
find . -name '*.png' -print0 | xargs -0 sips -g pixelWidth -g pixelHeight,抽查是否與尺寸表一致;根目錄放checksums.sha256。 - 與 Docker 流水線並存:若整條環境容器化,可參考 Docker 部署與批量導出自動化,把上述
out掛卷到宿主,方便下載。
⑥ 小結與下一步
可複現的關鍵不是「會用 OpenClaw」,而是:固定目錄、固定尺寸表、固定命名與 manifest、金鑰不進版控。先在遠端機跑一輪單平台,再擴到全表;每次發版只改 prompts/ 與腳本版本號,結果就能對照歷史 run。
若你希望批處理 24 小時待命、頻寬與路徑穩定,建議使用專用遠端 Mac作為執行節點:與本機設計環境分離,Key 與日誌邊界也更清楚。歡迎從技術見解繼續閱讀其他 OpenClaw 與 PNG 流程文,或直接前往購買/租用取得可長期掛載流水線的硬體環境。