Deployed b710b5b0 with MkDocs version: 1.6.1

This commit is contained in:
2026-11-03 16:15:21 +00:00
parent 5e1acb6077
commit 78ebacddbf
16 changed files with 355 additions and 161 deletions
+17 -5
View File
@@ -3557,6 +3557,12 @@ through the <code>wanted</code> parameter.</p>
<td>The episode is daily/date-based. Set from the title, or from the service's <code>DAILY</code> class attribute.</td>
</tr>
<tr>
<td><code>sport</code></td>
<td>boolean</td>
<td>episode</td>
<td>The episode is a sports event, so it uses the <code>sports</code> output template when one is set. Sent only when true.</td>
</tr>
<tr>
<td><code>anime</code></td>
<td>boolean</td>
<td>episode, movie</td>
@@ -3839,13 +3845,13 @@ ignore it safely. See <a href="../../creating-a-service/#split-episodes">Split e
<tr>
<td><code>vcodec</code></td>
<td>string/string[]</td>
<td><code>null</code></td>
<td><code>[]</code></td>
<td>Video codec filter.</td>
</tr>
<tr>
<td><code>acodec</code></td>
<td>string/string[]</td>
<td><code>null</code></td>
<td><code>[]</code></td>
<td>Audio codec filter.</td>
</tr>
<tr>
@@ -3963,6 +3969,12 @@ ignore it safely. See <a href="../../creating-a-service/#split-episodes">Split e
<td>Skip a track type.</td>
</tr>
<tr>
<td><code>skip_subtitle_errors</code></td>
<td>boolean</td>
<td><code>false</code></td>
<td>Skip a subtitle that fails to download and keep the other tracks.</td>
</tr>
<tr>
<td><code>audio_description</code></td>
<td>boolean</td>
<td><code>false</code></td>
@@ -4126,7 +4138,7 @@ ignore it safely. See <a href="../../creating-a-service/#split-episodes">Split e
</tr>
</tbody>
</table>
<p><strong>Validation.</strong> Invalid values return <code>400 INVALID_PARAMETERS</code>. <code>vcodec</code>, <code>acodec</code> and <code>sub_format</code> take the same spellings as the CLI options of the same name (<code>unshackle dl --help</code> prints each list). The API and the CLI read one list, so they cannot disagree. <code>range</code> must be one of SDR/HDR10/HDR10P/DV/HLG/HYBRID, and <code>HDR10+</code> is also valid. The bitrate, download worker, and download counts must be positive integers. You may set at most one of the <code>*_only</code> flags. You cannot combine <code>no_subs</code> with <code>subs_only</code>, or <code>no_audio</code> with <code>audio_only</code>.</p>
<p><strong>Validation.</strong> Invalid values return <code>400 INVALID_PARAMETERS</code>. <code>vcodec</code>, <code>acodec</code> and <code>sub_format</code> take the same spellings as the CLI options of the same name (<code>unshackle dl --help</code> prints each list). The API and the CLI read one list, so they cannot disagree. <code>range</code> must be one of SDR/HDR10/HDR10P/DV/HLG/HYBRID, and <code>HDR10+</code> is also valid. The bitrate, download worker, and download counts must be positive integers. You may set at most one of the <code>*_only</code> flags. You cannot combine <code>no_subs</code> with <code>subs_only</code>, or <code>no_audio</code> with <code>audio_only</code>. The language fields (<code>lang</code>, <code>v_lang</code>, <code>a_lang</code>, <code>s_lang</code>, <code>forced_s_lang</code> and the <code>require_*</code> fields) must be arrays of strings: a single string such as <code>"en"</code> returns <code>400</code>. The server checks every other field with the type of its <code>dl</code> option. A <code>null</code> or an empty string gets the default from the table.</p>
<p><strong>Service options.</strong> A service's own CLI options travel in the same body. Send them in a nested
<code>service_params</code> object, or as flat top-level keys. When the body has <code>service_params</code>, the server
reads service options only from it, and every flat key is a <code>dl</code> value. Without it, a flat key that
@@ -5067,7 +5079,7 @@ A slow answer arrives as a <a href="#slow-responses">slow response</a>.</p>
<p>Requires an authenticated remote session. Otherwise it returns <code>404 SESSION_NOT_FOUND</code>.</p>
<h3 id="post-apisessionsession_idtracks"><code>POST /api/session/{session_id}/tracks</code><a class="headerlink" href="#post-apisessionsession_idtracks" title="Permanent link">&para;</a></h3>
<p>Get tracks and chapters for a specific title within the remote session. Body: <code>{ "title_id": "..." }</code> (required). Unlike <code>list-tracks</code>, track objects here <strong>include</strong> download URLs, along with session headers/cookies and manifest data the client needs to download directly. A slow answer arrives as a <a href="#slow-responses">slow response</a>.</p>
<p><code>manifests</code> holds each served DASH/ISM manifest once. A service can build an AdaptationSet of its own that the served manifest does not contain. <code>track_manifests</code> holds a one-AdaptationSet MPD for each such track, and the client re-parses that in place of the whole manifest.</p>
<p><code>manifests</code> holds each served DASH/ISM manifest once. For DASH, <code>filtered_period_ids</code> names the periods that the download skips, such as ad periods. A service can build an AdaptationSet of its own that the served manifest does not contain. <code>track_manifests</code> holds a one-track MPD for each such track, and the client re-parses that in place of the whole manifest. That MPD starts at the period of the track and keeps the content periods after it.</p>
<div class="tabbed-set tabbed-alternate" data-tabs="25:1"><input checked="checked" id="__tabbed_25_1" name="__tabbed_25" type="radio" /><div class="tabbed-labels"><label for="__tabbed_25_1">Response <code>200</code></label></div>
<div class="tabbed-content">
<div class="tabbed-block">
@@ -5078,7 +5090,7 @@ A slow answer arrives as a <a href="#slow-responses">slow response</a>.</p>
</span><span id="__span-39-5"><a id="__codelineno-39-5" name="__codelineno-39-5" href="#__codelineno-39-5"></a><span class="w"> </span><span class="nt">"subtitles"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"s-1"</span><span class="p">,</span><span class="w"> </span><span class="nt">"url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://..."</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="p">],</span>
</span><span id="__span-39-6"><a id="__codelineno-39-6" name="__codelineno-39-6" href="#__codelineno-39-6"></a><span class="w"> </span><span class="nt">"chapters"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"00:00:00.000"</span><span class="p">,</span><span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Intro"</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="p">],</span>
</span><span id="__span-39-7"><a id="__codelineno-39-7" name="__codelineno-39-7" href="#__codelineno-39-7"></a><span class="w"> </span><span class="nt">"attachments"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://..."</span><span class="p">,</span><span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"font.ttf"</span><span class="p">,</span><span class="w"> </span><span class="nt">"mime_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"font/ttf"</span><span class="p">,</span><span class="w"> </span><span class="nt">"description"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="p">],</span>
</span><span id="__span-39-8"><a id="__codelineno-39-8" name="__codelineno-39-8" href="#__codelineno-39-8"></a><span class="w"> </span><span class="nt">"manifests"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"dash"</span><span class="p">,</span><span class="w"> </span><span class="nt">"url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://..."</span><span class="p">,</span><span class="w"> </span><span class="nt">"data"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;base64 zlib xml&gt;"</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="p">],</span>
</span><span id="__span-39-8"><a id="__codelineno-39-8" name="__codelineno-39-8" href="#__codelineno-39-8"></a><span class="w"> </span><span class="nt">"manifests"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"dash"</span><span class="p">,</span><span class="w"> </span><span class="nt">"url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://..."</span><span class="p">,</span><span class="w"> </span><span class="nt">"data"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;base64 zlib xml&gt;"</span><span class="p">,</span><span class="w"> </span><span class="nt">"filtered_period_ids"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="s2">"ad-1"</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="p">],</span>
</span><span id="__span-39-9"><a id="__codelineno-39-9" name="__codelineno-39-9" href="#__codelineno-39-9"></a><span class="w"> </span><span class="nt">"track_manifests"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"track_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"s-1"</span><span class="p">,</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"dash"</span><span class="p">,</span><span class="w"> </span><span class="nt">"url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://..."</span><span class="p">,</span><span class="w"> </span><span class="nt">"data"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;base64 zlib xml&gt;"</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="p">],</span>
</span><span id="__span-39-10"><a id="__codelineno-39-10" name="__codelineno-39-10" href="#__codelineno-39-10"></a><span class="w"> </span><span class="nt">"session_headers"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"User-Agent"</span><span class="p">:</span><span class="w"> </span><span class="s2">"..."</span><span class="w"> </span><span class="p">},</span>
</span><span id="__span-39-11"><a id="__codelineno-39-11" name="__codelineno-39-11" href="#__codelineno-39-11"></a><span class="w"> </span><span class="nt">"session_cookies"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"sid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"..."</span><span class="w"> </span><span class="p">},</span>
+2 -2
View File
@@ -2505,12 +2505,12 @@
</tr>
<tr>
<td><code>vcodec</code></td>
<td><code>null</code></td>
<td><code>[]</code></td>
<td>Video codec, e.g. <code>"H265"</code></td>
</tr>
<tr>
<td><code>acodec</code></td>
<td><code>null</code></td>
<td><code>[]</code></td>
<td>Audio codec, e.g. <code>"EC3"</code></td>
</tr>
<tr>
+3 -2
View File
@@ -2628,8 +2628,9 @@ locally, so you see the server-side reason when a step fails.</p>
chosen title. The tracks come back with playback URLs, and the server ships
DASH/ISM manifests as compressed XML so the client can re-parse them locally for
downloading. A service can build an AdaptationSet of its own that the served
manifest does not contain. Each such track gets a one-AdaptationSet MPD in
<code>track_manifests</code>, and the client re-parses that instead. Any
manifest does not contain. Each such track gets a one-track MPD in
<code>track_manifests</code>, with the content periods after its own, and the client
re-parses that instead. The client skips the same DASH periods as the server. Any
<code>session_headers</code> and cookies the server used are merged into the
client's local HTTP session. Each cookie in <code>session_cookie_jar</code> keeps its
domain, path and <code>secure</code> flag, so it goes only to its own hosts. <code>session_cookies</code> carries