POST /2/media/upload. Fazer upload de mídia com OAuth pode ser um pouco complicado, por isso descrevemos algumas coisas para manter em mente, bem como um exemplo funcional de como usar este endpoint aqui.
Tenha em mente
- Você pode anexar até 4 fotos, 1 GIF animado ou 1 vídeo em um Post.
- A imagem passada deve ser o binário raw da imagem ou binário codificado em base64, sem necessidade de outra codificação ou escape do conteúdo, desde que o Content-Type esteja definido apropriadamente (na dúvida:
application/octet-stream). - Ao postar imagens codificadas em base64, certifique-se de definir “Content-Transfer-Encoding: base64” na parte da imagem da mensagem.
- As fronteiras de mensagens multi-part devem estar em sua própria linha e terminadas por um CRLF.
- Para exemplos funcionais de como fazer POST usando este endpoint, recomendamos testar com xurl. Além disso, dê uma olhada nas Bibliotecas do X disponíveis.
- Use o
media_id_stringfornecido na resposta da API para JavaScript e quaisquer outras linguagens que não podem representar com precisão um inteiro longo.
Categorias de mídia
O parâmetro Media Category define o caso de uso do arquivo de mídia a ser enviado e pode afetar limites de tamanho de arquivo ou outras restrições aplicadas para uploads de mídia. É importante usar a categoria de mídia correta ao fazer upload para evitar problemas ao tentar usar a mídia. É um valor opcional passado na solicitação INIT como parte do fluxo de upload. Se a categoria de mídia não for especificada, presume-se que a mídia enviada seja para um Post (tweet_image, tweet_video ou tweet_gif), dependendo do content type.
As categorias de mídia mais comuns são:
tweet_imagetweet_videotweet_gifdm_imagedm_videodm_gifsubtitles
Especificações e recomendações de imagem
Arquivos de imagem devem atender a todos os seguintes critérios:- Tipos de mídia de imagem suportados:
JPG,PNG,GIF,WEBP - Tamanho da imagem:
<= 5 MB - Tamanho do GIF animado:
<= 15 MB
media_id. O limite de tamanho de arquivo e outras restrições podem variar dependendo do parâmetro media_category.
Recomendações para GIF animado
Um GIF pode falhar durante a criação de Post mesmo estando dentro do limite de tamanho de arquivo. Siga as seguintes restrições para melhorar as taxas de sucesso.- Resolução:
<= 1280x1080(widthxheight) - Número de frames:
<= 350 - Número de pixels:
<= 300 milhões(width*height*num_frames) - Tamanho do arquivo:
<= 15Mb
media_category. Isso permite que o servidor processe o arquivo GIF de forma assíncrona, o que é um requisito para processar arquivos maiores. Passe media_category=tweet_gif para habilitar o comportamento de upload assíncrono para Posts com um GIF animado.
Especificações e recomendações de vídeo
Use o Async Path para uploads de mídia.Recomendado
- Video Codec:
H264 High Profile - Frame Rates:
30 FPS,60 FPS - Resolução de vídeo:
1280x720(paisagem),720x1280(retrato),720x720(quadrado). Usuários assinantes podem enviar um vídeo 1080p e obter reprodução 1080p. Usuários não assinantes podem enviar um vídeo 720p e obter reprodução 720p. - Bitrate mínimo de vídeo:
5,000 kbps - Bitrate mínimo de áudio:
128 kbps - Codec de áudio:
AAC LC - Aspect Ratio:
16:9(paisagem ou retrato),1:1(quadrado)
Avançado
- Frame rate: deve ser
60 FPSou menos - Dimensões: deve estar entre
32x32e1280x1024 - Tamanho do arquivo: não deve exceder
512 mb - Duração: deve estar entre
0.5 segundose140 segundos - Aspect ratio: deve estar entre
1:3e3:1 - Pixel aspect ratio: deve ter
1:1 - Formato de pixel: Apenas YUV 4:2:0 é suportado
- Áudio deve ser
AACcom perfil Low Complexity. (High-EfficiencyAACnão é suportado) - Áudio deve ser
monooustereo, não 5.1 ou superior - Não deve ter
open GOP - Deve usar
progressive scan
Informações adicionais
Na tabela abaixo, cada linha representa uma recomendação de upload, mas não é um requisito. Todos os uploads são processados para otimização em várias plataformas.
Para um exemplo de como fazer upload de mídia, consulte a documentação do chunked media upload.