2Slides Logo
2026年銷售簡報產品目錄自動化
2Slides Team
9 min read

產品目錄到銷售簡報自動化(2026)

產品目錄到簡報自動化指的是一個腳本從您的 Shopify 匯出、PIM 或 CSV 中讀取每個 SKU,並呼叫 2Slides API 兩次:POST /api/v1/slides/generate 從固定品牌範本建立可編輯的 PPTX 銷售單頁,POST /api/v1/slides/create-like-this 則建立與您的活動主視覺相符的圖片設計發表簡報。6 頁銷售單頁花費 60 點數(約 0.15 美元);8 頁 2K 發表簡報花費 810 點數(約 2.03 美元)。此方案專為電商營運、產品行銷及服務零售品牌的代理商打造。

重點摘要

  • 一筆目錄資料行產生兩份簡報:Fast PPT 銷售單頁每頁 10 點數,圖片設計發表簡報每次 10 點數加每頁 2K 100 點數。
  • 每個生成端點限制每個金鑰每分鐘 6 次請求,因此執行器每 10 秒送出一個作業,並將 jobId 儲存於 SKU 旁。
  • 傳入品牌主視覺作為 referenceImageUrl,讓每份發表簡報維持同一活動風格,買家用「16:9」比例,社群用「4:5」比例。
  • 同一請求加上 responseLanguage: "German""Japanese",即可產出跨境市場用的零售商簡報,無需額外翻譯步驟。
  • 每月 20 個 SKU(銷售單頁加發表簡報)約需 17,400 點數,剛好在一包 42.5 美元的 20,000 點數包內。

適用對象

您負責品牌、市集或代理商的電商營運或產品行銷,每有新 SKU 或季節新品就有人手動重做相同的銷售單頁、系列審查簡報和發表簡報。目錄已包含名稱、特色、規格、價格和主圖。此方案讓目錄成為真實資料來源,並讓腳本定時或在 Shopify 事件觸發時,從 CSV 行自動產生產品簡報。

如果您只需要每季一份客製簡報,請勿使用此方案。API 僅在相同結構重複於數十或數百 SKU 時才划算。

工作流程一覽

步驟工具發生什麼事2Slides 端點 / 點數
1Shopify 匯出、PIM 或 CSV將每個 SKU 行標準化成純文字簡報(名稱、特色、規格、價格、零售商、圖片 URL)
2Node.js 腳本從品牌範本建立可編輯的零售商銷售單頁 PPTXPOST /api/v1/slides/generate,每頁 10 點數
3Node.js 腳本建立與活動主視覺相符的圖片設計發表簡報,16:9 與 4:5POST /api/v1/slides/create-like-this,每次 10 點數加每頁 2K 100 點數
4Node.js 腳本送出作業間隔 10 秒,持久化 jobId 與 SKU 對應,輪詢,並上傳至 S3GET /api/v1/jobs/{jobId},免費
5同一腳本,額外行產生德文與日文版本給跨境零售商同端點,依市場設定 responseLanguage
6Shopify + Make商品建立事件觸發 HTTP 請求,新 SKU 幾分鐘內取得簡報同端點,同點數

步驟 1:將目錄標準化為每 SKU 簡報

無論來源為何,將每個 SKU 攤平成相同欄位的資料行。Shopify 產品 CSV 已包含 TitleBody (HTML)Variant PriceImage Src;PIM 匯出通常有結構化屬性。自行新增兩欄:target_retailer(哪個買家看到此銷售單頁)和 market(零售商使用語言)。

sku,name,features,specs,price,hero_image_url,target_retailer,market NB-TRAIL-042,Northbound Trail Runner 2,"Vibram outsole; 8 mm drop; recycled mesh upper","Weight 265 g; Sizes EU 39-47; Colors: Moss, Slate",139.00,https://cdn.example-brand.com/nb-trail-042.jpg,Decathlon DE,de NB-TRAIL-042,Northbound Trail Runner 2,"Vibram outsole; 8 mm drop; recycled mesh upper","Weight 265 g; Sizes EU 39-47; Colors: Moss, Slate",139.00,https://cdn.example-brand.com/nb-trail-042.jpg,Xebio JP,ja NB-PACK-018,Northbound Daypack 22L,"Roll-top closure; laptop sleeve; 420D ripstop","Volume 22 L; Weight 610 g; Colors: Sand, Black",89.00,https://cdn.example-brand.com/nb-pack-018.jpg,REI US,en

提示建構器將一行轉成 userInput。保持在數百字以內,並在文字中說明受眾與頁數,因為 Fast PPT 會根據簡報規劃簡報。

function sellSheetPrompt(row) { return [ `Retailer sell sheet for ${row.name} (SKU ${row.sku}), prepared for the buying team at ${row.target_retailer}.`, `6 slides: cover with product name and one-line positioning; key features; technical specs; pricing and margin talking points (retail price ${row.price} EUR); merchandising and launch timing; contact and next steps.`, `Features: ${row.features}. Specs: ${row.specs}.`, `Tone: factual, buyer-facing, no marketing superlatives.`, ].join("\n"); } function launchPrompt(row) { return [ `Product launch deck for ${row.name} (SKU ${row.sku}).`, `Audience: retail buyers and category managers.`, `Cover the hero story, the three headline features (${row.features}), the spec sheet (${row.specs}), retail price ${row.price} EUR, and the seasonal campaign window.`, `Use the product hero image at ${row.hero_image_url} as the visual anchor where appropriate.`, ].join("\n"); }

步驟 2:用 Fast PPT 產生零售商銷售單頁

客戶經理需要可開啟、編輯價格並轉寄的 PPTX。這是 Fast PPT 路徑:POST /api/v1/slides/generate 從 1,500 多個設計範本中填入,約 30 秒回傳原生 PowerPoint 檔。每個品牌選一個 themeId 並硬編碼,讓所有銷售單頁共用同一版型系統。若品牌已有核准範本,品牌一致 AI 簡報範本填充 介紹如何標準化。

2Slides Fast PPT 範本卡片,API 自動化的可編輯 PPTX 路徑
圖 1:Fast PPT 範本庫。下方 API 呼叫與按下「Generate」按鈕相同,themeId 依品牌固定。

找出範本並將 ID 存入環境變數:

curl "https://2slides.com/api/v1/themes/search?query=retail%20product%20catalog&limit=5" \ -H "Authorization: Bearer $SLIDES_API_KEY"

接著產生。預設 modesync,一次呼叫回傳 downloadUrl。批次使用 mode: "async",請求立即回傳 jobId,腳本持續送出。

curl -X POST https://2slides.com/api/v1/slides/generate \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Retailer sell sheet for Northbound Trail Runner 2 (SKU NB-TRAIL-042), prepared for the buying team at REI US. 6 slides: cover; key features (Vibram outsole, 8 mm drop, recycled mesh upper); technical specs (265 g, EU 39-47, Moss and Slate); pricing and margin talking points (retail 139.00); merchandising and launch timing; contact and next steps. Tone: factual, buyer-facing.", "themeId": "YOUR_BRAND_THEME_ID", "responseLanguage": "English", "mode": "async" }'

6 頁銷售單頁花費 60 點數,約 0.15 美元(以 5 美元包計算)。

步驟 3:用 create-like-this 產生活動發表簡報

發表簡報不同。買家與社群頻道期望它看起來像活動,而非範本,且沒人會逐頁編輯。這是圖片設計路徑:POST /api/v1/slides/create-like-this 傳入 referenceImageUrl,從該圖片推導設計系統(調色盤、字型、構圖),並將每頁渲染成 PDF 內的圖片。指向季節主視覺,所有 SKU 簡報繼承活動風格。Create Slides Like This 產品頁展示相同流程於網頁工作區。

2Slides Nano Banana 圖片設計簡報頁面,create-like-this 背後的流程
圖 2:圖片設計簡報流程。create-like-this 是 API 入口;參考圖片取代文字風格提示。

每個 SKU 執行兩次,aspectRatio 分別為「16:9」買家簡報與「4:5」社群輪播。圖片流程預設 mode: "async"

curl -X POST https://2slides.com/api/v1/slides/create-like-this \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Product launch deck for Northbound Trail Runner 2 (SKU NB-TRAIL-042). Audience: retail buyers and category managers. Cover the hero story, three headline features (Vibram outsole, 8 mm drop, recycled mesh upper), the spec sheet (265 g, EU 39-47), retail price 139.00, and the FW26 campaign window.", "referenceImageUrl": "https://cdn.example-brand.com/campaigns/fw26/key-visual.jpg", "aspectRatio": "16:9", "resolution": "2K", "page": 8, "contentDetail": "standard", "imageModel": "gemini-3-pro-image", "responseLanguage": "English", "mode": "async" }'

社群版本改 aspectRatio 為「4:5」、page 為 6,簡報內容縮短為主故事加三個特色。8 頁 2K 簡報花費 10 + 800 = 810 點數(約 2.03 美元);6 頁 4:5 版本花費 610 點數(約 1.53 美元)。page: 0 讓規劃器決定頁數,但固定頁數讓目錄成本可預測。

步驟 4:以每分鐘 6 請求批次執行目錄

速率限制為每 API 金鑰每分鐘 6 次請求,GET /api/v1/jobs/{jobId} 允許每分鐘 10 次。遵守限制的執行器很簡單:每 10 秒送一個作業,將 jobId 寫入 SKU 附近的檔案,然後以輪詢方式每 6 秒檢查一個待處理作業。每個完成的檔案在作業成功後立即上傳至雲端儲存。

// catalog-to-decks.mjs (Node 20,伺服器端執行;切勿將 SLIDES_API_KEY 傳到瀏覽器) import { readFile, writeFile } from "node:fs/promises"; import { parse } from "csv-parse/sync"; import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3"; const API = "https://2slides.com/api/v1"; const headers = { "Content-Type": "application/json", Authorization: `Bearer ${process.env.SLIDES_API_KEY}`, }; const THEME_ID = process.env.BRAND_THEME_ID; const KEY_VISUAL = "https://cdn.example-brand.com/campaigns/fw26/key-visual.jpg"; const s3 = new S3Client({ region: "eu-central-1" }); const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); const LANGUAGE = { en: "English", de: "German", ja: "Japanese" }; async function submit(path, body) { const res = await fetch(`${API}${path}`, { method: "POST", headers, body: JSON.stringify(body) }); if (!res.ok) throw new Error(`${path} -> ${res.status} ${await res.text()}`); return res.json(); // async 模式回傳 { jobId, ... } } // 1. 提交:每 10 秒一請求,保持每分鐘低於 6 請求 const rows = parse(await readFile("catalog.csv", "utf8"), { columns: true }); const jobs = []; // { sku, market, kind, jobId } for (const row of rows) { const responseLanguage = LANGUAGE[row.market] ?? "Auto"; const sheet = await submit("/slides/generate", { userInput: sellSheetPrompt(row), themeId: THEME_ID, responseLanguage, mode: "async", }); jobs.push({ sku: row.sku, market: row.market, kind: "sell-sheet", jobId: sheet.jobId }); await sleep(10_000); for (const [aspectRatio, page, kind] of [["16:9", 8, "launch-16x9"], ["4:5", 6, "social-4x5"]]) { const deck = await submit("/slides/create-like-this", { userInput: launchPrompt(row), referenceImageUrl: KEY_VISUAL, aspectRatio, resolution: "2K", page, contentDetail: "standard", responseLanguage, mode: "async", }); jobs.push({ sku: row.sku, market: row.market, kind, jobId: deck.jobId }); await sleep(10_000); } // 將 jobId 與 SKU 對應寫入磁碟,避免中斷時遺失已付費作業 await writeFile("jobs.json", JSON.stringify(jobs, null, 2)); } // 2. 輪詢:jobs/{id} 每分鐘允許 10 請求,故每 6 秒檢查一作業,輪流進行 const pending = new Set(jobs.map((j) => j.jobId)); while (pending.size > 0) { for (const job of jobs.filter((j) => pending.has(j.jobId))) { const res = await fetch(`${API}/jobs/${job.jobId}`, { headers }); const state = await res.json(); // { status, progress, downloadUrl } if (state.status === "success") { pending.delete(job.jobId); const file = await fetch(state.downloadUrl); const ext = job.kind === "sell-sheet" ? "pptx" : "pdf"; await s3.send(new PutObjectCommand({ Bucket: "brand-sales-assets", Key: `decks/${job.sku}/${job.market}/${job.kind}.${ext}`, Body: Buffer.from(await file.arrayBuffer()), })); console.log(`uploaded ${job.sku} ${job.market} ${job.kind}`); } else if (state.status === "failed") { pending.delete(job.jobId); console.error(`failed ${job.sku} ${job.kind}`, state); } await sleep(6_000); } }

每個 SKU 三個作業,間隔 10 秒,100 個 SKU 約 50 分鐘送出;輪詢 300 個作業,每 6 秒檢查一次,約加 30 分鐘。若偏好 Python,可參考 用 Python 與 2Slides API 自動產生簡報,通用排程模式見 如何用 AI API 批次產生簡報

步驟 5:為跨境零售商新增多語系版本

跨境市場是自動化的價值所在。德國買家與日本買家應分別收到其語言版本的銷售單頁,且使用相同規格與品牌範本。無需翻譯服務:responseLanguage 接受語言名稱,簡報即以該語言從同一英文簡報撰寫。

2Slides API 端點參數與支援輸出語言
圖 3:generate 端點參數與支援輸出語言。傳入語言名稱,如 "German",不要用代碼 "de"。

上述腳本已將 market 映射為語言名稱(de 對應 "German",ja 對應 "Japanese")。支援超過 20 種語言,包括西班牙語、法語、義大利語、葡萄牙語、波蘭語、韓語、簡體中文、繁體中文、阿拉伯語與土耳其語。價格請以市場貨幣(EUR、JPY)書寫,並在簡報中標明零售商名稱,讓數字與語境在地化,不僅是文字。

curl -X POST https://2slides.com/api/v1/slides/generate \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Retailer sell sheet for Northbound Trail Runner 2 (SKU NB-TRAIL-042), prepared for the buying team at Xebio. 6 slides: cover; key features (Vibram outsole, 8 mm drop, recycled mesh upper); technical specs (265 g, sizes 25-30 cm, Moss and Slate); pricing and margin talking points (retail JPY 21,900); merchandising and launch timing; contact and next steps.", "themeId": "YOUR_BRAND_THEME_ID", "responseLanguage": "Japanese", "mode": "async" }'

每種語言版本為獨立作業,費用相同,故一 SKU 在三個市場銷售需三份銷售單頁:180 點數,約 0.45 美元。

步驟 6:用 Make 觸發 Shopify「商品建立」事件

批次執行器處理季節新品。若是持續有新 SKU,將商店連接 API,商品建立後幾分鐘內即產生簡報。Make(參見 Make 說明中心)直接暴露 Shopify 商品事件;Zapier 或 n8n 也適用相同資料結構。

  • 觸發器:Shopify「監控商品」事件(商品建立),或由 Shopify products/create webhook 觸發的 Webhook。
  • 轉換:Code 節點,去除商品描述 HTML,擷取 variants[0].priceimages[0].src,並組成 userInput,如 sellSheetPrompt
  • HTTP 請求節點(1)POST https://2slides.com/api/v1/slides/create-like-this,帶入步驟 3 的內容;Authorization: Bearer <key> 從場景變數取得,絕不從商品資料。
  • 延遲/等待節點:60 秒。
  • HTTP 請求節點(2)GET https://2slides.com/api/v1/jobs/{{jobId}}。Router 檢查 statussuccess 繼續,pendingprocessing 回到延遲,failed 發 Slack 警報。
  • 輸出:HTTP GET 下載 downloadUrl,上傳至 Google Drive、Dropbox 或 S3 SKU 資料夾,並在表單新增 skujobIdstatus 與儲存路徑。

Shopify 可能短時間內觸發多個商品事件(批量匯入、App 同步)。此處也要加入 10 秒間隔,或將事件排入佇列,讓步驟 4 執行器排空,否則 20 筆匯入同時送出會在第 7 次請求失敗。

選擇參考風格

create-like-this 需要參考圖片。若目標是活動一致性,使用自家活動主視覺最合適。若尚未決定零售業簡報風格,2Slides Gallery 提供真實參考簡報,可研究或傳入 referenceImageUrl 借用其設計系統。這些是參考簡報,不是 API 輸出。

2Slides Gallery 中 DHL 2025 電商趨勢參考簡報,零售業風格參考
圖 4:2Slides Gallery 中 DHL 2025 電商趨勢報告封面。乾淨且數據導向的封面風格,適合作為品類或系列審查簡報參考。

2Slides Gallery 中 DHL 2025 電商趨勢參考簡報,零售業風格參考
圖 5:同一參考簡報的內頁。傳入此類幻燈片作為 referenceImageUrl,模型會重用其網格、調色盤與圖表風格。

每個活動與每種比例使用單一參考圖片。不同 SKU 換圖會產生 40 份風格各異、非同一家族的簡報。

費用說明

點數採用隨用隨付:5 美元購買 2,000 點(每點 0.0025 美元),80 美元購買 40,000 點(每點 0.002 美元)。新帳號起始有 500 點免費點數,約可測試 8 份銷售單頁。

用量每 SKU每月點數約合美元
每月 20 SKU:6 頁銷售單頁 + 8 頁 16:9 發表簡報60 + 810 = 87017,40042.5 美元(一包 20,000 點數)
每月 20 SKU:加 6 頁 4:5 社群簡報870 + 610 = 1,48029,60060 至 74 美元,視點數包大小而定
每月 500 SKU:銷售單頁 + 16:9 發表簡報870435,000約 870 美元(每點 0.002 美元)
每月 500 SKU:三種簡報全包1,480740,000約 1,480 美元(每點 0.002 美元)

僅銷售單頁成本低廉:500 份 6 頁 PPTX 銷售單頁約 30,000 點數,約 60 美元。圖片設計簡報是預算重點,故每 SKU 產生一次發表簡報,每市場產生一次銷售單頁。

比較而言,Gamma API(參見 developers.gamma.app)提供類似自動化,但需 Pro 方案才能取得 API 金鑰;2Slides 金鑰適用任何帳號。2Slides 是我們產品,閱讀比較時請自行斟酌。

Fast PPT 或圖片設計簡報,哪個適合此用例?

需求使用原因
客戶經理編輯價格、替換頁面、轉寄買家Fast PPT generate原生 PPTX,每頁 10 點數,品牌固定 themeId
簡報必須精確符合活動主視覺create-like-thisreferenceImageUrl 推導設計系統
社群輪播或直式格式create-like-thisaspectRatio 設為「4:5」或「9:16」PDF 加每頁圖片,直接可用
有旁白的產品導覽或市集上架 MP4create-like-this,再 generate-narration(210 點數/頁)Fast PPT 作業無法產生旁白

常見陷阱

  • 大量匯入時觸及速率限制。 每個生成端點每金鑰每分鐘 6 請求。送出作業間隔 10 秒或排隊,勿用 Promise.all 同時送出。
  • API 金鑰放在 Shopify 主題或前端腳本。 金鑰必須放伺服器端(執行器、Make 連線或無伺服器函式);瀏覽器端任何人都能讀取。
  • 期望為 Fast PPT 銷售單頁產生旁白。 generate-narration 僅接受 create-pdf-slidescreate-like-this 作業。若目標是旁白產品影片,請從圖片設計簡報開始。
  • 傳入 responseLanguage: "de" 此參數需語言名稱,如 "German"、"Japanese"、"Spanish"。代碼不被識別。
  • 將完整 PIM 紀錄丟入 userInput 冗長屬性列表會使簡報雜亂。先摘要買家相關特色與規格;步驟 1 的 CSV 欄位即為篩選依據。
  • 讓規劃器決定目錄執行的頁數。 page: 0 適合單次使用,但固定頁數讓每 SKU 點數成本一致,方便預算控管。

常見問題解答

我能直接從 Shopify CSV 匯出產生產品簡報嗎?

可以。Shopify 產品 CSV 包含標題、描述、變體價格與圖片 URL;步驟 1 的建構器將這些欄位映射成 userInput。新增 target_retailermarket 欄位,或從標籤推導。執行器依序呼叫 generate 產生 PPTX 銷售單頁,create-like-this 產生發表簡報。

如何保持數百份發表簡報的品牌一致?

每次呼叫 create-like-this 傳入相同活動主視覺作為 referenceImageUrl,每種比例維持一個參考圖。設計系統從該圖片推導,簡報共享調色盤、字型與構圖。可編輯銷售單頁則硬編碼每品牌一個 themeId,確保所有 PPTX 來自同一範本。

產生 100 個 SKU 需要多久?

送出是瓶頸:每分鐘 6 請求,三份簡報每 SKU,約每 30 秒送出一個 SKU,100 個 SKU 約 50 分鐘送完。Fast PPT 作業約 30 秒完成;圖片設計簡報在背景完成,您持續送出。輪詢每分鐘 10 請求,約加 30 分鐘。

一個 SKU 需多少點數?

6 頁 Fast PPT 銷售單頁 60 點數(約 0.15 美元)。8 頁 2K 圖片設計發表簡報 10 點規劃加 800 點頁數,共 810 點數(約 2.03 美元)。6 頁 4:5 社群簡報 610 點數。三種合計 1,480 點數,80 美元包計約 0.002 美元/點,約 2.96 美元。

同一腳本能產生德文與日文簡報嗎?

可以。在同一請求體中設定 responseLanguage 為 "German" 或 "Japanese",簡報會以該語言從英文簡報撰寫。每語言版本為獨立作業,點數相同。簡報中請放入市場特定價格與零售商名稱,讓數字與語境與文字同時在地化。

下一步

About 2Slides

Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.

Try For Free