Titres, tags, confidentialité et Shorts : upload YouTube video through API
Un seul POST authentifié suffit pour upload YouTube video through API avec un titre, jusqu'à 20 tags, un statut de confidentialité et l'id d'une playlist existante. Ici, YouTube se limite à la vidéo - pas de posts Communauté, pas de posts image ou texte - la charge utile est donc réduite et les règles strictes.

Toutes les options spécifiques à YouTube tiennent dans un seul objet
youtubeConfigs porte postType, videoTitle, tags, categoryId, privacyStatus, playlistId ainsi que les drapeaux notify/embed/kids/license, et il voyage dans la même requête POST /social-posts qui référence le fichier uploadé.
La Confiance des Créateurs et des Équipes
Découvrez comment créateurs, marketeurs et petites entreprises utilisent AdaptlyPost pour rester réguliers et gagner des heures chaque semaine.
Je suis ingénieur logiciel, pas marketeur. Ma compagne gère une page TikTok, alors je lui donne un coup de main en programmant ses posts, je prépare tout d'un coup et je laisse l'IA s'occuper des légendes. Ça me prend environ 20 minutes par semaine maintenant.
Ingénieur Logiciel
Je gère ma page de nail art et une marque personnelle. Programmer les deux depuis un seul tableau de bord a tout changé, je publie régulièrement maintenant et mon engagement a augmenté sensiblement en un mois.
Créatrice de Contenu
Je suis SWE et honnêtement nul pour publier régulièrement. Je programme simplement une semaine de contenu pour ma marque personnelle dès que j'ai une minute, et l'IA rédige les légendes par plateforme pour que je n'aie pas à réécrire la même chose de cinq façons différentes.
Ingénieur Logiciel
Je suis ingénieur logiciel, pas marketeur. Ma compagne gère une page TikTok, alors je lui donne un coup de main en programmant ses posts, je prépare tout d'un coup et je laisse l'IA s'occuper des légendes. Ça me prend environ 20 minutes par semaine maintenant.
Ingénieur Logiciel
Je gère ma page de nail art et une marque personnelle. Programmer les deux depuis un seul tableau de bord a tout changé, je publie régulièrement maintenant et mon engagement a augmenté sensiblement en un mois.
Créatrice de Contenu
Je suis SWE et honnêtement nul pour publier régulièrement. Je programme simplement une semaine de contenu pour ma marque personnelle dès que j'ai une minute, et l'IA rédige les légendes par plateforme pour que je n'aie pas à réécrire la même chose de cinq façons différentes.
Ingénieur Logiciel
Je suis ingénieur logiciel, pas marketeur. Ma compagne gère une page TikTok, alors je lui donne un coup de main en programmant ses posts, je prépare tout d'un coup et je laisse l'IA s'occuper des légendes. Ça me prend environ 20 minutes par semaine maintenant.
Ingénieur Logiciel
Je gère ma page de nail art et une marque personnelle. Programmer les deux depuis un seul tableau de bord a tout changé, je publie régulièrement maintenant et mon engagement a augmenté sensiblement en un mois.
Créatrice de Contenu
Je suis SWE et honnêtement nul pour publier régulièrement. Je programme simplement une semaine de contenu pour ma marque personnelle dès que j'ai une minute, et l'IA rédige les légendes par plateforme pour que je n'aie pas à réécrire la même chose de cinq façons différentes.
Ingénieur Logiciel
Je ne suis pas un adepte des réseaux sociaux mais j'ai besoin de publier mon travail quelque part. Le rédacteur IA fait un brouillon correct, je retouche un peu, je programme, c'est fait. Je suis passé d'une publication par mois à trois par semaine.
Designer Freelance
On a connecté notre agent OpenClaw à AdaptlyPost et maintenant notre IA publie les mises à jour produit sur tous les canaux automatiquement. Ça semble futuriste mais honnêtement ça marche tout simplement. L'intégration API était simple.
Fondateur de Startup
Je ne suis pas un adepte des réseaux sociaux mais j'ai besoin de publier mon travail quelque part. Le rédacteur IA fait un brouillon correct, je retouche un peu, je programme, c'est fait. Je suis passé d'une publication par mois à trois par semaine.
Designer Freelance
On a connecté notre agent OpenClaw à AdaptlyPost et maintenant notre IA publie les mises à jour produit sur tous les canaux automatiquement. Ça semble futuriste mais honnêtement ça marche tout simplement. L'intégration API était simple.
Fondateur de Startup
Je ne suis pas un adepte des réseaux sociaux mais j'ai besoin de publier mon travail quelque part. Le rédacteur IA fait un brouillon correct, je retouche un peu, je programme, c'est fait. Je suis passé d'une publication par mois à trois par semaine.
Designer Freelance
On a connecté notre agent OpenClaw à AdaptlyPost et maintenant notre IA publie les mises à jour produit sur tous les canaux automatiquement. Ça semble futuriste mais honnêtement ça marche tout simplement. L'intégration API était simple.
Fondateur de Startup
Du terminal vide à l'upload publié
Créez une clé, puis retrouvez la chaîne
Les clés sont délivrées dans le tableau de bord, sous Settings > API Tokens, et commencent par adaptly_. Envoyez-les en `Authorization: Bearer <key>` vers https://post.adaptlypost.com/post/api/v1. La chaîne elle-même se connecte en OAuth dans le tableau de bord - aucun endpoint ne connecte, ne déconnecte ni ne teste l'état d'une chaîne YouTube - puis `GET /social-accounts` renvoie son id, sa platform et son displayName à référencer dans le post. Un appel vise une seule chaîne YouTube : une deuxième chaîne demande un deuxième appel, et envoyer deux comptes YouTube dans une même charge utile est rejeté avec un 400.
Envoyez le fichier, puis POST /social-posts avec youtubeConfigs
Seuls video/mp4 et video/quicktime sont acceptés, et `POST /upload-urls` rejette d'emblée tout autre type mime : demandez-y donc des URL présignées (1 à 20 fichiers, valables une heure), envoyez le fichier en PUT, puis créez le post avec `text`, `platforms: ["YOUTUBE"]`, `timezone` (IANA, par exemple "Europe/Berlin"), `contentType: "VIDEO"` et un objet `youtubeConfigs`. La liste des types de contenu pris en charge par YouTube se réduit à VIDEO et son maximum d'images par post est de 0 : un post IMAGE ou TEXT incluant YouTube n'atteint donc jamais la chaîne. Le corps de la requête est validé de façon synchrone : un `videoTitle` dépassant 100 caractères, plus de 20 `tags`, un champ obligatoire manquant ou un type de contenu non pris en charge reviennent tous en 400 sur l'appel de création lui-même, sans qu'aucun enregistrement de post soit écrit et sans rien à relancer. `postType: "SHORTS"` exige un fichier en 9:16 de 60 secondes ou moins : vérifiez donc le format et la durée avant d'appeler. Ajoutez `scheduledAt` pour programmer au lieu de publier immédiatement.
Lisez platformPostId, ou corrigez et relancez
`GET /social-posts/:id/results` renvoie l'entrée YouTube avec `status`, `publishedAt`, `errorMessage` et `platformPostId` - l'id brut de la vidéo YouTube. Aucune URL de visionnage n'est jamais renvoyée : construisez vous-même le lien à partir de cet id. Cet endpoint rapporte ce que YouTube a fait après que nous avons accepté et expédié l'upload, pas si la charge utile était bien formée - les charges utiles malformées n'arrivent jamais jusque-là, puisqu'elles ont échoué avec un 400 à la création. Ce qui apparaît dans `errorMessage` vient de la chaîne : un `playlistId` qui n'existe pas sur la chaîne connectée, une autorisation OAuth révoquée par le propriétaire de la chaîne, ou un upload que YouTube a refusé ou limité pendant son propre traitement. Corrigez la cause de fond, puis appelez `POST /social-posts/:id/retry` avec les `platformIds` en échec plutôt que de recréer le post. Il n'existe aucun sandbox nulle part dans l'API : ce qui s'en approche le plus est de publier avec `privacyStatus: "PRIVATE"` et de basculer le statut ensuite dans YouTube Studio.
Tarifs simples et transparents
Choisissez le forfait parfait pour vous
30 comptes sociaux connectés
Posts programmés illimités
1 membre d'équipe
3 espaces de travail
150 crédits/mois
Légendes IA
Studio d'images IA
Accès API et intégration OpenClaw
Posts image, vidéo et carrousel
Plus populaire
60 comptes sociaux connectés
Posts programmés illimités
5 membres d'équipe
15 espaces de travail
400 crédits/mois
Légendes IA
Studio d'images IA
Accès API et intégration OpenClaw
Posts image, vidéo et carrousel
100 comptes sociaux connectés
Posts programmés illimités
20 membres d'équipe
50 espaces de travail
1000 crédits/mois
Légendes IA
Studio d'images IA
Accès API et intégration OpenClaw
Posts image, vidéo et carrousel
Essai 7 jours inclus sur tous les forfaits
Vous voulez voir la comparaison complète des fonctionnalités ? Voir la page des tarifs
Ce que vous pouvez réellement définir sur un upload YouTube
Uploads longs avec métadonnées attachées
`postType: "VIDEO"` publie un upload standard. `videoTitle` définit le titre, avec un plafond de 100 caractères, `tags` accepte jusqu'à 20 chaînes, `categoryId` prend l'id numérique de catégorie YouTube, et le `text` du post accompagne la vidéo comme corps de description. Rien d'autre que cet objet n'est paramétrable : cette API n'expose aucun champ miniature, chapitre, écran de fin, sous-titres ou première.
Les Shorts sur le même endpoint
Passez `postType` à `"SHORTS"` pour publier des YouTube Shorts via l'API - même endpoint, même youtubeConfigs, même pipeline upload-urls. La contrainte décisive vient du média, pas du drapeau : un Short exige un ratio 9:16 et une durée de 60 secondes ou moins, alors validez dimensions et durée avant l'appel plutôt qu'après.
Confidentialité, notifications et désignation du public
`privacyStatus` accepte PUBLIC, UNLISTED ou PRIVATE. `notifySubscribers` décide si les abonnés de la chaîne sont notifiés, `allowEmbedding` fixe l'autorisation d'intégration, `madeForKids` porte la désignation du public, et `license` définit la licence de la vidéo. Tous ces réglages sont par post : un arriéré d'archives peut donc partir en privé et sans notification pendant qu'une vidéo de lancement passe en public et notifie.
Ajouter l'upload à une playlist existante
Renseignez `playlistId` dans youtubeConfigs et l'upload terminé est classé dans cette playlist. Elle doit déjà exister - l'API peut ajouter à une playlist, mais ne peut ni en créer, ni en renommer, ni en réordonner, ni en lister - alors copiez l'id depuis YouTube Studio (la valeur `list=` dans l'URL de la playlist) et stockez-le dans votre propre configuration. Si l'id est erroné, cela apparaît sur l'entrée YouTube renvoyée par `/results`.
Branchez votre premier upload YouTube
Créez une clé dans Settings > API Tokens, importez GET /openapi.json dans votre client HTTP, Make ou n8n, et le premier upload n'est plus qu'à un POST. Testez avec privacyStatus PRIVATE avant de passer en public.