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
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
Bildspezifikationen und Empfehlungen
- Unterstützte Bildmedientypen:
JPG
,PNG
,GIF
,WEBP
- Bildgröße:
<= 5 MB
- Größe animierter GIFs:
<= 15 MB
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
- Auflösung:
<= 1280x1080
(width
xheight
) - Anzahl der Frames:
<= 350
- Anzahl der Pixel:
<= 300 million
(width
*height
*num_frames
) - Dateigröße:
<= 15MB
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
Empfohlen
- 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
und1280x1024
liegen - Dateigröße: darf
512 MB
nicht überschreiten - Dauer: muss zwischen
0,5 Sekunden
und140 Sekunden
liegen - Seitenverhältnis: muss zwischen
1:3
und3: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
oderStereo
sein, nicht 5.1 oder höher - Darf kein
Open GOP
verwenden - Muss
Progressive Scan
verwenden
Zusätzliche Informationen
Ausrichtung | Breite | Höhe | Video-Bitrate | Audio-Bitrate |
---|---|---|---|---|
Querformat | 1280 | 720 | 2048K | 128K |
Querformat | 640 | 360 | 768K | 64K |
Querformat | 320 | 180 | 256K | 64K |
Hochformat | 720 | 1280 | 2048K | 128K |
Hochformat | 360 | 640 | 768K | 64K |
Hochformat | 180 | 320 | 256K | 64K |
Quadrat | 720 | 720 | 2048K | 128K |
Quadrat | 480 | 480 | 768K | 64K |
Quadrat | 240 | 240 | 256K | 32K |