Zum Hauptinhalt springen
Beim Verwenden des POST /2/media/upload endpoint gibt es einige wichtige Konzepte zu beachten. Das Hochladen von Medien mit OAuth kann etwas knifflig sein. Daher haben wir hier wichtige Hinweise sowie ein funktionierendes Beispiel zusammengestellt, wie Sie dieses endpoint verwenden.

Bitte beachten

  • Sie können in einem Post bis zu 4 Fotos, 1 animiertes GIF oder 1 Video anhängen.
  • Das übergebene Bild sollte entweder der rohe Binärinhalt des Bildes oder base64‑codierter Binärinhalt sein; eine weitere Kodierung oder Maskierung ist nicht erforderlich, solange der Content‑Type passend gesetzt ist (im Zweifel: application/octet-stream).
  • Beim Senden von base64‑codierten Bildern stellen Sie sicher, dass beim Bildteil der Nachricht „Content-Transfer-Encoding: base64“ gesetzt ist.
  • Grenzen von Multipart‑Nachrichten müssen in einer eigenen Zeile stehen und mit CRLF abgeschlossen werden.
  • Für funktionierende Beispiele, wie Sie mit diesem endpoint per POST senden, empfehlen wir Tests mit xurl. Sehen Sie sich außerdem die verfügbaren X Libraries an.
  • Verwenden Sie die in der API‑Antwort bereitgestellte media_id_string für JavaScript und alle anderen Sprachen, die lange Ganzzahlen nicht exakt darstellen können.

Medienkategorien

Der Parameter „Media Category“ definiert den Anwendungsfall der hochzuladenden Mediendatei und kann sich auf Größenlimits oder andere für Medien-Uploads geltende Beschränkungen auswirken. Es ist wichtig, beim Upload die richtige Medienkategorie zu verwenden, um Probleme bei der späteren Nutzung der Medien zu vermeiden. Dabei handelt es sich um einen optionalen Wert, der in der INIT-Anfrage im Rahmen des Upload-Flows übergeben wird. Wenn keine Medienkategorie angegeben ist, wird angenommen, dass die hochgeladenen Medien für einen Post bestimmt sind (tweet_image, tweet_video oder tweet_gif), abhängig vom Content-Type. Die gängigsten Medienkategorien sind:
  • tweet_image
  • tweet_video
  • tweet_gif
  • dm_image
  • dm_video
  • dm_gif
  • subtitles
Wenn Sie ein Ads API-Partner sind, finden Sie weitere Informationen zur empfohlenen Medienkategorie für promoted video in dieser Dokumentation.

Bildspezifikationen und Empfehlungen

Bilddateien müssen alle folgenden Kriterien erfüllen:
  • Unterstützte Bildmedientypen: JPG, PNG, GIF, WEBP
  • Bildgröße: <= 5 MB
  • Größe animierter GIFs: <= 15 MB
Die oben genannte Dateigrößenbeschränkung wird vom Media-Upload-endpoint erzwungen. Zusätzlich gibt es eine separate, produktspezifische Dateigrößenbeschränkung, die beim Aufruf der Post-Erstellungs-endpoints (oder ähnlicher) mit media_id angewendet wird. Die Dateigrößenbeschränkung und andere Einschränkungen können je nach media_category-Parameter variieren.

Empfehlungen für animierte GIFs

Ein GIF kann während der Erstellung eines Posts fehlschlagen, selbst wenn es die Dateigrößenbeschränkung einhält. Beachten Sie die folgenden Vorgaben, um die Erfolgsrate zu erhöhen.
  • Auflösung: <= 1280x1080 (width x height)
  • Anzahl der Frames: <= 350
  • Anzahl der Pixel: <= 300 million (width * height * num_frames)
  • Dateigröße: <= 15MB
Um größere GIFs zu verarbeiten, verwenden Sie den chunked upload-endpoint mit dem Parameter media_category. Dadurch kann der Server die GIF-Datei asynchron verarbeiten, was für die Verarbeitung größerer Dateien erforderlich ist. Übergeben Sie media_category=tweet_gif, um das asynchrone Upload-Verhalten für Posts mit einem animierten GIF zu aktivieren.

Videospezifikationen und -empfehlungen

Bitte verwenden Sie den asynchronen Pfad für Medien-Uploads.
  • Video-Codec: H264 High Profile
  • Bildraten: 30 FPS, 60 FPS
  • Videoauflösung: 1280x720 (Querformat), 720x1280 (Hochformat), 720x720 (quadratisch). Abonnierte Nutzer können ein 1080p-Video hochladen und erhalten eine Wiedergabe in 1080p. Nicht abonnierte Nutzer können ein 720p-Video hochladen und erhalten eine Wiedergabe in 720p.
  • Minimale Video-Bitrate: 5.000 kbps
  • Minimale Audio-Bitrate: 128 kbps
  • Audio-Codec: AAC LC
  • Seitenverhältnis: 16:9 (Quer- oder Hochformat), 1:1 (quadratisch)

Erweitert

  • Bildrate: muss 60 FPS oder weniger sein
  • Abmessungen: müssen zwischen 32x32 und 1280x1024 liegen
  • Dateigröße: darf 512 MB nicht überschreiten
  • Dauer: muss zwischen 0,5 Sekunden und 140 Sekunden liegen
  • Seitenverhältnis: muss zwischen 1:3 und 3:1 liegen
  • Pixel-Seitenverhältnis: muss 1:1 sein
  • Pixelformat: Nur YUV 4:2:0 wird unterstützt
  • Audio muss AAC mit Low-Complexity-Profil sein. (High-Efficiency-AAC wird nicht unterstützt)
  • Audio muss Mono oder Stereo sein, nicht 5.1 oder höher
  • Darf kein Open GOP verwenden
  • Muss Progressive Scan verwenden

Zusätzliche Informationen

In der Tabelle unten stellt jede Zeile eine Empfehlung für Uploads dar, ist jedoch keine Voraussetzung. Alle Uploads werden plattformübergreifend für die Optimierung verarbeitet.
AusrichtungBreiteHöheVideo-BitrateAudio-Bitrate
Querformat12807202048K128K
Querformat640360768K64K
Querformat320180256K64K
Hochformat72012802048K128K
Hochformat360640768K64K
Hochformat180320256K64K
Quadrat7207202048K128K
Quadrat480480768K64K
Quadrat240240256K32K
Ein Beispiel für das Hochladen von Medien finden Sie in der Dokumentation zum chunked Media Upload.

Fehlerbehebung

Bei Problemen mit den Media APIs durchsuchen Sie die Kategorie „Media API“ in den Entwicklerforen, um eine Antwort zu finden.
I