2Slides Logo
自動化行銷報告簡報:Deck to Video API(2026)
2Slides Team
9 min read

自動化行銷報告簡報:Deck to Video API(2026)

要自動化行銷報告簡報,可設定週一的排程任務,拉取活動指標,請 LLM 撰寫 8 頁幻燈片敘述,並呼叫三個 2Slides 端點:create-pdf-slides 產生圖像設計的 16:9 回顧簡報,generate-narration 使用 multi 模式產生雙聲道旁白,最後用 download-slides-pages-voices 取得每頁 PNG 與 WAV 檔,並用 ffmpeg 合成 MP4。8 頁 2K 簡報約需 810 點數(約 2 美元),旁白加 1,680 點數(約 4.2 美元),每週帶旁白的回顧約 6 美元/客戶。適合行銷營運、成長工程師與代理商。

重點摘要

  • 一個排程任務取代週一例行工作:匯出指標、8 頁回顧簡報、雙聲道旁白與 1920×1080 MP4。
  • 三個 2Slides 端點完成工作:create-pdf-slides(2K 解析度每頁 10 + 100 點數)、generate-narration(每頁 210 點數)、download-slides-pages-voices(免費)。
  • 一個帶旁白的 8 頁回顧約需 2,490 點數,約 5 至 6.25 美元不等;純簡報 810 點數。
  • 每個寫入端點限制每分鐘 6 次請求,50 客戶同時執行應排隊處理,避免並行觸發。
  • Fast PPT (generate) 不支援旁白;製作影片請從 create-pdf-slidescreate-like-this 開始。

適用對象

適合每週一重做相同回顧簡報的行銷營運主管、已有指標資料倉庫的成長工程師,以及需每週向 20、50 或更多客戶報告的代理商。痛點相同:數字早上 6 點就有,簡報中午完成,卻有一半利害關係人根本不打開。

如果利害關係人需要後續在 PowerPoint 編輯簡報,請勿使用此流程;此圖像設計流程產出的是完成的 PDF 與頁面圖片,非原生 PPTX。若需可編輯的每週簡報,請參考 用 Zapier 和 2Slides 自動化每週報告 的 Fast PPT 路徑。

工作流程一覽

步驟工具發生什麼事2Slides 端點 / 點數
1. 觸發排程(GitHub Actions、Cloud Scheduler、VM 上的 cron)週一 06:00 於客戶時區觸發
2. 拉取指標Google Ads、Meta、GA4 匯出,或資料倉庫 SQL 查詢每客戶一個 JSON 物件:花費、計畫、轉換、CPA、主要通路、主要創意
3. 撰寫敘述選用的 LLM回傳 8 個標題段落:重點結果、花費 vs. 計畫、主要通路、創意勝出、受眾說明、測試、風險、下週計畫
4. 產生簡報2Slides以品牌 designStyle 產生 2K 解析度的 16:9 圖像設計簡報POST /api/v1/slides/create-pdf-slides,8 頁 810 點數
5. 加入旁白2Slides兩位講者交替旁白簡報POST /api/v1/slides/generate-narration,8 頁 1,680 點數
6. 下載素材2Slides取得包含 pages/page_01.pngvoices/page_01.wavtranscript.txt 的 ZIPPOST /api/v1/slides/download-slides-pages-voices,免費
7. 組合與交付ffmpeg(自有工作機)或 Workspace ExportH.264 MP4 發佈至 Slack、Email 或客戶入口網站ffmpeg 免費;Workspace 產生影片每頁 20 點數

每次呼叫 2Slides 都使用相同的 Authorization: Bearer $SLIDES_API_KEY 標頭,每個非同步工作可用 GET /api/v1/jobs/{jobId} 查詢狀態。

步驟 1:取得 API 金鑰並設定排程器

2slides.com/api 的 API Keys 分頁建立金鑰。新帳號免費獲得 500 點數,足夠完整執行一次流程驗證後再購買點數包。將金鑰存為排程器的秘密變數 SLIDES_API_KEY,切勿放在瀏覽器或共用筆記本,並用 echo 端點確認金鑰有效:

curl -s https://2slides.com/api/v1/echo \ -H "Authorization: Bearer $SLIDES_API_KEY"

2Slides API 參考文件,使用 Bearer 認證
圖 1:2slides.com/api 的 API 參考文件列出所有端點、Bearer 標頭與點數費用。

觸發器可用 GitHub Actions 工作流程,設定 on: schedule: - cron: "0 6 * * 1",適合少量客戶。50 客戶以上請排隊處理,讓單一工作者依序執行,避免超過每分鐘 6 次請求限制並保留重試空間。

步驟 2:拉取指標並讓 LLM 撰寫 8 頁敘述

2Slides API 不知道好的週報該說什麼,這部分由你決定,決定簡報品質。從廣告平台或資料倉庫拉取上週數字,整理成每客戶一個扁平 JSON 物件,然後提示 LLM 回傳精確 8 個標題段落:

  1. 重點結果:一個數字、一句話(例如「CPA 同比下降 18%,花費持平」)。
  2. 花費 vs. 計畫:實際、計畫、差異、月度進度。
  3. 主要通路:三個通路的花費、轉換、CPA 及變化。
  4. 創意勝出:兩三個轉換最佳的廣告及原因。
  5. 受眾與地理說明:變動情況。
  6. 正在執行的測試:假設、狀態、讀取日期。
  7. 風險與阻礙:預算上限、追蹤缺口、季節性。
  8. 下週計畫:三點重點與負責人。

要求用簡潔句子,數字內嵌,段落不超過 60 字。create-pdf-slides 將你的文字視為文案與版面設計的唯一依據,400 至 500 字的敘述比起 3,000 字的指標堆砌能產生更精緻的簡報。

// narrative.mjs:在送給 2Slides 前整理 LLM 輸出 export function toUserInput(client, sections) { const header = `Weekly paid media recap for ${client.name}, week of ${client.week}. ` + `Audience: ${client.stakeholders}. Tone: direct, numbers first.`; const body = sections .map((s, i) => `Slide ${i + 1}: ${s.title}\n${s.body}`) .join("\n\n"); return `${header}\n\n${body}`; }

步驟 3:用 create-pdf-slides 自動產生活動報告簡報

將敘述送到 create-pdf-slides。設定 page: 8 以符合八個段落,aspectRatio: "16:9" 適合螢幕,resolution: "2K" 讓 PNG 在 1920×1080 下不失真。designStyle 定義品牌風格:色彩、字體感覺、版面規則與禁忌。

curl -s https://2slides.com/api/v1/slides/create-pdf-slides \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Weekly paid media recap for Northwind Outdoor, week of 2026-09-01 to 2026-09-07. Audience: CMO and ecommerce lead. Tone: direct, numbers first.\n\nSlide 1: Headline result\nCPA fell 18% to $31.40 at flat spend of $48,200; 1,535 purchases vs. 1,301 the prior week.\n\nSlide 2: Spend vs. plan\nPlanned $50,000, spent $48,200 (-3.6%). Month pacing at 97% of plan.\n\nSlide 3: Top channels\nMeta $22,100 spend, 812 purchases, $27.20 CPA (-22%). Google Search $18,400, 571 purchases, $32.20 CPA (-9%). YouTube $7,700, 152 purchases, $50.66 CPA (+4%).\n\nSlide 4: Creative winners\n\"Trail-ready in 3 layers\" UGC video: 334 purchases, 3.1% CTR. \"Fall sale, free returns\" static: 218 purchases.\n\nSlide 5: Audience and geo notes\nPacific Northwest DMAs up 31% on purchases; 25-34 women now 41% of Meta conversions.\n\nSlide 6: Tests running\nBroad vs. interest targeting on Meta, day 9 of 14, read on Sept 12. Search brand exclusion test paused for tracking fix.\n\nSlide 7: Risks and blockers\nGA4 and Meta purchase counts diverge by 11%; YouTube CPA trending up two weeks straight.\n\nSlide 8: Next week plan\nShift $3,000 from YouTube to Meta UGC (owner: Priya). Launch two new UGC variants (owner: Sam). Close the GA4 tagging gap by Wednesday (owner: Dev).", "designStyle": "Northwind Outdoor brand: deep forest green #1F3D2B, sand #E8DCC4, white; bold geometric sans-serif headlines; one large number per slide; clean data cards and simple bar comparisons; generous margins; no stock photography, no gradients", "aspectRatio": "16:9", "resolution": "2K", "page": 8, "contentDetail": "concise", "imageModel": "gemini-3-pro-image", "responseLanguage": "English", "mode": "async" }'

回應為 { "jobId": "..." }。每 5 至 10 秒輪詢 GET https://2slides.com/api/v1/jobs/{jobId},直到 statussuccess(PDF 位於 downloadUrl)或 failed。8 頁 2K 約需數分鐘。費用:10 點規劃費加每頁 100 點,8 頁共 810 點數。

2Slides Nano Banana 圖像設計簡報頁面,create-pdf-slides 背後的流程
圖 2:Nano Banana presentation slides 背後的圖像設計流程即是 create-pdf-slides API 所用。

若想用現有品牌簡報作為參考,改用 create-like-this,並以 referenceImageUrl 指向公開的品牌簡報圖片。其他參數、費用與限制相同。

步驟 4:雙聲道旁白影片簡報 API

簡報工作成功後,呼叫同一 jobIdgenerate-narration。使用 mode: "multi",設定兩位講者名稱與兩種聲音;Kore 與 Puck 聲音差異大,聽眾可輕易辨識講者。includeIntro: true 會加上簡短開場,說明客戶與週次。

curl -s https://2slides.com/api/v1/slides/generate-narration \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "jobId": "<deck jobId from step 3>", "mode": "multi", "speaker1Name": "Maya", "speaker2Name": "Theo", "speaker1Voice": "Kore", "speaker2Voice": "Puck", "contentMode": "standard", "includeIntro": true }'

此端點回應 202,工作狀態回到 processing。持續輪詢同一 jobId,直到再次回傳 success。旁白費用為每頁 210 點(10 點腳本 + 200 點音訊),8 頁共 1,680 點。腳本長度與節奏建議請參考 Slides narration and video best practices

有人問比較:Gamma 開發者網站(https://developers.gamma.app)有串接 n8n、Synthesia、ElevenLabs 與自家 Generate API 的旁白影片流程,且 API 金鑰需 Pro 計畫。上述 2Slides 流程只用一個供應商、一組金鑰,且可自行用 ffmpeg 組合;不會像 Synthesia 那樣產生虛擬主持人。聲明:2Slides 是我們的產品。

步驟 5:用 ffmpeg 將每週行銷報告轉成影片

呼叫同一 jobIddownload-slides-pages-voices,免費取得 ZIP,內含 pages/page_01.pngpage_08.pngvoices/page_01.wavpage_08.wav,以及字幕或 Email 摘要用的 transcript.txt

curl -s https://2slides.com/api/v1/slides/download-slides-pages-voices \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "jobId": "<deck jobId>" }' \ -o recap.zip && unzip -q -o recap.zip -d recap

接著將每頁 PNG 與對應 WAV 合併並串接。以下一行指令產生 1920×1080 H.264 MP4,讓每頁幻燈片顯示時間剛好等於旁白長度:

cd recap && for i in $(seq -w 1 8); do ffmpeg -y -loop 1 -i pages/page_$i.png -i voices/page_$i.wav -c:v libx264 -tune stillimage -pix_fmt yuv420p -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2" -c:a aac -b:a 192k -shortest clip_$i.mp4; done && printf "file 'clip_%s.mp4'\n" $(seq -w 1 8) > list.txt && ffmpeg -y -f concat -safe 0 -i list.txt -c copy weekly-recap.mp4

最後的 concat demuxer 詳見 ffmpeg 格式參考。若要直式影片,將兩個 1920:1080 改為 1080:1920,並重新用 aspectRatio: "9:16" 產生簡報。

沒有 ffmpeg 工作機?可在 2Slides Workspace 開啟同一工作,使用 Export,再 Generate Video。瀏覽器渲染 1920×1080 或 1080×1920 H.264 MP4,每頁 20 點數(8 頁共 160 點數)。適合偶爾使用;ffmpeg 適合每週 50 客戶批量。

步驟 6:Node.js 自動化行銷報告簡報流程

以下為一支 Node 20 腳本,僅依賴 fetch。請替換 loadMetricswriteNarrative 為你的資料倉庫查詢與 LLM 呼叫。

// weekly-recap.mjs:Node 20+,由週一排程執行 import { writeFile } from "node:fs/promises"; import { execFile } from "node:child_process"; import { promisify } from "node:util"; import { toUserInput } from "./narrative.mjs"; import { loadMetrics, writeNarrative } from "./your-data-layer.mjs"; const BASE = "https://2slides.com"; const headers = { Authorization: `Bearer ${process.env.SLIDES_API_KEY}`, // 僅限伺服器端 "Content-Type": "application/json", }; const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); const run = promisify(execFile); async function post(path, body) { const res = await fetch(`${BASE}${path}`, { method: "POST", headers, body: JSON.stringify(body) }); if (!res.ok) throw new Error(`${path} -> ${res.status}: ${await res.text()}`); return res.json(); } async function waitForJob(jobId, everyMs = 8000) { for (;;) { const res = await fetch(`${BASE}/api/v1/jobs/${jobId}`, { headers }); const job = await res.json(); console.log(` job ${jobId}: ${job.status} ${job.progress ?? ""}`); if (job.status === "success") return job; if (job.status === "failed") throw new Error(`job ${jobId} failed: ${job.message ?? ""}`); await sleep(everyMs); // 每 5–10 秒輪詢;jobs/{id} 允許每分鐘 10 次請求 } } export async function buildRecap(client) { // 1) 指標 -> 8 段敘述 const metrics = await loadMetrics(client); const sections = await writeNarrative(client, metrics); // 2) 圖像設計簡報:2K 每頁 10 + 100 點數 const { jobId } = await post("/api/v1/slides/create-pdf-slides", { userInput: toUserInput(client, sections), designStyle: client.designStyle, aspectRatio: "16:9", resolution: "2K", page: 8, contentDetail: "concise", responseLanguage: client.language ?? "English", mode: "async", }); const deck = await waitForJob(jobId); console.log("deck PDF:", deck.downloadUrl); // 3) 雙講者旁白:每頁 210 點數 await post("/api/v1/slides/generate-narration", { jobId, mode: "multi", speaker1Name: "Maya", speaker2Name: "Theo", speaker1Voice: "Kore", speaker2Voice: "Puck", contentMode: "standard", includeIntro: true, }); await waitForJob(jobId); // 4) 每頁 PNG + WAV(免費)-> 用 ffmpeg 合成 MP4 const zipRes = await fetch(`${BASE}/api/v1/slides/download-slides-pages-voices`, { method: "POST", headers, body: JSON.stringify({ jobId }), }); if (!zipRes.ok) throw new Error(`download failed: ${zipRes.status}`); const zipPath = `out/${client.slug}.zip`; await writeFile(zipPath, Buffer.from(await zipRes.arrayBuffer())); await run("bash", ["./stitch.sh", zipPath, `out/${client.slug}-recap.mp4`]); // 步驟 5 的 ffmpeg 迴圈 return { jobId, pdf: deck.downloadUrl, video: `out/${client.slug}-recap.mp4` }; } // 依序處理客戶:每客戶 3 次 POST 請求,保持每分鐘 6 次限制內 const clients = JSON.parse(process.env.CLIENTS_JSON ?? "[]"); for (const client of clients) { try { const out = await buildRecap(client); console.log(`done ${client.name}`, out); } catch (err) { console.error(`FAILED ${client.name}:`, err.message); // 警告,不要盲目重試 } }

每個客戶需三次寫入請求(簡報、旁白、下載)與輪詢讀取,讀取限制為每分鐘 10 次。

選擇參考風格

若用文字描述 designStyle 無法達到理想效果,可用參考圖片。2Slides Gallery 提供真實簡報範例,可瀏覽或傳給 create-like-thisreferenceImageUrl。這些是參考簡報,不是 API 輸出:下圖為 Gallery 中 Adobe Creative Trends 2026 簡報,展現適合週報的克制且數據導向風格。

Adobe Creative Trends 2026 參考簡報,2Slides Gallery 的行銷回顧簡報風格範例
圖 3:2Slides Gallery 中 Adobe Creative Trends 2026 參考簡報的封面頁。

Adobe Creative Trends 2026 參考簡報,2Slides Gallery 的行銷回顧簡報風格範例
圖 4:同一 Gallery 簡報的內頁。將此類幻燈片作為 referenceImageUrlcreate-like-this 會從中擷取色彩、字體與版面。

2Slides Gallery 可下載簡報集
圖 5:2Slides Gallery。開啟簡報並複製想繼承風格的幻燈片圖片 URL。

代理商可為每客戶存一個參考幻燈片 URL,搭配指標設定,週一簡報即維持該客戶的視覺系統。

費用說明

每 8 頁回顧:2K 簡報 810 點數,旁白 1,680 點數,ZIP 與 ffmpeg 自行執行免費。點數包價格從 5 美元 2,000 點(0.0025 美元/點)到 80 美元 40,000 點(0.002 美元/點)。

數量簡報點數旁白點數總點數美元($0.0025)美元($0.002,80 美元包)
1 次帶旁白回顧8101,6802,490$6.23$4.98
每月 20 次回顧(每週 5 個活動)16,20033,60049,800$124.50$99.60
每月 500 次回顧(每週 125 客戶)405,000840,0001,245,000不適用$2,490
每月 20 次簡報,無旁白16,200016,200$40.50$32.40

兩點補充。降至 resolution: "1K" 不省點數(每頁 100 點適用於 512px、1K 與 2K,只有 4K 會加倍),建議維持 2K。若用 Workspace 產生 MP4 取代 ffmpeg,則每次回顧多花 160 點(約 0.32 至 0.40 美元)。

Fast PPT 與圖像設計簡報的比較

需求Fast PPT generatecreate-pdf-slides / create-like-this
利害關係人後續在 PowerPoint 編輯簡報支援,產生原生 PPTX,1500+ 範本不支援,輸出為 PDF 與頁面圖片
觀看取代閱讀的旁白影片不支援旁白支援,先 generate-narration 再產生 MP4
8 頁成本80 點(約 0.20 美元)810 點簡報,含旁白 2,490 點
產出速度約 30 秒,預設同步幾分鐘,預設非同步
品牌風格控制GET /api/v1/themes/searchthemeId自由文字 designStylereferenceImageUrl

許多團隊兩者並行:Fast PPT 給帳戶經理做註解,旁白影片給客戶手機觀看。行銷團隊如何大規模產生 AI 簡報 深入介紹可編輯方案。

常見陷阱

  • 同時觸發 50 客戶。 每個寫入端點每分鐘限 6 次請求。請排隊依序處理,或分散在一小時內送出。
  • 對 Fast PPT 工作呼叫 generate-narration 旁白只接受 create-pdf-slidescreate-like-this 的工作,generate 工作會被拒絕且無法轉換。
  • 把 API 金鑰放在瀏覽器儀表板。 請將 SLIDES_API_KEY 保存在伺服器或排程器秘密庫。若客戶頁面需要影片,請提供已產生的 MP4。
  • page: 0 想要剛好八頁。 0 表示自動偵測頁數。請設定 page: 8,確保每週影片長度與頁數一致。
  • 傳送語言代碼。 responseLanguage 接受語言名稱,如 "Spanish",非 "es"。請在客戶設定中存名稱。
  • 直接傳送原始指標匯出。 貼入 3,000 行 CSV 會造成簡報混亂。請先摘要,交付 400 至 500 字敘述,CSV 可作附件。

常見問題解答

自動化每週行銷報告旁白影片費用多少?

帶旁白的 8 頁回顧約需 2,490 點數,依點數包不同約 4.98 至 6.23 美元。細分為 2K 圖像設計簡報 810 點(10 規劃 + 100 每頁)與雙聲道旁白 1,680 點(210 每頁)。每頁 PNG 與 WAV 下載免費,自行用 ffmpeg 合成無額外費用。

AI 旁白影片 API 可以在同一簡報用兩種不同聲音嗎?

可以。generate-narrationmode: "multi" 支援 speaker1Namespeaker2Namespeaker1Voicespeaker2Voice,兩位講者交替旁白。30 種聲音可選,包括 Kore、Puck、Zephyr、Charon、Aoede 與 Leda。若只需一位旁白,使用 mode: "single",搭配 speakerNamevoice,同樣每頁 210 點。

旁白影片簡報 API 流程需要哪些端點?

三個,依序為:POST /api/v1/slides/create-pdf-slides(或帶 referenceImageUrlcreate-like-this)產生簡報,POST /api/v1/slides/generate-narration 加入音訊,POST /api/v1/slides/download-slides-pages-voices 下載 PNG 與 WAV。步驟間每 5 至 10 秒輪詢 GET /api/v1/jobs/{jobId}。Fast PPT 的 generate 不支援旁白,非此鏈的一部分。

可以用多種語言交付同一週報嗎?

可以。create-pdf-slides 設定 responseLanguage 為語言名稱(如 "Spanish""Japanese"),簡報文案會用該語言撰寫,旁白也會跟隨。支援超過 20 種語言。每種語言為獨立簡報工作,若客戶要英文與西班牙文影片,需付兩次 2,490 點數。

週一流程每個客戶大約耗時多久?

每客戶需數分鐘:8 頁 2K 簡報渲染數分鐘,旁白再多幾分鐘,ffmpeg 組合通常不到一分鐘。每 5 至 10 秒輪詢,且客戶依序處理,符合每分鐘 6 次請求限制。50 客戶從 06:00 開始執行,通常在第一次晨會前完成。

下一步

About 2Slides

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

Try For Free