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.

Um payload POST /social-posts com um objeto youtubeConfigs contendo videoTitle, tags, privacyStatus e playlistId

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.

Denys Zinych
Denys Zinych

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.

Irena
Irena

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.

Dorian Opacki
Dorian Opacki

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.

Denys Zinych
Denys Zinych

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.

Irena
Irena

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.

Dorian Opacki
Dorian Opacki

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.

Denys Zinych
Denys Zinych

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.

Irena
Irena

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.

Dorian Opacki
Dorian Opacki

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.

Denys Kholin
Denys Kholin

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.

Taras Shynkarenko
Taras Shynkarenko

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.

Denys Kholin
Denys Kholin

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.

Taras Shynkarenko
Taras Shynkarenko

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.

Denys Kholin
Denys Kholin

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.

Taras Shynkarenko
Taras Shynkarenko

Fundador de Startup

Do terminal vazio ao upload publicado

Passo 1

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.

Passo 2

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.

Passo 3

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ê

Creator

Perfeito para indivíduos e empreendedores

$19

/mês

  • 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

Pro

Para profissionais e equipes em crescimento

$39

/mês

  • 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

Enterprise

Para agências e empresas prontas para escalar

$89

/mês

  • 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.