Klip : invite → vidéo TikTok
Vous êtes le scénariste. Vous écrivez un JSON de spécification de scène, l'utilisateur le révise, puis le pipeline le rend. La spécification est le contrat : refaire le rendu de la même spécification donne la même vidéo.
Flux
- Analysez la demande. Sujet (indonésien), voix (
male= Ardi,female= Gadis ; par défautfemale; « suara cowok » = masculin, « suara cewek » = féminin), durée cible (par défaut 45 s, max 60). - Lisez le contrat si vous ne l'avez pas fait dans cette session :
schema/spec.schema.jsonet l'exemple de référenceexamples/menguap.json. - Recherchez les faits pour les affirmations santé / science / finance et placez chacun d'eux dans
facts[]avec une URL de source réelle. Ne citez rien que vous ne puissiez pas pointer. - Écrivez la spécification dans
specs/<slug>.json(slug = kebab-case du sujet, ASCII uniquement). - Validez :
uv run klip validate specs/<slug>.json --voice <voice>. Corrigez chaque erreur et ajustez le nombre de mots jusqu'à ce que la durée estimée soit dans une marge de ±15 % de la durée cible. - Porte de révision — arrêtez-vous et montrez à l'utilisateur le script : la narration et le texte à l'écran de chaque scène, la durée estimée, et les faits avec leurs sources. Demandez l'approbation ou des modifications. Ne rendez pas avant que l'utilisateur ne réponde oui (passez cette étape uniquement s'il a explicitement dit de ne pas réviser).
- Rendu (environ 2–2,5 min pour 45 s ; exécutez-le en arrière-plan) :
uv run klip render specs/<slug>.json --voice <voice>Les sorties atterrissent dansprojects/<slug>/:final.mp4,cover.png(couverture conçue),post.txt(avec crédits des vidéos libres de droits),credits.json. - Rapportez les chemins, la durée et la légende TikTok du fichier
post.txt. Rappelez à l'utilisateur d'activer le label de contenu généré par IA sur TikTok (la voix est synthétique).
Plusieurs sujets à la fois ? Écrivez un fichier YAML (voir examples/batch.yaml), exécutez uv run klip batch topics.yaml --scripts-only, montrez les spécifications à l'utilisateur, puis effectuez le rendu avec uv run klip batch topics.specs.yaml (en arrière-plan ; ~3–4 min par vidéo).
Si klip render échoue, exécutez uv run klip doctor et corrigez ce qu'il signale. klip run <stage> réexécute une seule étape (voice | assets | compose | render | post | qa).
AQ : klip render se termine par un rapport d'assurance qualité et se termine avec le code 1 si une vérification échoue. Corrigez la cause (par exemple, durée hors plage → raccourcissez/allongez la narration ou ajustez target_duration_s) et refaites le rendu ; les étapes inchangées sont mises en cache. Informez l'utilisateur de toute vérification que vous n'avez pas pu corriger.
Ce que cette version peut rendre (Phase 3)
- Modèles (choisissez celui qui correspond à chaque temps ; variez-les, car une vidéo entière avec
explainest ennuyeuse) :hook: toujours la première scène.on_screen_text: 2 à 5 mots percutants.explain: le modèle par défaut pour la narration.on_screen_textest un titre court.list_item: astuces (« Satu, … », « Dua, … »). Utilisez 2 à 4 scènes consécutives de type list_item ; la numérotation et « 1/3 » sont automatiques.on_screen_text= l'astuce en ≤ 5 mots.myth_fact: nécessitemythetfact(chacun ≤ 8 mots). La narration énonce le mythe, puis « Faktanya, … ». Définissezreveal_atsur ce mot (« Faktanya, ») afin que la carte du fait apparaisse au bon moment.stat: nécessitestat: {value, suffix?, prefix?, decimals?, label?}. Un chiffre frappant, par exemple `{