Saltar al contenido principalHay algunos conceptos importantes que debes comprender al usar el endpoint POST /2/media/upload. Subir contenido multimedia con OAuth puede ser un poco complejo, así que hemos resumido algunos puntos a tener en cuenta y proporcionado un ejemplo funcional de cómo usar este endpoint aquí.
- Puedes adjuntar hasta 4 fotos, 1 GIF animado o 1 video en un Post.
- La imagen enviada debe ser el binario sin procesar de la imagen o el binario codificado en base64; no es necesario aplicar otra codificación ni escapar el contenido siempre que el Content-Type esté configurado correctamente (en caso de duda:
application/octet-stream).
- Al publicar imágenes codificadas en base64, asegúrate de establecer “Content-Transfer-Encoding: base64” en la parte de imagen del mensaje.
- Los límites de mensajes multiparte deben ir en su propia línea y terminar con un CRLF.
- Para ejemplos prácticos de cómo realizar POST con este endpoint, te recomendamos probar con xurl. Además, consulta las X Libraries disponibles.
- Usa 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 de 64 bits.
El parámetro de categoría de medios define el caso de uso del archivo multimedia que se va a cargar 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 cargar contenido para evitar problemas al intentar usarlo. 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 cargado es para una Publicación (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 eres socio del Ads API, consulta esta documentación para obtener más información sobre la categoría de medios recomendada para video promocionado.
Especificaciones y recomendaciones de imagen
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 contenido multimedia. Además, existe un límite de tamaño de archivo específico del producto (entidad) que se aplica al llamar a los endpoints de creación de Post (o similares) con media_id. El límite de tamaño 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. Cumple 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, usa el endpoint de carga segmentada con el parámetro media_category. Esto permite que el servidor procese el archivo GIF de forma asíncrona, lo cual es un requisito para procesar archivos más grandes. Pasa media_category=tweet_gif para habilitar la carga asíncrona en Posts con un GIF animado.
Especificaciones y recomendaciones de video
Utiliza la vía asíncrona para subir contenido multimedia.
- Códec de video:
H264 High Profile
- Frecuencias de cuadro:
30 FPS, 60 FPS
- Resolución de video:
1280x720 (horizontal), 720x1280 (vertical), 720x720 (cuadrado). Los usuarios suscritos pueden subir un video en 1080p y obtener reproducción en 1080p. Los usuarios no suscritos pueden subir 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)
- 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. (AAC de alta eficiencia no es compatible)
- El audio debe ser
mono o estéreo, no 5.1 ni superior
- No debe tener
open GOP
- Debe usar
progressive scan
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 optimizarlas en múltiples plataformas.
| Orientación | Ancho | Alto | Tasa de bits de video | Tasa de bits de audio |
|---|
| Horizontal | 1280 | 720 | 2048K | 128K |
| Horizontal | 640 | 360 | 768K | 64K |
| Horizontal | 320 | 180 | 256K | 64K |
| Vertical | 720 | 1280 | 2048K | 128K |
| Vertical | 360 | 640 | 768K | 64K |
| Vertical | 180 | 320 | 256K | 64K |
| Cuadrado | 720 | 720 | 2048K | 128K |
| Cuadrado | 480 | 480 | 768K | 64K |
| Cuadrado | 240 | 240 | 256K | 32K |
Para ver un ejemplo de cómo cargar contenido multimedia, consulta la documentación de carga segmentada de contenido multimedia.
Para problemas con las APIs de contenido multimedia, consulta la categoría Media API en los foros para encontrar una respuesta.