Twitch · Schema
Twitch Video
Represents a video on Twitch, including VODs (archives of past streams), highlights, and uploads.
EntertainmentGamingLive VideoStreamingVideo
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique identifier for the video |
| stream_id | stringnull | ID of the stream the video was recorded from (null for uploads) |
| user_id | string | ID of the user who owns the video |
| user_login | string | Login name of the user who owns the video |
| user_name | string | Display name of the user who owns the video |
| title | string | Title of the video |
| description | string | Description of the video |
| created_at | string | UTC timestamp when the video was created |
| published_at | string | UTC timestamp when the video was published |
| url | string | URL to view the video on Twitch |
| thumbnail_url | string | URL template for the video thumbnail |
| viewable | string | Visibility of the video |
| view_count | integer | Number of times the video has been viewed |
| language | string | Language of the video |
| type | string | Type of video |
| duration | string | Duration of the video in ISO 8601 format (e.g., 3h21m10s) |
| muted_segments | arraynull | Segments of the video that are muted |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://dev.twitch.tv/schemas/twitch/video.json",
"title": "Twitch Video",
"description": "Represents a video on Twitch, including VODs (archives of past streams), highlights, and uploads.",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the video"
},
"stream_id": {
"type": ["string", "null"],
"description": "ID of the stream the video was recorded from (null for uploads)"
},
"user_id": {
"type": "string",
"description": "ID of the user who owns the video"
},
"user_login": {
"type": "string",
"description": "Login name of the user who owns the video"
},
"user_name": {
"type": "string",
"description": "Display name of the user who owns the video"
},
"title": {
"type": "string",
"description": "Title of the video"
},
"description": {
"type": "string",
"description": "Description of the video"
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp when the video was created"
},
"published_at": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp when the video was published"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL to view the video on Twitch"
},
"thumbnail_url": {
"type": "string",
"format": "uri",
"description": "URL template for the video thumbnail"
},
"viewable": {
"type": "string",
"enum": ["public", "private"],
"description": "Visibility of the video"
},
"view_count": {
"type": "integer",
"minimum": 0,
"description": "Number of times the video has been viewed"
},
"language": {
"type": "string",
"description": "Language of the video"
},
"type": {
"type": "string",
"enum": ["upload", "archive", "highlight"],
"description": "Type of video"
},
"duration": {
"type": "string",
"description": "Duration of the video in ISO 8601 format (e.g., 3h21m10s)"
},
"muted_segments": {
"type": ["array", "null"],
"items": {
"type": "object",
"properties": {
"duration": {
"type": "integer",
"description": "Duration of the muted segment in seconds"
},
"offset": {
"type": "integer",
"description": "Offset in the video where the muted segment begins in seconds"
}
}
},
"description": "Segments of the video that are muted"
}
},
"required": ["id", "user_id", "user_login", "user_name", "title", "created_at", "published_at", "url", "thumbnail_url", "viewable", "view_count", "language", "type", "duration"]
}