Get a video
Parameters
idid | UUIDv4 | shortUUIDrequiredpathThe object id, uuid or short uuid
x-peertube-video-passwordstringheaderRequired on password protected video
Response
successful operation
Response fields application/json
uuidUUIDv4universal identifier for the video, that can be used across instances
Show child attributes
9c9de5e8-0a1e-484a-b099-e80766180a6dshortUUIDshortUUIDShow child attributes
translation of a uuid v4 with a bigger alphabet to have a shorter uuid
2y84q2MQUMWPbiEcxNXMgCisLivebooleanliveSchedulesArray<LiveSchedule>Show child attributes
startAtstring<date-time>Date when the stream is scheduled to air at
createdAtstring<date-time>time at which the video object was first drafted
2017-10-01T10:52:46.396ZpublishedAtstring<date-time>time at which the video was marked as ready for playback (with restrictions depending on privacy). Usually set after a state evolution.
2018-10-01T10:52:46.396ZupdatedAtstring<date-time>last time the video's metadata was modified
2021-05-04T08:01:01.502ZoriginallyPublishedAtstring<date-time> | nullused to represent a date of first publication, prior to the practical publication date of publishedAt
2010-10-01T10:52:46.396ZcategoryVideoConstantNumber-Categorycategory in which the video is classified
Show child attributes
labelstringScience & TechnologylicenceVideoConstantNumber-Licencelicence under which the video is distributed
Show child attributes
labelstringAttribution - Share AlikelanguageVideoConstantString-Languagemain language used in the video
Show child attributes
labelstringEnglishprivacyVideoPrivacyConstantprivacy policy used to distribute the video
Show child attributes
idVideoPrivacySet12345privacy id of the video (see /videos/privacies)
labelstringtruncatedDescriptionstring | nulltruncated description of the video, written in Markdown.
**[Want to help to translate this video?](https://weblate.framasoft.org/projects/what-is-peertube-video/)**\r\n\r\n
**Take back the control of your videos! [#JoinPeertube](https://joinpeertube.org)**\r\n*A decentralized video hosting network, based on fr...
durationinteger<seconds>duration of the video in seconds
1419aspectRationumber<float> | nullPeerTube >= 6.1 Aspect ratio of the video stream
1.778isLocalbooleannamenametitle of the video
What is PeerTube?thumbnailPathstring | nulldeprecatedDeprecated in PeerTube v8.1, use thumbnails instead. Null if the file is stored in object storage: use the non-deprecated field instead.
previewPathstring | nulldeprecatedDeprecated in PeerTube v8.1, use thumbnails instead. Null if the file is stored in object storage: use the non-deprecated field instead.
thumbnailsArray<Thumbnail>PeerTube >= 8.1 Array of thumbnails for the video
Show child attributes
fileUrlstringwidthintegerheightintegeraspectRatiostring16:9embedPathstring/videos/embed/a65bc12f-9383-462e-81ae-8207e8b434eeviewsinteger1337likesinteger42dislikesinteger7commentsintegerPeerTube >= 7.2 Number of comments on the video
nsfwbooleannsfwFlagsNSFWFlagShow child attributes
nsfwSummarystringPeerTube >= 7.2 More information about the sensitive content of the video
aiUsageVideoAIUsageConstantShow child attributes
idVideoAIUsageSet1234PeerTube >= 9.0 Use of AI in the video, declared by the video creator:
1Not specified2No AI-generated content: nothing seen or heard in the video has been generated by AI3Contains AI-generated content: some parts of the video have been generated by AI4AI-generated: the whole video, or most of it, has been generated by AI
labelstringcommercialContentVideoCommercialContentConstantShow child attributes
PeerTube >= 9.0 Commercial content in the video, declared by the video creator:
1None2Promotional content: the creator promotes their own products, services or business3Paid partnership: a third party paid, or provided goods or services, in exchange for the promotion
labelstringrecommendationScopeVideoRecommendationScopeConstantShow child attributes
Videos that can be recommended next to a video:
1All videos2Only videos of the platform that owns the reference video (or of the current platform if no video is given)3Only videos of the account that owns the reference video4Only videos of the channel of the reference video
This is a preference of the video owner: applications displaying recommendations may not apply it
labelstringwaitTranscodingboolean | nullstateVideoStateConstantrepresents the internal state of the video processing within the PeerTube instance
Show child attributes
idid123456789101112131415The video state:
1: Published2: To transcode3: To import4: Waiting for live stream5: Live ended6: To move to an external storage (object storage...)7: Transcoding failed8: Moving to an external storage failed9: To edit using studio edition feature10: To move to the file system11: Moving to the file system failed12: Import failed13: To duplicate, the files of another video are being copied14: Duplication failed, the files of the other video could not be copied15: The studio edition of a video saved as a new video failed
Same fields as id
labelstringscheduledUpdateVideoScheduledUpdate | nullShow child attributes
privacyVideoPrivacySet12345privacy id of the video (see /videos/privacies)
updateAtstring<date-time>requiredWhen to update the video
blacklistedboolean | nullblacklistedReasonstring | nullaccountAccountSummaryShow child attributes
idintegernamestringdisplayNamestringurlstring<url>hoststring<hostname>avatarsArray<ActorImage>Show child attributes
pathstring | nulldeprecatedDeprecated in PeerTube v8.0, use fileUrl instead. Null if the file is stored in object storage: use the non-deprecated field instead.
fileUrlstringPeerTube >= 7.1
widthintegerheightintegerPeerTube >= 7.3
createdAtstring<date-time>updatedAtstring<date-time>channelVideoChannelSummaryShow child attributes
namestringdisplayNamestringurlstring<url>hoststring<hostname>avatarsArray<ActorImage>Show child attributes
pathstring | nulldeprecatedDeprecated in PeerTube v8.0, use fileUrl instead. Null if the file is stored in object storage: use the non-deprecated field instead.
fileUrlstringPeerTube >= 7.1
widthintegerheightintegerPeerTube >= 7.3
createdAtstring<date-time>updatedAtstring<date-time>userHistoryobject | nullShow child attributes
currentTimeintegercaptionLanguagesArray<string>PeerTube >= 9.0 Languages of the video captions. Only returned by video lists
viewersintegerIf the video is a live, you have the amount of current viewers
descriptionstring | nullfull description of the video, written in Markdown.
"**[Want to help to translate this video?](https://weblate.framasoft.org/projects/what-is-peertube-video/)**\r\n\r\n
**Take back the control of your videos! [#JoinPeertube](https://joinpeertube.org)**\r\n*A decentralized video hosting network,
based on free/libre software!*\r\n\r\n**Animation Produced by:** [LILA](https://libreart.info) - [ZeMarmot Team](https://film.zemarmot.net)\r\n
*Directed by* Aryeom\r\n*Assistant* Jehan\r\n**Licence**: [CC-By-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)\r\n\r\n
**Sponsored by** [Framasoft](https://framasoft.org)\r\n\r\n**Music**: [Red Step Forward](http://play.dogmazic.net/song.php?song_id=52491) - CC-By Ken Bushima\r\n\r\n
**Movie Clip**: [Caminades 3: Llamigos](http://www.caminandes.com/) CC-By Blender Institute\r\n\r\n**Video sources**: https://gitlab.gnome.org/Jehan/what-is-peertube/"
supportstring | nullA text tell the audience how to support the video creator
Please support our work on https://soutenir.framasoft.org/en/ <3channelActor & objectShow child attributes
urlstring<url>nameusernameimmutable name of the actor, used to find or mention it
Show child attributes
avatarsArray<ActorImage>Show child attributes
pathstring | nulldeprecatedDeprecated in PeerTube v8.0, use fileUrl instead. Null if the file is stored in object storage: use the non-deprecated field instead.
fileUrlstringPeerTube >= 7.1
widthintegerheightintegerPeerTube >= 7.3
createdAtstring<date-time>updatedAtstring<date-time>hoststring<hostname>server on which the actor is resident
hostRedundancyAllowedboolean | nullwhether this actor's host allows redundancy of its videos
followingCountinteger>= 0number of actors subscribed to by this actor, as seen by this instance
followersCountinteger>= 0number of followers of this actor, as seen by this instance
createdAtstring<date-time>updatedAtstring<date-time>displayNamestringeditable name of the channel, displayed in its representations
Videos of Framasoftdescriptionstring | nullVideos made with <3 by Framasoftsupportstring | nulltext shown by default on all videos of this channel, to tell the audience how to support it
Please support our work on https://soutenir.framasoft.org/en/ <3publicEmailstring<email> | nullPublic email visible in podcast RSS feeds
isLocalbooleanupdatedAtstring<date-time>bannersArray<ActorImage>Show child attributes
pathstring | nulldeprecatedDeprecated in PeerTube v8.0, use fileUrl instead. Null if the file is stored in object storage: use the non-deprecated field instead.
fileUrlstringPeerTube >= 7.1
widthintegerheightintegerPeerTube >= 7.3
createdAtstring<date-time>updatedAtstring<date-time>ownerAccountActor & anyShow child attributes
urlstring<url>nameusernameimmutable name of the actor, used to find or mention it
Show child attributes
avatarsArray<ActorImage>Show child attributes
pathstring | nulldeprecatedDeprecated in PeerTube v8.0, use fileUrl instead. Null if the file is stored in object storage: use the non-deprecated field instead.
fileUrlstringPeerTube >= 7.1
widthintegerheightintegerPeerTube >= 7.3
createdAtstring<date-time>updatedAtstring<date-time>hoststring<hostname>server on which the actor is resident
hostRedundancyAllowedboolean | nullwhether this actor's host allows redundancy of its videos
followingCountinteger>= 0number of actors subscribed to by this actor, as seen by this instance
followersCountinteger>= 0number of followers of this actor, as seen by this instance
createdAtstring<date-time>updatedAtstring<date-time>displayNamestringeditable name of the account, displayed in its representations
descriptionstring | nulltext or bio displayed on the account's profile
videosCountintegeronly included when withStats is true
viewsPerDayArray<object>only included when withStats is true. Chronologically ordered, spans the whole statsDays range. Each point aggregates viewsGroupInterval worth of views, starting at date
Show child attributes
datestring<date-time>viewsintegerviewsGroupIntervalstringdayweekmonthbucket size of viewsPerDay, only included when withStats is true
totalViewsintegerlifetime views of all the channel videos, only included when withStats is true
accountActor & anyShow child attributes
urlstring<url>nameusernameimmutable name of the actor, used to find or mention it
Show child attributes
avatarsArray<ActorImage>Show child attributes
pathstring | nulldeprecatedDeprecated in PeerTube v8.0, use fileUrl instead. Null if the file is stored in object storage: use the non-deprecated field instead.
fileUrlstringPeerTube >= 7.1
widthintegerheightintegerPeerTube >= 7.3
createdAtstring<date-time>updatedAtstring<date-time>hoststring<hostname>server on which the actor is resident
hostRedundancyAllowedboolean | nullwhether this actor's host allows redundancy of its videos
followingCountinteger>= 0number of actors subscribed to by this actor, as seen by this instance
followersCountinteger>= 0number of followers of this actor, as seen by this instance
createdAtstring<date-time>updatedAtstring<date-time>displayNamestringeditable name of the account, displayed in its representations
descriptionstring | nulltext or bio displayed on the account's profile
tagsArray<string>[
"flowers",
"gardening"
]commentsPolicyVideoCommentsPolicyConstantShow child attributes
Comments policy of the video (Enabled = 1, Disabled = 2, Requires Approval = 3)
labelstringdownloadEnabledbooleaninputFileUpdatedAtstring<date-time> | nullLatest input file update. Null if the file has never been replaced since the original upload
trackerUrlsArray<string>WebTorrent (ws:// or wss://) and BitTorrent (http:// or https://) trackers of the video
[
"https://peertube2.cpy.re/tracker/announce",
"wss://peertube2.cpy.re/tracker/socket"
]filesArray<VideoFile>Web compatible video files. If Web Video is disabled on the server:
- field will be empty
- video files will be found in
streamingPlaylists[].filesfield
Show child attributes
magnetUristring<uri>magnet URI allowing to resolve the video via BitTorrent without a metainfo file
resolutionVideoResolutionConstantresolutions and their labels for the video
Show child attributes
Video resolution (0, 240, 360, 720, 1080, 1440 or 2160)
0 is used as a special value for stillimage videos dedicated to audio, a.k.a. audio-only videos.
240labelstring240psizeintegerVideo file size in bytes
torrentUrlstring<url>Direct URL of the torrent file
torrentDownloadUrlstring<url>URL endpoint that transfers the torrent file as an attachment (so that the browser opens a download dialog)
fileUrlstring<url>Direct URL of the video
playlistUrlstring<url>Playlist URL of the file if it is owned by a playlist
fileDownloadUrlstring<url>URL endpoint that transfers the video file as an attachment (so that the browser opens a download dialog)
fpsnumberFrames per second of the video file
widthnumberPeerTube >= 6.1 Video stream width
heightnumberPeerTube >= 6.1 Video stream height
metadataUrlstring<url>URL dereferencing the output of ffprobe on the file
hasAudiobooleanPeerTube >= 6.2 The file container has an audio stream
hasVideobooleanPeerTube >= 6.2 The file container has a video stream
storageFileStorage01The file storage type:
0File system1Object storage
streamingPlaylistsArray<VideoStreamingPlaylists>HLS playlists/manifest files. If HLS is disabled on the server:
- field will be empty
- video files will be found in
filesfield
Show child attributes
typeinteger1Playlist type:
1: HLS
playlistUrlstring<url>segmentsSha256Urlstring<url>filesArray<VideoFile>Video files associated to this playlist.
The difference with the root files property is that these files are fragmented, so they can be used in this streaming playlist (HLS, etc.)
Show child attributes
magnetUristring<uri>magnet URI allowing to resolve the video via BitTorrent without a metainfo file
resolutionVideoResolutionConstantresolutions and their labels for the video
Show child attributes
Video resolution (0, 240, 360, 720, 1080, 1440 or 2160)
0 is used as a special value for stillimage videos dedicated to audio, a.k.a. audio-only videos.
240labelstring240psizeintegerVideo file size in bytes
torrentUrlstring<url>Direct URL of the torrent file
torrentDownloadUrlstring<url>URL endpoint that transfers the torrent file as an attachment (so that the browser opens a download dialog)
fileUrlstring<url>Direct URL of the video
playlistUrlstring<url>Playlist URL of the file if it is owned by a playlist
fileDownloadUrlstring<url>URL endpoint that transfers the video file as an attachment (so that the browser opens a download dialog)
fpsnumberFrames per second of the video file
widthnumberPeerTube >= 6.1 Video stream width
heightnumberPeerTube >= 6.1 Video stream height
metadataUrlstring<url>URL dereferencing the output of ffprobe on the file
hasAudiobooleanPeerTube >= 6.2 The file container has an audio stream
hasVideobooleanPeerTube >= 6.2 The file container has a video stream
storageFileStorage01The file storage type:
0File system1Object storage
redundanciesArray<object>Show child attributes
baseUrlstring<url>Requires authentication or the video requires a password
Response fields application/json
typestring<uri-reference>URI identifying the error type. about:blank when the error has no specific type. Otherwise it links to the corresponding section of the Errors documentation; the type name itself is also available in code.
/api-rest-reference.html#section/Errors/video_requires_passworddetailstringPlease provide a password to access this password protected videostatusinteger403codestringvideo_requires_passwordInvalid authentication or the video requires a password
Response fields application/json
typestring<uri-reference>URI identifying the error type. about:blank when the error has no specific type. Otherwise it links to the corresponding section of the Errors documentation; the type name itself is also available in code.
/api-rest-reference.html#section/Errors/video_requires_passworddetailstringPlease provide a password to access this password protected videostatusinteger403codestringvideo_requires_password