Você escreveu uma postagem no Mastodon, anexou uma imagem ou vídeo, definiu uma data e hora específicas para publicar e clicou em Agendar. Em vez de confirmar que a postagem está na fila, a interface mostra um erro ou o botão Agendar permanece cinza. Esse problema ocorre porque o Mastodon atualmente não suporta agendar postagens que incluam anexos de mídia — o recurso é bloqueado no nível da API e na interface web. Este artigo explica o motivo técnico por trás da limitação e fornece uma solução prática que permite agendar postagens com mídia sem encontrar o erro.
Principais Conclusões: Agendando Postagens com Mídia no Mastodon
- Comportamento do botão Agendar: O botão Agendar fica desabilitado quando qualquer arquivo de mídia é anexado a uma postagem.
- Limitação da API: A API do Mastodon rejeita status agendados que incluam
media_idsno payload. - Solução alternativa — enviar mídia separadamente: Envie seu arquivo de mídia como rascunho, copie a URL e cole essa URL em uma postagem agendada apenas com texto.
Por que o Mastodon Bloqueia Postagens Agendadas com Anexos de Mídia
O recurso de agendamento do Mastodon depende do endpoint POST /api/v1/statuses com o parâmetro scheduled_at. Quando você anexa um arquivo de mídia, o cliente envia um array media_ids junto com o conteúdo da postagem. A API do Mastodon rejeita explicitamente qualquer requisição que contenha tanto scheduled_at quanto media_ids — o servidor retorna um erro 422 Unprocessable Entity.
A equipe de desenvolvimento do Mastodon não declarou publicamente por que essa restrição existe. O motivo mais provável é que o processamento de mídia — geração de miniaturas, transcodificação e armazenamento — introduz atrasos imprevisíveis. Se o servidor não puder garantir que a mídia será totalmente processada até o horário agendado, a postagem pode ser publicada sem o anexo ou falhar completamente. Para evitar esses casos extremos, a API simplesmente não permite a combinação.
Essa limitação se aplica a todos os clientes oficiais do Mastodon, incluindo a interface web, o aplicativo oficial para iOS e o aplicativo oficial para Android. Clientes de terceiros como Tusky, Fedilab e Mona também respeitam a mesma restrição do lado do servidor. Nenhum cliente pode contorná-la porque a verificação ocorre no servidor.
Solução Alternativa: Agendar uma Postagem que Inclui Mídia
Como o Mastodon não agenda uma postagem com anexo de mídia diretamente, você deve separar o upload da mídia da etapa de agendamento. A solução envolve enviar o arquivo de mídia para o armazenamento de mídia do Mastodon, obter uma URL direta para esse arquivo e então compor uma postagem agendada que inclua a URL. Os leitores verão a mídia inline quando a postagem for publicada, exatamente como se tivesse sido anexada nativamente.
- Envie o arquivo de mídia como rascunho
Abra o Mastodon no seu navegador. Clique no botão Compor para abrir o editor de nova postagem. Anexe sua imagem ou vídeo clicando no ícone de mídia ou arrastando o arquivo para o editor. Não escreva nenhum texto ainda. Clique fora do editor ou navegue para outra página — o Mastodon salva o anexo como rascunho. O arquivo de mídia agora está armazenado no servidor de mídia da sua instância. - Copie a URL direta da mídia
Recarregue a página do Mastodon. Abra o rascunho que você acabou de criar. Clique com o botão direito na miniatura da mídia anexada e selecione Copiar Endereço da Imagem ou Copiar Link no menu de contexto do navegador. A URL será semelhante ahttps://sua-instancia.exemplo.com/media_attachments/files/000/123/456/original/foto.jpg. Salve esta URL em um arquivo de texto ou cole em uma nota temporária. - Exclua o rascunho sem publicar
Limpe o editor clicando no ícone X no rascunho ou descartando o rascunho da seção de rascunhos. Este passo é importante — você não deve publicar o rascunho, pois ele seria publicado imediatamente. Você só precisou do rascunho para gerar a URL da mídia. - Componha uma postagem agendada com a URL da mídia
Abra uma nova janela de composição. Escreva o texto da sua postagem. No local onde deseja que a mídia apareça, cole a URL da mídia que você copiou no passo 2. O Mastodon renderizará a URL como uma prévia de mídia inline quando a postagem for publicada. Defina a data e hora desejadas usando o botão Agendar. Clique em Agendar para confirmar. A postagem será publicada no horário agendado e a mídia aparecerá inline.
Se a Postagem Agendada Ainda Tiver Problemas Após a Solução
A URL da mídia não renderiza inline após o agendamento
Se a postagem for publicada, mas mostrar a URL bruta em vez da prévia da mídia, a causa mais comum é que o arquivo de mídia foi excluído ou a URL foi truncada. Verifique se a URL que você copiou está completa e se o arquivo ainda existe na sua instância. Você pode testar a URL colando-a na barra de endereços do navegador — se a mídia carregar, a URL é válida.
O botão Agendar permanece cinza mesmo com conteúdo apenas texto
Isso geralmente significa que sua instância do Mastodon tem o agendamento desabilitado ou possui um atraso mínimo de agendamento. Alguns administradores desabilitam completamente o recurso de agendamento. Verifique com o administrador da sua instância ou olhe a página “Sobre” da instância. O Mastodon também exige que o horário agendado seja pelo menos cinco minutos no futuro. Se você definir o horário com menos de cinco minutos de antecedência, o botão Agendar permanece desabilitado.
O arquivo de mídia não aparece na prévia da postagem
A prévia de mídia inline só aparece após a postagem ser publicada. Enquanto a postagem está agendada, o editor mostra a URL como texto simples. Isso é normal — a prévia é gerada pelo servidor no momento da publicação. Não espere ver a miniatura da mídia na lista de postagens agendadas.
URL Direta da Mídia vs. Anexo Nativo: Principais Diferenças
| Item | URL Direta da Mídia (Solução) | Anexo Nativo de Mídia |
|---|---|---|
| Como o Mastodon processa o arquivo | Armazenado como rascunho, depois a URL é extraída | Enviado e processado no momento da composição |
| Aparência na linha do tempo | Prévia inline gerada a partir da URL | Anexo de mídia completo com miniatura |
| Suporte a texto alternativo | O texto alternativo não é transferido — você deve descrever a mídia no texto da postagem | O texto alternativo é anexado diretamente ao arquivo de mídia |
| Integração com aviso de conteúdo | Funciona normalmente — a URL fica oculta atrás do aviso de conteúdo | Funciona normalmente |
| Confiabilidade | Depende do arquivo de mídia permanecer no servidor | Garantida porque o arquivo está anexado à postagem |
O recurso de postagem agendada do Mastodon é uma ferramenta útil para planejar seu conteúdo, mas a restrição de anexo de mídia força você a ajustar seu fluxo de trabalho. Ao enviar o arquivo de mídia como rascunho, copiar sua URL direta e incluir essa URL em uma postagem agendada apenas com texto, você pode obter o mesmo resultado de um anexo de mídia nativo. Lembre-se de que o texto alternativo não pode ser atribuído à URL — sempre inclua uma legenda descritiva no texto da postagem para manter a acessibilidade. Se você agenda postagens com frequência, considere usar uma ferramenta de terceiros como Buffer ou Hootsuite, que suportam anexos de mídia em postagens agendadas através da API do Mastodon.