YouTube
Mettez en ligne des vidéos et des Shorts sur votre chaîne YouTube depuis n’importe quelle app d’IA, avec titre, description, tags et visibilité, tout de suite ou au moment de votre choix.
Limites
post _optionsget _insightscreate _postlist _scheduled _postscancel _scheduled _postRègles de publication
Ce que YouTube accepte, vérifié avant tout envoi : un post refusé ne coûte rien.
text.title.video_url), pas les deux. Les fichiers de votre appareil passent d’abord par upload_media.visibilityPublic (default), private or unlistedpublicprivateunlistedtagsVideo tags (each ≤100 characters, ≤500 in all).made_for_kidsThe video is made for children (default false; true turns comments off for good)thumbnail_urlPublic https link to a custom thumbnail (JPEG or PNG, ≤2 MB).Limites de sécurité
Ce qui garde votre compte YouTube en règle. Elles s’appliquent à toutes les apps d’IA et clés API de ce compte, et vous ne pouvez pas les désactiver.
publish_at doit être au moins une minute plus tard, au plus dans un an. Les liens doivent rester valides jusque-là ; les fichiers envoyés sont conservés avec le post.Quand une limite est atteinte
Rien n’est mis en file ni retenté dans votre dos : l’outil répond avec une erreur que votre app d’IA peut lire, expliquer et retenter au bon moment.
invalid_postLe post enfreint une règle de YouTube. Le message précise laquelle.gapTrop tôt après la dernière action. Attendez retry_after_seconds.limitLa limite quotidienne ou hebdomadaire est épuisée. La réponse indique quand elle repart à zéro.cooldownYouTube a freiné ; le compte se repose.permissionCette app n’a pas le droit de faire cela. Reconnectez-la et autorisez cette action.{ "error": "YouTube actions are spaced 2–5 s apart, at random, to look human. Wait 2s.", "code": "gap", "retry_after_seconds": 2 }
Analyses
Ce que get_insights lit sur YouTube. Demandez avec vos mots ; votre app d’IA choisit le rapport.
overview par défautVues, portée, engagement et abonnés sur les days derniers jours, dans les termes du réseau, plus un résumé commun à tous les réseaux. Sans account, tous les comptes avec des statistiques côte à côte.followers Le nombre d’abonnés jour par jour (d’abonnés à la chaîne sur YouTube), avec les abonnés gagnés et perdus.audience Les abonnés par pays et par ville, et par âge et genre quand le réseau les donne.top_posts Vos meilleurs posts de la période, classés par engagement ou selon sort (vues, portée, j’aime, commentaires, partages, date). Sans account, sur tous les comptes avec des statistiques.timing Les créneaux jour × heure qui marchent le mieux pour vos propres posts (en UTC), votre rythme de publication face à l’engagement obtenu, et la vitesse à laquelle vos posts atteignent leur pic. Instagram : quand vos abonnés sont en ligne.post Les chiffres d’un post, par le post_id donné par list_posts, les meilleurs posts ou create_post. details: true ajoute sa courbe jour par jour et les extras du réseau.Outils
YouTube n’a pas d’outils propres : il utilise les outils de publication partagés, qui fonctionnent sur tous les canaux de publication. Cette page ne montre que les champs que YouTube lit.
create_postPublish or schedule a post · PostsPosts · 6/jourÉcriture
Publish a post on one connected account, right away or at publish_at (then it's scheduled: returns a scheduled_post_id for list_scheduled_posts and cancel_scheduled_post). YouTube: text ≤5000, 1 video (required), a title ≤100. YouTube needs a video and a title. Call post_options first for an account you haven't posted to in this conversation. Media: media_ids from upload_media (files the user has, or one you made), or public https links (image_urls, video_url); for a scheduled post, links must keep working until publish_at, uploads are kept with the post. Public and irreversible: confirm the account, final text, media, audience and time (with the user's time zone) with the user first.
accountaccount_id of the account to post from (list_accounts). Needed only when several accounts that can post are connected.textobligatoire sur YouTubetitleobligatoire sur YouTubemedia_idsmedia_id values from upload_media, in order (images, or one video). Instead of image_urls and video_urlimage_urlsvideo_urlvisibilitypublish_attagsmade_for_kidsthumbnail_url{ "url": "https://www.threads.net/@ada.martin/post/DQ3kF8sDk2L", "post_id": "18063215523019873", "published": true }
{ "published": false, "status": "publishing", "post_id": "6914b2c8e4a1f0d3c2b5a7e9" }
invalid_postgaplimitcooldownpermissionpost_optionsPost options for an account · LecturesLectures · 3 000/jourLecture
What create_post accepts on one connected account: the network's limits (characters, title, media) and fields, and the account's own choices: TikTok privacy levels and which interactions the creator allows, Pinterest boards and the default one, the WordPress site, YouTube visibilities, Google Business Profile buttons. Call it before composing a post for an account you haven't posted to in this conversation.
accountaccount_id from list_accounts. Needed only when several accounts that can post are connected.{ "account_id": "a4c6e8f0-2b4d-4f6a-9c1e-3d5f7b9a1c72", "provider": "pinterest", "network": "Pinterest", "limits": { "max_chars": 800, "title_max": 100, "title_required": false, "media": "required", "max_images": 1, "video": true }, "fields": [ "board_id", "link", "thumbnail_url" ], "boards": [ { "id": "987654321098765432", "name": "Ceramics", "privacy": "PUBLIC" }, { "id": "987654321098765433", "name": "Studio life", "privacy": "PUBLIC" } ], "default_board": { "id": "987654321098765432", "name": "Ceramics" } }
gaplimitcooldownpermissionupload_mediaGet a link to upload an image, video or document · Aucun appelAucun appel à YouTubeÉcriture
Returns a link where the user uploads an image, a video or a document from their device, and the media_id to pass to create_post (media_ids), comment or a message (send_message, start_chat: media_id). Use it when the user wants a photo, video or document (a PDF, say) in a post or message and it isn't already online: files attached in the chat can't reach Pluggzy, so ask them to upload it here. If you made the file yourself in a sandbox or terminal with internet access, upload it yourself with the upload_command it returns. Images: JPEG, PNG or WebP, at most 8 MB. Videos: MP4, MOV or WebM, at most 5 GB on the page (upload_command sends at most 100 MB), for create_post on publishing accounts only (LinkedIn, Instagram, Facebook posts, comments and messages take images). Documents (PDF, Word, Excel, PowerPoint (docx, xlsx, pptx, doc, xls, ppt), TXT or CSV, at most 15 MB) for send_message and start_chat only. Each link takes one file: for another one (each image of a carousel, say), call upload_media again. The file can be used for 24 hours, in as many posts and messages as needed; a scheduled post keeps its own copy until it goes out.
{ "url": "https://pluggzy.com/go/upload?t=eyJwIjoiY29ubmVjdCIsImV4cCI6MTc2MjY4MDAwMH0.k3Qm8ZrT0vX2bN5pL7wY1cA4dF6gH9jE", "media_id": "9b7d5f3a-1c2e-4a6b-8d0f-2e4c6a8b0d19", "upload_command": "curl -sS -T FILE_PATH -H 'X-File-Name: FILE_NAME' 'https://pluggzy.com/go/upload?t=eyJwIjoiY29ubmVjdCIsImV4cCI6MTc2MjY4MDAwMH0.k3Qm8ZrT0vX2bN5pL7wY1cA4dF6gH9jE'", "expires_in_minutes": 30, "usable_for_hours": 24, "max_image_mb": 8, "max_video_mb": 5000, "max_document_mb": 15 }
list_scheduled_postsList scheduled posts · Aucun appelAucun appel à YouTubeLecture
Posts scheduled with create_post (publish_at) or on the Pluggzy dashboard's calendar, on the accounts this connection can use: when, where, status, the text (and title, options and media links), and once published the post's URL. Posts scheduled before the calendar existed have no text here, only its length (chars).
statusaccountaccount_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.limit{ "items": [ { "scheduled_post_id": "7c1e9a3f-5b2d-4e8a-9f0c-6d4b2a8e1c35", "account_id": "3f2b8c1e-7a4d-4e9b-9c21-5d8e6f0a1b2c", "provider": "linkedin", "publish_at": "2026-11-12T08:30:00.000Z", "status": "scheduled", "chars": 212, "text": "Three things we learned building a partner program from scratch 🧵" }, { "scheduled_post_id": "2a4c6e8f-0b1d-4f3a-8c5e-7d9b1f3a5c84", "account_id": "0d2f4b6a-8c1e-4a3d-b5f7-9e1c3a5d7f60", "provider": "threads", "publish_at": "2026-11-12T16:00:00.000Z", "status": "scheduled", "chars": 64, "text": "New glazes drop Friday. Which one goes in the shop first?", "media_kind": "image", "media": [ { "url": "https://cdn.northwind.example/glazes.jpg", "type": "image" } ] } ] }
cancel_scheduled_postCancel a scheduled post · Aucun appelAucun appel à YouTubeÉcriture
Cancel a scheduled post (scheduled_post_id from create_post or list_scheduled_posts) that hasn't gone out yet, or a draft saved on the calendar. To change a post, cancel it and schedule the new version, or the user can edit it on the calendar in the Pluggzy dashboard.
scheduled_post_idobligatoire{ "scheduled_post_id": "7c1e9a3f-5b2d-4e8a-9f0c-6d4b2a8e1c35", "status": "cancelled" }
get_insightsGet insights · LecturesLectures · 3 000/jourLecture
How an account is doing, as its network reports it (Instagram Business, TikTok, YouTube, Pinterest, Google Business Profile, Threads). report: overview (default): the account's figures over the last `days` (views, reach, engagement, followers… as the network reports them, plus a comparable headline); without account, every analytics account side by side; followers: the follower (YouTube: subscriber) count day by day, with gained and lost; audience: followers by country, city, age and gender, as far as the network reports them; top_posts: the best posts of the last `days` by `sort` (engagement by default), with their figures; without account, across every analytics account; timing: when to post, from the account's own posts (best weekday × hour slots in UTC, posts per week vs engagement, how fast posts reach their final engagement; Instagram: when followers are online); inbox: messages received and sent, median time to first reply and the busiest hours; search_keywords: the Google searches that showed the Business Profile, by month; post: one post's figures (post_id from list_posts, top_posts or create_post); details=true adds its day-by-day curve and the network's extras (Facebook earnings, YouTube retention and daily views). Not every network has every report (followers: Instagram Business, TikTok, YouTube, Pinterest; audience: Instagram Business, TikTok, YouTube; inbox: Instagram Business; search_keywords: Google Business Profile). LinkedIn, WhatsApp, Telegram and the personal Instagram and Facebook logins have no insights here. Read-only.
accountaccount_id from list_accounts. Leave it out for overview or top_posts to cover every analytics account; the other reports need it when several are connected.providerreportdayspost_idpost_id (or the scheduled_post_id create_post gave)detailssorttop_posts: what ranks the postslimittop_posts: how many postscursorsearch_keywords: next_cursor from the previous page{ "report": "overview", "from": "2026-10-11", "to": "2026-11-09", "accounts": [ { "account_id": "e2c4a6b8-1d3f-4a5c-9e7b-2f4d6a8c0e13", "provider": "instagrambusiness", "name": "Northwind Studio", "source": "account", "metrics": { "reach": 12480, "views": 48210, "accounts_engaged": 1034, "total_interactions": 2876, "likes": 2310, "comments": 184, "saves": 212, "shares": 97, "profile_views": 1920, "website_clicks": 61 }, "headline": { "views": 48210, "reach": 12480, "engagement": 2876, "followers": null, "followers_gained": null, "followers_lost": null } }, { "account_id": "f1a3c5e7-9b2d-4f6a-8c0e-5d7b9f1a3c48", "provider": "facebookpages", "name": "Northwind Studio", "source": "account", "metrics": { "page_media_view": 21340, "page_total_media_view_unique": 8120, "page_views_total": 640, "page_post_engagements": 1120, "page_video_views": 3010, "page_follows": 3420, "followers_gained": 58, "followers_lost": 9 }, "headline": { "views": 21340, "reach": 8120, "engagement": 1120, "followers": 3420, "followers_gained": 58, "followers_lost": 9 } }, { "account_id": "a4c6e8f0-2b4d-4f6a-9c1e-3d5f7b9a1c72", "provider": "pinterest", "name": "Northwind Studio", "source": "account", "metrics": { "impressions": 30900, "engagements": 1460, "saves": 380, "pin_clicks": 610, "outbound_clicks": 205, "follower_count": 1288, "followers_gained": 41, "followers_lost": 6 }, "headline": { "views": 30900, "reach": null, "engagement": 1460, "followers": 1288, "followers_gained": 41, "followers_lost": 6 } } ] }
gaplimitcooldownpermission