

Menghasilkan Slide Pelajaran Secara Programatik dari Kurikulum (2026)
Untuk menghasilkan slide pelajaran secara programatik, ekspor kurikulum Anda sebagai satu baris per pelajaran (unit, judul, tujuan, kosakata, kelas, bahasa), lalu jalankan skrip yang memanggil endpoint 2Slides Fast PPT POST /api/v1/slides/generate sekali per baris dengan tema pendidikan dari GET /api/v1/themes/search dan responseLanguage disetel sesuai kelas. Setiap dek 12 slide adalah PPTX yang dapat diedit dengan biaya 120 kredit, sekitar $0,30, dan dikembalikan dalam sekitar 30 detik. Untuk kelas flipped, create-pdf-slides plus generate-narration menghasilkan kuliah video singkat. Dibangun untuk pengembang edtech, desainer instruksional, dan tim kurikulum distrik.
Poin penting
- Satu dek pelajaran Fast PPT biaya 10 kredit per slide, jadi dek 12 slide adalah 120 kredit, sekitar $0,30 dengan tarif $5 untuk 2.000 kredit.
- Departemen dengan 40 pelajaran masing-masing 12 slide menggunakan 4.800 kredit, sekitar $12, dan mengirimkan dalam sekitar 7 menit dengan batas 6 permintaan per menit.
responseLanguagemenerima nama bahasa seperti "Spanish" atau "Vietnamese", mencakup 20+ bahasa output untuk program bilingual dari baris kurikulum yang sama.- Output Fast PPT adalah PPTX asli yang dapat diedit, sehingga guru dapat menyesuaikan setiap slide sebelum kelas. Dek Fast PPT tidak dapat dinarasikan.
- Untuk kelas flipped, kuliah video narasi 8 slide biaya 2.490 kredit (810 untuk 2K slide plus 1.680 untuk narasi), sekitar $5 sampai $6,25.
Untuk siapa ini
Desainer instruksional, insinyur edtech, dan pembuat kursus yang menyimpan kurikulum dalam bentuk terstruktur (Google Sheet, CSV LMS, database kursus) dan membutuhkan dek draf pertama untuk setiap pelajaran, bukan hanya beberapa. Tim distrik yang menjalankan program bilingual, di mana satu pelajaran harus ada dalam bahasa Inggris dan Spanyol atau Vietnam, mendapatkan manfaat terbesar dari kolom bahasa per baris.
Lewati resep ini jika Anda hanya memiliki lima pelajaran dan seorang guru dengan waktu sore; alat khusus guru membahas jalur aplikasi web.
Alur kerja secara singkat
| Langkah | Alat | Apa yang terjadi | Endpoint 2Slides / kredit |
|---|---|---|---|
| 1 | Ekspor Sheets atau LMS | Satu baris per pelajaran dan bahasa: unit, judul, kelas, tujuan, kosakata, jumlah slide | tidak ada |
| 2 | curl atau browser | Cari tema pendidikan dan kelas, simpan satu themeId per rentang kelas | GET /api/v1/themes/search, gratis |
| 3 | Python atau Node | Bangun prompt terstruktur dari kolom baris, setel responseLanguage per kelas | tidak ada |
| 4 | Python atau Make | Satu panggilan generate per baris dengan mode: "async", maksimal 6 per menit | POST /api/v1/slides/generate, 10 kredit per halaman |
| 5 | Skrip | Poll setiap 5 sampai 10 detik sampai success, unduh PPTX ke Drive atau LMS | GET /api/v1/jobs/{id}, gratis |
| 6 | Guru | Tinjau, edit, dan setujui PPTX sebelum diberikan ke siswa | tidak ada |
| 7 (opsional) | Skrip plus workspace | Kelas flipped: slide bergambar, narasi suara tunggal, ekspor MP4 | create-pdf-slides 10 + 100 per halaman di 2K, generate-narration 210 per halaman |
Langkah 1: Normalisasi ekspor kurikulum
Ratakan ekspor LMS atau panduan pacing menjadi satu baris per pelajaran per bahasa. Jika pelajaran berjalan dalam dua bahasa, gandakan baris dan ubah hanya kolom language. Simpan kolom multi-nilai (tujuan, kosakata) dipisah dengan pipa agar pembangun prompt bisa mengubahnya menjadi poin-poin.
unit,lesson_title,grade,objectives,vocabulary,language,slide_count
Ecosystems,Food Webs and Energy Flow,7,"Explain how energy moves between trophic levels|Identify producers, consumers and decomposers in a local ecosystem","producer|consumer|decomposer|trophic level",English,12
Ecosystems,Food Webs and Energy Flow,7,"Explain how energy moves between trophic levels|Identify producers, consumers and decomposers in a local ecosystem","producer|consumer|decomposer|trophic level",Spanish,12
Fractions,Comparing Fractions with Unlike Denominators,4,"Compare two fractions using common denominators|Justify comparisons with a visual model","numerator|denominator|equivalent fraction|benchmark fraction",Vietnamese,10Tambahkan tiga kolom pembukuan yang akan diisi skrip nanti: job_id, download_url, dan status. Kolom status menggerakkan alur kerja tinjauan seperti dijelaskan di bawah.
Langkah 2: Temukan themeId yang ramah pendidikan
themeId menentukan tampilan dek Fast PPT. Cari lebih dari 1.500 template dengan istilah kelas, lalu simpan satu atau dua ID per rentang kelas: gaya gambar tangan atau doodle untuk SD, sesuatu yang lebih bersih untuk SMP/SMA.
curl "https://2slides.com/api/v1/themes/search?query=education&limit=10" \
-H "Authorization: Bearer $SLIDES_API_KEY"
# Juga layak dicoba: query=classroom, query=doodle, query=science, query=studySetiap hasil mencakup themeId dan metadata. Simpan ID sebagai variabel lingkungan (EDU_THEME_ELEMENTARY, EDU_THEME_SECONDARY) daripada di sheet. Endpoint pencarian gratis tapi berbagi batas 6 permintaan per menit, jadi jalankan sekali saat setup, bukan sekali per pelajaran.

themes/search.
Langkah 3: Bangun prompt dan setel bahasa untuk slide pelajaran multibahasa
Prompt adalah tempat kualitas kurikulum menjadi kualitas dek. Berikan model kelas, tujuan sebagai poin, kosakata yang harus didefinisikan, dan struktur slide tetap. Jaga userInput di bawah beberapa ratus kata; tujuan dan kosakata adalah input, bukan seluruh rencana unit.
Kemudian setel responseLanguage dari baris. Ini menerima nama bahasa, jadi "Spanish" dan "Vietnamese" berfungsi, sedangkan "es" dan "vi" tidak. Tulis prompt dalam bahasa Inggris dan biarkan dek keluar dalam bahasa Spanyol; satu template melayani seluruh program.
Create a 12-slide lesson deck for grade 7.
Unit: Ecosystems
Lesson: Food Webs and Energy Flow
Learning objectives:
- Explain how energy moves between trophic levels
- Identify producers, consumers and decomposers in a local ecosystem
Key vocabulary to define with one example each: producer, consumer, decomposer, trophic level
Structure: title slide, objectives, warm-up question, 5 content slides with one idea each,
vocabulary slide, quick check with 3 questions, summary.
Use short sentences suitable for the grade level.
generate dalam dokumentasi API 2Slides, termasuk 20+ nilai responseLanguage yang diterima berdasarkan nama.
Langkah 4: Hasilkan slide pelajaran secara programatik dengan Fast PPT
Ini adalah langkah yang memungkinkan tim kecil membuat presentasi kelas secara massal. Fast PPT generate defaultnya sinkron dan mengembalikan downloadUrl dalam satu panggilan, cocok untuk satu dek. Untuk batch, setel mode: "async", kumpulkan nilai jobId, dan polling. Setiap dek memakan waktu sekitar 30 detik, dan kunci mengizinkan 6 permintaan per menit, jadi beri jarak pengiriman 10 detik.
curl -X POST https://2slides.com/api/v1/slides/generate \
-H "Authorization: Bearer $SLIDES_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"userInput": "Create a 12-slide lesson deck for grade 7. Unit: Ecosystems. Lesson: Food Webs and Energy Flow. Learning objectives: explain how energy moves between trophic levels; identify producers, consumers and decomposers in a local ecosystem. Key vocabulary to define with one example each: producer, consumer, decomposer, trophic level. Structure: title, objectives, warm-up question, 5 content slides, vocabulary, 3-question quick check, summary.",
"themeId": "'"$EDU_THEME_SECONDARY"'",
"responseLanguage": "Spanish",
"mode": "async"
}'
# -> {"jobId":"..."} lalu polling GET https://2slides.com/api/v1/jobs/{jobId}Loop lengkap dalam Python: baca CSV, kirim setiap baris dengan jeda 10 detik, polling setiap job setiap 8 detik, dan simpan PPTX dengan nama file yang mencakup unit, kelas, dan bahasa agar dua kelas dengan judul pelajaran sama tidak menimpa satu sama lain.
import csv, os, time, requests
API = "https://2slides.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['SLIDES_API_KEY']}"}
THEMES = {
"elementary": os.environ["EDU_THEME_ELEMENTARY"],
"secondary": os.environ["EDU_THEME_SECONDARY"],
}
def theme_for(grade: str) -> str:
return THEMES["elementary"] if int(grade) <= 5 else THEMES["secondary"]
def build_prompt(row: dict) -> str:
objectives = "\n".join(f"- {o.strip()}" for o in row["objectives"].split("|"))
vocab = ", ".join(v.strip() for v in row["vocabulary"].split("|"))
return (
f"Create a {row['slide_count']}-slide lesson deck for grade {row['grade']}.\n"
f"Unit: {row['unit']}\nLesson: {row['lesson_title']}\n"
f"Learning objectives:\n{objectives}\n"
f"Key vocabulary to define with one example each: {vocab}\n"
"Structure: title slide, objectives, warm-up question, content slides with one "
"idea each, vocabulary slide, quick check with 3 questions, summary. "
"Use short sentences suitable for the grade level."
)
def submit(row: dict) -> str:
r = requests.post(f"{API}/slides/generate", headers=HEADERS, timeout=60, json={
"userInput": build_prompt(row),
"themeId": theme_for(row["grade"]),
"responseLanguage": row["language"] or "English",
"mode": "async",
})
r.raise_for_status()
return r.json()["jobId"]
def wait(job_id: str) -> dict:
while True:
job = requests.get(f"{API}/jobs/{job_id}", headers=HEADERS, timeout=30).json()
if job["status"] in ("success", "failed"):
return job
time.sleep(8) # polling setiap 5-10 detik; endpoint jobs mengizinkan 10 req/menit
with open("curriculum.csv", newline="", encoding="utf-8") as f:
rows = list(csv.DictReader(f))
queued = []
for row in rows:
queued.append((row, submit(row)))
time.sleep(10) # 6 pengiriman per menit, jangan lebih
os.makedirs("decks", exist_ok=True)
for row, job_id in queued:
job = wait(job_id)
if job["status"] != "success":
print("FAILED", row["lesson_title"], row["language"], job_id)
continue
pptx = requests.get(job["downloadUrl"], timeout=120).content
name = f"{row['unit']}_G{row['grade']}_{row['lesson_title']}_{row['language']}.pptx"
with open(os.path.join("decks", name.replace(" ", "_")), "wb") as out:
out.write(pptx)
print("saved", name)Tulis job_id, download_url, dan status = "draft" kembali ke sheet saat setiap dek selesai.

generate menghasilkan PPTX yang dapat diedit dari template yang sama, satu panggilan per pelajaran.
Langkah 5: Varian kelas flipped: kuliah video narasi singkat
Untuk kelas flipped, artefak yang dilihat siswa di rumah adalah video, jadi ganti pipeline. Job Fast PPT tidak dapat dinarasikan. Gunakan create-pdf-slides untuk slide bergambar 16:9 di 2K, lalu generate-narration dengan satu pembicara, lalu ekspor video. Jaga kuliah singkat: 6 sampai 8 slide dengan narasi sekitar 45 detik per slide adalah video 5 sampai 6 menit.
# 1) slide bergambar (async secara default)
curl -X POST https://2slides.com/api/v1/slides/create-pdf-slides \
-H "Authorization: Bearer $SLIDES_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"userInput": "8-slide mini-lecture for grade 7 on food webs and energy flow. One idea per slide, written to be read aloud in about 45 seconds per slide. Cover: what a food web is, producers, consumers, decomposers, trophic levels, the 10 percent energy rule, one local example, a 2-question check.",
"aspectRatio": "16:9",
"resolution": "2K",
"page": 8,
"contentDetail": "standard",
"responseLanguage": "English",
"mode": "async"
}'
# polling GET /api/v1/jobs/{jobId} sampai status = success (10 + 8 x 100 = 810 kredit)
# 2) narasi suara tunggal pada job itu (8 x 210 = 1.680 kredit)
curl -X POST https://2slides.com/api/v1/slides/generate-narration \
-H "Authorization: Bearer $SLIDES_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jobId": "JOB_ID_FROM_STEP_1",
"mode": "single",
"speakerName": "Teacher",
"voice": "Leda",
"contentMode": "standard",
"includeIntro": true
}'
# polling lagi sampai sukses
# 3) PNG + WAV per halaman, gratis
curl -X POST https://2slides.com/api/v1/slides/download-slides-pages-voices \
-H "Authorization: Bearer $SLIDES_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jobId": "JOB_ID_FROM_STEP_1"}' -o lecture-assets.zipDua opsi untuk MP4: buka job di workspace 2Slides dan gunakan Export, lalu Generate Video, yang merender MP4 H.264 1920×1080 di browser dengan biaya 20 kredit per halaman; atau gabungkan pasangan PNG dan WAV dari ZIP dengan FFmpeg untuk upload LMS yang sepenuhnya terprogram. Posting faceless educational shorts menunjukkan versi 9:16 untuk klip revisi.
Langkah 6: Alternatif tanpa kode dan agen
Otomasi Kurikulum ke PowerPoint di Make
Jika tidak ada yang ingin menjalankan job Python di tim kurikulum, loop yang sama muat dalam skenario Make (n8n dan Zapier bekerja serupa):
- Trigger: pantau baris baru atau diperbarui di Google Sheet kurikulum, atau trigger Webhook yang dipicu oleh LMS.
- Transformasi: langkah teks atau variabel menyusun
userInputdari kolom baris menggunakan template Langkah 3. - HTTP Request:
POST https://2slides.com/api/v1/slides/generatedenganmode: "async", headerAuthorization: Bearerdisimpan sebagai rahasia skenario, danresponseLanguagedipetakan dari baris. - Tunggu: langkah Delay atau Sleep selama 30 sampai 45 detik.
- HTTP Request:
GET https://2slides.com/api/v1/jobs/{jobId}; jikastatusbelumsuccessataufailed, ulangi tunggu. - Kirim: unggah PPTX ke folder Drive per kelas, lalu tulis
download_urldanstatus = "draft"kembali ke baris. - Batasi: satu baris per run, minimal 10 detik antar pengiriman, sehingga tempel 40 baris tidak melebihi 6 permintaan per menit.
Tanya agen saja
Guru yang bekerja di Claude Code, Codex, atau Cursor bisa melewati skrip dan skenario. Pasang 2Slides Agent Skill atau tambahkan server MCP yang dihosting (claude mcp add --transport http 2slides "https://2slides.com/api/mcp?apikey=YOUR_KEY"), tempel tabel kurikulum, dan minta satu dek per baris. Agen memanggil alat themes_search, slides_generate, dan jobs_get yang sama dengan kunci dan kredit yang sama; lihat halaman Agent Skills.

Aksesibilitas dan tinjauan: draf AI, guru menyetujui
Perlakukan setiap dek yang dihasilkan sebagai draf. Kolom status bergerak dari draft ke reviewed ke approved dengan inisial peninjau, dan tidak ada yang sampai ke siswa sampai bertuliskan approved. Ini adalah kebijakan, bukan fitur, dan itulah mengapa PPTX yang dapat diedit lebih penting daripada PDF yang lebih cantik untuk penggunaan kelas.
Daftar periksa tinjauan per dek:
- Konten: setiap tujuan dari baris muncul dan benar sesuai standar; tidak ada fakta atau tanggal yang dibuat-buat; pertanyaan quick-check dapat dijawab dari slide.
- Tingkat bacaan: panjang kalimat dan kosakata sesuai kelas. Slide kelas 4 dengan kalimat kelas 9 adalah perbaikan paling umum.
- Dek terjemahan: guru bilingual meninjau dek Spanyol atau Vietnam berdasarkan meritnya sendiri, karena contoh kosakata perlu kecocokan budaya serta terjemahan yang benar.
- Aksesibilitas: tambahkan teks alternatif ke gambar, periksa kontras teks terhadap latar template, jaga teks utama dapat dibaca dari belakang ruangan, dan jangan hanya mengandalkan warna untuk makna. Pedoman WCAG adalah referensi yang sudah banyak dikutip distrik.
- Kuliah video: ZIP dari
download-slides-pages-voicesmemberi Anda satu WAV per slide, jadi transkrip dari alat speech-to-text mana pun dan subtitle pada MP4 hanya butuh beberapa menit.
Anggarkan sekitar 10 menit tinjauan guru per dek: sekitar 7 jam untuk 40 pelajaran, dibandingkan nol jam membangun dek dari template kosong.
Biaya untuk sebuah departemen
Kredit adalah bayar sesuai pemakaian: $5 membeli 2.000 kredit ($0,0025 per kredit) dan $80 membeli 40.000 ($0,002 per kredit). Akun baru mendapat 500 kredit gratis, cukup untuk 4 dek uji 12 slide.
| Volume | Pipeline | Kredit | USD |
|---|---|---|---|
| 40 pelajaran × 12 slide (satu departemen, satu semester) | Fast PPT generate | 480 halaman × 10 = 4.800 | ≈ $12,00 dengan paket $5 |
| 500 pelajaran × 12 slide (distrik atau pasar kursus, per bulan) | Fast PPT generate | 6.000 halaman × 10 = 60.000 | ≈ $120 dengan paket $80 |
| 40 kuliah flipped × 8 slide, 2K plus narasi | create-pdf-slides 40 × 810, generate-narration 40 × 1.680 | 32.400 + 67.200 = 99.600 | ≈ $199 sampai $249 |
| Ekspor MP4 opsional untuk 40 kuliah itu di workspace | 320 halaman × 20 | 6.400 | ≈ $13 sampai $16 |
Waktu adalah anggaran lain. Dengan 6 pengiriman per menit, 40 pelajaran terkirim dalam sekitar 7 menit dan 500 dalam sekitar 84 menit, setiap dek selesai sekitar 30 detik setelah pengiriman.
Fast PPT atau slide bergambar untuk kasus penggunaan ini?
- Fast PPT (
generate) saat guru harus mengedit di PowerPoint atau Google Slides dan volume tinggi: 120 kredit untuk dek 12 slide, dikirim dalam sekitar 30 detik. create-pdf-slidessaat dek adalah artefak akhir yang dihadapi siswa (kuliah video, embed LMS) atau butuh gaya visual khusus: 1.010 kredit untuk 10 halaman di 2K, plus 210 per halaman untuk narasi.create-like-thissaat distrik punya slide bermerek yang harus cocok dengan setiap dek; berikan URL publiknya sebagaireferenceImageUrl, biaya sama dengancreate-pdf-slides.- Jangan pernah mencampur secara tidak sengaja: narasi dan ekspor MP4 hanya ada untuk job
create-pdf-slidesdancreate-like-this, bukan untuk Fast PPT.
Kesalahan umum
- HTTP 429 saat paste massal: kunci mengizinkan 6 permintaan per menit, jadi gunakan satu pengirim dengan jeda 10 detik. Jangan sebarkan pengiriman ke thread atau cabang skenario yang berbagi kunci.
- Kunci API di spreadsheet atau Apps Script bersama: simpan di sisi server atau di penyimpanan rahasia alat otomatisasi. Guru menerima dek, bukan kunci.
- Narasi job Fast PPT: endpoint narasi menolak. Bangun ulang pelajaran dengan
create-pdf-slidesdulu. - Mengirim kode bahasa:
responseLanguage: "es"bukan"Spanish". Validasi kolom bahasa terhadap nama yang didukung. create-pdf-slidesdefault kepage: 1: setel jumlah secara eksplisit (8 untuk mini-kuliah) atau gunakanpage: 0agar model memilih. Kuliah satu halaman adalah kejutan umum pertama kali.- Menempel seluruh rencana unit sebagai
userInput: dokumen standar panjang menghasilkan dek yang tidak fokus. Kurangi setiap pelajaran menjadi tujuan, kosakata, dan struktur slide dulu.
Pertanyaan yang Sering Diajukan
Bisakah saya menghasilkan slide pelajaran secara programatik tanpa menulis kode?
Bisa. Di Make, n8n, atau Zapier, trigger Sheets memberi langkah HTTP Request yang memanggil POST /api/v1/slides/generate dengan mode: "async", diikuti langkah tunggu dan HTTP Request kedua ke GET /api/v1/jobs/{id}. Guru juga bisa melewati alat otomatisasi dan meminta agen AI dengan skill 2Slides atau server MCP untuk membuat dek dari tabel kurikulum yang ditempel. Semua jalur menggunakan kunci API dan kredit yang sama.
Bagaimana cara membuat slide pelajaran multibahasa dari satu kurikulum?
Gandakan setiap baris pelajaran sekali per bahasa dan setel kolom bahasa ke nama seperti "Spanish" atau "Vietnamese". Skrip mengirim nilai itu sebagai responseLanguage, sehingga tujuan dan kosakata identik menghasilkan dek bahasa Inggris dan dek bahasa Spanyol dari satu template prompt. 2Slides mendukung 20+ bahasa output. Mintalah guru bilingual meninjau setiap dek terjemahan, karena contoh kosakata perlu kecocokan budaya serta terjemahan yang benar.
Apakah ada alternatif API AI lesson plan ke slide selain 2Slides?
Ya, beberapa alat presentasi memiliki API. API Gamma menawarkan otomatisasi serupa tapi memerlukan paket Pro untuk kunci API, sedangkan kunci 2Slides bekerja di semua akun, termasuk gratis dengan 500 kredit. SlideSpeak dan Canva Connect juga menyediakan API. 2Slides adalah produk kami, jadi bandingkan pada poin penting untuk pendidikan: output PPTX yang dapat diedit, bahasa per permintaan, dan harga per slide.
Berapa banyak slide yang harus dimiliki dek pelajaran yang dihasilkan?
Untuk periode kelas 45 sampai 50 menit, 10 sampai 14 slide adalah default yang bisa dipakai: judul, tujuan, pemanasan, 4 sampai 6 slide isi dengan satu ide per slide, slide kosakata, quick check, dan ringkasan. Dengan 10 kredit per slide, dek 12 slide biaya 120 kredit. Nyatakan jumlah dalam userInput agar setiap dek dalam batch memiliki ukuran, waktu tinjau, dan biaya yang dapat diprediksi.
Bisakah guru mengedit dek yang dihasilkan di PowerPoint atau Google Slides?
Bisa. Endpoint Fast PPT generate mengembalikan PPTX asli yang dibangun dari template desain, sehingga kotak teks, bentuk, dan gambar dapat diedit di PowerPoint, Keynote, atau Google Slides setelah impor. Itulah mengapa resep ini memperlakukan output API sebagai draf: guru membuka file, menyesuaikan contoh untuk siswa mereka, dan menyimpan versi yang disetujui. Output create-pdf-slides adalah PDF plus gambar halaman dan tidak dapat diedit teksnya.
Langkah berikutnya
Anda sekarang memiliki tata letak sheet, template prompt, loop Python, dan kebijakan tinjauan yang diperlukan untuk menghasilkan slide pelajaran secara programatik untuk seluruh departemen, dalam setiap bahasa yang diajarkan program.
- Dapatkan kunci API di 2slides.com/api. Pendaftaran termasuk 500 kredit gratis, cukup untuk menjalankan empat pelajaran uji 12 slide sebelum membeli.
- Baca posting hub, Kasus penggunaan API presentasi AI menurut tim, untuk melihat bagaimana tim penjualan, HR, dan pemasaran menjalankan loop yang sama pada spreadsheet mereka sendiri.
- Lanjutkan dengan resep batch vocabulary-deck untuk varian prompt lebih kecil, dan panduan kuliah video sebelum merekam kuliah kelas flipped pertama Anda.
About 2Slides
Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.
Try For Free