TikTok-Upload-API Videos und Foto-Posts planen

Lade TikTok-Videos und Foto-Karussells aus deinem Code oder von deinem KI-Agenten hoch und plane sie, mit der Datenschutzstufe und den Kommentar-, Duett- und Stitch-Einstellungen, die TikTok bei jedem Beitrag verlangt.

Base-URL https://api.so-me.studio/v1 · Auth X-API-Key · socialMedia: TIKTOK

Was du auf TikTok veröffentlichen kannst

Sende einen dieser Werte als postType. Jeder Beitrag braucht Text, und Fotos oder Videos werden per fileId aus deiner Medienbibliothek angehängt.

VIDEO

Ein Video.

IMAGE

Ein Foto, veröffentlicht als TikTok-Fotopost.

MULTIPLE_IMAGES

Ein Foto-Karussell zum Durchwischen.

Einen TikTok-Beitrag planen

Lade die Medien hoch und erstelle dann den Beitrag. Lass scheduledAt weg, um sofort zu veröffentlichen.

  1. Creator-Einstellungen auslesen

    TikTok legt fest, welche Datenschutzstufen jeder Creator nutzen darf. Lies sie zuerst aus und lass dann den Nutzer eine auswählen.

    Creator-Einstellungen auslesen
    curl https://api.so-me.studio/v1/accounts/<account-uuid>/tiktok/creator-info \
      -H "X-API-Key: $SOME_API_KEY"
    
    # → { "privacyLevelOptions": ["PUBLIC_TO_EVERYONE", "SELF_ONLY", …],
    #     "commentDisabled": false, "duetDisabled": false, … }
  2. Upload-URL reservieren

    POST /v1/media/presign-upload legt die Datei in deiner Medienbibliothek an und liefert eine fileId und eine Presigned-URL namens uploadUrl.

    Upload-URL reservieren
    curl -X POST https://api.so-me.studio/v1/media/presign-upload \
      -H "X-API-Key: $SOME_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"files":[{"filename":"editing-tips.mp4","mimetype":"video/mp4","size":31457280}]}'
    
    # → [{ "fileId": "…", "uploadUrl": "https://…", "fileSrc": "…", "s3Key": "…" }]
  3. Datei hochladen

    Sende die Bytes per PUT an uploadUrl, mit genau dem Content-Type, den du angegeben hast. Die URL ist eine Stunde lang gültig.

    Datei hochladen
    curl -X PUT "$UPLOAD_URL" \
      -H "Content-Type: video/mp4" \
      --upload-file ./editing-tips.mp4
  4. Beitrag erstellen

    POST /v1/posts mit der fileId. Die Antwort ist der Beitrag mit dem Status SCHEDULED, und er wird zum Zeitpunkt scheduledAt über eine Queue veröffentlicht, die bei Fehlern erneut versucht.

    Beitrag erstellen
    curl -X POST https://api.so-me.studio/v1/posts \
      -H "X-API-Key: $SOME_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "socialMedia": "TIKTOK",
        "postType": "VIDEO",
        "text": "3 Schnitt-Tricks in 30 Sekunden #schnitttipps",
        "fileIds": ["<fileId>"],
        "scheduledAt": "2026-11-05T18:00:00Z",
        "tiktok": {
          "privacyLevel": "PUBLIC_TO_EVERYONE",
          "allowComments": true,
          "allowDuet": false,
          "allowStitch": true
        }
      }'

accountId ist optional, wenn der Workspace ein TikTok-Konto hat. Andernfalls übergib eine ID aus GET /v1/accounts.

Mit fileIds angehängte Dateien werden gegen die TikTok-Limits unten geprüft, bevor etwas in die Queue kommt. Verstößt eine Datei gegen eine Regel, kommt 400 mit einem Bericht pro Datei zurück.

TikTok-Optionen

Die Felder, die ändern, wie ein Beitrag auf TikTok veröffentlicht wird.

FeldWas es bewirkt
tiktok.privacyLevelErforderlich. PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR oder SELF_ONLY, beschränkt auf die Stufen, die die Creator-Infos auflisten. Ein Beitrag ohne dieses Feld liefert 400 TIKTOK_PRIVACY_LEVEL_REQUIRED.
tiktok.allowCommentsOb Zuschauer kommentieren dürfen, standardmäßig true. Wird mit einer Warnung ausgeschaltet, wenn der Creator Kommentare deaktiviert hat.
tiktok.allowDuet · tiktok.allowStitchOb Zuschauer das Video per Duett oder Stitch verwenden dürfen, standardmäßig true. Nur für Videos.
tiktok.brandContentToggle · tiktok.brandOrganicToggleOffenlegungs-Flags: brandContentToggle kennzeichnet eine bezahlte Partnerschaft, brandOrganicToggle die Bewerbung des eigenen Unternehmens. Beide sind standardmäßig false.
GET /v1/accounts/:id/tiktok/creator-infoLiefert die erlaubten Datenschutzstufen, die Kommentar-, Duett- und Stitch-Einstellungen des Creators und das längste Video, das er posten darf. Wird zehn Minuten zwischengespeichert.

TikTok-Medienlimits

Social media studio prüft jede Datei vor der Veröffentlichung gegen diese Limits. Es sind unsere konfigurierten Limits, keine Zusage von TikTok: GET /v1/media/rules liefert die aktuelle Tabelle, und POST /v1/media/validate prüft eine Datei, ohne sie zu posten.

Beitragstyp VIDEO

Formate
MP4, MOV, WebM
Max. Dateigröße
350 MB
Dateien pro Beitrag
1
Max. Dauer
10 min
Abmessungen
360–4096 px
Video-Codecs
H.264, H.265, VP8, VP9
Bildrate
≤ 60 fps

Beitragstyp IMAGE

Formate
JPEG, PNG, WebP
Max. Dateigröße
20 MB
Dateien pro Beitrag
1
Abmessungen
≥ 360 px

Beitragstyp MULTIPLE_IMAGES

Formate
JPEG, PNG, WebP
Max. Dateigröße
je 20 MB
Dateien pro Beitrag
2–20 pro Anfrage
Abmessungen
≥ 360 px

Erfahre, wann es live ist

Die Veröffentlichung läuft asynchron. Abonniere post.published und post.failed oder frage GET /v1/posts/:id ab, bis postStatus POSTED oder FAILED ist.

Einmal abonnieren
curl -X POST https://api.so-me.studio/v1/webhooks/subscriptions \
  -H "X-API-Key: $SOME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/hooks/social",
    "categories": ["post"],
    "events": ["post.published", "post.failed"]
  }'

# The response includes the secret that signs every delivery.
So sieht jede Zustellung aus
POST /hooks/social
X-Webhook-Event: post.published
X-Webhook-Signature: <hex HMAC-SHA256 of the raw body>

{
  "event": "post.published",
  "category": "post",
  "timestamp": "2026-11-03T15:00:07.412Z",
  "data": { "postId": "…", "platform": "TIKTOK" }
}

Jede Zustellung wird mit HMAC-SHA256 in X-Webhook-Signature signiert. post.failed wird nach dem letzten Retry ausgelöst; behebe die Ursache und rufe POST /v1/posts/:id/retry auf. Ein erster Kommentar meldet sich separat mit post.first_comment_posted oder post.first_comment_failed.

Baust du einen KI-Agenten?

Derselbe API-Key steuert einen MCP-Server mit 200+ Tools und eine CLI, sodass ein Agent auf TikTok posten kann, ohne selbst geschriebene HTTP-Aufrufe.

MCP-Server

Füge den Server mit deinem API-Key zu Claude, Cursor oder einem beliebigen MCP-Client hinzu. OAuth funktioniert ebenfalls. Für TikTok ruft der Agent diese Tools mit denselben Feldern wie die REST-Anfrage auf:

  • get_tiktok_creator_info
  • presign_media_upload
  • create_post
mcp.json
{
  "mcpServers": {
    "so-me-studio": {
      "url": "https://api.so-me.studio/mcp",
      "headers": { "X-API-Key": "sk_live_…" }
    }
  }
}

CLI

Installiere sie mit npm i -g @social-media-scheduler/cli. Sie lädt lokale Dateien für dich hoch und gibt JSON aus, sodass ein Skript oder ein CI-Job einen TikTok-Beitrag mit einem Befehl planen kann.

so-me
so-me posts:create --platform TIKTOK --post-type VIDEO \
  -m ./editing-tips.mp4 \
  -c "3 Schnitt-Tricks in 30 Sekunden #schnitttipps" \
  -s 2026-11-05T18:00:00Z \
  --tiktok-privacy PUBLIC_TO_EVERYONE --no-tiktok-allow-duet

API-, CLI- und MCP-Zugriff ist in jedem kostenpflichtigen Tarif enthalten: Lite, Creator, Standard, Advanced und Lifetime. Tarife und Limits ansehen

Weiterlesen

Weitere Plattform-Anleitungen

Die TikTok Content Posting API lehnt einen Beitrag ohne Datenschutzstufe ab, und nur die für diesen Creator erlaubten Stufen sind gültig. Lies sie über die Route für Creator-Infos aus, lass den Nutzer wählen und sende tiktok.privacyLevel.

Ja. Sende postType MULTIPLE_IMAGES mit zwei oder mehr Fotos oder IMAGE für ein einzelnes. Fotos über 1080p werden beim Veröffentlichen verkleinert und als JPEG gespeichert, große Originale sind also kein Problem.

Nachdem TikTok den Beitrag verarbeitet und öffentlich gemacht hat. TikTok veröffentlicht asynchron, daher trägt der Beitrag zuerst die TikTok-Publish-ID, und der endgültige Link wird danach ergänzt.

Nein. Du verbindest das TikTok-Konto einmal im Dashboard von Social media studio über die TikTok-Anmeldung. Die Tokens werden bei uns verschlüsselt gespeichert und aktualisiert, und dein Code sendet nur deinen API-Key von Social media studio im Header X-API-Key.

Nein. Der Aufruf kehrt zurück, sobald der Beitrag in der Queue ist. Die Veröffentlichung läuft in einem Worker, der bei Fehlern erneut versucht, also lausche auf post.published und post.failed oder frage GET /v1/posts/:id ab.

Die REST-API, die CLI und der MCP-Server sind in jedem kostenpflichtigen Tarif enthalten: Lite, Creator, Standard, Advanced und Lifetime. Lite, Creator, Standard und Advanced beginnen mit einem 7-Tage-Test (Karte erforderlich), und Lifetime ist eine Einmalzahlung.

Einmal planen.
Überall posten.

Schluss mit dem Tab-Chaos, entwirf, passe an und veröffentliche auf 20 Plattformen aus einem einzigen Kalender.

TikTok-Upload-API: Videos & Foto-Posts planen