Saltar al contenido principal
Hay algunos conceptos importantes que debes comprender al usar el endpoint POST /2/media/upload. Cargar contenido multimedia con OAuth puede resultar algo complicado, por lo que aquí presentamos varios puntos a tener en cuenta, así como un ejemplo funcional de cómo utilizar este endpoint.

Tenga en cuenta

  • Puede adjuntar hasta 4 fotos, 1 GIF animado o 1 vídeo en un Post.
  • La imagen enviada debe ser el binario sin procesar de la imagen o el binario codificado en base64; no es necesario codificar ni escapar el contenido de otra forma siempre que el Content-Type esté configurado correctamente (en caso de duda: application/octet-stream).
  • Al enviar imágenes codificadas en base64, asegúrese de establecer “Content-Transfer-Encoding: base64” en la parte de imagen del mensaje.
  • Los límites de mensajes multiparte deben estar en su propia línea y terminar con un CRLF.
  • Para ver ejemplos funcionales de cómo hacer POST con este endpoint, recomendamos probar con xurl. Además, consulte las X Libraries disponibles.
  • Use el media_id_string proporcionado en la respuesta de la API para JavaScript y cualquier otro lenguaje que no pueda representar con precisión un entero largo.

Categorías de medios

El parámetro Media Category define el caso de uso del archivo multimedia que se va a subir y puede afectar los límites de tamaño de archivo u otras restricciones aplicadas a las cargas de medios. Es importante usar la categoría de medios correcta al subir contenido para evitar problemas al intentar utilizarlo. Es un valor opcional que se envía en la solicitud INIT como parte del flujo de carga. Si no se especifica la categoría de medios, se asume que el contenido subido es para un Post (tweet_image, tweet_video o tweet_gif), según el tipo de contenido. Las categorías de medios más comunes son las siguientes:
  • tweet_image
  • tweet_video
  • tweet_gif
  • dm_image
  • dm_video
  • dm_gif
  • subtitles
Si es socio de la X Ads API, consulte esta documentación para obtener más información sobre la categoría de medios recomendada para videos promocionados.

Especificaciones y recomendaciones para imágenes

Los archivos de imagen deben cumplir todos los criterios siguientes:
  • Tipos de medios de imagen compatibles: JPG, PNG, GIF, WEBP
  • Tamaño de la imagen: <= 5 MB
  • Tamaño del GIF animado: <= 15 MB
El límite de tamaño de archivo indicado arriba lo aplica el endpoint de carga de medios. Además, existe un límite de tamaño de archivo específico de la entidad de producto que se aplica al invocar los endpoints de creación de Post (o similares) con media_id. El límite de tamaño de archivo y otras restricciones pueden variar según el parámetro media_category.

Recomendaciones para GIF animados

Un GIF puede fallar durante la creación de un Post incluso si está dentro del límite de tamaño de archivo. Siga las siguientes restricciones para mejorar la tasa de éxito.
  • Resolución: <= 1280x1080 (width x height)
  • Número de fotogramas: <= 350
  • Número de píxeles: <= 300 millones (width * height * num_frames)
  • Tamaño del archivo: <= 15 MB
Para procesar GIF de mayor tamaño, use el endpoint de carga segmentada con el parámetro media_category. Esto permite que el servidor procese el archivo GIF de forma asíncrona, requisito necesario para manejar archivos más grandes. Pase media_category=tweet_gif para habilitar la carga asíncrona en Posts con un GIF animado.

Especificaciones y recomendaciones de video

Utiliza la ruta asíncrona para la carga de medios.
  • Códec de video: H264 High Profile
  • Frecuencia de fotogramas: 30 FPS, 60 FPS
  • Resolución de video: 1280x720 (horizontal), 720x1280 (vertical), 720x720 (cuadrado). Los usuarios suscritos pueden cargar un video en 1080p y obtener reproducción en 1080p. Los usuarios no suscritos pueden cargar un video en 720p y obtener reproducción en 720p.
  • Tasa de bits mínima de video: 5,000 kbps
  • Tasa de bits mínima de audio: 128 kbps
  • Códec de audio: AAC LC
  • Relación de aspecto: 16:9 (horizontal o vertical), 1:1 (cuadrado)

Avanzado

  • Frecuencia de fotogramas: debe ser de 60 FPS o menos
  • Dimensiones: deben estar entre 32x32 y 1280x1024
  • Tamaño de archivo: no debe exceder los 512 MB
  • Duración: debe estar entre 0.5 segundos y 140 segundos
  • Relación de aspecto: debe estar entre 1:3 y 3:1
  • Relación de aspecto de píxel: debe ser 1:1
  • Formato de píxel: solo se admite YUV 4:2:0
  • El audio debe ser AAC con perfil de baja complejidad. (No se admite AAC de alta eficiencia)
  • El audio debe ser mono o estéreo, no 5.1 ni superior
  • No debe tener open GOP
  • Debe usar progressive scan

Información adicional

En la tabla a continuación, cada fila representa una recomendación de carga, pero no es un requisito. Todas las cargas se procesan para su optimización en múltiples plataformas.
OrientaciónAnchoAltoTasa de bits de videoTasa de bits de audio
Horizontal12807202048K128K
Horizontal640360768K64K
Horizontal320180256K64K
Vertical72012802048K128K
Vertical360640768K64K
Vertical180320256K64K
Cuadrado7207202048K128K
Cuadrado480480768K64K
Cuadrado240240256K32K
Para ver un ejemplo de cómo cargar contenido multimedia, consulta la documentación de carga de contenido multimedia por fragmentos.

Solución de problemas

Si tienes problemas con las APIs de medios, consulta la categoría Media API en los foros para encontrar una respuesta.
I