2Slides Logo
Buat Slide Pelajaran Secara Otomatis dari Kurikulum (2026)
2Slides Team
16 min read

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.
  • responseLanguage menerima 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

LangkahAlatApa yang terjadiEndpoint 2Slides / kredit
1Ekspor Sheets atau LMSSatu baris per pelajaran dan bahasa: unit, judul, kelas, tujuan, kosakata, jumlah slidetidak ada
2curl atau browserCari tema pendidikan dan kelas, simpan satu themeId per rentang kelasGET /api/v1/themes/search, gratis
3Python atau NodeBangun prompt terstruktur dari kolom baris, setel responseLanguage per kelastidak ada
4Python atau MakeSatu panggilan generate per baris dengan mode: "async", maksimal 6 per menitPOST /api/v1/slides/generate, 10 kredit per halaman
5SkripPoll setiap 5 sampai 10 detik sampai success, unduh PPTX ke Drive atau LMSGET /api/v1/jobs/{id}, gratis
6GuruTinjau, edit, dan setujui PPTX sebelum diberikan ke siswatidak ada
7 (opsional)Skrip plus workspaceKelas flipped: slide bergambar, narasi suara tunggal, ekspor MP4create-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,10

Tambahkan 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=study

Setiap 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.

2Slides Templates Hub dengan tema gaya gambar tangan dan doodle yang cocok untuk kelas
Gambar 1: 2Slides Templates Hub, dijelajahi di sini untuk shortlist gaya gambar tangan dan doodle untuk kelas muda; template yang sama dapat dicari melalui 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.

Parameter endpoint generate 2Slides dan 20+ bahasa output yang didukung
Gambar 2: Parameter endpoint 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.

Antarmuka 2Slides Fast PPT menampilkan kartu template seperti tema Blue Doodle study-abroad dan Critical Thinking
Gambar 3: Antarmuka Fast PPT di aplikasi web 2Slides. Endpoint 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.zip

Dua 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 userInput dari kolom baris menggunakan template Langkah 3.
  • HTTP Request: POST https://2slides.com/api/v1/slides/generate dengan mode: "async", header Authorization: Bearer disimpan sebagai rahasia skenario, dan responseLanguage dipetakan dari baris.
  • Tunggu: langkah Delay atau Sleep selama 30 sampai 45 detik.
  • HTTP Request: GET https://2slides.com/api/v1/jobs/{jobId}; jika status belum success atau failed, ulangi tunggu.
  • Kirim: unggah PPTX ke folder Drive per kelas, lalu tulis download_url dan status = "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.

Halaman 2Slides Agent Skills: jalankan generasi yang sama dari Claude Code, Codex, Cursor dan agen lain
Gambar 4: Halaman 2Slides Agent Skills. Skill dan server MCP mengekspos tujuh alat API ke agen pemrograman, sehingga guru dapat meminta dek dengan bahasa biasa.

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-voices memberi 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.

VolumePipelineKreditUSD
40 pelajaran × 12 slide (satu departemen, satu semester)Fast PPT generate480 halaman × 10 = 4.800≈ $12,00 dengan paket $5
500 pelajaran × 12 slide (distrik atau pasar kursus, per bulan)Fast PPT generate6.000 halaman × 10 = 60.000≈ $120 dengan paket $80
40 kuliah flipped × 8 slide, 2K plus narasicreate-pdf-slides 40 × 810, generate-narration 40 × 1.68032.400 + 67.200 = 99.600≈ $199 sampai $249
Ekspor MP4 opsional untuk 40 kuliah itu di workspace320 halaman × 206.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-slides saat 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-this saat distrik punya slide bermerek yang harus cocok dengan setiap dek; berikan URL publiknya sebagai referenceImageUrl, biaya sama dengan create-pdf-slides.
  • Jangan pernah mencampur secara tidak sengaja: narasi dan ekspor MP4 hanya ada untuk job create-pdf-slides dan create-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-slides dulu.
  • Mengirim kode bahasa: responseLanguage: "es" bukan "Spanish". Validasi kolom bahasa terhadap nama yang didukung.
  • create-pdf-slides default ke page: 1: setel jumlah secara eksplisit (8 untuk mini-kuliah) atau gunakan page: 0 agar 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.

About 2Slides

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

Try For Free