CLI-Beispiele pro Plattform
Fertige Befehle für Beiträge auf X, YouTube, TikTok, Instagram und mehreren Kanälen gleichzeitig.
Einfache Planung
posty posts:create \
-c "Hallo zusammen! Heute haben wir eine neue Funktion veröffentlicht." \
-s "2026-12-31T12:00:00Z" \
-i "<kanal-id>"Für einen Entwurf füge -t draft hinzu, für sofortige Veröffentlichung -t now. Ein Datum brauchst du dafür nicht.
X: Thread und Antworteinstellung
posty posts:create \
-c "1/3 Starten wir mit einem kurzen Thread." \
-c "2/3 Der zweite Teil." \
-c "3/3 Und der Abschluss." \
-d 2 \
-s "2026-12-31T12:00:00Z" \
--settings '{"who_can_reply_post":"everyone"}' \
-i "<x-kanal-id>"Bei X ist who_can_reply_post Pflicht. Die möglichen Werte listet die X-Plattformseite auf.
YouTube: Video
VIDEO=$(posty upload ./video.mp4 | jq -r '.path')
posty posts:create \
-c "Die Beschreibung des Videos." \
-m "$VIDEO" \
-s "2026-12-31T12:00:00Z" \
--settings '{"title":"Der Titel des Videos","type":"public"}' \
-i "<youtube-kanal-id>"Bei YouTube lässt sich ein Beitrag ohne title (2 bis 100 Zeichen) und type (public, unlisted oder private) nicht planen. Standardwerte gibt es absichtlich nicht.
TikTok: Video
VIDEO=$(posty upload ./video.mp4 | jq -r '.path')
posty posts:create \
-c "Die Beschreibung des Videos." \
-m "$VIDEO" \
-s "2026-12-31T12:00:00Z" \
--settings '{
"content_posting_method": "DIRECT_POST",
"privacy_level": "PUBLIC_TO_EVERYONE",
"title": "Der Titel des Videos",
"duet": true,
"stitch": true,
"comment": true,
"autoAddMusic": "no",
"brand_content_toggle": false,
"brand_organic_toggle": false
}' \
-i "<tiktok-kanal-id>"DIRECT_POST veröffentlicht das Video tatsächlich. UPLOAD schickt es nur in den TikTok-Posteingang des Nutzers. Dort muss er es innerhalb von 24 Stunden von Hand fertigstellen. TikTok verwirft alle Einstellungen außer dem Titel. Mehr dazu auf der TikTok-Plattformseite.
Pinterest: Pinnwand
# die IDs der Pinnwände
posty integrations:trigger <pinterest-kanal> boards
BILD=$(posty upload ./bild.png | jq -r '.path')
posty posts:create \
-c "Die Beschreibung des Pins." \
-m "$BILD" \
-s "2026-12-31T12:00:00Z" \
--settings '{"board":"<board-id>","title":"Der Titel des Pins"}' \
-i "<pinterest-kanal>"board erwartet eine ID, keinen Pinnwandnamen. Dasselbe gilt für das Discord- und Slack-Feld channel.
Mehrere Kanäle, anderer Text
Wenn Text oder Einstellungen je Kanal anders sind, übergib die Anfrage als Datei. Der Dateiinhalt entspricht dem POST /posts Request-Body.
{
"type": "schedule",
"date": "2026-12-31T12:00:00Z",
"shortLink": false,
"posts": [
{
"integration": { "id": "<x-kanal>" },
"value": [{ "content": "<p>Kurze Version für X.</p>", "image": [] }],
"settings": { "__type": "x", "who_can_reply_post": "everyone" }
},
{
"integration": { "id": "<linkedin-kanal>" },
"value": [{ "content": "<p>Längere Version für LinkedIn.</p>", "image": [] }],
"settings": { "__type": "linkedin" }
}
]
}posty posts:create --json ./beitrag.json