Wiseflow youtube-upload

Upload a video to YouTube Shorts using the browser. Handles file selection, title/description/tags, visibility settings, and post-upload URL retrieval.

install
source · Clone the upstream repo
git clone https://github.com/TeamWiseFlow/wiseflow
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/TeamWiseFlow/wiseflow "$T" && mkdir -p ~/.claude/skills && cp -r "$T/addons/officials/crew/selfmedia-operator/skills/youtube-upload" ~/.claude/skills/teamwiseflow-wiseflow-youtube-upload && rm -rf "$T"
manifest: addons/officials/crew/selfmedia-operator/skills/youtube-upload/SKILL.md
source content

YouTube Upload 技能

Use this skill when:

  • A video has been generated (via siliconflow-video-gen or other means) and needs publishing to YouTube
  • You need to upload an MP4 to YouTube Shorts with proper metadata
  • You need to set the video as unlisted or public

Prerequisites: Browser session must be logged in to YouTube Studio (studio.youtube.com).


Cookie Warmup

Navigate to

https://studio.youtube.com
first. Confirm the channel dashboard loads (not a login page).


Workflow: Upload Video

1. Navigate to https://www.youtube.com/upload
   (Alternative: click the camcorder "Create" icon in YouTube Studio)

2. Wait for the upload dialog to open

3. Find the file input element and provide the video file path:
   - Look for the file picker input (hidden input[type=file] inside ytcp-uploads-file-picker)
   - Send the absolute file path to the input

4. Wait for upload progress to complete (watch for the progress indicator)
   - Large videos may take 1–3 minutes

5. Fill in the Title:
   - Click the title field (first text area, id="textbox")
   - Clear existing text
   - Type the video title from metadata JSON (max 100 characters)

6. Fill in the Description:
   - Click the description field (last text area)
   - Clear existing text
   - Type the description + hashtags from metadata JSON

7. Set "Made for kids":
   - Select "No, it's not made for kids" unless explicitly required

8. Click "Next" three times (Details → Video elements → Checks → Visibility)

9. On the Visibility page, set visibility:
   - "Public" — for immediate publishing
   - "Unlisted" — for draft/review before sharing
   - "Scheduled" — to set a publish date/time

10. Click the "Publish" (or "Save") button

11. Wait for confirmation:
    - The dialog closes or shows "Your video has been published"

12. Retrieve the video URL:
    - Navigate to https://studio.youtube.com/channel/<channel_id>/videos/short
    - Find the first video row
    - Extract the video URL (format: https://youtube.com/shorts/<video_id>)
    - Report the URL to the user

Getting the Channel ID

If the channel ID is not known:

1. Navigate to https://studio.youtube.com
2. The URL changes to https://studio.youtube.com/channel/<channel_id>
3. Extract the channel_id from the URL

Handling Metadata

Use the

.json
file generated by
shorts-compose
:

title       → YouTube video title (trim to 100 chars)
description → Video description (add tags as #hashtags at the end)
tags        → Add as #hashtag1 #hashtag2 at the end of description

Example description format:

AI工具如何改变你的工作方式,本视频介绍了3个高效AI工具...

#AI工具 #效率提升 #科技 #shorts

Visibility Guide

SettingUse Case
Public
Ready to publish immediately
Unlisted
Share with specific people via link (no public search)
Scheduled
Set a future publish time for optimal reach
Private
Save draft, not visible to anyone

Error Handling

SituationAction
Login page appearsSession expired — inform user to re-login
File not foundVerify the absolute path in the metadata JSON
Upload stuckWait up to 5 minutes; check file size (YouTube limit: 256GB, 12 hours)
Copyright claim during processingReport to user — they decide whether to proceed
"Video is being processed" (not Shorts)Video may not meet Shorts criteria (must be ≤60s, 9:16)
Title too longTrim to 100 characters

Notes

  • YouTube Shorts requires: ≤ 60 seconds duration, 9:16 aspect ratio preferred
  • shorts-compose
    outputs compliant 9:16 videos by default
  • After upload, YouTube processes the video (1–5 minutes) before it appears publicly
  • Always report the final video URL when done