Repository navigation
feat(core,studio): read a YouTube video, its tracks and transcript (extension 0.7.0) - #309
Merged
Merged
Conversation
… JSON (0.10.0) A request with as: youtube reads the video's details, caption tracks and a transcript with the time of every line, in a chosen language. Studio recognises a video address and shows the document as a tree. YouTube's machine translation needs a browser token: a language the video has a track for is that track, any other fails saying so. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01TjR6eM2tUwU3NGnKXsmEap
…Tube reader The earlier 0.7.0 to 0.9.0 bumps did not land, so those merges published nothing: the extension on the Marketplace is still 0.6.0. This release carries .ods, .odt, .odp and YouTube. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01TjR6eM2tUwU3NGnKXsmEap
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #294 (YouTube parser).
requestwith"as": "youtube"to a video's address (watch?v=,youtu.be/,/shorts/,/embed/,/live/) reads the video as JSON: title, author, channel, description, length, views, keywords, thumbnail, the caption tracks it has, and a transcript with the start and duration of every line (youtube.languagepicks the track,youtube.transcript: falseskips it). It asks YouTube's player endpoint the way its Android app does, then fetches the track's text asjson3; nothing is scraped from the watch page. The requests go through the engine's own HTTP client, so allowed hosts and the proxy apply.jsonpath, mappings, every output format.detect-url) and shows the document as a tree; the recipe runs from there. Extension 0.7.0: the bumps in the earlier ODF PRs (0.7.0 to 0.9.0) did not land, so those merges published nothing; this release carries .ods, .odt, .odp and YouTube.youtubeoption on therequeststep (only withas: "youtube"), in the recipe schema and the regenerated JSON schema; authoring guide §4.14.A limit, stated plainly. YouTube refuses machine translation (
tlang) with a 429 for this kind of client (checked on both Android and iOS identities): it needs a token only a signed-in browser session gets. Soyoutube.translateTouses the video's own track when it has one in that language (the uploader's words beat a machine translation), and otherwise fails saying so and listing the tracks the video does have. Also, YouTube changes this without notice: the parser reports what it got (a captcha page, an empty body, a status) instead of guessing.Checked: typecheck, lint, unit tests for core, studio, studio-ui, cli, mcp and the extension; the editor and MCP e2e. Against the real YouTube: the details, the English and German transcripts,
transcript: false, and the error for an unavailable video; in a real Studio, a recipe over the video's transcript produced six time-stamped records. The unit tests use a captured player response and transcript of a real video.🤖 Generated with Claude Code
https://claude.ai/code/session_01TjR6eM2tUwU3NGnKXsmEap