Add API endpoint for fetching transcripts from YouTube (#4788)

This commit is contained in:
syeopite
2025-02-26 13:56:39 -08:00
3 changed files with 122 additions and 0 deletions

View File

@@ -122,5 +122,40 @@ module Invidious::Videos
return vtt
end
def to_json(json : JSON::Builder)
json.field "languageCode", @language_code
json.field "autoGenerated", @auto_generated
json.field "label", @label
json.field "body" do
json.array do
@lines.each do |line|
json.object do
if line.is_a? HeadingLine
json.field "type", "heading"
else
json.field "type", "regular"
end
json.field "startMs", line.start_ms.total_milliseconds
json.field "endMs", line.end_ms.total_milliseconds
json.field "line", line.line
end
end
end
end
end
def to_json
JSON.build do |json|
json.object do
json.field "transcript" do
json.object do
to_json(json)
end
end
end
end
end
end
end