Channels

YouTube

What YouTube lets an agent do through uplika, what is different about it, and what it simply does not offer.

Quick reference

NameTypeDescription
characterstext5,000
imagesmediaup to 0 per post
carouselmedianot supported
videomedia1 per post
text alonemediamedia required
posts / 24hlimit5
deletes / 24hlimit20
statusstatebeta

These numbers come from the same file the server validates against, so they cannot drift from what publishing actually accepts. Note the description limit is measured in UTF-8 bytes, not characters.

Which permissions does connecting ask for?

Connecting asks Google for one scope, youtube.force-ssl. It is the only scope that covers hiding a comment, and it already covers uploading, deleting, reading and replying, so asking for anything else on top would be permission we never use.

What an agent token carries

NameTypeDescription
accounts:readreadList connected channels.
posts:readreadRead publishing history, replies and insights.
posts:writewritePublish, delete, reply, hide and upload.
offline_accessoauthKeep the agent connected after the browser closes.

How do I publish my first video?

Upload the file, then call publish with the media id and a title. YouTube needs exactly one video and no images.

curl -X POST https://api.uplika.com/v1/posts \
  -H "Authorization: Bearer $UPLIKA_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Description that shows under the video",
    "accountIds": ["conn_..."],
    "mediaIds": ["med_..."],
    "options": {
      "youtube": {
        "title": "My first upload",
        "tags": ["vlog", "behind the scenes"],
        "privacyStatus": "private"
      }
    }
  }'

How do Shorts work?

There is no separate API for Shorts. You upload the same way, and YouTube classifies the result: a vertical or square video of three minutes or less becomes a Short. uplika predicts that before the upload and tells you in the response, because one thing depends on it.

Why was my thumbnail skipped?

YouTube does not accept custom thumbnails on Shorts; you pick a frame afterwards in the YouTube app and that choice is final. So uplika refuses a thumbnail on a video it predicts will be a Short, before the upload starts, rather than after the video is already on the channel. Long-form thumbnails also need the channel itself to be verified. If the thumbnail fails after the video went up, the post stays published and carries a warning instead of being marked failed.

Can I schedule a video?

Yes, and YouTube is the only channel where that works. Pass options.youtube.publishAt with privacyStatus private. The video goes up hidden and becomes public at that time. It only works on a video that has never been public.

What are the limits?

Two different budgets apply. Your workspace has its own daily count, and on top of that Google gives our whole API project 100 uploads and 10,000 other units a day, shared by everyone using uplika. Deleting a video or writing a comment costs 50 units each; reading costs 1. Both budgets reset at midnight Pacific time, and get_quota reports both so you can tell which one stopped you.

What is not available?

Threads are not: sending threadItems with a YouTube account would upload one video per item, so we refuse it. Deep metrics are not either β€” views, likes and comment counts come through, but impressions, watch time and Shorts-specific numbers live in the YouTube Analytics API, which is a different API with a different scope that we do not request.