LAB/012025-2026En cours
G2tiktokWork, l'usine à vidéos
Un script envoyé sur Telegram ressort en vidéo verticale montée, doublée et sous-titrée mot à mot, prête à publier.


heard = [_normalize(w["word"]) for w in words]
target = [_normalize(t) for t in ref_tokens]
matcher = difflib.SequenceMatcher(a=heard, b=target, autojunk=False)
for tag, i1, i2, j1, j2 in matcher.get_opcodes():
count = j2 - j1
if count == 0:
continue # Whisper a entendu des mots absents du script.
if tag == "equal":
for k in range(count):
aligned.append(
{
"word": ref_tokens[j1 + k],
"start": words[i1 + k]["start"],
"end": words[i1 + k]["end"],
}
)- main.pyBot Telegram : menu, métiers, comptes, import rapide
- modules/ai_generator.pyScript et accroche OpenAI, voix ElevenLabs avec repli
- modules/transcriber.pyWhisper mot à mot, aligné sur le script
- modules/media_sourcing.pyRushs libres de droits par mots-clés
- modules/video_processor.pyPlan de coupe calé sur les silences de la voix
- modules/visual_effects.pySous-titres ASS karaoké, musique, rendu FFmpeg
- Telegram Bot APIInterface, comptes et crédits
- OpenAIGénération du script et de l'accroche
- ElevenLabsVoix de synthèse, repli edge-tts
- Pexels / PixabayBanques de rushs libres de droits
- FFmpegMontage et rendu 1080×1920
- L0SurfaceCapture réelle
- L1CodeAligner les mots entendus par Whisper sur le script
- L2Modules6 fichiers du dépôt
- L3Services5 services appelés
Conception et développement, seul
G2 se lit « Go to ». G2tiktokWork est la pièce centrale de la famille : un bot Telegram auquel on donne une niche et une idée, et qui rend une vidéo 1080×1920 terminée. Entre les deux, une chaîne Python : script et accroche générés, voix de synthèse ElevenLabs avec repli local, fond vidéo libre de droits choisi par mots-clés, transcription par Whisper pour caler chaque mot des sous-titres, montage au tempo et rendu par FFmpeg.
Dans Telegram, le menu tient en quatre boutons : Mes Métiers, Nouveau Métier, Mon Compte, Import Rapide. Chaque niche a sa configuration en JSON : voix, fourchette de prix, rushs propres. Les utilisateurs ont des comptes et des crédits en SQLite, sauvegardés chaque jour ; l'historique des rendus et des accroches déjà utilisées évite de produire deux fois la même chose.
État réel : en service, une soixantaine de vidéos rendues. La publication reste manuelle : c'est le rôle de G2TiktokAutopost.
Python, python-telegram-bot, OpenAI, ElevenLabs, faster-whisper, MoviePy, FFmpeg


