ShortGPT Local: Social-Media-Videos per KI — in Minuten, nicht Stunden

Text rein, Video raus — automatische Shorts-Generierung komplett ohne Cloud

Python MoviePy Stable Diffusion edge-tts

🎬 Content Creation automatisiert — Text rein, Shorts-Video raus.

📞 02406 803 7603 ✉️ info@computerkumpel.de

💰 Warum KI-Videogenerierung Ihre Content-Strategie transformiert

Ein professionelles 60-Sekunden-Video kostet bei einer Agentur 500–2.000 € — und braucht 1–2 Wochen. ShortGPT Local produziert das gleiche Ergebnis in Minuten, für Cent-Beträge an Stromkosten. Der Hebel liegt nicht in der Technik, sondern in der Geschwindigkeit des Content-Outputs.

📝
Text-zu-Video
Einfaches Text-Script eingeben — das System generiert Storyboard, Bilder, Voiceover und finales Video.
🖼️
Bild-zu-Video
Dynamische Videos aus vorhandenen Bildern mit KI-generierten Animationen und Übergängen.
🔊
Natürliche Stimme
Integrierte TTS für natürliche deutsche Sprachausgabe. Untertitel automatisch synchronisiert.
📱
Alle Plattformen
YouTube Shorts, TikTok, Instagram Reels — native 9:16 Formate mit optimaler Qualität.

⚙️ Der automatisierte Video-Workflow

Fünf Schritte vom Text-Script zum fertigen Social-Media-Video.

📋
1. Script schreiben
Thema oder Volltext eingeben. Die KI erstellt bei Bedarf ein optimiertes Storyboard für Shorts.
🎨
2. Szenen generieren
KI erstellt Storyboard und generiert passende Bilder/Clips für jede Szene.
🔊
3. Vertonen
TTS generiert die Sprachspur. Untertitel werden automatisch mit Zeitstempeln erstellt.
🎬
4. Rendern
MoviePy + FFmpeg kombinieren Bilder, Audio und Effekte zum fertigen MP4 mit 30 fps.

💻 Code-Einblicke

Ein Blick unter die Haube — so erzeugt ShortGPT automatisch Social-Media-Videos:

🏗️ Architektur

content_short_engine.py
Haupt-Engine: 12-Schritt-Pipeline vom Script bis zum YouTube-Upload.
gpt_editing.py
KI-generierte Bild-Suchbegriffe aus Captions via GPT + YAML-Prompts.
audio_utils.py
Audio-Beschleunigung und Whisper-Transkription für Untertitel.
editing_engine.py
MoviePy-basierte Rendering-Engine mit EditingSteps: Voiceover, Captions, Watermark.

🎬 12-Schritt Content-Pipeline

class ContentShortEngine(AbstractContentEngine):
    def __init__(self, short_type, background_video_name,
                 background_music_name, voiceModule, short_id="",
                 num_images=None, watermark=None, language=Language.ENGLISH):
        super().__init__(short_id, short_type, language, voiceModule)
        if not short_id:
            if num_images:
                self._db_num_images = num_images
            if watermark:
                self._db_watermark = watermark
            self._db_background_video_name = background_video_name
            self._db_background_music_name = background_music_name

        self.stepDict = {
            1:  self._generateScript,
            2:  self._generateTempAudio,
            3:  self._speedUpAudio,
            4:  self._timeCaptions,
            5:  self._generateImageSearchTerms,
            6:  self._generateImageUrls,
            7:  self._chooseBackgroundMusic,
            8:  self._chooseBackgroundVideo,
            9:  self._prepareBackgroundAssets,
            10: self._prepareCustomAssets,
            11: self._editAndRenderShort,
            12: self._addYoutubeMetadata
        }

🔊 TTS & Audio-Beschleunigung

def _generateTempAudio(self):
    if not self._db_script:
        raise NotImplementedError("generateScript must set self._db_script.")
    script = self._db_script
    if self._db_language != Language.ENGLISH.value:
        self._db_translated_script = gpt_translate.translateContent(
            script, self._db_language)
        script = self._db_translated_script
    self._db_temp_audio_path = self.voiceModule.generate_voice(
        script, self.dynamicAssetDir + "temp_audio_path.wav")

def _speedUpAudio(self):
    self.verifyParameters(tempAudioPath=self._db_temp_audio_path)
    self._db_audio_path = audio_utils.speedUpAudio(
        self._db_temp_audio_path,
        self.dynamicAssetDir + "audio_voice.wav")

📝 Whisper-Transkription & Captions

def _timeCaptions(self):
    self.verifyParameters(audioPath=self._db_audio_path)
    whisper_analysis = audio_utils.audioToText(self._db_audio_path)
    self._db_timed_captions = captions.getCaptionsWithTime(
        whisper_analysis)

🖼️ KI-generierte Bild-Suchbegriffe

def getImageQueryPairs(captions, n=15, maxTime=2):
    chat, _ = gpt_utils.load_local_yaml_prompt(
        'prompt_templates/editing_generate_images.yaml')
    prompt = chat.replace('<>', f"{captions}")                  .replace("<>", f"{n}")
    res = gpt_utils.gpt3Turbo_completion(chat_prompt=prompt)
    imagesCouples = ('{'+res).replace('{','').replace('}','')                              .replace('\n', '').split(',')
    pairs = []
    t0, end_audio = 0, captions[-1][0][1]
    for a in imagesCouples:
        try:
            query = a[a.find("'")+1:a.rfind("'")]
            time = float(a.split(":")[0].replace(' ',''))
            if time > t0 and time < end_audio:
                pairs.append((time, query + " image"))
                t0 = time
        except:
            print('problem extracting image queries from', a)
    return pairs

🎥 MoviePy-basiertes Rendering

def _editAndRenderShort(self):
    outputPath = self.dynamicAssetDir + "rendered_video.mp4"
    if not os.path.exists(outputPath):
        videoEditor = EditingEngine()
        # Voiceover hinzufügen
        videoEditor.addEditingStep(
            EditingStep.ADD_VOICEOVER_AUDIO,
            {'url': self._db_audio_path})
        # Hintergrundmusik (11% Lautstärke)
        videoEditor.addEditingStep(
            EditingStep.ADD_BACKGROUND_MUSIC,
            {'url': self._db_background_music_url,
             'loop_background_music': self._db_voiceover_duration,
             'volume_percentage': 0.11})
        # 1920x1080 Crop
        videoEditor.addEditingStep(
            EditingStep.CROP_1920x1080,
            {'url': self._db_background_trimmed})
        # Captions & Watermark
        if self._db_watermark:
            videoEditor.addEditingStep(
                EditingStep.ADD_WATERMARK,
                {'text': self._db_watermark})
        for timing, text in self._db_timed_captions:
            videoEditor.addEditingStep(
                EditingStep.ADD_CAPTION_SHORT,
                {'text': text.upper(),
                 'set_time_start': timing[0],
                 'set_time_end': timing[1]})
        videoEditor.renderVideo(outputPath)
    self._db_video_path = outputPath

📺 YouTube-Metadaten automatisch

def _addYoutubeMetadata(self):
    title, desc, tags = gpt_yt.generate_title_description_dict(
        self._db_script)
    now = datetime.datetime.now()
    date_str = now.strftime("%Y-%m-%d_%H-%M-%S")
    newFileName = f"videos/{date_str} - " +         re.sub(r"[^a-zA-Z0-9 '\n\.]", '', title)
    shutil.move(self._db_video_path, newFileName + ".mp4")
    with open(newFileName + ".txt", "w", encoding="utf-8") as f:
        f.write(f"---YouTube title---\n{title}\n                 ---YouTube description---\n{desc}\n                 ---YouTube Tags---\n{tags}")
    self._db_video_path = newFileName + ".mp4"
    self._db_ready_to_upload = True

⚡ Vom Text zum fertigen Short — in Minuten, nicht Tagen.

📞 02406 803 7603 ✉️ info@computerkumpel.de

🚀 Gebaut mit Vibecoding — in 5–7 Tagen statt 8–13 Wochen

👴 Klassische Entwicklung
  • 📋 2–3 Wochen Requirements Engineering
  • 🏗️ 2–3 Wochen Architektur & Design
  • 💻 3–4 Wochen Implementierung
  • 🧪 1–2 Wochen Testing
  • 🚢 1 Woche Deployment
  • ⏱️ Gesamt: 8–13 Wochen
🤖 Vibecoding-Ansatz
  • 🗣️ 0.5 Tage Prompt-Engineering
  • ⚡ 2–3 Tage iterative Generierung
  • 🔧 1–2 Tage Refinement & Debugging
  • ✅ 1 Tag Integration & Testing
  • 🚀 0.5 Tage Deployment
  • ⏱️ Gesamt: 5–7 Tage

🗣️ Der System-Prompt hinter diesem Projekt

Du bist ein Python-Experte für automatisierte Videoproduktion.

Aufgabe: Erstelle ein Tool zur automatischen Generierung von Kurzvideos 
(Shorts, Reels, TikTok) aus Text-Scripts oder Bildmaterial.

Pipeline:
1. Text-Script parsen → Storyboard (Szenen-Einteilung)
2. Bilder generieren (Stable Diffusion) oder aus Input extrahieren
3. Voiceover via TTS (edge-tts, deutsch: de-DE-KatjaNeural)
4. Untertitel synchronisiert generieren
5. Finales Video mit MoviePy + FFmpeg rendern

Technische Anforderungen:
- Python 3.10+, MoviePy für Video-Komposition
- Stable Diffusion (lokal via diffusers) für Bildgenerierung
- edge-tts für deutsche Sprachausgabe
- Pillow für Bildbearbeitung
- Whisper optional für automatische Untertitel-Generierung

Video-Spezifikation:
- 9:16 Format (1080×1920) für Shorts/Reels/TikTok
- 30 fps, konfigurierbare Dauer (15–60 Sek.)
- Hintergrundmusik und Übergangseffekte
- Branding-Overlay (Logo, Wasserzeichen)

🎯 Strategische Erkenntnisse aus diesem Projekt

Content Creation ist der perfekte Anwendungsfall für KI-Automatisierung — hohe Kosten, repetitive Muster, messbarer Output.

📈
Content-Skalierung ist der Hebel
1 Video pro Woche → 1.000 Views. 30 Videos pro Woche → 30.000+ Views. Die Content-Menge ist der stärkste Hebel im Social-Media-Algorithmus. KI-Automatisierung macht tägliches Posten ohne Personalaufstockung möglich.
🎯
Nischen-Content schlägt Massenware
KI erzeugt spezifischen Content für Nischen-Zielgruppen — Fachthemen, lokale Inhalte, Branchen-News. Während Agenturen auf Masse optimieren, kann KI auf Tiefe optimieren.
🔊
Voiceover ist der Qualitäts-Entscheider
Schlechtes TTS killt jedes Video. edge-tts (de-DE-KatjaNeural) liefert natürliche Stimmen auf Agentur-Niveau. Die Sprachqualität ist der Unterschied zwischen „KI-Müll" und „professionellem Content".
Kosten-Nutzen-Schere
Agentur-Video: 500–2.000 € / Stück. KI-Video: Stromkosten (~0,50 €) + 10 Min. Render-Zeit. Die Kostendifferenz ist so extrem, dass selbst eine 50% niedrigere Qualität noch wirtschaftlich wäre. Aber die Qualität ist gleich oder besser.

Bereit, Ihre Content-Produktion zu automatisieren?

Von 1 Video pro Woche zu 1 Video pro Tag — ohne zusätzliches Personal. Lassen Sie uns Ihre Content-Pipeline bauen.

🔍
Content-Audit
Welche Content-Formate eignen sich für KI-Automatisierung? Wir analysieren Ihre aktuelle Strategie und identifizieren Potenziale.
🧪
Pipeline-Prototyp
In 5–7 Tagen eine funktionierende Video-Pipeline mit Ihrem Branding, Ihrer Tonalität und Ihren Themen.
🤝
Vollautomatisierung
Von der Themen-Recherche über die Generierung bis zum automatischen Posten — Ihre Content-Maschine läuft 24/7.
📞 02406 803 7603 ✉️ info@computerkumpel.de