

2Slides API ile 100 Kelime Deck'i Toplu Olarak Nasıl Oluşturulur (2026 İçerik Fabrikası Kılavuzu)
Manuel iş akışını doğruladıktan sonra — bir kelime deck'i oluşturup, seslendirip, varlıkları dışa aktardıktan sonra — sonraki darboğaz hacimdir. 12 seviyesi ve 30 haftalık teması olan bir dil okulu yılda 360 deck'e ihtiyaç duyar. Günlük gönderi yapan faceless bir TikTok kanalı 365 deck'e artı en boy oranı varyantlarına ihtiyaç duyar. Bir EdTech şirketindeki içerik ekibi L1/L2 çiftlerine göre segmentlere ayrılmış yüzlerce deck'e ihtiyaç duyar.
360 deck'i elle inşa etmezsiniz. Bir içerik fabrikası inşa edersiniz.
Bu rehber, kelime deck'lerini (ve diğer slayt içeriklerini) 2Slides API ile toplu üretmek için pratik 2026 kılavuzudur. En önemli mimari karar — ve en sık yanlış yapılan — doğru oluşturma endpoint'ini seçmektir.
Önce doğru endpoint'i seçin (çoğu fabrika burada bozulur)
2Slides, API üzerinden iki farklı oluşturma akışı sunar. Sadece biri sonradan seslendirilebilen deck'ler üretir.
| Endpoint | Ne ürettiği | Seslendirme mümkün mü? | Kredi |
|---|---|---|---|
POST /api/v1/slides/generate | Fast PPT — şablon güdümlü PPTX. Şablon kütüphanesinden bir themeId | ❌ Hayır. Seslendirme endpoint'i burada oluşturulan işleri açıkça reddeder. | 10 / sayfa |
POST /api/v1/slides/create-pdf-slides | Nano Banana — metin prompt'undan görsel üretilen slaytlar. Workspace ile aynı motor. | ✅ Evet | 10 (planlama) + 100 / slayt (1K/2K) veya 200 / slayt (4K) |
POST /api/v1/slides/create-like-this | Nano Banana — referans bir görseli eşleştiren görsel üretilen slaytlar. | ✅ Evet | Yukarıdakiyle aynı |
Seslendirme ve dışa aktarılabilir sesi olan bir kelime kartı içerik fabrikası için, create-pdf-slidescreate-like-this
/api/v1/slides/generateFabrikanız sadece sessiz PPTX'e ihtiyaç duyuyorsa (ses yok, video yok),
/api/v1/slides/generateTek diyagramda mimari
[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]
Kaynak veri → orkestratör → API → pages + voices ZIP → dağıtım. MP4 kompozisyonu isteğe bağlıdır ve 2026 itibariyle bir public API endpoint'i değildir — bu, tarayıcıda FFmpeg.wasm kullanan bir Workspace UI özelliğidir. API eşdeğeri pages-and-voices ZIP'idir; fabrikada MP4'e ihtiyacınız varsa sunucu tarafında
ffmpegAdım 1 — Önce kaynak şemasını tasarlayın
En yüksek kaldıraçlı hareket, herhangi bir API çağrısından önce kaynak veri şemasını tanımlamaktır. Temiz bir şemadan inşa edilen deck'ler tekrarlanabilirdir; ad-hoc prompt'lardan inşa edilenler değildir.
Ölçeklenen bir kelime deck'i kaynak satırı:
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
Bu nesne iş birimidir. Aşağı akıştaki her şey onu tüketir.
Kaynak şemasını zaten sahip olduğunuz şeyde inşa edin: teknik olmayan ekipler için Google Sheet, mühendislik ekipleri için bir Postgres tablosu, içerik ekipleri için yapısal alanlara sahip bir CMS. Düz Markdown dosyalarında inşa etmekten kaçının — Markdown insan yazımı için iyidir ancak toplu otomasyon için kötüdür.
Adım 2 — Kimlik doğrulama
API yönetim sayfasından bir API key alın. Format:
sk-2slides-{64-character-hex-string}
Tüm istekler bearer auth kullanır:
Authorization: Bearer sk-2slides-...
Endpoint başına rate limit'ler 2slides.com/api.md adresinde belgelenmiştir. Toplu üretim için:
- ve
create-pdf-slides: kuyruğunuzu 429 üzerinde exponential backoff ile concurrency limit'leri etrafında tasarlayıncreate-like-this - (poll): aşağıdaki polling cadence'ine saygı gösterin — agresif değil, 20-30s
jobs/{id} - : ücretsiz ve daha hızlı, ancak yine de rate limit'li
download-slides-pages-voices
Adım 3 — Bir Nano Banana oluşturma işi gönderin
Kelime kartları en iyi async modda çalışır (slayt başına görsel üretimi 30 kartlık bir deck için 1-3 dakika sürer).
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" }'
Yanıt
jobIdcurl -X GET "https://2slides.com/api/v1/jobs/{jobId}" \ -H "Authorization: Bearer sk-2slides-..."
Polling cadence: her 20-30 saniyede. Daha hızlı poll yapmayın — API belgeleri bunu açıkça belirtir ve agresif polling 429'ların en yaygın nedenidir. Çoğu deck 1-3 dakikada tamamlanır.
status: "success"downloadUrlAdım 4 — Ölçekte tutunan prompt şablonları oluşturun
Sallantılı bir fabrika ile güvenilir bir fabrika arasındaki en büyük fark prompt şablonlarıdır. Deck başına çalışma zamanında prompt yazmayın. Deck türü başına bir şablon tanımlayın ve değerleri yerine koyun.
Kelime deck'i şablonu (
userInputGenerate 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.
Görsel stil
designStyleAdım 5 — Seslendirme ekleyin
Oluşturma işi
status: "success"jobIdcurl -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 }'
Sonra mesaj "Voice narration generation in progress" durumundan başarı durumuna geçene kadar aynı
/api/v1/jobs/{jobId}Kelime kartları için iyi çalışan iki ses pattern'i:
- Tek bir sesle — basit kelime + IPA + cümle okuma
mode: "single" - İki sesle — örnek cümleler konuşmacılar arasında bölünür, fiiller ve deyimler için idealdir
mode: "multi"
Ses kataloğu
/tts_sample_voices/PuckAoedeCharonKoreÖnemli: bu tek endpoint hem ses metnini hem de ses sesini üretir. Ayrı "voice text" ve "voice audio" endpoint'leri çağırmayın — bu adımlar için bağımsız bir public API yoktur. Seslendirme isteğini bir kez yapılandırın ve API her ikisini de yapar.
Adım 6 — Pages ve voices'ı dışa aktarın (ücretsiz)
Seslendirme tamamlandıktan sonra, tüm varlıkları tek bir ZIP'te alın:
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" }'
Yanıt, içeren bir ZIP için bir
downloadUrlpages/ page_01.png page_02.png ... voices/ page_01.wav page_02.wav ... transcript.txt
Bu dışa aktarma ücretsizdir — kredi tüketilmez. ZIP'i indirin ve varlıkları kendi nesne deponuzda saklayın. Önceden imzalanmış URL 1 saat sonra sona erer.
Adım 7 — (İsteğe bağlı) MP4'ü sunucu tarafında birleştirin
2Slides API şu anda bir MP4 kompozisyon endpoint'i sunmaz — MP4 üretimi tarayıcıda FFmpeg.wasm aracılığıyla Workspace UI'da yaşar. Bir içerik fabrikası için, MP4'ü sunucu tarafında
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
Sayfa başına ses cadence'i seslendirme jeneratörünün ürettiği şeydir — kelime kartları için tipik olarak slayt başına 5-12 saniye. Sonuç, kullanıcının Workspace UI'dan indirdiği aynı MP4'tür, ancak fabrika hattınızda başsız üretilir.
Aynı deck'in dikey (9:16) ve yatay (16:9) varyantlarını istiyorsanız, en temiz yol slayt oluşturma aşamasında farklı en boy oranlarında deck'i iki kez oluşturmaktır (
aspectRatio: "9:16""16:9"Adım 8 — Orkestratörü inşa edin
Minimal bir orkestratör beş döngüyü işler:
# 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)
Bunu kuyruğu olan bir worker kutusunda çalıştırın. Günde 100 deck için bir worker yeterlidir. 1.000+ için, küçük bir worker havuzuna yayın — ancak havuzun sadece worker sayısına değil, her API endpoint'inin rate limit'lerine de saygı gösterdiğinden emin olun.
Adım 9 — Dağıtım pattern'leri
Dağıtım katmanı, varlıkları iş değerine dönüştürür:
- LMS: birleştirilmiş MP4'ü kendi API'leri aracılığıyla Canvas / Moodle / Blackboard / Google Classroom'a yükleyin
- TikTok / Reels / Shorts: 9:16 MP4'ü bir gönderi aracına (Buffer, Later, yerel zamanlayıcı) sıraya alın, günde bir tane
- Newsletter: PDF derlemesini (orijinal oluşturma işinin 'inden) haftalık sayıda indirme bağlantısı olarak gömün
downloadUrl - Satış / lead magnet: PDF'i bir Stan Store / Gumroad sayfasına yükleyin; carousel teaser trafiği yönlendirir
Dağıtımı icat etmeye çalışmayın. Platform-yerel API'leri kullanın ve orkestratörünüzün zamanlayıcınızda bir satır bırakmasına izin verin.
Maliyet matematiği (önce planlanması gereken kısım)
Seslendirilmiş Nano Banana deck'leri için, bazı okuyucuların önceden gördüğü Fast PPT fiyatlandırmasından daha hızlı krediler birikir. 30 kartlık bir deck başına matematik (1K/2K çözünürlük, seslendirmeyle):
- Planlama: 10 kredi
- Slayt oluşturma: 30 × 100 = 3,000 kredi
- Seslendirme (metin + ses): 30 × 210 = 6,300 kredi
- Pages + voices dışa aktarma: 0 kredi (ücretsiz)
- Toplam: 30 kartlık seslendirilmiş deck başına ~9,310 kredi
Seslendirme olmadan, aynı deck ~3.010 kredidir. 4K çözünürlükte, slayt oluşturma kısmını ikiye katlayın: 30 × 200 = 6,000 → seslendirmeyle ~12,310 kredi.
100 deck/aylık fabrika için: 100 × 9,310 = ~931,000 kredi/ay. Bir kademe seçmek için fiyatlandırma sayfasıyla karşılaştırın — ve 4K için yalnızca çıktının ondan yararlanan bir bağlama (büyük ekranlar, premium video) gideceği zaman bütçe ayırın. TikTok / Reels inceleme videoları için, 1K veya 2K yeterlidir.
Yangınları önleyen operasyonel pattern'ler
Idempotency
Her deck gönderimi
deck_id(deck_id, status)pending → generating → narrating → exporting → composed → distributedKalite kapıları
Otomatik dağıtmayın. TikTok veya Canvas'a göndermeden önce, varlık üzerinde makine tarafından okunabilir bir kalite kontrolü çalıştırın:
- Sayfa sayısı istenen sayıyla eşleşir
- ZIP, beklenen sayıda ve
pages/page_NN.pngdosyası içerirvoices/page_NN.wav - Sayfa başına ses süresi 3 ile 15 saniye arasındadır (30 saniyelik bir kart neredeyse her zaman halüsinasyonlu uzun bir script anlamına gelir)
- boş değildir ve hedef kelimeleri içerir
transcript.txt
İlk 50 batch için, 10 deck'ten 1'inin manuel spot kontrolünü de yapın. İlk 50 batch, sistemik prompt sorunlarının ortaya çıktığı yerdir.
Versioning
Her varlık şunları saklar: prompt şablonu sürümü, görsel modeli sürümü (
gemini-3-pro-image-previewgemini-3.1-flash-image-previewMaliyet telemetrisi
Her deck'in bilinen bir kredi maliyeti vardır (yukarıdaki matematiğe bakın). Deck başına tüketilen kredileri izleyin. Deck başına kredi kullanımı beklenmedik şekilde ikiye katlandığında, bir şey değişmiştir (sayfa sayısı kayması, retry'lar, 4K'ya geçiş). Kredi faturası sizi gafil avlamadan önce bulun.
Hata yönetimi
Başarısız bir iş normaldir — ağ kesintisi, model yükü, nadir 5xx. Bir backoff'tan sonra bir kez yeniden deneyin. İki başarısızlıktan sonra, deck'i bir
needs_humanBuild vs buy: API'yi ne zaman kullanmalı
API doğru cevaptır:
- Haftada >10 deck üretirsiniz
- Yapısal kaynak verileriniz vardır
- Sunucu tarafında birleştirip dağıtacağınız seslendirilmiş MP4'lere ihtiyacınız vardır
- Bir LMS, zamanlayıcı veya CMS ile entegre olursunuz
- Prompt versioning altında tekrarlanabilirlik istersiniz
API aşırıdır:
- Haftada 1 deck üretirsiniz ve her seferinde görsel olarak ayarlarsınız
- Kişisel çalışma için deck inşa eden bir öğrencisiniz (UI daha hızlıdır — ve Workspace UI sizin için MP4 kompozisyonunu da yapar)
- Ders başına bir deck inşa eden bir öğretmensiniz (Create Slides from File veya Create Slides Like This kullanın ve orkestrasyonu atlayın)
Sıkça Sorulan Sorular
API key'i nereden alırım?
2slides.com/api. Key'ler API yönetim sekmesinde yaşar.
Neden bir /api/v1/slides/generate işine seslendirme ekleyemiyorum?
/api/v1/slides/generategeneratecreate-pdf-slidescreate-like-thisMP4'ü doğrudan API'den dışa aktarabilir miyim?
Hayır, 2026 itibariyle değil. MP4 dışa aktarma, FFmpeg.wasm ile istemci tarafında uygulanan bir Workspace UI özelliğidir. API eşdeğeri, slayt görselleri, ses dosyaları ve bir transkriptin ZIP'ini döndüren
download-slides-pages-voicesffmpegAPI üretim için hangi dilleri destekliyor?
İspanyolca, Fransızca, Almanca, Arapça, Japonca, Korece, Hintçe, Vietnamca, Rusça, Lehçe, İtalyanca, Portekizce, Endonezce, Tayca, Türkçe ve Çince (Basitleştirilmiş/Geleneksel) dahil olmak üzere 22+ dil.
responseLanguageKredi maliyeti nedir?
Nano Banana deck'leri için: Slayt oluşturma için 10 (planlama) + 1K/2K'da slayt başına 100 (veya 4K'da slayt başına 200), artı seslendirme için sayfa başına 210 (10 metin + 200 ses). Pages + voices dışa aktarma ücretsizdir. 2K'da 30 kartlık seslendirilmiş bir deck ~9,310 kredidir. Fiyatlandırma sayfasına ve yukarıdaki maliyet matematiği bölümüne bakın.
429 rate limit'lerini nasıl yönetirim?
Exponential backoff. 1s'de başlayın, 60s'ye kadar ikiye katlayın. Üç ardışık 429'dan sonra, eşzamanlı worker sayınızı yarıya indirin.
/api/v1/jobs/{id}Zapier / Make / n8n ile entegre edebilir miyim?
Evet — kimlik doğrulamalı HTTP istekleri yapabilen herhangi bir araç 2Slides API'yi yönetebilir. n8n özellikle içerik fabrikaları için popülerdir çünkü polling ve kuyruk pattern'lerini yerel olarak işler.
Üretilen deck'lerin public olarak indekslenmesini nasıl önlerim?
API aracılığıyla üretilen deck'ler varsayılan olarak hesabınıza özeldir. Public paylaşım ayrı bir açık eylemdir.
Aynı deck'in dikey (9:16) ve yatay (16:9) sürümlerini nasıl oluştururum?
Deck'i iki kez oluşturun — bir kez
aspectRatio: "9:16"aspectRatio: "16:9"Sonuç
Bir içerik fabrikası yapısal kaynak verileri + kararlı bir orkestratör + doğru API endpoint'leridir. 2Slides API üçüncü parçadır; ilk ikisinden siz sorumlusunuz. En yaygın fabrika başarısızlığı
/api/v1/slides/generatecreate-pdf-slidescreate-like-thisgenerate-narrationdownload-slides-pages-voicesffmpegAynı iş akışının manuel tarafı için, kelime kartları rehberini ve yapımcı iş akışı rehberini inceleyin. Oradaki UI pattern'leri API ile otomatikleştirdiğiniz pattern'lerin aynısıdır; manuel akışı önce anlamak API entegrasyonunu çok daha hızlı hale getirir.
About 2Slides
Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.
Try For Free