Relationships
#4318 @swamp/video: upload workflow to publish a take to YouTube (video, description, chapters, captions, thumbnail)
Opened by skunk-ape · 11/2/2026
Problem
Getting a finished take onto YouTube is a manual step. video-render writes <rec>.polished.mp4, the .srt and a 1280x720 thumbnail. video-describe writes the title, description and chapters to youtube.txt and the video-describe data. Then someone opens YouTube Studio and copies each piece in by hand. That's slow and error-prone: chapters get pasted wrong, the thumbnail or captions get forgotten.
Proposed solution
Add a youtube behavior with an upload method, plus a video-publish workflow that runs it after video-describe:
- Auth: OAuth 2.0 for the YouTube Data API v3, with the client secret and refresh token kept in a swamp vault so they stay out of logs and the agent session. A one-time
authorizemethod (or documented steps) gets the refresh token. - Upload: a resumable
videos.insertof<rec>.polished.mp4. Title and description, with chapters, come from the take'svideo-describedata, wired in with CEL rather than typed again. - Captions:
captions.insertwith<rec>.polished.srt. - Thumbnail:
thumbnails.setwith<rec>.thumbnail.jpg. This needs a verified channel, so the step should be skipped with a warning when the channel isn't verified. - Inputs:
privacyStatus(defaultprivate, alsounlistedorpublic),publishAtfor scheduling,playlistId,tags,categoryId,madeForKids(default false). - Output data: the video id, URL and upload status, so a re-run updates the existing video (
videos.update) instead of uploading a duplicate.
Alternatives
- Keep it manual with
youtube.txtas the source. That works, but it's the step most likely to go wrong. - Use a generic shell step around a CLI uploader. That bypasses the data model and vault handling.
Upstream repository: https://github.com/swamp-club/swamp-extensions
Environment
- Extension:
@swamp/video@2026.10.30.1 - swamp:
20261102.180642.0-sha.c7a42995 - OS:
linux(x86_64) - Deno:
2.9.8 - Shell:
/usr/bin/bash
Open
No activity in this phase yet.
system commented 11/2/2026, 8:52:50 PM
Classified automatically when this issue was filed.
- Source: Extensions
If you feel this classification is incorrect, add a ripple to tell us so.
Sign in to post a ripple.