2Slides Logo
วิธี Batch สร้างชุดบัตรคำศัพท์ 100 ชุดด้วย 2Slides API (Content Factory Playbook ปี 2026)
2Slides Team
10 min read

วิธี Batch สร้างชุดบัตรคำศัพท์ 100 ชุดด้วย 2Slides API (Content Factory Playbook ปี 2026)

เมื่อคุณ validate เวิร์กโฟลว์มือ — สร้างชุดบัตรคำศัพท์หนึ่งชุด narrate และส่งออกชิ้นงาน — ขั้นต่อไปคือปริมาณ โรงเรียนสอนภาษาที่มี 12 ระดับและ 30 ธีมรายสัปดาห์ ต้องการ 360 ชุดต่อปี ช่อง TikTok faceless ที่โพสต์ทุกวันต้องการ 365 ชุดบวกอัตราส่วนต่าง ทีมคอนเทนต์ที่บริษัท EdTech ต้องการชุดหลายร้อยชุดแบ่งตามคู่ L1/L2

คุณไม่ได้สร้าง 360 ชุดด้วยมือ คุณสร้าง content factory

คู่มือนี้คือ playbook ปฏิบัติประจำปี 2026 สำหรับการ batch สร้างชุดบัตรคำศัพท์ (และคอนเทนต์ slide อื่น ๆ) ด้วย 2Slides API การตัดสินใจสถาปัตยกรรมที่สำคัญที่สุด — และที่ผิดบ่อยที่สุด — คือ เลือก endpoint การสร้างที่ถูกต้อง

เลือก endpoint ที่ถูกต้องก่อน (จุดที่ factory ส่วนใหญ่พังตรงนี้)

2Slides เปิด flow การสร้างที่ต่างกันสองแบบผ่าน API มีเพียงอันเดียวที่ผลิตชุดที่ narrate ภายหลังได้

Endpointสิ่งที่ผลิตเพิ่ม narration ได้ไหม?Credits
POST /api/v1/slides/generate
Fast PPT — PPTX จาก template ต้องมี
themeId
จาก template library
❌ ไม่ได้ endpoint narration ปฏิเสธ job ที่สร้างที่นี่อย่างชัดเจน10 / page
POST /api/v1/slides/create-pdf-slides
Nano Banana — slide ที่สร้างจากภาพจาก text prompt engine เดียวกับ Workspace✅ ได้10 (planning) + 100 / slide (1K/2K) หรือ 200 / slide (4K)
POST /api/v1/slides/create-like-this
Nano Banana — slide ที่สร้างจากภาพให้คล้ายกับภาพอ้างอิง✅ ได้เหมือนข้างต้น

สำหรับ content factory ของบัตรคำศัพท์ที่มี narration และเสียงส่งออกได้ ใช้

create-pdf-slides
(หรือ
create-like-this
ถ้าคุณมีเลย์เอาต์อ้างอิง)
อย่าใช้
/api/v1/slides/generate
— เป็น endpoint ของ Fast PPT และคุณไม่สามารถเพิ่ม narration ลงไปได้

ถ้า factory ของคุณต้องการแค่ PPTX เงียบ (ไม่มี audio ไม่มีวิดีโอ) Fast PPT ผ่าน

/api/v1/slides/generate
เป็นทางที่ถูกที่สุด ส่วนที่เหลือของ playbook นี้สมมติเวิร์กโฟลว์ narrated

สถาปัตยกรรมในไดอะแกรมเดียว

[Source data] [Orchestrator] [2Slides API] [Outputs] │ │ │ │ vocabulary ──prompt──▶ Job queue ──POST──▶ /api/v1/slides/create-pdf-slides ──▶ jobId (UUID) spreadsheet (Cron/script) │ │ │ │ │ │ Poll ──GET──▶ /api/v1/jobs/{jobId} ◀─────────────────────────────┘ every 20-30s status: success │ │ ▼ │ [pages slides PNG · downloadUrl PDF] ▶ POST /api/v1/slides/generate-narration │ (jobId, voice, mode, etc.) — async only Poll ──GET──▶ /api/v1/jobs/{jobId} message: "Voice narration generation in progress" → success ▶ POST /api/v1/slides/download-slides-pages-voices │ (free; returns ZIP) pages/*.png + voices/*.{wav,mp3} + transcript.txt (Optional) compose MP4 client-side with FFmpeg, or use the Workspace UI [LMS / TikTok / newsletter / S3]

ข้อมูลต้นทาง → orchestrator → API → ZIP ของ pages + voices → distribution การประกอบ MP4 เป็นทางเลือกและ ไม่ ใช่ public API endpoint ในปี 2026 — เป็นฟีเจอร์ Workspace UI ที่ใช้ FFmpeg.wasm ใน browser API equivalent คือ ZIP ของ pages และ voices ซึ่งคุณสามารถประกอบกับ

ffmpeg
ฝั่ง server ได้ถ้าต้องการ MP4 ใน factory

ขั้นที่ 1 — ออกแบบ source schema ก่อน

การกระทำที่ทรงพลังที่สุดคือ กำหนด schema ของข้อมูลต้นทางก่อนการเรียก API ใด ๆ ชุดที่สร้างจาก schema สะอาดทำซ้ำได้ ชุดที่สร้างจาก prompt เฉพาะกิจไม่ได้

แถวข้อมูลต้นทางสำหรับชุดบัตรคำศัพท์ที่ scale:

deck_id: vocab-b1-travel-2026-w14 source_l1: en # learner's native language target_l2: es # language being learned cefr_level: B1 theme: travel words: - { word: "boarding pass", ipa: "/ˈbɔːrdɪŋ pæs/", pos: noun, l1: "tarjeta de embarque" } - { word: "layover", ipa: "/ˈleɪoʊvər/", pos: noun, l1: "escala" } - { word: "to delay", ipa: "/dɪˈleɪ/", pos: verb, l1: "retrasar" } # ... 27 more generation: endpoint: create-pdf-slides aspect_ratio: "9:16" # vertical for short-form review resolution: "2K" page_count: 30 content_detail: "concise" narration: enabled: true voice: "Puck" # see /tts_sample_voices for the catalog mode: "single" distribution: social: [tiktok, reels, shorts] newsletter: monday-2026-w14

object นั้นคือหน่วยของงาน ทุกอย่างปลายน้ำใช้มัน

สร้าง source schema ในสิ่งที่คุณมีอยู่แล้ว: Google Sheet สำหรับทีมที่ไม่ใช่เทคนิค, Postgres table สำหรับทีม engineering, CMS พร้อมฟิลด์มีโครงสร้างสำหรับทีมคอนเทนต์ หลีกเลี่ยงการสร้างใน Markdown ธรรมดา — Markdown ดีสำหรับการเขียนของมนุษย์แต่ไม่ดีสำหรับ batch automation

ขั้นที่ 2 — Authenticate

ขอ API key จาก หน้าจัดการ API รูปแบบคือ:

sk-2slides-{64-character-hex-string}

คำขอทั้งหมดใช้ bearer auth:

Authorization: Bearer sk-2slides-...

Rate limit ต่อ endpoint อยู่ใน 2slides.com/api.md สำหรับการผลิต batch:

  • create-pdf-slides
    และ
    create-like-this
    : ออกแบบคิวของคุณรอบขีดจำกัด concurrency พร้อม exponential backoff สำหรับ 429
  • jobs/{id}
    (poll): เคารพ cadence การ poll ด้านล่าง — 20–30 วินาที ไม่ก้าวร้าว
  • download-slides-pages-voices
    : ฟรีและเร็วกว่า แต่ยัง rate-limited

ขั้นที่ 3 — ส่ง job การสร้าง Nano Banana

บัตรคำศัพท์ทำงานดีที่สุดในโหมด async (การสร้างภาพต่อ slide ใช้เวลา 1–3 นาทีสำหรับชุด 30 บัตร)

curl -X POST "https://2slides.com/api/v1/slides/create-pdf-slides" \ -H "Authorization: Bearer sk-2slides-..." \ -H "Content-Type: application/json" \ -d '{ "userInput": "<your deck-shaped prompt — see Step 4>", "responseLanguage": "en", "aspectRatio": "9:16", "resolution": "2K", "page": 30, "contentDetail": "concise", "mode": "async" }'

response มี

jobId
(UUID) Poll สำหรับการเสร็จสิ้น:

curl -X GET "https://2slides.com/api/v1/jobs/{jobId}" \ -H "Authorization: Bearer sk-2slides-..."

cadence การ poll: ทุก 20–30 วินาที อย่า poll เร็วกว่านี้ — เอกสาร API ระบุชัดและการ poll ก้าวร้าวเป็นสาเหตุพบบ่อยที่สุดของ 429 ชุดส่วนใหญ่เสร็จใน 1–3 นาที

เมื่อ

status: "success"
job มีภาพ slide เก็บที่ R2 และ
downloadUrl
สำหรับการรวม PDF ภาพ slide เองคือสิ่งที่คุณจะรวมกับเสียงในภายหลัง

ขั้นที่ 4 — สร้าง prompt template ที่ยืนได้ใน scale

ความแตกต่างที่ใหญ่ที่สุดระหว่าง factory ที่ไม่เสถียรกับเสถียรคือ prompt template อย่าเขียน prompt ตอน runtime ต่อชุด กำหนด template ต่อประเภทชุดและแทนค่า

template ของชุดบัตรคำศัพท์ (

userInput
):

Generate a {{cefr_level}}-level vocabulary deck for {{source_l1}}-speaking learners of {{target_l2}}. Theme: {{theme}}. Number of cards: {{word_count}}. For each card, output exactly: - Target word (in {{target_l2}}) - Part of speech - IPA transcription - Translation in {{source_l1}} - Two example sentences in natural {{theme}} context, B1 syntax, 8–14 words each Words to include: {{word_list_yaml}} End with a 3-card recap of the most useful 3 words from the deck.

สไตล์ภาพควบคุมโดยพารามิเตอร์

designStyle
(custom prompt) หรือปล่อยเป็น default ("clean infographic, no photographs, balanced typography") เก็บ prompt มี version ใน git เมื่อ prompt เปลี่ยน บันทึก version พร้อมแต่ละชุดที่สร้าง เพื่อให้คุณสามารถเชื่อมโยงการถดถอยคุณภาพกับการเปลี่ยน prompt ได้

ขั้นที่ 5 — เพิ่ม narration

เมื่อ job การสร้างมี

status: "success"
เริ่ม narration Narration เป็น async อย่างเดียว และทำงานบน
jobId
เดียวกัน:

curl -X POST "https://2slides.com/api/v1/slides/generate-narration" \ -H "Authorization: Bearer sk-2slides-..." \ -H "Content-Type: application/json" \ -d '{ "jobId": "550e8400-e29b-41d4-a716-446655440000", "mode": "single", "voice": "Puck", "speakerName": "Vocabulary Coach", "contentMode": "concise", "includeIntro": true }'

จากนั้น poll

/api/v1/jobs/{jobId}
เดียวกันจนกว่าข้อความจะเปลี่ยนจาก "Voice narration generation in progress" ไปสู่สถานะ success

มีสอง pattern เสียงที่ใช้ได้ดีสำหรับบัตรคำศัพท์:

  • mode: "single"
    กับเสียงเดียว — อ่านคำ + IPA + ประโยคแบบตรงไปตรงมา
  • mode: "multi"
    กับสองเสียง — ประโยคตัวอย่างแบ่งระหว่างผู้พูด เหมาะสำหรับกริยาและสำนวน

catalog เสียงเผยแพร่ที่

/tts_sample_voices/
ตัวเลือกทั่วไป ได้แก่
Puck
,
Aoede
,
Charon
,
Kore
ยืนยันการรองรับกับ API docs ล่าสุดก่อนผูกเสียงเฉพาะใน production

สำคัญ: endpoint เดียวนี้สร้างทั้ง voice text และ voice audio อย่าเรียก endpoint แยก "voice text" และ "voice audio" — ไม่มี public API สำหรับขั้นตอนเหล่านั้นแยกกัน ตั้งคำขอ narration ครั้งเดียวและ API ทำทั้งสอง

ขั้นที่ 6 — ส่งออก pages และ voices (ฟรี)

เมื่อ narration เสร็จ ดึงทรัพย์สินทั้งหมดใน ZIP เดียว:

curl -X POST "https://2slides.com/api/v1/slides/download-slides-pages-voices" \ -H "Authorization: Bearer sk-2slides-..." \ -H "Content-Type: application/json" \ -d '{ "jobId": "550e8400-e29b-41d4-a716-446655440000" }'

response มี

downloadUrl
(ใช้ได้ 1 ชั่วโมง) สำหรับ ZIP ที่บรรจุ:

pages/ page_01.png page_02.png ... voices/ page_01.wav page_02.wav ... transcript.txt

การส่งออกนี้ ฟรี — ไม่ใช้ credit ดาวน์โหลด ZIP และเก็บทรัพย์สินใน object store ของคุณเอง URL presigned หมดอายุหลัง 1 ชั่วโมง

ขั้นที่ 7 — (ทางเลือก) ประกอบ MP4 ฝั่ง server

2Slides API ปัจจุบันไม่เปิด endpoint ประกอบ MP4 — การสร้าง MP4 อยู่ใน Workspace UI ผ่าน FFmpeg.wasm ใน browser สำหรับ content factory ประกอบ MP4 ฝั่ง server ด้วย

ffmpeg
:

# For each page, build a clip of (image still) + (voice audio). ffmpeg -loop 1 -i pages/page_01.png -i voices/page_01.wav \ -c:v libx264 -tune stillimage -c:a aac -b:a 192k \ -pix_fmt yuv420p -shortest clips/page_01.mp4 # Concatenate all per-page clips into the final MP4. ffmpeg -f concat -safe 0 -i clip_list.txt -c copy final.mp4

จังหวะเสียงต่อหน้าคือสิ่งที่ generator narration ผลิต — โดยทั่วไป 5–12 วินาทีต่อ slide สำหรับบัตรคำศัพท์ ผลลัพธ์คือ MP4 เดียวกับที่ผู้ใช้จะดาวน์โหลดจาก Workspace UI แต่ผลิตแบบ headless ใน factory ของคุณ

ถ้าคุณต้องการเวอร์ชันแนวตั้ง (9:16) และแนวนอน (16:9) ของชุดเดียวกัน ทางที่สะอาดที่สุดคือ สร้างชุดสองครั้ง ที่อัตราส่วนต่างกันในขั้นการสร้าง slide (

aspectRatio: "9:16"
vs
"16:9"
) การ crop ด้วย FFmpeg ภายหลังมักให้ผลลัพธ์น่าเกลียดเพราะ slide ถูกจัดเลย์เอาต์สำหรับอัตราส่วนเฉพาะ

ขั้นที่ 8 — สร้าง orchestrator

orchestrator ขั้นต่ำจัดการห้าลูป:

# Pseudocode while there_is_work(): deck = pull_one_pending_deck_from_source() if not deck: sleep(60); continue # 1. Generate slides via Nano Banana endpoint job = post("/api/v1/slides/create-pdf-slides", body=build_payload(deck)) deck_artifact = poll_until_complete(job.data.jobId) # 2. Narrate (async only) if deck.narration.enabled: post("/api/v1/slides/generate-narration", body={ "jobId": deck_artifact.id, "voice": deck.narration.voice, "mode": deck.narration.mode, }) poll_until_narration_complete(deck_artifact.id) # 3. Export pages + voices ZIP (free) zip_url = post("/api/v1/slides/download-slides-pages-voices", body={"jobId": deck_artifact.id}) # 4. Download and store assets in your object store download_to_s3(zip_url, deck.id) # 5. (Optional) compose MP4 with ffmpeg, then distribute if deck.distribution.social: compose_mp4(deck.id) distribute(deck)

รันสิ่งนี้บน worker box พร้อมคิว สำหรับ 100 ชุดต่อวัน worker หนึ่งก็เพียงพอ สำหรับ 1,000+ ขยายไปยัง worker pool เล็ก ๆ — แต่ตรวจให้แน่ใจว่า pool เคารพ rate limit ของแต่ละ API endpoint ไม่ใช่แค่จำนวน worker

ขั้นที่ 9 — รูปแบบการกระจาย

distribution layer เปลี่ยน artifact เป็นมูลค่าทางธุรกิจ:

  • LMS: อัปโหลด MP4 ที่ประกอบแล้วไป Canvas / Moodle / Blackboard / Google Classroom ผ่าน API ของแต่ละแห่ง
  • TikTok / Reels / Shorts: คิว MP4 9:16 ไปยังเครื่องมือโพสต์ (Buffer, Later, scheduler ของแพลตฟอร์ม) วันละหนึ่ง
  • Newsletter: ฝัง PDF compilation (จาก
    downloadUrl
    ของ job การสร้างต้นทาง) เป็นลิงก์ดาวน์โหลดในฉบับรายสัปดาห์
  • Sales / lead magnet: อัปโหลด PDF ไปยังหน้า Stan Store / Gumroad; carousel teaser ดูดทราฟฟิก

อย่าพยายามคิดค้น distribution ใช้ API พื้นเมืองของแพลตฟอร์มและให้ orchestrator วางแถวใน scheduler ของคุณ

คณิตศาสตร์ต้นทุน (ส่วนที่ต้องวางแผนก่อน)

สำหรับชุด Nano Banana พร้อม narration credit สะสมเร็วกว่าราคา Fast PPT ที่ผู้อ่านบางคนอาจเคยเห็น คณิตศาสตร์ต่อชุด 30 บัตร (ความละเอียด 1K/2K พร้อม narration):

  • การวางแผน: 10 credits
  • การสร้าง slide: 30 × 100 = 3,000 credits
  • Narration (text + audio): 30 × 210 = 6,300 credits
  • ส่งออก pages + voices: 0 credits (ฟรี)
  • รวม: ~9,310 credits ต่อชุด 30 บัตร narrated

ไม่มี narration ชุดเดียวกันใช้ ~3,010 credits ที่ความละเอียด 4K เพิ่มส่วน slide-generation เป็นสองเท่า: 30 × 200 = 6,000 → ~12,310 credits พร้อม narration

สำหรับ factory 100 ชุด/เดือน: 100 × 9,310 = ~931,000 credits/เดือน เปรียบเทียบกับ หน้าราคา เพื่อเลือก tier — และตั้งงบประมาณ 4K เฉพาะเมื่อ output จะไปยังบริบทที่ได้ประโยชน์ (จอใหญ่ วิดีโอพรีเมียม) สำหรับคลิปทบทวน TikTok / Reels 1K หรือ 2K เพียงพอ

รูปแบบการดำเนินงานที่ป้องกันไฟไหม้

Idempotency

การส่งชุดทุกครั้งควร idempotent บน

deck_id
ถ้า worker ของคุณ crash กลาง batch การ restart คิวต้องไม่ผลิตชุดซ้ำ รูปแบบที่สะอาดที่สุด: เก็บ
(deck_id, status)
ในแถวฐานข้อมูล; เปลี่ยนสถานะ (
pending → generating → narrating → exporting → composed → distributed
)

Quality gates

อย่าแจกจ่ายอัตโนมัติ ก่อนผลักไป TikTok หรือ Canvas ทำ machine-readable quality check บน artifact:

  • จำนวน page ตรงกับที่ขอ
  • ZIP มีจำนวนไฟล์
    pages/page_NN.png
    และ
    voices/page_NN.wav
    ตามที่คาด
  • ระยะเวลาเสียงต่อหน้าระหว่าง 3 ถึง 15 วินาที (บัตร 30 วินาทีเกือบเสมอหมายถึงสคริปต์ที่หลอนยาว)
  • transcript.txt
    ไม่ว่างและบรรจุคำเป้าหมาย

สำหรับ 50 batch แรก ทำ manual spot check ของ 1 ใน 10 ชุดด้วย 50 batch แรกคือที่ที่ปัญหา prompt เชิงระบบโผล่มา

Versioning

ทุก artifact เก็บ: prompt template version, image model version (

gemini-3-pro-image-preview
vs
gemini-3.1-flash-image-preview
), narration voice, generation timestamp เมื่อ model ดีขึ้นหรือ prompt เปลี่ยน คุณสามารถ re-run เฉพาะชุดที่ได้รับผลกระทบ

Cost telemetry

แต่ละชุดมี credit cost ที่ทราบ (ดูคณิตศาสตร์ข้างบน) ติดตาม credit ที่ใช้ต่อชุด เมื่อการใช้ credit ต่อชุดเพิ่มขึ้นสองเท่าโดยไม่คาดคิด มีอะไรเปลี่ยน (page count drift, retries, สลับเป็น 4K) หาก่อนค่า credit จะมาช็อกคุณ

การจัดการความล้มเหลว

job ล้มเหลวเป็นเรื่องปกติ — network blip, model load, 5xx ที่หายาก retry หนึ่งครั้งหลัง backoff หลังสองความล้มเหลว ดันชุดไปยังคิว

needs_human
อย่าวนซ้ำไม่จบ

Build vs buy: เมื่อใดที่ควรใช้ API เลย

API คือคำตอบที่ถูกต้องเมื่อ:

  • คุณผลิต >10 ชุด/สัปดาห์
  • คุณมีข้อมูลต้นทางมีโครงสร้าง
  • คุณต้องการ MP4 narrated ที่จะประกอบฝั่ง server และแจกจ่าย
  • คุณ integrate กับ LMS, scheduler, หรือ CMS
  • คุณต้องการความสามารถทำซ้ำภายใต้ prompt versioning

API เกินจำเป็นเมื่อ:

  • คุณผลิต 1 ชุดต่อสัปดาห์และปรับด้วยภาพทุกครั้ง
  • คุณเป็นผู้เรียนสร้างชุดสำหรับเรียนส่วนตัว (UI เร็วกว่า — และ Workspace UI ก็ทำการประกอบ MP4 ให้คุณด้วย)
  • คุณเป็นครูที่สร้างหนึ่งชุดต่อบทเรียน (ใช้ Create Slides from File หรือ Create Slides Like This และข้าม orchestration)

คำถามที่พบบ่อย

ขอ API key ได้ที่ไหน?

2slides.com/api Key อยู่ในแท็บจัดการ API

ทำไมเพิ่ม narration ใส่ job
/api/v1/slides/generate
ไม่ได้?

endpoint

generate
คือ Fast PPT — PPTX จาก template output คือไฟล์ .pptx ที่เสร็จแล้ว ไม่ใช่ job ภาพ slide บวกข้อความที่ generator narration อ่านได้ generator narration รับเฉพาะ job จาก
create-pdf-slides
หรือ
create-like-this
ซึ่งผลิต job slide nano banana พร้อมเนื้อหามีโครงสร้างต่อหน้า

ส่งออก MP4 จาก API ตรง ๆ ได้ไหม?

ไม่ได้ในปี 2026 การส่งออก MP4 เป็นฟีเจอร์ Workspace UI ที่ implement ฝั่ง client ด้วย FFmpeg.wasm API equivalent คือ

download-slides-pages-voices
ซึ่งคืน ZIP ของภาพ slide ไฟล์เสียง และ transcript — คุณประกอบ MP4 เองด้วย
ffmpeg
ถ้าต้องการใน pipeline content factory ดูขั้นที่ 7

API รองรับภาษาอะไรบ้างสำหรับการสร้าง?

22+ ภาษา รวมถึงสเปน ฝรั่งเศส เยอรมัน อาหรับ ญี่ปุ่น เกาหลี ฮินดี เวียดนาม รัสเซีย โปแลนด์ อิตาลี โปรตุเกส อินโดนีเซีย ไทย ตุรกี และจีน (ตัวย่อ/ตัวเต็ม) ส่งผ่าน

responseLanguage

ต้นทุน credit เป็นอย่างไร?

สำหรับชุด Nano Banana: 10 (planning) + 100/slide ที่ 1K/2K (หรือ 200/slide ที่ 4K) สำหรับการสร้าง slide บวก 210/page (10 text + 200 audio) สำหรับ narration ส่งออก pages + voices ฟรี ชุด 30 บัตร narrated ที่ 2K คือ ~9,310 credits ดู หน้าราคา และส่วนคณิตศาสตร์ต้นทุนข้างบน

จัดการ rate limit 429 อย่างไร?

Exponential backoff เริ่มที่ 1 วินาที เพิ่มเป็นสองเท่าจนถึง 60 วินาที หลัง 429 ติดต่อกันสามครั้ง ลดจำนวน worker concurrent ของคุณลงครึ่ง อย่า poll

/api/v1/jobs/{id}
เร็วกว่าทุก 20 วินาที — เป็นสาเหตุพบบ่อยที่สุดของ 429

Integrate กับ Zapier / Make / n8n ได้ไหม?

ได้ — เครื่องมือใดที่ทำคำขอ HTTP authenticated ได้ก็สามารถขับ 2Slides API n8n ยอดนิยมเป็นพิเศษสำหรับ content factory เพราะจัดการ pattern ของ polling และคิวพื้นเมือง

ป้องกันชุดที่สร้างไม่ให้ถูก index สาธารณะอย่างไร?

ชุดที่สร้างผ่าน API เป็น private กับบัญชีของคุณโดย default การแชร์สาธารณะเป็นการกระทำชัดเจนแยกต่างหาก

สร้างชุดเดียวกันเวอร์ชันแนวตั้ง (9:16) และแนวนอน (16:9) อย่างไร?

สร้างชุดสองครั้ง — ครั้งหนึ่งด้วย

aspectRatio: "9:16"
และอีกครั้งด้วย
aspectRatio: "16:9"
slide ถูกจัดเลย์เอาต์ตามอัตราส่วนตอนสร้าง ดังนั้นการ crop ภายหลังมักไม่สวย ใช่ นี่หมายถึงต้นทุน credit เพิ่มเป็นสองเท่า เป็นการแลกที่ตั้งใจเพื่อภาพสะอาด

ข้อสรุป

Content factory คือ ข้อมูลต้นทางมีโครงสร้าง + orchestrator เสถียร + endpoint API ที่ถูกต้อง 2Slides API คือชิ้นที่สาม คุณรับผิดชอบสองชิ้นแรก ความล้มเหลวของ factory ที่พบบ่อยที่สุดคือใช้

/api/v1/slides/generate
(Fast PPT) แล้วพยายาม narrate — เส้นทางนั้นปิด ใช้
create-pdf-slides
หรือ
create-like-this
แทน narrate ด้วย
generate-narration
ส่งออกด้วย
download-slides-pages-voices
และประกอบ MP4 ฝั่ง server ด้วย
ffmpeg

สำหรับฝั่งมือของเวิร์กโฟลว์เดียวกัน ดู คู่มือบัตรคำศัพท์ และ คู่มือเวิร์กโฟลว์ครีเอเตอร์ Pattern UI ที่นั่นเป็น pattern เดียวกับที่คุณกำลัง automate ด้วย API; การเข้าใจ flow มือก่อนทำให้การ integrate API เร็วขึ้นมาก

About 2Slides

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

Try For Free