POST /2/media/upload
. Le téléversement de médias avec OAuth peut être un peu délicat ; nous avons donc rassemblé ici des points à garder à l’esprit, ainsi qu’un exemple fonctionnel montrant comment utiliser cet endpoint.
À garder à l’esprit
- Vous pouvez joindre jusqu’à 4 photos, 1 GIF animé ou 1 vidéo dans un Post.
- L’image transmise doit être le binaire brut de l’image ou un binaire encodé en base64 ; il n’est pas nécessaire d’encoder ou d’échapper autrement le contenu tant que le Content-Type est correctement défini (en cas de doute :
application/octet-stream
). - Lors de l’envoi d’images encodées en base64, veillez à définir « Content-Transfer-Encoding: base64 » sur la partie image du message.
- Les délimitations des messages multipart doivent figurer sur leur propre ligne et se terminer par un CRLF.
- Pour des exemples concrets d’utilisation de POST avec cet endpoint, nous recommandons de tester avec xurl. Consultez également les bibliothèques X disponibles.
- Utilisez le
media_id_string
fourni dans la réponse de l’API pour JavaScript et tout autre langage qui ne peut pas représenter avec précision un entier long.
Catégories de médias
tweet_image
, tweet_video
ou tweet_gif
), selon le type de contenu.
Les catégories de médias les plus courantes sont les suivantes :
tweet_image
tweet_video
tweet_gif
dm_image
dm_video
dm_gif
subtitles
Spécifications et recommandations pour les images
- Types de médias image pris en charge :
JPG
,PNG
,GIF
,WEBP
- Taille de l’image :
<= 5 MB
- Taille du GIF animé :
<= 15 MB
media_id
. La limite de taille et d’autres contraintes peuvent varier selon le paramètre media_category
.
Recommandations pour les GIF animés
- Résolution :
<= 1280x1080
(width
xheight
) - Nombre d’images :
<= 350
- Nombre de pixels :
<= 300 millions
(width
*height
*num_frames
) - Taille du fichier :
<= 15 Mo
media_category
. Cela permet au serveur de traiter le fichier GIF de manière asynchrone, ce qui est requis pour le traitement de fichiers plus volumineux. Transmettez media_category=tweet_gif
pour activer le comportement de téléversement asynchrone pour les Posts contenant un GIF animé.
Spécifications et recommandations vidéo
Recommandé
- Codec vidéo :
H264 High Profile
- Fréquence d’images :
30 FPS
,60 FPS
- Résolution vidéo :
1280x720
(paysage),720x1280
(portrait),720x720
(carré). Les utilisateurs abonnés peuvent importer une vidéo 1080p et obtenir une lecture en 1080p. Les utilisateurs non abonnés peuvent importer une vidéo 720p et obtenir une lecture en 720p. - Débit vidéo minimal :
5 000 kbps
- Débit audio minimal :
128 kbps
- Codec audio :
AAC LC
- Format d’image :
16:9
(paysage ou portrait),1:1
(carré)
Avancé
- Fréquence d’images : doit être de
60 FPS
ou moins - Dimensions : doivent être comprises entre
32x32
et1280x1024
- Taille du fichier : ne doit pas dépasser
512 MB
- Durée : doit être comprise entre
0,5 seconde
et140 secondes
- Rapport d’aspect : doit être compris entre
1:3
et3:1
- Rapport d’aspect des pixels : doit être de
1:1
- Format de pixels : seul le YUV 4:2:0 est pris en charge
- Le son doit être en
AAC
avec profil Low Complexity. (L’AAC
High-Efficiency n’est pas pris en charge) - Le son doit être
mono
oustereo
, et non 5.1 ou plus - Ne doit pas utiliser d’
open GOP
- Doit utiliser le
progressive scan
Informations supplémentaires
Orientation | Largeur | Hauteur | Débit vidéo | Débit audio |
---|---|---|---|---|
Paysage | 1280 | 720 | 2048K | 128K |
Paysage | 640 | 360 | 768K | 64K |
Paysage | 320 | 180 | 256K | 64K |
Portrait | 720 | 1280 | 2048K | 128K |
Portrait | 360 | 640 | 768K | 64K |
Portrait | 180 | 320 | 256K | 64K |
Carré | 720 | 720 | 2048K | 128K |
Carré | 480 | 480 | 768K | 64K |
Carré | 240 | 240 | 256K | 32K |