Envie vídeos para aprovação, aprove, rejeite e acompanhe a publicação dos Reels. Base: https://instaposter-api.gyttech.com
Todas as rotas (exceto esta página e /saude) exigem o cabeçalho:
Authorization: Bearer SEU_TOKEN
Sem token ou com token inválido: 401. Depois de 20 tentativas inválidas em 15 minutos, o IP recebe 429.
linkerroO id de cada vídeo é o nome sem extensão no padrão NNN_nome-curto (ex.: 012_dica-de-treino). Os números definem a ordem e não podem se repetir; o próximo livre vem em GET /v1/status.
TOKEN=seu_token
API=https://instaposter-api.gyttech.com
# 1. próximo número livre
curl -s -H "Authorization: Bearer $TOKEN" $API/v1/status
# 2. legenda (antes ou depois do vídeo)
curl -s -X PUT -H "Authorization: Bearer $TOKEN" -H "Content-Type: text/plain; charset=utf-8" \
--data-binary @012_dica-de-treino.txt $API/v1/videos/012_dica-de-treino/legenda
# 3. vídeo (corpo = bytes do arquivo)
curl -s -X PUT -H "Authorization: Bearer $TOKEN" -H "Content-Type: video/mp4" \
-T 012_dica-de-treino.mp4 $API/v1/videos/012_dica-de-treino/video
# 4. (opcional) aprovar pela API — ou deixe para aprovar no painel
curl -s -X POST -H "Authorization: Bearer $TOKEN" $API/v1/videos/012_dica-de-treino/aprovar
# 5. acompanhar até virar "publicado" e pegar o link
curl -s -H "Authorization: Bearer $TOKEN" $API/v1/videos/012_dica-de-treino
/v1/statusPublicação em andamento, limite de 24h (usados, maximo, libera_em), contagem por status e proximo_numero.
/v1/videos?status=pendente,na_filaLista vídeos. status é opcional (vários separados por vírgula): pendente, na_fila, publicado, erro, rejeitado.
/v1/videos/{id}Detalhes de um vídeo: status, legenda, duração, orientação, checagem técnica, e para publicados link, media_id e publicado_em.
/v1/videos/{id}/videoEnvia o arquivo de vídeo (até 1 GB) para pendente. Content-Type: video/mp4 ou video/quicktime (ou ?formato=mov). Responde 201 com o vídeo e a checagem técnica. 409 se o id já existir.
/v1/videos/{id}/legendaDefine a legenda: corpo em text/plain ou JSON {"legenda": "..."}. Máximo 2.200 caracteres e 30 hashtags (422 se passar). Funciona para vídeos pendentes ou na fila, ou antes do vídeo existir (status aguardando_video).
/v1/videos/{id}/aprovarPendente → na fila; o painel publica em seguida. Se a checagem técnica tiver problemas, responde 422 com a lista; use ?forcar=true para aprovar mesmo assim.
/v1/videos/{id}/rejeitarPendente → rejeitado.
/v1/videos/{id}/desaprovarNa fila → pendente (se ainda não começou a publicar; senão 409).
/v1/videos/{id}/restaurarErro ou rejeitado → pendente.
/v1/videos/{id}Apaga definitivamente um vídeo rejeitado. Responde 204.
/v1/videos/{id}/video · /v1/videos/{id}/miniaturaBaixa o arquivo (aceita Range) ou uma miniatura JPEG.
/v1/log?linhas=100Últimas linhas do log de publicação (máximo 500).
| Código | Quando |
|---|---|
400 | Parâmetro ou id inválido |
401 | Token ausente ou inválido |
404 | Vídeo ou rota não encontrados |
409 | Ação incompatível com o status atual, ou id já usado |
413 | Arquivo maior que 1 GB |
422 | Legenda fora dos limites, ou checagem técnica falhou ao aprovar |
429 | Muitas tentativas com token inválido |
Todas as respostas de erro têm o formato {"erro": "mensagem"}.