

วิธี 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-w14object นั้นคือหน่วยของงาน ทุกอย่างปลายน้ำใช้มัน
สร้าง 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 สำหรับ 429jobs/{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