Social Media Publishing API

June 14, 2026

Social Media Publishing API

Verwenden Sie die Social Media Publishing API, um Social-Media-Konten zu verbinden und WayinVideo-Clips direkt auf diesen Konten zu veröffentlichen.

Diese API ist für exportierte Clips gedacht, die mit KI-Clipping und Momente finden erstellt wurden. Erstellen Sie zuerst Clips mit einer dieser APIs und stellen Sie sicher, dass das ursprüngliche Projekt mit enable_export = true eingereicht wurde. Verwenden Sie danach die resultierende project_id und den Clip-idx, wenn Sie eine Veröffentlichungsaufgabe erstellen.

Typischer Ablauf:

  1. Erstellen Sie eine OAuth-Autorisierungs-URL für die Plattform, die Sie verbinden möchten.
  2. Öffnen Sie die zurückgegebene auth_url in einem Browser und schließen Sie die Autorisierung ab.
  3. Rufen Sie den Konten-Endpoint auf, um das verbundene Konto zu bestätigen und dessen id zu kopieren.
  4. Erstellen Sie eine Veröffentlichungsaufgabe mit dem Zielclip und den kontospezifischen Veröffentlichungseinstellungen.

Alle Endpoints erfordern:

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
x-wayinvideo-api-version: v2

Abrechnung: Während der zeitlich begrenzten Promotion kostet das erfolgreiche Verbinden eines Social-Media-Kontos derzeit 10 API Units. Wenn die Autorisierung nicht erfolgreich abgeschlossen wird, werden keine API Units abgezogen.


Endpoints

MethodePfadBeschreibung
POST/api/v2/social-media/oauth/{platform}Erstellt eine einmalig nutzbare OAuth-Autorisierungs-URL für eine Plattform
GET/api/v2/social-media/accountsListet verbundene Social-Media-Konten auf
POST/api/v2/social-media/publishErstellt eine Aufgabe zur Veröffentlichung eines Clips auf verbundenen Konten

Social-Media-Konto Verbinden

Erstellen Sie eine OAuth-Autorisierungs-URL für die Plattform, die Sie verbinden möchten.

POST https://wayinvideo-api.wayin.ai/api/v2/social-media/oauth/{platform}

Pfadparameter

ParameterTypErforderlichBeschreibung
platformstringJaSocial-Media-Plattform. Erlaubte Werte: youtube, tiktok, twitter, instagram, facebook, linkedin.

Request Body

Es ist kein Request Body erforderlich.

Beispiel-Request

curl -X POST https://wayinvideo-api.wayin.ai/api/v2/social-media/oauth/youtube \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "x-wayinvideo-api-version: v2" \
  --data ''

Beispiel-Response

{
  "data": {
    "auth_url": "https://example.com/oauth2/auth?xxxxxx",
    "state": "a49bc736-xxxxx"
  }
}

Response-Felder

FeldTypBeschreibung
auth_urlstringURL der OAuth-Autorisierungsseite des Drittanbieters. Öffnen Sie diese URL im Browser zur Autorisierung.
statestringAutorisierungsstatus-Identifier.

Hinweise

  • Jede auth_url kann nur einmal verwendet werden. Wenn die Autorisierung fehlschlägt oder die URL abläuft, rufen Sie diesen Endpoint erneut auf, um eine neue URL zu erstellen.
  • Nach erfolgreicher Autorisierung rufen Sie Social-Media-Konten Auflisten auf, um zu bestätigen, dass das Konto für Veröffentlichungen verfügbar ist.
  • Sie können mehrere Konten auf derselben Plattform verbinden. Rufen Sie zum Beispiel den YouTube-OAuth-Endpoint mehrfach auf, um mehrere YouTube-Kanäle zu verbinden.
  • Wenn das Konto nicht erfolgreich verbunden wird, werden keine API Units abgezogen.

Social-Media-Konten Auflisten

Rufen Sie alle verbundenen Social-Media-Konten des aktuellen API-Key-Inhabers ab. Verwenden Sie diesen Endpoint vor dem Veröffentlichen, um die Konto-id-Werte für publish_configs zu finden.

GET https://wayinvideo-api.wayin.ai/api/v2/social-media/accounts?active_only={active_only}

Query-Parameter

ParameterTypErforderlichStandardBeschreibung
active_onlybooleanNeinfalseWenn true, werden nur Konten mit gültigen Tokens zurückgegeben.

Beispiel-Request

curl -X GET "https://wayinvideo-api.wayin.ai/api/v2/social-media/accounts?active_only=true" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "x-wayinvideo-api-version: v2"

Response, Wenn Kein Konto Verbunden Ist

{
  "data": []
}

Wenn data leer ist, rufen Sie zuerst Social-Media-Konto Verbinden auf.

Response, Wenn Konten Verbunden Sind

{
  "data": [
    {
      "id": "smaccxxx",
      "platform": "youtube",
      "platform_username": "MyChannel",
      "platform_avatar": "https://example.com/avatar.jpg",
      "token_valid": true,
      "token_expiring_soon": false
    }
  ]
}

Response-Felder

FeldTypBeschreibung
idstringEindeutige Social-Account-ID. Verwenden Sie diese als Key in publish_configs beim Aufruf von /publish. Nicht den Plattformnamen verwenden.
platformstringPlattform-Identifier. Siehe Plattformwerte.
platform_usernamestringBenutzername, Kanalname oder Kontoname auf der Plattform.
platform_avatarstring | nullAvatarbild-URL des Kontos.
token_validbooleantrue bedeutet, dass das Autorisierungstoken gültig ist und das Konto zum Veröffentlichen verwendet werden kann.
token_expiring_soonbooleantrue bedeutet, dass das Autorisierungstoken bald abläuft. Bitten Sie den Benutzer, das Konto erneut zu verbinden.

Empfohlene Verwendung

  • Bestätigen Sie vor dem Erstellen einer Veröffentlichungsaufgabe, dass das Zielkonto token_valid: true hat.

Veröffentlichungsaufgabe Erstellen

Veröffentlichen Sie einen Clip auf einem oder mehreren verbundenen Social-Media-Konten. Identifizieren Sie den Clip über die Projekt-ID und den Clip-Index.

Erforderlich: Die project_id muss aus einer KI-Clipping- oder Momente-finden-Aufgabe stammen, die mit enable_export = true eingereicht wurde. Social Publishing erfordert ein exportiertes Clip-Video; Projekte ohne aktivierten Export können mit diesem Endpoint nicht veröffentlicht werden.

POST https://wayinvideo-api.wayin.ai/api/v2/social-media/publish

Request-Felder

FeldTypErforderlichBeschreibung
project_idstringJaProjekt-ID.
idxintegerJaClip-Index innerhalb des Projekts.
resolutionstringNeinExportauflösung des exportierten Clips, z. B. 1080p oder 720p.
publish_configsobjectJaVeröffentlichungseinstellungen, deren Keys Social-Account-IDs aus dem Konten-Endpoint sind.
scheduled_atinteger | nullNeinMillisekunden-Timestamp für geplante Veröffentlichung. Verwenden Sie null oder lassen Sie das Feld weg, um sofort zu veröffentlichen.

So erzeugen Sie einen scheduled_at-Wert

scheduled_at ist ein Unix-Timestamp in Millisekunden. Er muss mindestens 5 Minuten und höchstens 30 Tage in der Zukunft liegen.

Veröffentlichung in 10 Minuten mit JavaScript planen:

const scheduledAt = Date.now() + 10 * 60 * 1000;

Für einen bestimmten Zeitpunkt planen:

const scheduledAt = new Date('2026-06-15T10:00:00Z').getTime();

Plattform-Veröffentlichungskonfiguration

Jeder Wert in publish_configs ist ein plattformspezifisches Veröffentlichungsobjekt.

FeldTypErforderlichBeschreibung
titlestringBedingt erforderlichVideotitel. Für YouTube erforderlich.
descriptionstringBedingt erforderlichVideobeschreibung oder Beitragstext. Für TikTok erforderlich.
tagsstring[]NeinTag-Liste.
visibilitystringNeinSichtbarkeit: public, private oder unlisted. Plattformunterstützung variiert.
thumbnail_urlstringNeinURL eines benutzerdefinierten Thumbnail-Bildes.
categorystringNeinPlattformspezifische Videokategorie.
allow_commentbooleanNeinOb Kommentare erlaubt sind.
allow_duetbooleanNeinOb Duette erlaubt sind. Nur TikTok.
allow_stitchbooleanNeinOb Stitches erlaubt sind. Nur TikTok.
disclose_contentbooleanNeinOb Werbe- oder Promotionsinhalte offengelegt werden sollen. Nur TikTok.

Wichtig: Die Keys in publish_configs müssen Konto-IDs sein, die von /api/v2/social-media/accounts zurückgegeben wurden, z. B. smacct06ixxxxxxx. Verwenden Sie nicht youtube, tiktok oder andere Plattformnamen als Keys.

Beispiel-Request

curl -sS -X POST https://wayinvideo-api.wayin.ai/api/v2/social-media/publish \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "x-wayinvideo-api-version: v2" \
  -d '{
    "project_id": "prj06ixxxxxxx",
    "idx": 0,
    "resolution": "1080p",
    "publish_configs": {
      "smacct06ixxxxxxx": {
        "title": "API Test Video",
        "description": "Posted by curl test",
        "tags": ["api", "test"],
        "visibility": "public"
      }
    },
    "scheduled_at": null
  }'

Beispiel-Response

{
  "data": {
    "task_id": "pubtask06ixxxxxxx",
    "status": "PENDING",
    "created_at": 1781251687210
  }
}

Response-Felder

FeldTypBeschreibung
task_idstringEindeutige Veröffentlichungsaufgaben-ID.
statusstringStatus der Veröffentlichungsaufgabe. Siehe Veröffentlichungsstatuswerte.
created_atintegerErstellungszeit der Aufgabe als Millisekunden-Timestamp.
schedule_idstring | nullZeitplan-ID. Wird zurückgegeben, wenn scheduled_at angegeben wurde.
scheduled_atinteger | nullGeplanter Veröffentlichungszeitpunkt als Millisekunden-Timestamp.

Sie können Veröffentlichungspläne und Live-Ergebnisse im WayinVideo-Kalender ansehen.


Plattformwerte

WertPlattformWebsite
youtubeYouTubehttps://youtube.com
tiktokTikTokhttps://tiktok.com
twitterTwitter / Xhttps://twitter.com
instagramInstagramhttps://instagram.com
facebookFacebookhttps://facebook.com
linkedinLinkedInhttps://linkedin.com

Veröffentlichungsstatuswerte

WertBeschreibung
PENDINGDie Aufgabe wurde erstellt und wartet auf Planung.
SCHEDULEDDie Aufgabe wurde geplant und wartet auf den geplanten Zeitpunkt.
PROCESSINGDie Veröffentlichung läuft, inklusive Video-Upload und Verarbeitung auf Plattformseite.
DONEDie Veröffentlichung war erfolgreich.
PARTIAL_DONEEinige Konten waren erfolgreich und andere sind fehlgeschlagen. Nur bei mehreren Konten möglich.
ERRORDie Veröffentlichung ist fehlgeschlagen.
CANCELLEDDie Veröffentlichung wurde abgebrochen.

Vollständiges Ablaufbeispiel

Schritt 1: YouTube-OAuth-URL Erstellen

curl -X POST https://wayinvideo-api.wayin.ai/api/v2/social-media/oauth/youtube \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "x-wayinvideo-api-version: v2" \
  --data ''

Öffnen Sie die zurückgegebene auth_url im Browser und schließen Sie die Autorisierung ab.

Schritt 2: Verfügbare Konten Auflisten

curl -X GET "https://wayinvideo-api.wayin.ai/api/v2/social-media/accounts?active_only=true" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "x-wayinvideo-api-version: v2"

Kopieren Sie die id des Kontos, auf dem Sie veröffentlichen möchten.

Schritt 3: Clip Veröffentlichen

curl -sS -X POST https://wayinvideo-api.wayin.ai/api/v2/social-media/publish \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "x-wayinvideo-api-version: v2" \
  -d '{
    "project_id": "prj06ixxxxxxx",
    "idx": 0,
    "resolution": "1080p",
    "publish_configs": {
      "smacct06ixxxxxxx": {
        "title": "API Test Video",
        "description": "Posted by curl test",
        "tags": ["api", "test"],
        "visibility": "public"
      }
    },
    "scheduled_at": null
  }'

Hinweise

  1. Die Keys von publish_configs sind Konto-IDs, keine Plattformnamen.
  2. Für geplante Veröffentlichungen übergeben Sie scheduled_at als zukünftigen Millisekunden-Timestamp.
  3. Derselbe Clip kann mehrfach auf verschiedenen Konten veröffentlicht werden. Eine erneute Veröffentlichung desselben Clips auf demselben Konto erstellt eine unabhängige Aufgabe.
  4. Social Publishing erfordert ein exportiertes Clip-Video. Verwenden Sie die project_id einer KI-Clipping- oder Momente-finden-Aufgabe, die mit enable_export = true erstellt wurde.
  5. Wenn beim Veröffentlichen ein Konto-Token-Fehler zurückgegeben wird, verbinden Sie das Social-Media-Konto erneut und versuchen Sie es noch einmal.