Files
hottub/docs/hottubapp/🎬 Videos - Hot Tub Docs.html
2026-04-03 17:20:11 +00:00

2040 lines
74 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en" class="js-focus-visible js" data-js-focus-visible=""><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="icon" href="https://docs.hottubapp.io/assets/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.22">
<link rel="stylesheet" href="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/main.84d31ad4.min.css">
<link rel="stylesheet" href="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/palette.06af60db.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin="">
<link rel="stylesheet" href="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/css.css">
<style>:root{--md-text-font:"Montserrat";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/extra.css">
<script id="__analytics">function __md_analytics(){function e(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],e("js",new Date),e("config","G-FKHVJYKHGB"),document.addEventListener("DOMContentLoaded",(function(){document.forms.search&&document.forms.search.query.addEventListener("blur",(function(){this.value&&e("event","search",{search_term:this.value})}));document$.subscribe((function(){var t=document.forms.feedback;if(void 0!==t)for(var a of t.querySelectorAll("[type=submit]"))a.addEventListener("click",(function(a){a.preventDefault();var n=document.location.pathname,d=this.getAttribute("data-md-value");e("event","feedback",{page:n,data:d}),t.firstElementChild.disabled=!0;var r=t.querySelector(".md-feedback__note [data-md-value='"+d+"']");r&&(r.hidden=!1)})),t.hidden=!1})),location$.subscribe((function(t){e("config","G-FKHVJYKHGB",{page_path:t.pathname})}))}));var t=document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtag/js?id=G-FKHVJYKHGB",document.getElementById("__analytics").insertAdjacentElement("afterEnd",t)}</script>
<script>"undefined"!=typeof __md_analytics&&__md_analytics()</script>
<meta name="theme-color" content="#14151a"><meta name="color-scheme" content="dark"><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script><link rel="canonical" href="https://docs.hottubapp.io/developers/api/videos/"><link rel="prev" href="https://docs.hottubapp.io/developers/api/status/"><link rel="next" href="https://docs.hottubapp.io/developers/api/uploaders/"><title>🎬 Videos - Hot Tub Docs</title></head>
<body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)"><div id="bubble-background" style="position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; z-index: -1;"><canvas style="position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; z-index: -1; pointer-events: none;" width="1366" height="616"></canvas></div>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="https://docs.hottubapp.io/developers/api/videos/#overview" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="https://docs.hottubapp.io/" title="Hot Tub Docs" class="md-header__button md-logo" aria-label="Hot Tub Docs" data-md-component="logo">
<img src="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/icon-round.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Hot Tub Docs
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
🎬 Videos
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="white" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden="">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button class="md-header__button md-icon" aria-label="Select language">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"></path></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a href="" hreflang="en" class="md-select__link">
English
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=fr" hreflang="fr" class="md-select__link">
French
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=de" hreflang="de" class="md-select__link">
German
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=es" hreflang="es" class="md-select__link">
Spanish
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=it" hreflang="it" class="md-select__link">
Italian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=nl" hreflang="nl" class="md-select__link">
Dutch
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=pt" hreflang="pt" class="md-select__link">
Portuguese
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=pl" hreflang="pl" class="md-select__link">
Polish
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=tr" hreflang="tr" class="md-select__link">
Turkish
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=zh" hreflang="zh" class="md-select__link">
Chinese
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=ja" hreflang="ja" class="md-select__link">
Japanese
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=de" hreflang="at" class="md-select__link">
Austrian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=nl" hreflang="be" class="md-select__link">
Belgian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=bg" hreflang="bg" class="md-select__link">
Bulgarian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=hr" hreflang="hr" class="md-select__link">
Croatian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=el" hreflang="cy" class="md-select__link">
Cypriot
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=cs" hreflang="cs" class="md-select__link">
Czech
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=da" hreflang="da" class="md-select__link">
Danish
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=et" hreflang="et" class="md-select__link">
Estonian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=fi" hreflang="fi" class="md-select__link">
Finnish
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=el" hreflang="el" class="md-select__link">
Greek
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=hu" hreflang="hu" class="md-select__link">
Hungarian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=ga" hreflang="ga" class="md-select__link">
Irish
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=lv" hreflang="lv" class="md-select__link">
Latvian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=lt" hreflang="lt" class="md-select__link">
Lithuanian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=lb" hreflang="lb" class="md-select__link">
Luxembourgish
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=mt" hreflang="mt" class="md-select__link">
Maltese
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=ro" hreflang="ro" class="md-select__link">
Romanian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=sk" hreflang="sk" class="md-select__link">
Slovak
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=sl" hreflang="sl" class="md-select__link">
Slovenian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=sv" hreflang="sv" class="md-select__link">
Swedish
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="none" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required="">
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
<div class="md-search__suggest" data-md-component="search-suggest"></div>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">Type to start searching</div>
<ol class="md-search-result__list" role="presentation" hidden=""></ol>
</div>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" style="top: 48px;">
<div class="md-sidebar__scrollwrap" style="height: 490px;">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="https://docs.hottubapp.io/" title="Hot Tub Docs" class="md-nav__button md-logo" aria-label="Hot Tub Docs" data-md-component="logo">
<img src="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/icon-round.png" alt="logo">
</a>
Hot Tub Docs
</label>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/" class="md-nav__link">
<span class="md-ellipsis">
🏡 Home
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/install/" class="md-nav__link">
<span class="md-ellipsis">
📲 Install
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/setup/" class="md-nav__link">
<span class="md-ellipsis">
🚀 Setup
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/advanced-settings/" class="md-nav__link">
<span class="md-ellipsis">
🪛 Settings
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/faq/" class="md-nav__link">
<span class="md-ellipsis">
❓ FAQ
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked="checked">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="">
<span class="md-ellipsis">
Developers
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Developers
</label>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/server/" class="md-nav__link">
<span class="md-ellipsis">
📦 Server
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2" checked="checked">
<label class="md-nav__link" for="__nav_6_2" id="__nav_6_2_label" tabindex="0">
<span class="md-ellipsis">
🌐 Endpoints
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_2_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6_2">
<span class="md-nav__icon md-icon"></span>
🌐 Endpoints
</label>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/status/" class="md-nav__link">
<span class="md-ellipsis">
📡 Status
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
🎬 Videos
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="https://docs.hottubapp.io/developers/api/videos/" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
🎬 Videos
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#overview" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
<nav class="md-nav" aria-label="Overview">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#request" class="md-nav__link">
<span class="md-ellipsis">
Request
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#request-parameters" class="md-nav__link">
<span class="md-ellipsis">
Request Parameters
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#response" class="md-nav__link">
<span class="md-ellipsis">
Response
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#field-reference" class="md-nav__link">
<span class="md-ellipsis">
Field Reference
</span>
</a>
<nav class="md-nav" aria-label="Field Reference">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#response-root-fields" class="md-nav__link">
<span class="md-ellipsis">
Response Root Fields
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#pageinfo-object-fields" class="md-nav__link">
<span class="md-ellipsis">
PageInfo Object Fields
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#video-object-fields" class="md-nav__link">
<span class="md-ellipsis">
Video Object Fields
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#uploaderprofile-object" class="md-nav__link">
<span class="md-ellipsis">
UploaderProfile Object
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#format-object-fields" class="md-nav__link">
<span class="md-ellipsis">
Format Object Fields
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/" class="md-nav__link">
<span class="md-ellipsis">
👤 Uploaders
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/url-schemes/" class="md-nav__link">
<span class="md-ellipsis">
🔗 URL Schemes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/developer-tools/" class="md-nav__link">
<span class="md-ellipsis">
🐛 Developer Tools
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7">
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="">
<span class="md-ellipsis">
About Us
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
About Us
</label>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/about/info/" class="md-nav__link">
<span class="md-ellipsis">
Info
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/about/contact/" class="md-nav__link">
<span class="md-ellipsis">
📇 Contact Us
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/about/press-kit/" class="md-nav__link">
<span class="md-ellipsis">
📰 Press Kit
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/about/legal/" class="md-nav__link">
<span class="md-ellipsis">
📄 Terms &amp; Privacy Policy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/about/partners/" class="md-nav__link">
<span class="md-ellipsis">
🤝 Partner with Hot Tub
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" style="top: 48px;">
<div class="md-sidebar__scrollwrap" style="height: 490px;">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#overview" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
<nav class="md-nav" aria-label="Overview">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#request" class="md-nav__link">
<span class="md-ellipsis">
Request
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#request-parameters" class="md-nav__link">
<span class="md-ellipsis">
Request Parameters
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#response" class="md-nav__link">
<span class="md-ellipsis">
Response
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#field-reference" class="md-nav__link">
<span class="md-ellipsis">
Field Reference
</span>
</a>
<nav class="md-nav" aria-label="Field Reference">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#response-root-fields" class="md-nav__link">
<span class="md-ellipsis">
Response Root Fields
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#pageinfo-object-fields" class="md-nav__link">
<span class="md-ellipsis">
PageInfo Object Fields
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#video-object-fields" class="md-nav__link">
<span class="md-ellipsis">
Video Object Fields
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#uploaderprofile-object" class="md-nav__link">
<span class="md-ellipsis">
UploaderProfile Object
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/#format-object-fields" class="md-nav__link">
<span class="md-ellipsis">
Format Object Fields
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1>🎬 Videos</h1>
<div><h2 id="overview">Overview</h2>
<p>The <code>POST /api/videos</code> endpoint is used to retrieve videos
from the given source. It contains information about the videos,
channels, and other relevant information.</p>
<h3 id="request">Request</h3>
<p><code>POST /api/videos</code></p>
<div class="highlight"><pre><span></span><code tabindex="0"><a id="__codelineno-0-1" name="__codelineno-0-1" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-0-1"></a><span class="p">{</span>
<a id="__codelineno-0-2" name="__codelineno-0-2" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-0-2"></a><span class="w"> </span><span class="nt">"query"</span><span class="p">:</span><span class="w"> </span><span class="s2">"kittens"</span><span class="p">,</span>
<a id="__codelineno-0-3" name="__codelineno-0-3" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-0-3"></a><span class="w"> </span><span class="nt">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"my-channel"</span><span class="p">,</span>
<a id="__codelineno-0-4" name="__codelineno-0-4" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-0-4"></a><span class="w"> </span><span class="nt">"channels"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"my-channel"</span><span class="p">,</span><span class="w"> </span><span class="s2">"another-channel"</span><span class="p">],</span><span class="w"> </span><span class="c1">// Channels supporting multiple sites/channels</span>
<a id="__codelineno-0-5" name="__codelineno-0-5" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-0-5"></a><span class="w"> </span><span class="nt">"sort"</span><span class="p">:</span><span class="w"> </span><span class="s2">"new"</span><span class="p">,</span>
<a id="__codelineno-0-6" name="__codelineno-0-6" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-0-6"></a><span class="w"> </span><span class="nt">"page"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
<a id="__codelineno-0-7" name="__codelineno-0-7" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-0-7"></a><span class="w"> </span><span class="nt">"pageSize"</span><span class="p">:</span><span class="w"> </span><span class="mi">40</span><span class="p">,</span>
<a id="__codelineno-0-8" name="__codelineno-0-8" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-0-8"></a><span class="w"> </span><span class="nt">"clientVersion"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.2.7-38"</span><span class="p">,</span><span class="w"> </span><span class="c1">// {version}—{build}, useful for feature availability </span>
<a id="__codelineno-0-9" name="__codelineno-0-9" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-0-9"></a><span class="w"> </span><span class="nt">"blockedKeywords"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"example"</span><span class="p">],</span>
<a id="__codelineno-0-10" name="__codelineno-0-10" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-0-10"></a><span class="w"> </span><span class="nt">"blockedUploaders"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"uploader-id-123"</span><span class="p">],</span>
<a id="__codelineno-0-11" name="__codelineno-0-11" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-0-11"></a><span class="w"> </span><span class="c1">// Your server's custom parameters will be added here</span>
<a id="__codelineno-0-12" name="__codelineno-0-12" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-0-12"></a><span class="w"> </span><span class="nt">"quality"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hd"</span><span class="p">,</span>
<a id="__codelineno-0-13" name="__codelineno-0-13" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-0-13"></a><span class="w"> </span><span class="nt">"duration"</span><span class="p">:</span><span class="w"> </span><span class="s2">"short"</span><span class="p">,</span>
<a id="__codelineno-0-14" name="__codelineno-0-14" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-0-14"></a><span class="w"> </span><span class="nt">"flavor"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mint_chocolate_chip"</span>
<a id="__codelineno-0-15" name="__codelineno-0-15" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-0-15"></a><span class="p">}</span>
</code></pre></div>
<h3 id="request-parameters">Request Parameters</h3>
<div class="md-typeset__scrollwrap"><div class="md-typeset__table"><table>
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>query</code></td>
<td><code>string</code></td>
<td><code>""</code></td>
<td>Search query</td>
</tr>
<tr>
<td><code>channel</code></td>
<td><code>string</code></td>
<td></td>
<td>Single channel identifier (as defined in your server's status response)</td>
</tr>
<tr>
<td><code>channels</code></td>
<td><code>string[]</code></td>
<td></td>
<td>Multiple channel identifiers to search across (overrides <code>channel</code>)</td>
</tr>
<tr>
<td><code>sort</code></td>
<td><code>string</code></td>
<td><code>"relevance"</code></td>
<td>Sort option ID (as defined in your server's status response options)</td>
</tr>
<tr>
<td><code>page</code></td>
<td><code>number</code></td>
<td><code>1</code></td>
<td>Page number for pagination</td>
</tr>
<tr>
<td><code>pageSize</code></td>
<td><code>number</code></td>
<td><code>40</code></td>
<td>Results per page</td>
</tr>
<tr>
<td><code>clientVersion</code></td>
<td><code>string</code></td>
<td></td>
<td>App version string (e.g., <code>"2.2.7-38"</code>)</td>
</tr>
<tr>
<td><code>blockedKeywords</code></td>
<td><code>string[]</code></td>
<td><code>[]</code></td>
<td>Keywords to exclude from results</td>
</tr>
<tr>
<td><code>blockedUploaders</code></td>
<td><code>string[]</code></td>
<td><code>[]</code></td>
<td>Uploader IDs to exclude from results</td>
</tr>
<tr>
<td><em>(server options)</em></td>
<td><code>any</code></td>
<td></td>
<td>Any option IDs defined in your server's status response are forwarded as-is</td>
</tr>
</tbody>
</table></div></div>
<div class="admonition info">
<p class="admonition-title">Server-Defined Filter Options</p>
<p>Filter parameters beyond the core ones above (e.g., duration,
quality, content type, sexuality) are entirely defined by your server
via the <code>options</code> array in the <a href="https://docs.hottubapp.io/developers/api/status/">Status endpoint</a> response. Whatever <code>id</code> values you expose there will be sent back verbatim when the user selects them. Your <code>/api/videos</code> handler receives them as top-level keys in the request body.</p>
</div>
<hr>
<h3 id="response">Response</h3>
<div class="highlight"><pre><span></span><code tabindex="0"><a id="__codelineno-1-1" name="__codelineno-1-1" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-1"></a><span class="p">{</span>
<a id="__codelineno-1-2" name="__codelineno-1-2" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-2"></a><span class="w"> </span><span class="nt">"pageInfo"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-1-3" name="__codelineno-1-3" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-3"></a><span class="w"> </span><span class="nt">"hasNextPage"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
<a id="__codelineno-1-4" name="__codelineno-1-4" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-4"></a><span class="w"> </span><span class="nt">"recommendations"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"cats"</span><span class="p">,</span><span class="w"> </span><span class="s2">"pets"</span><span class="p">,</span><span class="w"> </span><span class="s2">"animals"</span><span class="p">],</span>
<a id="__codelineno-1-5" name="__codelineno-1-5" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-5"></a><span class="w"> </span><span class="nt">"error"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w"> </span><span class="c1">// e.g. "No results were found"</span>
<a id="__codelineno-1-6" name="__codelineno-1-6" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-6"></a><span class="w"> </span><span class="nt">"message"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w"> </span><span class="c1">// e.g. "Showing cached results" or "Some content filtered based on preferences"</span>
<a id="__codelineno-1-7" name="__codelineno-1-7" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-7"></a><span class="w"> </span><span class="nt">"parameters"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-1-8" name="__codelineno-1-8" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-8"></a><span class="w"> </span><span class="nt">"totalResults"</span><span class="p">:</span><span class="w"> </span><span class="mi">1000</span>
<a id="__codelineno-1-9" name="__codelineno-1-9" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-9"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-1-10" name="__codelineno-1-10" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-10"></a><span class="w"> </span><span class="p">},</span>
<a id="__codelineno-1-11" name="__codelineno-1-11" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-11"></a><span class="w"> </span><span class="nt">"items"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<a id="__codelineno-1-12" name="__codelineno-1-12" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-12"></a><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-1-13" name="__codelineno-1-13" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-13"></a><span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"c85017ca87477168d648727753c4ded8a35f173e22ef93743e707b296becb299"</span><span class="p">,</span>
<a id="__codelineno-1-14" name="__codelineno-1-14" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-14"></a><span class="w"> </span><span class="nt">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"20 Minutes of Adorable Kittens BEST Compilation"</span><span class="p">,</span>
<a id="__codelineno-1-15" name="__codelineno-1-15" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-15"></a><span class="w"> </span><span class="nt">"url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://www.example.com/watch?v=y0sF5xhGreA"</span><span class="p">,</span>
<a id="__codelineno-1-16" name="__codelineno-1-16" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-16"></a><span class="w"> </span><span class="nt">"duration"</span><span class="p">:</span><span class="w"> </span><span class="mi">110</span><span class="p">,</span>
<a id="__codelineno-1-17" name="__codelineno-1-17" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-17"></a><span class="w"> </span><span class="nt">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"my-channel"</span><span class="p">,</span>
<a id="__codelineno-1-18" name="__codelineno-1-18" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-18"></a><span class="w"> </span><span class="nt">"thumb"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://i.example.com/vi/y0sF5xhGreA/hqdefault.jpg"</span><span class="p">,</span>
<a id="__codelineno-1-19" name="__codelineno-1-19" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-19"></a><span class="w"> </span><span class="nt">"views"</span><span class="p">:</span><span class="w"> </span><span class="mi">14622653</span><span class="p">,</span>
<a id="__codelineno-1-20" name="__codelineno-1-20" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-20"></a><span class="w"> </span><span class="nt">"rating"</span><span class="p">:</span><span class="w"> </span><span class="mi">95</span><span class="p">,</span>
<a id="__codelineno-1-21" name="__codelineno-1-21" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-21"></a><span class="w"> </span><span class="nt">"uploader"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Awesome Vids"</span><span class="p">,</span>
<a id="__codelineno-1-22" name="__codelineno-1-22" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-22"></a><span class="w"> </span><span class="nt">"uploaderUrl"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://www.example.com/@awesomeVids"</span><span class="p">,</span>
<a id="__codelineno-1-23" name="__codelineno-1-23" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-23"></a><span class="w"> </span><span class="nt">"uploaderId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"awesomeVids"</span><span class="p">,</span>
<a id="__codelineno-1-24" name="__codelineno-1-24" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-24"></a><span class="w"> </span><span class="nt">"verified"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
<a id="__codelineno-1-25" name="__codelineno-1-25" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-25"></a><span class="w"> </span><span class="nt">"isVR"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
<a id="__codelineno-1-26" name="__codelineno-1-26" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-26"></a><span class="w"> </span><span class="nt">"tags"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"cats"</span><span class="p">,</span><span class="w"> </span><span class="s2">"kittens"</span><span class="p">,</span><span class="w"> </span><span class="s2">"pets"</span><span class="p">],</span>
<a id="__codelineno-1-27" name="__codelineno-1-27" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-27"></a><span class="w"> </span><span class="nt">"categories"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"Animals"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Entertainment"</span><span class="p">],</span>
<a id="__codelineno-1-28" name="__codelineno-1-28" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-28"></a><span class="w"> </span><span class="nt">"uploadedAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2025-01-03T10:15:54.000Z"</span><span class="p">,</span>
<a id="__codelineno-1-29" name="__codelineno-1-29" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-29"></a><span class="w"> </span><span class="nt">"preview"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://example.com/preview.mp4"</span><span class="p">,</span>
<a id="__codelineno-1-30" name="__codelineno-1-30" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-30"></a><span class="w"> </span><span class="nt">"uploaderId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"petcollective"</span><span class="p">,</span>
<a id="__codelineno-1-31" name="__codelineno-1-31" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-31"></a><span class="w"> </span><span class="nt">"aspectRatio"</span><span class="p">:</span><span class="w"> </span><span class="mf">1.78</span><span class="p">,</span>
<a id="__codelineno-1-32" name="__codelineno-1-32" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-32"></a><span class="w"> </span><span class="nt">"uploaderProfile"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-1-33" name="__codelineno-1-33" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-33"></a><span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"abc123"</span><span class="p">,</span>
<a id="__codelineno-1-34" name="__codelineno-1-34" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-34"></a><span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Awesome Vids"</span><span class="p">,</span>
<a id="__codelineno-1-35" name="__codelineno-1-35" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-35"></a><span class="w"> </span><span class="nt">"avatar"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://example.com/avatar.jpg"</span><span class="p">,</span>
<a id="__codelineno-1-36" name="__codelineno-1-36" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-36"></a><span class="w"> </span><span class="nt">"videoCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">342</span><span class="p">,</span>
<a id="__codelineno-1-37" name="__codelineno-1-37" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-37"></a><span class="w"> </span><span class="nt">"totalViews"</span><span class="p">:</span><span class="w"> </span><span class="mi">14500000</span>
<a id="__codelineno-1-38" name="__codelineno-1-38" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-38"></a><span class="w"> </span><span class="p">},</span>
<a id="__codelineno-1-39" name="__codelineno-1-39" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-39"></a><span class="w"> </span><span class="nt">"formats"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<a id="__codelineno-1-40" name="__codelineno-1-40" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-40"></a><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-1-41" name="__codelineno-1-41" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-41"></a><span class="w"> </span><span class="nt">"url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://www.example.com/watch?v=y0sF5xhGreA"</span><span class="p">,</span>
<a id="__codelineno-1-42" name="__codelineno-1-42" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-42"></a><span class="w"> </span><span class="nt">"quality"</span><span class="p">:</span><span class="w"> </span><span class="mi">1080</span><span class="p">,</span>
<a id="__codelineno-1-43" name="__codelineno-1-43" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-43"></a><span class="w"> </span><span class="nt">"format"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mp4"</span><span class="p">,</span>
<a id="__codelineno-1-44" name="__codelineno-1-44" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-44"></a><span class="w"> </span><span class="nt">"formatId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mp4-1080"</span><span class="p">,</span>
<a id="__codelineno-1-45" name="__codelineno-1-45" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-45"></a><span class="w"> </span><span class="nt">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"m3u8_native"</span><span class="p">,</span>
<a id="__codelineno-1-46" name="__codelineno-1-46" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-46"></a><span class="w"> </span><span class="nt">"ext"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mp4"</span><span class="p">,</span>
<a id="__codelineno-1-47" name="__codelineno-1-47" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-47"></a><span class="w"> </span><span class="nt">"httpHeaders"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-1-48" name="__codelineno-1-48" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-48"></a><span class="w"> </span><span class="nt">"Referer"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://www.example.com"</span>
<a id="__codelineno-1-49" name="__codelineno-1-49" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-49"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-1-50" name="__codelineno-1-50" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-50"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-1-51" name="__codelineno-1-51" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-51"></a><span class="w"> </span><span class="p">],</span>
<a id="__codelineno-1-52" name="__codelineno-1-52" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-52"></a><span class="w"> </span><span class="nt">"embed"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-1-53" name="__codelineno-1-53" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-53"></a><span class="w"> </span><span class="nt">"source"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://www.example.com/watch?v=y0sF5xhGreA"</span><span class="p">,</span>
<a id="__codelineno-1-54" name="__codelineno-1-54" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-54"></a><span class="w"> </span><span class="nt">"html"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;iframe src='...' width='560' height='315'&gt;&lt;/iframe&gt;"</span><span class="p">,</span>
<a id="__codelineno-1-55" name="__codelineno-1-55" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-55"></a><span class="w"> </span><span class="nt">"width"</span><span class="p">:</span><span class="w"> </span><span class="mi">560</span><span class="p">,</span>
<a id="__codelineno-1-56" name="__codelineno-1-56" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-56"></a><span class="w"> </span><span class="nt">"height"</span><span class="p">:</span><span class="w"> </span><span class="mi">315</span>
<a id="__codelineno-1-57" name="__codelineno-1-57" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-57"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-1-58" name="__codelineno-1-58" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-58"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-1-59" name="__codelineno-1-59" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-59"></a><span class="w"> </span><span class="p">]</span>
<a id="__codelineno-1-60" name="__codelineno-1-60" href="https://docs.hottubapp.io/developers/api/videos/#__codelineno-1-60"></a><span class="p">}</span>
</code></pre></div>
<h2 id="field-reference">Field Reference</h2>
<h3 id="response-root-fields">Response Root Fields</h3>
<div class="md-typeset__scrollwrap"><div class="md-typeset__table"><table>
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>pageInfo</code></td>
<td><code>PageInfo</code></td>
<td>Pagination and status metadata</td>
</tr>
<tr>
<td><code>items</code></td>
<td><code>Video[]</code></td>
<td>Array of video objects</td>
</tr>
</tbody>
</table></div></div>
<h3 id="pageinfo-object-fields">PageInfo Object Fields</h3>
<div class="md-typeset__scrollwrap"><div class="md-typeset__table"><table>
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>hasNextPage</code></td>
<td><code>boolean</code></td>
<td></td>
<td>Whether more results are available</td>
</tr>
<tr>
<td><code>recommendations</code></td>
<td><code>string[]</code></td>
<td></td>
<td>Suggested search terms</td>
</tr>
<tr>
<td><code>error</code></td>
<td><code>string</code></td>
<td></td>
<td>Error message (e.g., "No results were found")</td>
</tr>
<tr>
<td><code>message</code></td>
<td><code>string</code></td>
<td></td>
<td>Informational message (e.g., "Showing cached results")</td>
</tr>
<tr>
<td><code>parameters</code></td>
<td><code>object</code></td>
<td></td>
<td>Additional metadata (e.g. <code>"cursor": "abc123"</code>)</td>
</tr>
</tbody>
</table></div></div>
<div class="admonition info">
<p class="admonition-title">Error vs Message</p>
<ul>
<li><strong><code>error</code></strong>: Use for actual errors that prevent normal operation (no results, API failure, invalid query)</li>
<li><strong><code>message</code></strong>: Use for informational notices
that don't indicate failure (cached results, filtered content, rate
limiting info, feature announcements)</li>
</ul>
</div>
<h3 id="video-object-fields">Video Object Fields</h3>
<div class="md-typeset__scrollwrap"><div class="md-typeset__table"><table>
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>title</code></td>
<td><code>string</code></td>
<td></td>
<td>Video title</td>
</tr>
<tr>
<td><code>url</code></td>
<td><code>string</code></td>
<td></td>
<td>Video source URL</td>
</tr>
<tr>
<td><code>duration</code></td>
<td><code>number</code></td>
<td></td>
<td>Video length in seconds</td>
</tr>
<tr>
<td><code>channel</code></td>
<td><code>string</code></td>
<td></td>
<td>Source channel/platform identifier</td>
</tr>
<tr>
<td><code>thumb</code></td>
<td><code>string</code></td>
<td></td>
<td>Thumbnail image URL</td>
</tr>
<tr>
<td><code>id</code></td>
<td><code>string</code></td>
<td></td>
<td>Unique video identifier (auto-generated if not provided)</td>
</tr>
<tr>
<td><code>network</code></td>
<td><code>string</code></td>
<td></td>
<td>Alias for <code>channel</code> — added by the server on every response item</td>
</tr>
<tr>
<td><code>isVR</code></td>
<td><code>boolean</code></td>
<td></td>
<td><code>true</code> when VR content is detected from tags — added by the server</td>
</tr>
<tr>
<td><code>uploaderProfile</code></td>
<td><code>UploaderProfile</code></td>
<td></td>
<td>Partial uploader profile card — added by the server when a profile exists</td>
</tr>
<tr>
<td><code>views</code></td>
<td><code>number</code></td>
<td></td>
<td>View count</td>
</tr>
<tr>
<td><code>rating</code></td>
<td><code>number</code></td>
<td></td>
<td>Video percent rating score</td>
</tr>
<tr>
<td><code>uploader</code></td>
<td><code>string</code></td>
<td></td>
<td>Content creator name</td>
</tr>
<tr>
<td><code>uploaderUrl</code></td>
<td><code>string</code></td>
<td></td>
<td>Creator's profile URL</td>
</tr>
<tr>
<td><code>uploaderId</code></td>
<td><code>string</code></td>
<td></td>
<td>Unique uploader identifier</td>
</tr>
<tr>
<td><code>tags</code></td>
<td><code>string[]</code></td>
<td></td>
<td>Array of content tags (ordering is up to your server)</td>
</tr>
<tr>
<td><code>categories</code></td>
<td><code>string[]</code></td>
<td></td>
<td>Array of content categories</td>
</tr>
<tr>
<td><code>uploadedAt</code></td>
<td><code>Date|String</code></td>
<td></td>
<td>Upload date (flexible format)</td>
</tr>
<tr>
<td><code>preview</code></td>
<td><code>string</code></td>
<td></td>
<td>Preview GIF/video URL</td>
</tr>
<tr>
<td><code>formats</code></td>
<td><code>Format[]</code></td>
<td></td>
<td>Video format array</td>
</tr>
<tr>
<td><code>aspectRatio</code></td>
<td><code>number</code></td>
<td></td>
<td>Video aspect ratio (e.g., 1.78 for 16:9)</td>
</tr>
<tr>
<td><code>embed</code></td>
<td><code>EmbedData</code></td>
<td></td>
<td>Embed data for Reddit-style content</td>
</tr>
<tr>
<td><code>isLive</code></td>
<td><code>boolean</code></td>
<td></td>
<td><code>true</code> when the video is a live stream — replaces duration with a "LIVE" badge</td>
</tr>
<tr>
<td><code>liveStatus</code></td>
<td><code>string</code></td>
<td></td>
<td>yt-dlp live status: <code>"live"</code>, <code>"not_live"</code>, <code>"was_live"</code>, <code>"post_live"</code> — used alongside <code>isLive</code> for badge and availability UI</td>
</tr>
<tr>
<td><code>availability</code></td>
<td><code>string</code></td>
<td></td>
<td>Content availability hint — <code>"offline"</code> shows an unavailable badge instead of duration</td>
</tr>
</tbody>
</table></div></div>
<div class="admonition info">
<p class="admonition-title">Live &amp; Availability Display</p>
<p>The app uses <code>isLive</code> and <code>liveStatus</code> together to determine how a video card renders:</p>
<ul>
<li><strong>Live badge</strong> shown when <code>isLive == true</code> <strong>or</strong> <code>liveStatus == "live"</code> — the duration label is hidden and replaced with a "LIVE" indicator.</li>
<li><strong>Unavailable badge</strong> shown when <code>availability == "offline"</code>, or <code>liveStatus</code> is <code>"not_live"</code> or <code>"was_live"</code> — again replacing the duration.</li>
<li><strong>Normal duration</strong> shown otherwise.</li>
</ul>
<p>During playback, the player also detects live streams from the HLS
stream itself (indefinite duration) and adjusts transport controls
accordingly — so <code>isLive</code> is not required for playback to behave correctly, but it ensures the video card UI is accurate before the stream is loaded.</p>
</div>
<h3 id="uploaderprofile-object">UploaderProfile Object</h3>
<p>Attached to each video item when a known uploader profile exists.
Used to render the uploader row on video cards without a separate API
call.</p>
<div class="md-typeset__scrollwrap"><div class="md-typeset__table"><table>
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>id</code></td>
<td><code>string</code></td>
<td>Uploader identifier</td>
</tr>
<tr>
<td><code>name</code></td>
<td><code>string</code></td>
<td>Display name</td>
</tr>
<tr>
<td><code>avatar</code></td>
<td><code>string \| null</code></td>
<td>Avatar image URL (canonical)</td>
</tr>
<tr>
<td><code>videoCount</code></td>
<td><code>number</code></td>
<td>Total indexed videos</td>
</tr>
<tr>
<td><code>totalViews</code></td>
<td><code>number</code></td>
<td>Aggregated view count</td>
</tr>
</tbody>
</table></div></div>
<p>See <a href="https://docs.hottubapp.io/developers/server/#json-key-names">JSON key names</a> for camelCase vs snake_case and the legacy <code>profile_picture_url</code> avatar key.</p>
<h3 id="format-object-fields">Format Object Fields</h3>
<div class="md-typeset__scrollwrap"><div class="md-typeset__table"><table>
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>url</code></td>
<td><code>string</code></td>
<td></td>
<td>Direct video stream URL</td>
</tr>
<tr>
<td><code>formatId</code></td>
<td><code>string</code></td>
<td>Auto-generated</td>
<td>Format identifier (provided or auto-generated)</td>
</tr>
<tr>
<td><code>ext</code></td>
<td><code>string</code></td>
<td></td>
<td>File extension ("mp4", "webm")</td>
</tr>
<tr>
<td><code>protocol</code></td>
<td><code>string</code></td>
<td></td>
<td>Stream protocol ("https", "m3u8_native") - important for playback</td>
</tr>
<tr>
<td><code>httpHeaders</code></td>
<td><code>object</code></td>
<td>⚪ (🔑 CDN)</td>
<td>Required headers for CDN authentication</td>
</tr>
<tr>
<td><code>height</code></td>
<td><code>number</code></td>
<td>⚪ (📱 UX)</td>
<td>Video height in pixels (240, 480, 720, 1080) - recommended for better format IDs</td>
</tr>
<tr>
<td><code>width</code></td>
<td><code>number</code></td>
<td></td>
<td>Video width in pixels</td>
</tr>
<tr>
<td><code>resolution</code></td>
<td><code>string</code></td>
<td></td>
<td>Resolution string ("720p" or "1280x720")</td>
</tr>
<tr>
<td><code>format</code></td>
<td><code>string</code></td>
<td></td>
<td>Format description</td>
</tr>
<tr>
<td><code>fps</code></td>
<td><code>number</code></td>
<td></td>
<td>Frames per second</td>
</tr>
<tr>
<td><code>quality</code></td>
<td><code>number</code></td>
<td></td>
<td>yt-dlp quality score (fallback for <code>formatId</code> generation)</td>
</tr>
<tr>
<td><code>vcodec</code></td>
<td><code>string</code></td>
<td></td>
<td>Video codec ("avc1.640020", "h264")</td>
</tr>
<tr>
<td><code>acodec</code></td>
<td><code>string</code></td>
<td></td>
<td>Audio codec ("mp4a.40.2", "aac")</td>
</tr>
<tr>
<td><code>tbr</code></td>
<td><code>number</code></td>
<td></td>
<td>Total bitrate</td>
</tr>
<tr>
<td><code>abr</code></td>
<td><code>number</code></td>
<td></td>
<td>Audio bitrate</td>
</tr>
<tr>
<td><code>vbr</code></td>
<td><code>number</code></td>
<td></td>
<td>Video bitrate</td>
</tr>
<tr>
<td><code>dynamicRange</code></td>
<td><code>string</code></td>
<td></td>
<td>Dynamic range ("SDR", "HDR")</td>
</tr>
<tr>
<td><code>aspectRatio</code></td>
<td><code>number</code></td>
<td></td>
<td>Video aspect ratio</td>
</tr>
<tr>
<td><code>filesize</code></td>
<td><code>number</code></td>
<td></td>
<td>File size in bytes</td>
</tr>
<tr>
<td><code>language</code></td>
<td><code>string</code></td>
<td></td>
<td>Audio language</td>
</tr>
<tr>
<td><code>container</code></td>
<td><code>string</code></td>
<td></td>
<td>Container format</td>
</tr>
<tr>
<td><code>downloaderOptions</code></td>
<td><code>object</code></td>
<td></td>
<td>Download configuration (defaults to 1MB chunks)</td>
</tr>
</tbody>
</table></div></div>
<div class="admonition warning">
<p class="admonition-title">CDN Authentication</p>
<p>Many premium/CDN streams require <code>httpHeaders</code> for authentication. Common headers include:</p>
<ul>
<li><code>User-Agent</code> - Required by most CDNs</li>
<li><code>Referer</code> - Required for hotlink protection</li>
<li><code>Accept</code>, <code>Accept-Language</code> - For content negotiation</li>
</ul>
</div>
<div class="admonition info">
<p class="admonition-title">Format ID Generation</p>
<p>If <code>formatId</code> is not provided, it's auto-generated in this order:</p>
<ol>
<li><code>{format}_{height}p</code> (e.g., "mp4_720p")</li>
<li><code>{format}_{resolution}</code> (e.g., "mp4_1280x720")</li>
<li><code>{format}_{quality}</code> (e.g., "mp4_2.5")</li>
<li><code>{format}</code> only</li>
</ol>
</div>
<div class="admonition tip">
<p class="admonition-title">Best Practices</p>
<ul>
<li>Only <code>url</code> is truly required - everything else is optional</li>
<li>Include <code>height</code> for meaningful format IDs and better user experience</li>
<li>Add <code>httpHeaders</code> for CDN streams that need authentication</li>
<li>Providing <code>formats</code> bypasses yt-dlp extraction (faster response)</li>
<li>Providing <code>preview</code> avoids on-device preview generation</li>
</ul>
</div></div>
<form class="md-feedback" name="feedback">
<fieldset>
<legend class="md-feedback__title">
Was this page helpful?
</legend>
<div class="md-feedback__inner">
<div class="md-feedback__list">
<button class="md-feedback__icon md-icon" type="submit" title="This page was helpful" data-md-value="1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81"></path></svg>
</button>
<button class="md-feedback__icon md-icon" type="submit" title="This page could be improved" data-md-value="0">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14"></path></svg>
</button>
</div>
<div class="md-feedback__note">
<div data-md-value="1" hidden="">
Thanks for your feedback!
</div>
<div data-md-value="0" hidden="">
Thanks for your feedback! Help us improve this page by
</div>
</div>
</div>
</fieldset>
</form>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden="" style="top: 64px;" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"></path></svg>
Back to top
</button>
</main>
<link rel="stylesheet" href="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/all.min.css">
<footer class="site-footer" style="background-color: rgba(0, 0, 0, 0.5); width: 100%">
<div class="footer-content" style="
max-width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
">
<div class="footer-brand" style="display: flex; flex-direction: row; align-items: center; gap: 10px">
<a href="https://reddoorendeavors.com/">
<img src="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/logo.png" alt="Red Door Endeavors" style="height: 50px; padding-top: 10px; padding-bottom: 10px">
</a>
<div class="footer-copyright">© 2024 Red Door Endeavors, Inc. All rights reserved.</div>
</div>
<div class="footer-nav">
<!-- Uncomment the following lines to display the links -->
<!-- <a href="https://docs.hottubapp.io/products">Products</a>
<a href="https://docs.hottubapp.io/about">About</a>
<a href="https://docs.hottubapp.io/contact">Contact</a> -->
<div class="social-links" style="display: flex; gap: 12px">
<a href="https://github.com/hottubapp" class="social-link">
<i class="fa-brands fa-github" style="color: white; font-size: 20px"></i>
</a>
<a href="https://hottubapp.io/discord" class="social-link">
<i class="fab fa-discord" style="color: white; font-size: 20px"></i>
</a>
<a href="https://docs.hottubapp.io/cdn-cgi/l/email-protection#7e0d0b0e0e110c0a3e16110a0a0b1c1f0e0e501711" class="social-link">
<i class="fas fa-envelope" style="color: white; font-size: 20px"></i>
</a>
<a href="https://patreon.com/c1d3rdev" class="social-link">
<i class="fa-brands fa-patreon" style="color: white; font-size: 20px"></i>
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": ".", "features": ["navigation.instant", "navigation.tracking", "navigation.sections", "navigation.expand", "navigation.indexes", "navigation.top", "search.suggest", "search.highlight", "toc.follow", "navigation.search", "navigation.sticky"], "search": "assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
<script src="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/bundle.f55a23d4.min.js"></script>
<script src="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/react.production.min.js"></script>
<script src="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/react-dom.production.min.js"></script>
<script src="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/three.min.js"></script>
<script src="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/process-polyfill.js"></script>
<script src="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/content-restrictions-video.js"></script>
<script src="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/contact-reps.js"></script>
<script src="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/home-feature-cards.js"></script>
<script src="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/demo-3d.bundle.js"></script>
<script src="%F0%9F%8E%AC%20Videos%20-%20Hot%20Tub%20Docs_files/bubble-background.js"></script>
</body></html>