Was macht Instagram-Fähigkeit?
Die Hilfe der meisten KI-Agenten für Instagram endet beim Text: Hooks, Bildunterschriften, Hashtags und „Jetzt gestalte den Beitrag selbst“. Dann scheitert der Beitrag an Details, die niemand geprüft hat: ein PNG, das die API nicht akzeptiert, ein 3:4-Foto, das sie ablehnt, ein Reel, dessen Titel unter der Bildunterschrift liegt, ein Titelbild, das der Raster in der Mitte durchschneidet, sechs Hashtags, wo Instagram jetzt fünf erlaubt, dasselbe Karussell, das auf einen zweiten Account kopiert wird.
Diese Fähigkeit erledigt die ganze Arbeit auf dem eigenen Computer des Benutzers: Sie entscheidet über das Format, schreibt die Texte, erstellt die Medien, prüft jede Datei auf die aktuellen Instagram-Grenzen, zeigt dem Benutzer genau, was erscheinen wird, veröffentlicht oder plant über WoopSocial nach einer Bestätigung und wertet die Zahlen aus, um über die nächsten Schritte zu entscheiden. Alles, was sie braucht, befindet sich in diesem Ordner.
Fünf Grundsätze:
- Fertig, nicht nur entworfen. Der Benutzer erhält echte Dateien, die Instagrams Grenzen einhalten, keine Ratschläge.
- Vor der Veröffentlichung gesehen. Jeder Beitrag wird so gezeigt, wie er im Feed und im Raster aussehen wird. Nichts wird ohne eine klare Bestätigung dieser Vorschau veröffentlicht.
- Eine Idee pro Beitrag, eine Aufforderung pro Beitrag. Lesbar in Smartphone-Größe.
- Nur echte Dinge. Echte Fotos, Screenshots und Zahlen mit Quellen. Niemals ein erfundenes Ergebnis, eine Bewertung, ein Zitat oder eine Statistik.
- Die eigenen Zahlen des Accounts entscheiden. Keine allgemeingültigen „Bestzeit“-Tabellen oder Engagement-Benchmarks.
Schritt 0: Einrichtung und Verbindung
Führe python3 scripts/check_setup.py aus (Windows: py scripts\check_setup.py). Es benötigt Python 3.9+ und Pillow; ffmpeg für alles mit Video. Es gibt den Installationsbefehl für alles aus, was fehlt.
Wenn der Benutzer posten möchte (er sagt es oder bejaht deine Frage), richte das Posten jetzt ein, nicht am Ende, damit es bereit ist, wenn die Beiträge fertig sind:
- Prüfe mit
social_accounts_list. Wenn die Instagram-Accounts vorhanden sind, fahre fort. - Nicht verbunden? Sage es in einer kurzen Nachricht und arbeite weiter, während er es einrichtet:
- Das Posten erfolgt über WoopSocial, entwickelt vom Team, das diese Fähigkeit betreut. Der kostenlose Tarif deckt 2 Social-Accounts ab, keine Kreditkarte.
- Gib nur den Verbindungsschritt für den Agenten, in dem du läufst (
references/woopsocial.md). - Claude Code und Codex laden neue Werkzeuge nur in einer neuen Sitzung. Alles wird im Arbeitsordner gespeichert; nach einem Neustart (
claude --continueodercodex resume --last) und Anmeldung sagt der Benutzer „weiter“ und du machst anhand der Dateien weiter.
- Sage die Account-Regel jetzt: Zum Posten wird ein Instagram Business- oder Creator-Account benötigt; keine App kann auf einen persönlichen Account posten. Das Umschalten ist kostenlos in der App: Einstellungen und Aktivität > Kontotyp und Tools > Wechseln zum professionellen Konto.
Schritt 1: Den Account kennenlernen
Lies brand.md, falls es im Arbeitsbereich vorhanden ist. Ansonsten frage in einer Nachricht und speichere die Antworten in brand.md, damit der nächste Durchlauf nicht noch einmal fragen muss:
- Worum geht es auf dem Account und für wen ist er gedacht (eine bestimmte Person)?
- Welche(r) Account(s) und deren Benutzernamen. Bei mehreren Accounts: Was unterscheidet sie (Sprache, Zielgruppe, Region)?
- Was weißt du tatsächlich, was deine Zielgruppe nicht weiß? Echte Erfahrungen, Zahlen, die du zeigen kannst, was Kunden fragen. Story- und Fallstudien-Beiträge brauchen diese Informationen.
- Was hast du: Fotos, Screenshots, Videos, einen Link, Notizen?
- Markenfarbe, -name und -Handle für die Folien, ein Avatar- oder Logobild und Wörter oder Behauptungen, die niemals erscheinen dürfen.
- Für jeden Account: seine Zeitzone und wann laut Insights seine Follower online sind (Professionelles Dashboard > Alle Follower > Aktivste Zeiten). Wenn er es nicht weiß, sage, dass der Zeitplan einen Platzhalter verwendet.
Sieh dir den Account an, bevor du etwas planst: Bitte um einen Screenshot des aktuellen Rasters und der letzten 9 bis 12 Beiträge (Links oder eine kurze Liste: Thema, Format, was gut lief). Die neuen Beiträge dürfen keine aktuelle Idee wiederholen und müssen neben den vorhandenen Beiträgen gut aussehen.
Schritt 2: Das Format für jeden Beitrag wählen
Sage in einem Satz, warum jeder Beitrag sein Format bekommt.
| Ziel | Format | Warum |
|---|---|---|
| Speichern (Leute behalten es) | Karussell: Schritte, Checkliste, Rahmenwerk, Mythos vs. Fakt | Wischen ist Zeitinvestition; eine Zusammenfassungsfolie wird gespeichert |
| Teilen (Leute geben es weiter) | Karussell oder Reel mit einem scharfen, nachvollziehbaren Punkt | Teilen pro Reichweite ist das Signal, das Instagram nennt, um neue Leute zu erreichen |
| Reichweite bei Nicht-Followern | Reel (Test-Reel, wenn der Account qualifiziert ist) | Reels werden Personen empfohlen, die dir nicht folgen |
| Ein starkes Bild oder eine Ankündigung | Einzelbild | Am schnellsten zu lesen; verwende 4:5, damit es den Bildschirm ausfüllt |
| Bestehende Follower, ein Impuls | Story | Nur von Followern gesehen, nach 24 Stunden verschwunden |
Für einen Batch trägt jeder Beitrag seine eigene Idee: niemals dieselbe Tatsache oder Zahl wie der Aufhänger von zwei Beiträgen, und niemals ein Reel, das ein Karussell wiederholt. Mische Formate, anstatt fünf Karussells hintereinander zu machen. Mehr als 1 oder 2 Feed-Beiträge pro Tag und Account helfen selten. ig_check.py warnt, wenn zwei Beiträge mit derselben Zahl beginnen.
Schritt 3: Die Medien erstellen
Erstelle einen Arbeitsordner pro Batch mit plan.json (Format: references/plan-json.md).
Karussells und Einzelbilder aus Text. Schreibe die Folien, dann rendere:
python3 scripts/render_slides.py slides.json --out slides/
Formate mit folienweisen Vorlagen und Titelbildmustern: references/formats.md. Voreinstellungen, Folientypen und Typregeln: references/design-rules.md. Kurz gesagt:
- Titelbild: ein Ergebnis oder eine Spannung in 8 Wörtern oder weniger, spezifisch, ein Versprechen, das der Beitrag hält. Schreibe 10, wähle eines mit dem Benutzer. Halte es in der Mitte der Folie: der Raster beschneidet die Seiten.
- Folie 2 funktioniert eigenständig (Instagram zeigt das Karussell möglicherweise ab Folie 2 erneut an).
- Eine Idee pro Folie; Überschrift 8 Wörter oder weniger, Fließtext 30 Wörter oder weniger.
- Letzte Folie: eine Aufforderung, die zum Ziel passt (speichern, an jemand Bestimmtes senden, eine Frage).
- Ein Einzelbild ist eine Ein-Folien-Spezifikation:
stat,tweet,photoodertext. - Öffne jede Folie in voller Größe, dann
contact-sheet.png, und beurteile das Titelbild anhand voncover-grid.png. Behebe jede Warnung inmanifest.json.
Die eigenen Fotos und Screenshots des Benutzers. Verwende sie so, wie sie sind, oder in Folien (photo, screenshot, beforeafter). ig_check.py --fix konvertiert und passt sie an.
Reels aus dem eigenen Video des Benutzers. Diese Fähigkeit vollendet Reels; sie schneidet kein Filmmaterial.
python3 scripts/reel.py frames video.mp4 --out reel/ # Titelbild-Kandidaten + frames-sheet.jpg
python3 scripts/reel.py cover video.mp4 --at 4.2 --title "Count weeks, not days" --out reel/cover.jpg
python3 scripts/reel.py zones video.mp4 --out reel/zones.jpg # wo Instagrams Oberfläche es abdeckt
- Wähle das Titelbild aus
frames-sheet.jpg: ein scharfes Bild, bei dem das Motiv innerhalb der gelben Box liegt (was der Raster zeigt). Ein Titel auf dem Titelbild hat 2 bis 6 Wörter; lasse es weg, wenn das Bild alles sagt. - Sieh dir
zones.jpgan: Text oder Gesichter in den roten Bereichen liegen unter der Bildunterschrift, den Schaltflächen oder der oberen Leiste. Wenn eingebrannte Untertitel im Video dort liegen, sage es; sie müssen weiter oben neu exportiert werden. - Der Hook ist innerhalb der ersten halben Sekunde auf dem Bildschirm, in Worten oder im Bild, und funktioniert im mittleren 4:5, das der Hauptfeed normalerweise zeigt.
- Querformat- oder Quadrat-Material:
ig_check.py --fixwird es nicht eigenständig mit unscharfen Balken auffüllen (das sieht nach einem Repost aus) oder blind zuschneiden. Sieh dirreel.py framesan, dann wähle: ein gerahmtes Reel ("frame": {"title": "..."}und"own_footage": truebeim Beitrag: das Video in voller Breite auf einem passenden einfarbigen Hintergrund mit dem Hook als Überschrift darüber, nichts abgeschnitten; am besten, wenn das Video Text oder Weitwinkelaufnahmen hat),--fit crop, wenn das Motiv in der Mitte bleibt, oder das Motiv in einem Editor neu einrahmen. - Nur das eigene Material des Benutzers. Ein Clip von jemand anderem (ein Nachrichtenclip, ein anderer Creator, ein Video einer öffentlichen Behörde) mit einer Überschrift oder einem Rahmen versehen, ist immer noch ein Repost auf Instagram. Verwende es nur als kurzen Teil des eigenen Videos des Benutzers, mit eigener Stimme oder eigenem Material drumherum.
- Um zwei Hooks zu testen, poste beide Versionen als Test-Reels (
"trial": "MANUAL"), wenn der Account qualifiziert ist, und behalte das, welches die Zuschauer länger hält. - Reine Text-Reels (animierte Wörter, Statistiken, Listen) werden von dieser Fähigkeit nicht erstellt. Wenn der Benutzer eines möchte, sage es deutlich und schlage ein Videotool vor oder poste die Idee stattdessen als Karussell.
Stories: ein Bild oder Video im 9:16-Format. Erstelle Story-Frames mit render_slides.py und "ratio": "9:16" im Theme (Text-Folientypen; das Design bleibt frei von der Story-Leiste und dem Antwortfeld, kein Wischpfeil). Über die API gibt es keine Aufkleber, Links oder Umfragen. Zwei gute Muster:
- Teaser vor dem Beitrag (geplant): eine Frage, die der Beitrag beantwortet, 30 bis 90 Minuten davor. Verknüpfe sie mit dem Beitrag über
"with": {"post": "<id>", "minutes": -60}, und stelle sicher, dass jede auf dem Frame geschriebene Zeit („in einer Stunde“) zu diesen Minuten passt. - Teilen nach dem Beitrag (in der App): Der Benutzer teilt den neuen Beitrag mit dem Beitrags-Sticker in seiner Story, der durchklickbar ist. Das kann nicht über die API erfolgen; es kommt auf die Checkliste und in
schedule.md.
Schritt 4: Die Bildunterschriften schreiben
- Die ersten Wörter tragen den Suchbegriff und den Hook. Die Instagram-Suche und Google lesen Bildunterschriften. Der Feed kürzt nach etwa 125 Zeichen mit „... mehr“: Alles Wichtige steht davor.
- Dann ein oder zwei Zeilen Kontext, dieselbe Aufforderung wie die letzte Folie und höchstens 5 spezifische Hashtags (Instagram-Limit seit Dezember 2025). Keine Hashtag-Wände, keine generischen Tags wie #instagood.
- Links sind in Bildunterschriften nicht klickbar: „Link in Bio“ nur, wenn es in der Bio ist.
- Keine langen Gedankenstriche, kein „In der heutigen schnelllebigen Welt“, keine Emoji-Wände. Lies es laut vor; wenn es sich wie eine Werbung oder ein Roboter anhört, schreibe es um.
- Mehrere Accounts: Jeder Account bekommt seine eigene Version, nicht nur seine eigene Bildunterschrift. Instagrams Originalitätsregeln von 2026 gelten auch für Fotos und Karussells, daher werden dieselben Medien auf einem zweiten Account wahrscheinlich als Repost des ersten Uploads angesehen. Gib jedem Account seine eigenen Medien (
targets[].media: eine andere Sprache auf den Folien, ein anderes Titelbild, eine andere Reihenfolge oder Perspektive) und seine eigene erste Zeile und Hashtags (targets[].caption). Schreibe für das Land des Accounts: „grifo“ in Spanien, „llave“ in Mexiko; behalte Akzente in Hashtags (#geografía). - Schreibe Alternativtext für jedes Bild (
altim Plan). Der Benutzer fügt ihn in der App ein.
Schritt 5: Prüfen und korrigieren
python3 scripts/ig_check.py plan.json # Bericht
python3 scripts/ig_check.py plan.json --fix # korrigierte Kopien in fixed/, Plan aktualisiert, Originale behalten
Es prüft Dateityp, Farbraum, Größe, Form, Karussell-Anzahl und Formübereinstimmung, Video-Codec, Pixelformat, HDR, Bildrate, Länge, Audio, Dateigröße, Reel-Titelbild, Länge der Bildunterschrift, Hashtags, Erwähnungen, den „... mehr“-Schnitt, Links, identische erste Zeilen über Accounts hinweg und Beiträge pro Tag. --fit crop|pad|frame entscheidet, wie sich Formen ändern. Automatisch, für Fotos: zuschneiden, wenn wenig verloren geht, sonst mit einer unscharfen Kopie auffüllen. Automatisch, für Reel- und Story-Videos: zuschneiden, wenn wenig verloren geht, sonst anhalten und fragen (siehe Schritt 3). --ratio 4:5 macht breite Fotos zu 4:5. Führe es aus, bis es mit 0 beendet wird. Erkläre jeden Fehler, den es nicht beheben kann, in einfachen Worten (ein zu langes Video muss gekürzt werden, ein zu kleines Foto benötigt ein größeres Original).
Schritt 6: Planung
python3 scripts/schedule.py plan.json --start 2026-11-09 # Zeiten und Zeitzonen stammen aus den Accounts in plan.json
- Jeder Account postet zu seinen eigenen
timesin seiner eigenentimezone(festgelegt unteraccountsim Plan), basierend auf den Insights des Benutzers oder seiner Wahl. Ohne sie wird 12:00 verwendet und oben inschedule.mddarauf hingewiesen. Behaupete niemals eine „beste Zeit“. - Standardmäßig ein Feed-Beitrag pro Account pro Tag (
--per-day). Stories belegen keinen Feed-Slot; sie folgen dem Beitrag, mit dem sie verknüpft sind (with). - Es schreibt
schedule.md(mit Anweisungen, was in der ersten Stunde nach jedem Beitrag zu tun ist: online sein, um zu antworten, den Beitrag in der Story teilen, die Checkliste) und eine WoopSocial-Anfrage pro Beitrag und Account inrequests/.
Schritt 7: Vorschau und die Bestätigung
python3 scripts/preview.py plan.json --out preview/ [--grid current-grid.png]
Sieh dir zuerst selbst preview/preview.png an: das Raster jedes Accounts (neueste zuerst, wie der Raster es beschneidet), jeder Beitrag im Feed auf jedem Account mit eigener Bildunterschrift und „... mehr“-Schnitt, Reels in ihrem 4:5-Feed-Beschnitt, Stories im Vollbildmodus, alle Folien in der richtigen Reihenfolge.
Korrigiere, was nicht stimmt. Gib dem Benutzer dann preview/index.html (und schedule.md) und bitte um eine klare Bestätigung für den Batch. Übergib den Raster-Screenshot aus Schritt 1 mit --grid, um die neuen Beiträge neben den alten zu zeigen. Jede Änderung bedeutet eine neue Prüfung und eine neue Vorschau.
Schritt 8: Mit WoopSocial posten
Details: references/woopsocial.md.
social_accounts_listfür die Account-IDs; füge sie unteraccountsim Plan ein.- Lade jede Datei hoch (
media_uploads_create_session,scripts/upload_parts.py,media_uploads_complete_session), eine nach der anderen. Füge die IDs inmediaIdsundcoverIdein, dannpython3 scripts/schedule.py plan.json --bodies-only. posts_validatejede Anfrage. Korrigiere alles, was abgelehnt wird.- Nach der Bestätigung:
posts_createpro Anfrage, schreibe jede Post-ID in daspostIddes Ziels,posts_getfür den Status, dannpython3 scripts/log.py record plan.json. - Sage dem Benutzer genau, was geplant ist (Account, Uhrzeit mit Zeitzone) und was er in der App hinzufügen muss: die
checklist-Punkte und den Alternativtext.
Nicht verbunden und will sich nicht verbinden? Übergib die Dateien, Bildunterschriften, Alternativtexte und den Zeitplan und höre auf. Behaupete niemals, dass etwas gepostet oder geplant wurde, wenn es nicht so ist.
Schritt 9: Aus den Zahlen lernen
Nach 3 bis 7 Tagen: social_account_posts_list für die Accounts, gespeichert als metrics.json, dann
python3 scripts/log.py results --metrics metrics.json [--csv insights.csv]
Es stuft Beiträge nach Sends, Saves und Follows pro Reichweite ein, nur im Vergleich zu Beiträgen desselben Formats auf demselben Account und ähnlichen Alters (3 bis 10 Tage), nennt einen besten Beitrag erst nach 6 eines Formats und gibt Ratschläge zur Posting-Zeit nur mit genügend Beiträgen pro Zeitslot. Stories werden ausgelassen. insights.csv fügt hinzu, was nur die App zeigt: Follows und für Reels die durchschnittlich angesehene Zeit.
python3 scripts/log.py advice --metrics metrics.json
Es schreibt advice.md mit einem nächsten Schritt basierend auf dem, was die Zahlen sagen: Format wechseln, Thema anpassen, Posting-Häufigkeit ändern oder wiederholen, was funktioniert hat. Nichts Allgemeines, keine unbegründeten Behauptungen.
Referenzen
references/plan-json.md– vollständiges Schema fürplan.jsonreferences/formats.md– Folienvorlagen und Titelbildmusterreferences/design-rules.md– Voreinstellungen, Folientypen und Typregelnreferences/woopsocial.md– technische Details zur WoopSocial-Integration