Títulos, tags, privacidade e Shorts: upload YouTube video through API
Um único POST autenticado permite upload YouTube video through API com um título, até 20 tags, um status de privacidade e o id de uma playlist existente anexados. Aqui o YouTube é só vídeo - sem posts de Comunidade, sem posts de imagem ou de texto -, então o payload é pequeno e as regras são rígidas.

Toda opção específica do YouTube fica em um objeto
youtubeConfigs carrega postType, videoTitle, tags, categoryId, privacyStatus, playlistId e as flags de notify/embed/kids/license, e viaja na mesma requisição POST /social-posts que referencia o arquivo enviado.
A Confiança de Criadores e Equipes
Veja como criadores, profissionais de marketing e pequenas empresas usam o AdaptlyPost para manter a consistência e economizar horas toda semana.
Sou engenheiro de software, não marketeiro. Minha parceira tem uma página no TikTok, então ajudo agendando os posts dela, preparo tudo de uma vez e deixo a IA cuidar das legendas. Agora me toma uns 20 minutos por semana.
Engenheiro de Software
Eu gerencio minha página de nail art e uma marca pessoal. Agendar ambas de um único painel mudou tudo, agora publico de forma consistente e meu engajamento subiu bastante em um mês.
Criadora de Conteúdo
Sou SWE e, sinceramente, péssimo em postar com consistência. Só organizo uma semana de atualizações para a minha marca pessoal quando tenho um tempinho livre, e a IA escreve as legendas por plataforma para eu não ter que reescrever a mesma coisa de cinco formas diferentes.
Engenheiro de Software
Sou engenheiro de software, não marketeiro. Minha parceira tem uma página no TikTok, então ajudo agendando os posts dela, preparo tudo de uma vez e deixo a IA cuidar das legendas. Agora me toma uns 20 minutos por semana.
Engenheiro de Software
Eu gerencio minha página de nail art e uma marca pessoal. Agendar ambas de um único painel mudou tudo, agora publico de forma consistente e meu engajamento subiu bastante em um mês.
Criadora de Conteúdo
Sou SWE e, sinceramente, péssimo em postar com consistência. Só organizo uma semana de atualizações para a minha marca pessoal quando tenho um tempinho livre, e a IA escreve as legendas por plataforma para eu não ter que reescrever a mesma coisa de cinco formas diferentes.
Engenheiro de Software
Sou engenheiro de software, não marketeiro. Minha parceira tem uma página no TikTok, então ajudo agendando os posts dela, preparo tudo de uma vez e deixo a IA cuidar das legendas. Agora me toma uns 20 minutos por semana.
Engenheiro de Software
Eu gerencio minha página de nail art e uma marca pessoal. Agendar ambas de um único painel mudou tudo, agora publico de forma consistente e meu engajamento subiu bastante em um mês.
Criadora de Conteúdo
Sou SWE e, sinceramente, péssimo em postar com consistência. Só organizo uma semana de atualizações para a minha marca pessoal quando tenho um tempinho livre, e a IA escreve as legendas por plataforma para eu não ter que reescrever a mesma coisa de cinco formas diferentes.
Engenheiro de Software
Não sou pessoa de redes sociais mas preciso publicar meu trabalho em algum lugar. O escritor IA faz um rascunho decente, eu ajusto um pouco, agendo, pronto. Passei de postar uma vez por mês para três vezes por semana.
Designer Freelancer
Conectamos nosso agente OpenClaw ao AdaptlyPost e agora nossa IA publica atualizações de produto em todos os canais automaticamente. Parece futurista mas honestamente simplesmente funciona. A integração via API foi direta.
Fundador de Startup
Não sou pessoa de redes sociais mas preciso publicar meu trabalho em algum lugar. O escritor IA faz um rascunho decente, eu ajusto um pouco, agendo, pronto. Passei de postar uma vez por mês para três vezes por semana.
Designer Freelancer
Conectamos nosso agente OpenClaw ao AdaptlyPost e agora nossa IA publica atualizações de produto em todos os canais automaticamente. Parece futurista mas honestamente simplesmente funciona. A integração via API foi direta.
Fundador de Startup
Não sou pessoa de redes sociais mas preciso publicar meu trabalho em algum lugar. O escritor IA faz um rascunho decente, eu ajusto um pouco, agendo, pronto. Passei de postar uma vez por mês para três vezes por semana.
Designer Freelancer
Conectamos nosso agente OpenClaw ao AdaptlyPost e agora nossa IA publica atualizações de produto em todos os canais automaticamente. Parece futurista mas honestamente simplesmente funciona. A integração via API foi direta.
Fundador de Startup
Do terminal vazio ao upload publicado
Crie uma chave e consulte o canal
As chaves são emitidas no painel em Settings > API Tokens e começam com adaptly_. Envie-as como `Authorization: Bearer <key>` contra https://post.adaptlypost.com/post/api/v1. O canal em si é conectado por OAuth no painel - não existe endpoint que conecte, desconecte ou verifique a saúde de um canal do YouTube - e então `GET /social-accounts` retorna seu id, platform e displayName para você referenciar no post. Uma chamada mira um canal do YouTube: um segundo canal é uma segunda chamada, e enviar duas contas do YouTube em um payload é rejeitado com um 400.
Envie o arquivo e faça POST /social-posts com youtubeConfigs
Somente video/mp4 e video/quicktime são aceitos, e `POST /upload-urls` rejeita qualquer outro mime type de imediato, então peça as URLs pré-assinadas lá (1-20 arquivos, válidas por uma hora), faça PUT do arquivo e crie o post com `text`, `platforms: ["YOUTUBE"]`, `timezone` (IANA, ex.: "Europe/Berlin"), `contentType: "VIDEO"` e um objeto `youtubeConfigs`. A lista de content types suportados do YouTube é VIDEO e o máximo de imagens por post é 0, então um post IMAGE ou TEXT que inclua o YouTube nunca chega ao canal. O corpo da requisição é validado de forma síncrona: `videoTitle` acima de 100 caracteres, mais de 20 `tags`, um campo obrigatório ausente ou um content type não suportado voltam como um 400 na própria chamada de criação, sem registro de post gravado e sem nada para redisparar. `postType: "SHORTS"` exige um arquivo 9:16 de 60 segundos ou menos, então confira proporção e duração antes de chamar. Adicione `scheduledAt` para agendar em vez de publicar imediatamente.
Leia platformPostId, ou corrija e redispare
`GET /social-posts/:id/results` retorna a entrada do YouTube com `status`, `publishedAt`, `errorMessage` e `platformPostId` - o id bruto do vídeo no YouTube. Nenhuma URL de exibição é devolvida, então monte o link você mesmo a partir desse id. Esse endpoint reporta o que o YouTube fez depois de aceitarmos e despacharmos o upload, não se o payload estava bem formado - payloads malformados nunca chegam até aqui, porque falharam com um 400 na criação. O que aparece em `errorMessage` é do lado do canal: um `playlistId` que não existe no canal conectado, uma concessão de OAuth que o dono do canal revogou ou um upload que o YouTube recusou ou limitou durante seu próprio processamento. Corrija a causa e chame `POST /social-posts/:id/retry` com os `platformIds` que falharam, em vez de recriar o post. Não existe sandbox em lugar nenhum da API, então o mais próximo de um teste a seco é publicar com `privacyStatus: "PRIVATE"` e mudar isso depois no YouTube Studio.
Preços simples e transparentes
Escolha o plano perfeito para você
30 contas sociais conectadas
Posts agendados ilimitados
1 membro de equipe
3 espaços de trabalho
150 créditos/mês
Legendas IA
Estúdio de imagens IA
Acesso à API e integração OpenClaw
Posts de imagem, vídeo e carrossel
Mais popular
60 contas sociais conectadas
Posts agendados ilimitados
5 membros de equipe
15 espaços de trabalho
400 créditos/mês
Legendas IA
Estúdio de imagens IA
Acesso à API e integração OpenClaw
Posts de imagem, vídeo e carrossel
100 contas sociais conectadas
Posts agendados ilimitados
20 membros de equipe
50 espaços de trabalho
1000 créditos/mês
Legendas IA
Estúdio de imagens IA
Acesso à API e integração OpenClaw
Posts de imagem, vídeo e carrossel
Todos os planos incluem teste gratuito de 7 dias
Quer ver a comparação completa de recursos? Ver página de preços
O que você realmente pode definir em um upload do YouTube
Uploads longos com metadados anexados
`postType: "VIDEO"` publica um upload padrão. `videoTitle` define o título com teto de 100 caracteres, `tags` aceita até 20 strings, `categoryId` recebe o id numérico de categoria do YouTube, e o `text` do post viaja com o vídeo como texto do corpo. Nada além desse objeto é configurável: não existem campos de miniatura, capítulos, tela final, legendas ou estreia nesta API.
Shorts no mesmo endpoint
Mude `postType` para `"SHORTS"` para subir YouTube Shorts pela API - mesmo endpoint, mesmo youtubeConfigs, mesmo pipeline de upload-urls. A restrição decisiva é a mídia, não a flag: um Short exige proporção 9:16 e duração de 60 segundos ou menos, então valide dimensões e duração antes de chamar, não depois.
Privacidade, notificações e a flag de público
`privacyStatus` aceita PUBLIC, UNLISTED ou PRIVATE. `notifySubscribers` decide se os inscritos do canal são avisados, `allowEmbedding` define a permissão de incorporação, `madeForKids` carrega a designação de público e `license` define a licença do vídeo. Todos são por post, então uma fila de uploads de arquivo pode sair privada e silenciosa enquanto um vídeo de lançamento sai público e notifica.
Adicionar o upload a uma playlist existente
Defina `playlistId` em youtubeConfigs e o upload finalizado é arquivado nessa playlist. Ela precisa já existir - a API consegue adicionar a uma playlist, mas não criar, renomear, reordenar nem listar uma -, então copie o id do YouTube Studio (o valor de `list=` na URL da playlist) e guarde-o na sua própria config. Se o id estiver errado, isso aparece na entrada do YouTube retornada por `/results`.
Configure seu primeiro upload no YouTube
Crie uma chave em Settings > API Tokens, importe GET /openapi.json no seu cliente HTTP, no Make ou no n8n, e o primeiro upload fica a um POST de distância. Teste com privacyStatus PRIVATE antes de ir a público.