Passer au contenu principal
Il y a quelques concepts importants à comprendre lors de l’utilisation de l’endpoint POST /2/media/upload. Le téléversement de médias avec OAuth peut être un peu délicat, c’est pourquoi nous avons rassemblé ci-dessous certains éléments à garder à l’esprit, ainsi qu’un exemple fonctionnel d’utilisation de cet endpoint.

À garder à l’esprit

  • Vous pouvez joindre jusqu’à 4 photos, 1 GIF animé ou 1 vidéo dans une Publication.
  • 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 le contenu autrement tant que le Content-Type est correctement défini (en cas de doute : application/octet-stream).
  • Lorsque vous publiez des images encodées en base64, veillez à définir « Content-Transfer-Encoding: base64 » pour la partie image du message.
  • Les délimitations de message multipart (boundaries) doivent se trouver sur leur propre ligne et être terminées par un CRLF.
  • Pour des exemples concrets d’utilisation de POST avec ce point de terminaison, nous vous recommandons de faire des tests 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 correctement un entier long.

Catégories de médias

Le paramètre de catégorie de média définit le cas d’utilisation du fichier média à téléverser et peut affecter les limites de taille de fichier ou d’autres contraintes appliquées aux téléversements de médias. Il est important d’utiliser la catégorie de média appropriée lors du téléversement afin d’éviter des problèmes au moment d’utiliser ce média. Il s’agit d’une valeur optionnelle transmise dans la requête INIT dans le cadre du flux de téléversement. Si aucune catégorie de média n’est spécifiée, le média téléversé est considéré comme un média destiné à une Publication (tweet_image, tweet_video ou tweet_gif), en fonction du 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
Si vous êtes un partenaire de l’Ads API, veuillez consulter cette documentation pour plus d’informations sur la catégorie de média recommandée pour les vidéos sponsorisées.

Spécifications et recommandations pour les images

Les fichiers image doivent respecter tous les critères suivants :
  • Types de médias image pris en charge : JPG, PNG, GIF, WEBP
  • Taille de l’image : <= 5 MB
  • Taille du GIF animé : <= 15 MB
La limite de taille de fichier ci‑dessus est appliquée par l’endpoint de téléchargement de médias. En outre, il existe une limite de taille de fichier propre à une entité de produit spécifique, qui est appliquée lors de l’appel des endpoints de création de Publication (ou similaires) avec media_id. La limite de taille de fichier et d’autres contraintes peuvent varier en fonction du paramètre media_category.

Recommandations pour les GIF animés

Un GIF peut échouer lors de la création d’une Publication même s’il respecte la limite de taille de fichier. Respectez les contraintes suivantes pour augmenter les chances de réussite.
  • Résolution : <= 1280x1080 (width x height)
  • Nombre d’images : <= 350
  • Nombre de pixels : <= 300 millions (width * height * num_frames)
  • Taille de fichier : <= 15Mb
Pour traiter des GIF plus volumineux, utilisez le point de terminaison de téléversement en segments avec le paramètre media_category. Cela permet au serveur de traiter le fichier GIF de manière asynchrone, ce qui est nécessaire pour traiter des fichiers plus volumineux. Indiquez media_category=tweet_gif pour activer le comportement de téléversement asynchrone pour les Publications contenant un GIF animé.

Spécifications et recommandations pour la vidéo

Veuillez utiliser l’Async Path pour les téléversements de médias.
  • Codec vidéo : H264 High Profile
  • Fréquences d’images : 30 FPS, 60 FPS
  • Résolution vidéo : 1280x720 (paysage), 720x1280 (portrait), 720x720 (carré). Les utilisateurs abonnés peuvent téléverser une vidéo en 1080p et obtenir une lecture en 1080p. Les utilisateurs non abonnés peuvent téléverser une vidéo en 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’image : doit être de 60 FPS ou moins
  • Dimensions : doivent être comprises entre 32x32 et 1280x1024
  • Taille du fichier : ne doit pas dépasser 512 MB
  • Durée : doit être comprise entre 0,5 seconde et 140 secondes
  • Ratio d’aspect : doit être compris entre 1:3 et 3:1
  • Ratio d’aspect des pixels : doit être de 1:1
  • Format de pixels : seul le format YUV 4:2:0 est pris en charge
  • L’audio doit être au format AAC avec profil Low Complexity. (AAC High-Efficiency n’est pas pris en charge)
  • L’audio doit être en mono ou stéréo, pas en 5.1 ou plus
  • Ne doit pas contenir de open GOP
  • Doit utiliser un progressive scan

Informations supplémentaires

Dans le tableau ci-dessous, chaque ligne correspond à une recommandation de téléversement, sans caractère obligatoire. Tous les téléversements sont traités afin d’être optimisés pour plusieurs plateformes.
OrientationLargeurHauteurDébit vidéoDébit audio
Paysage12807202048K128K
Paysage640360768K64K
Paysage320180256K64K
Portrait72012802048K128K
Portrait360640768K64K
Portrait180320256K64K
Carré7207202048K128K
Carré480480768K64K
Carré240240256K32K
Pour un exemple de téléversement de média, consultez la documentation sur le téléversement de médias par segments.

Dépannage

En cas de problème avec les API Media, consultez la catégorie Media API sur les forums pour développeurs pour trouver une réponse.