Skip to Content
User GuidePost to YouTube

Post to YouTube

Once you’ve approved content, it’s ready to go live on YouTube as a Short.

Prerequisites

Before your first post, make sure you have:

  • YouTube OAuth credentials configured (see Prerequisites)
  • At least one approved content item in the Review Queue or Library

Posting a Single Video

  1. Go to the Library and find an approved content item
  2. Open the content detail page
  3. Click Post to YouTube

The system:

  1. Downloads the video from storage
  2. Exchanges the refresh token for an access token
  3. Uploads the video via YouTube’s resumable upload API
  4. Sets all metadata (title, description, hashtags, category, tags)
  5. Posts an engagement comment as the first reply
  6. Updates the content record with the YouTube video ID

What Gets Posted

FieldContent
TitleThe hook (first 100 characters)
DescriptionHook + #Shorts + niche hashtags
CategoryNiche-specific (Gaming=20, Entertainment=24, Education=27, Science & Tech=28)
TagsChannel name, “Shorts”, “YouTube Shorts”, niche keywords
PrivacyPublic
LanguageEnglish
Synthetic MediaDeclared (AI-generated content disclosure)

Verifying Your Post

After posting:

  1. Go to YouTube Studio 
  2. Find the video in your content list
  3. Verify it shows as a “Short” (not a regular video)
  4. Check that the engagement comment was posted
  5. The video should be vertical (1080x1920) and ≤3 minutes

Troubleshooting

Video doesn’t appear as a Short:

  • Must be vertical (9:16 aspect ratio) — the system always outputs 1080x1920
  • Must be ≤3 minutes — default is ~30 seconds
  • Must include #Shorts in the description — automatically added

Upload fails:

  • Check that YouTube OAuth credentials are correct
  • Verify the refresh token hasn’t expired (they can expire if not used for 6 months)
  • Check the worker logs for specific API error messages

No engagement comment:

  • This is non-critical — the video is still posted even if the comment fails
  • Check that your OAuth token has the youtube.force-ssl scope

Scheduled Posting

Instead of posting immediately, you can set a scheduled_for time on approved content. The hourly cron job will automatically post it when the time arrives.

Last updated on