Arquivos aceitos
Fotos HEIC e HEIF também são aceitas quando o servidor consegue convertê-las, e são guardadas como JPEG.
Esses são os limites para qualquer upload. Cada rede tem os seus próprios limites, geralmente menores, de quantidade, tamanho, duração e proporção, conferidos quando o post é agendado ou publicado. List content types devolve esses limites por tipo de conteúdo (
max_media_count, max_image_bytes, max_video_bytes, max_video_duration_sec, …), e a página de cada rede também os lista, por exemplo Instagram, TikTok ou LinkedIn. Um arquivo de um tipo que o canal não aceita é recusado com 422.
Mídia na criação e na atualização
Create post, Create posts in batch e Update post aceitam uma listamedia. Cada item informa exatamente uma origem:
media substitui a mídia do post; omita o campo para manter a mídia atual.
Envie um arquivo
Create upload recebe um arquivo comomultipart/form-data, sem post, e devolve um upload_token:
url traz o endereço público do arquivo enviado; o exemplo acima usa um endereço fictício.
Use o token como item de mídia ({ "upload_token": "..." }) na criação ou na atualização, ou anexe-o a um post que já existe com Attach media from upload:
- O token é de uso único: o primeiro post que o recebe o consome. Para colocar o mesmo arquivo num segundo post, use o
media[].iddaquele post. - Use o token antes de
expires_at, 24 horas depois do upload. Depois disso os uploads não usados são apagados, e um token já usado ou expirado falha com422:This upload expired. Add the file again.
Anexe a partir de URLs
Attach media from URL baixa de 1 a 10 arquivos e os adiciona a um post:reason é um destes: unreachable, type_not_allowed, too_large ou host_not_allowed.
Um item media[].url na criação ou na atualização é baixado do mesmo jeito: sem redirecionamentos e sem endereços de rede privada. Diferente desta chamada, uma URL que falha ali faz a requisição inteira falhar com 422.
Reutilize a mídia de outro post
A API não tem uma biblioteca de mídia separada. Para reutilizar um arquivo, pegue oid de um item da media de outro post (em Get post ou List posts) e envie-o como { "id": "..." }. O PostClean copia o arquivo, então excluir um dos posts não mexe na mídia do outro.
URLs de upload assinadas
Assistentes de IA conectados pelo servidor MCP não conseguem enviar o conteúdo de arquivos pelo MCP. A ferramentarequest-media-upload-tool dá a eles uma URL assinada de uso único, e o arquivo vai para Upload to signed URL sem chave de API; a assinatura autoriza a requisição:
- A URL funciona uma vez, até expirar (15 minutos por padrão). Um segundo upload para ela devolve
409. - A resposta traz um
upload_token, usado como um token de Create upload.
Texto alternativo e configurações da mídia
Cada item de mídia aceita configurações opcionais:Quais posts aceitam mídia
A mídia pode ser adicionada e substituída até o post sair. Posts empublishing, published ou failed não aceitam mídia: a API responde 422 com This post has already been processed and cannot be re-published. Duplicate it to try again.