Kullandığım araçlar
- Claude Code: Senaryo, animasyon kodu, render ve kontrol. Asıl "yönetmen".
- ElevenLabs: Türkçe seslendirme (kelime zamanlamalarıyla) ve müzik.
- Playwright + ffmpeg: HTML animasyonu kare kare yakalayıp videoya çevirmek.
Hepsi kendi bilgisayarında çalışır; video düzenleme programı kullanılmadı.
Adım adım
1
Referans seç, yapısını çıkar. Beğendiğin bir tanıtım videosunu Claude'a ver: "Bu videonun bölümlerini, sürelerini ve kullanılan teknikleri çıkar." İyi bir SaaS reklamı hep aynı iskelete oturur: Giriş → Problem → Kullanım → Çağrı.
2
25–30 saniyelik senaryo yaz. Her sahne tek cümle. İlk 2 saniye kanca: izleyiciyi durduran tek bir cümle.
3
Seslendir. ElevenLabs'te metni seslendir ve
with-timestamps ile kelime zamanlamalarını al. Altyazı ve sahne geçişleri bu zamanlamalara oturacak.4
Animasyonu kodlat. Claude Code'a şunu yaz:
Bu senaryo için 1080x1920 bir HTML sayfası yap. Her sahne ayrı bir animasyon olsun. window.render(t) fonksiyonu, t saniyesindeki kareyi çizsin (animasyonlar CSS transition değil, t'ye göre hesaplansın). Sahne zamanlamalarını timing.json'dan al; altyazıyı kelime zamanlamalarına göre göster. Renkler: [marka renklerin]. Font: [font]. Güvenli alan: üstten 250px, alttan 420px, sağdan 140px boş kalsın. İlk karede kanca tam görünsün (kapak olacak).
5
Kare kare render et. Animasyon zamana bağlı hesaplandığı için her kare birebir aynı çıkar; takılma olmaz.
// render.mjs: her kareyi yakala, ffmpeg'e gönder
import { chromium } from "playwright";
import { spawn } from "node:child_process";
const FPS = 30, END = 30; // saniye
const browser = await chromium.launch();
const page = await browser.newPage({ viewport: { width: 1080, height: 1920 } });
await page.goto("file://" + process.cwd() + "/reel.html");
const ff = spawn("ffmpeg", ["-y","-f","image2pipe","-framerate",String(FPS),"-i","-",
"-i","voice.mp3","-c:v","libx264","-pix_fmt","yuv420p","-crf","16","-c:a","aac","-shortest","reel.mp4"]);
for (let i = 0; i < END * FPS; i++) {
await page.evaluate(t => window.render(t), i / FPS);
ff.stdin.write(await page.screenshot({ type: "jpeg", quality: 92 }));
}
ff.stdin.end(); await browser.close();
6
Müzik ve ses dengesi. ElevenLabs Music ile enstrümantal bir parça üret; ffmpeg'de konuşma sırasında müziği otomatik kıs (sidechain) ve sesi yaklaşık −14 LUFS'e normalize et.
Profesyonel görünmesini sağlayan 6 detay
- İlk 2 saniyede kanca: Reels'te izleyicilerin çoğu ilk saniyelerde karar veriyor.
- Her 1,5 saniyede bir görsel olay: geçiş, kelime çarpması, kamera itmesi.
- Büyük altyazı: Videoların çoğu sessiz izleniyor.
- Sadece marka renkleri: 2–3 renk, düz zemin; yumuşak geçişler sıkıştırmada bozuluyor.
- Ses tasarımı: geçişte "whoosh", vurguda "pop"; küçük ama hissedilir fark.
- Güvenli alan: Instagram arayüzü üstü, altı ve sağı kapatıyor; önemli öğeleri ortada tut.
Bu rehberi yeni teknikler denedikçe güncelliyoruz. Takipte kal: @onlinekazancrehberi
