View raw JSON
{
"type": "object",
"required": [],
"properties": {
"body": {
"type": "object",
"title": "YouTube Input: Video or Channel",
"properties": {
"end_date": {
"type": "string",
"title": "End Date",
"editor": "textfield",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?([+-]\\d{2}:\\d{2}|Z)?)?$",
"description": "Optional channel-only upper boundary, including videos uploaded on or before this date. Use YYYY-MM-DD or an ISO 8601 timestamp, with an end no earlier than start_date. If omitted for a channel, the service uses today. Ignored for a single video; exact timezone boundaries are unspecified."
},
"language": {
"type": "string",
"title": "Transcript language (ISO 639-1)",
"editor": "textfield",
"pattern": "^[a-z]{2}$",
"description": "Optional ISO 639-1 code of exactly two lowercase letters, such as en or fr, for either input mode. Omit the field for default selection; do not send an empty string. It requests an existing caption language, which may be unavailable or fall back to another available language; it does not translate."
},
"max_videos": {
"type": "integer",
"title": "Max Videos to Fetch",
"editor": "number",
"default": 10,
"maximum": 200,
"minimum": 1,
"description": "Optional integer from 1 to 200, default 10, limiting the number of channel videos to fetch within the upload-date range. Ignored for a single video. It does not promise that many successful transcripts or a complete channel archive."
},
"start_date": {
"type": "string",
"title": "Start Date",
"editor": "textfield",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?([+-]\\d{2}:\\d{2}|Z)?)?$",
"description": "Optional channel-only lower boundary, including videos uploaded on or after this date. Use YYYY-MM-DD or an ISO 8601 timestamp and choose end_date no earlier than this start. If omitted for a channel, the service starts 30 days ago. Ignored for a single video; exact timezone boundaries are unspecified."
},
"channel_url": {
"type": "string",
"title": "YouTube Channel URL",
"editor": "textfield",
"pattern": "^(https?://)?(www\\.)?youtube\\.com/(channel/|c/|@)[a-zA-Z0-9_.-]+(\\?.*)?$",
"prefill": "https://www.youtube.com/@taostats",
"description": "Optional URL for one selected YouTube channel, using a supported /channel/, /c/ or /@ path. Use this instead of youtube_url; the channel cap and upload-date filters apply. The prefilled channel is an example, not a default."
},
"youtube_url": {
"type": "string",
"title": "YouTube Video URL",
"editor": "textfield",
"pattern": "^(https?://)?(www\\.)?(youtube\\.com/(watch\\?v=|embed/|v/|shorts/)|youtu\\.be/)[a-zA-Z0-9_-]{11}(\\?.*)?$",
"prefill": "https://www.youtube.com/watch?v=gN07gbipMoY",
"description": "Optional URL for one selected YouTube video, including supported watch, embed, v, Shorts or youtu.be forms. Use this instead of channel_url and omit channel-only filters. The prefilled video is an example, not a default; language can request an existing caption language."
},
"include_transcript_text": {
"type": "boolean",
"title": "Include Transcript (w/o timestamps)",
"editor": "checkbox",
"default": false,
"description": "Optional, false by default. When true and captions are available, add their concatenated text as a continuous block without timing, alongside timestamped segments. This does not generate new captions or promise a subtitle file."
}
},
"description": "Optional request settings. For retrieval, the service expects exactly one video URL or one channel URL. Language and the continuous-text option apply to both modes; upload-date filters and the video cap apply only to a channel. Supply your chosen mode explicitly rather than combine prefilled examples.",
"schemaVersion": 1,
"additionalProperties": false
}
},
"additionalProperties": false
}