@editframe/api 0.12.0-beta.2 → 0.12.0-beta.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ProgressIterator.d.ts +1 -1
- package/dist/ProgressIterator.js +14 -2
- package/dist/StreamEventSource.d.ts +2 -3
- package/dist/StreamEventSource.js +0 -2
- package/dist/client.d.ts +1 -1
- package/dist/index.d.ts +13 -10
- package/dist/index.js +5 -3
- package/dist/node.d.ts +6 -0
- package/dist/node.js +92 -0
- package/dist/resources/caption-file.d.ts +32 -4
- package/dist/resources/caption-file.js +9 -0
- package/dist/resources/image-file.d.ts +35 -11
- package/dist/resources/image-file.js +22 -4
- package/dist/resources/isobmff-file.d.ts +37 -4
- package/dist/resources/isobmff-file.js +20 -0
- package/dist/resources/isobmff-track.d.ts +277 -13
- package/dist/resources/isobmff-track.js +20 -18
- package/dist/resources/process-isobmff.d.ts +2 -2
- package/dist/resources/renders.d.ts +9 -8
- package/dist/resources/transcriptions.d.ts +4 -3
- package/dist/resources/unprocessed-file.d.ts +9 -8
- package/dist/resources/unprocessed-file.js +8 -8
- package/dist/resources/url-token.d.ts +1 -1
- package/dist/uploadChunks.d.ts +4 -1
- package/dist/utils/assertTypesMatch.d.ts +3 -0
- package/dist/utils/createReadableStreamFromReadable.d.ts +4 -0
- package/dist/utils/createReadableStreamFromReadable.js +82 -0
- package/docs/packages/api/docs/.nojekyll +1 -0
- package/docs/packages/api/docs/assets/highlight.css +71 -0
- package/docs/packages/api/docs/assets/icons.js +18 -0
- package/docs/packages/api/docs/assets/icons.svg +1 -0
- package/docs/packages/api/docs/assets/main.js +60 -0
- package/docs/packages/api/docs/assets/navigation.js +1 -0
- package/docs/packages/api/docs/assets/search.js +1 -0
- package/docs/packages/api/docs/assets/style.css +1493 -0
- package/docs/packages/api/docs/classes/Client.html +4 -0
- package/docs/packages/api/docs/functions/createCaptionFile.html +8 -0
- package/docs/packages/api/docs/functions/createISOBMFFFile.html +1 -0
- package/docs/packages/api/docs/functions/createISOBMFFTrack.html +1 -0
- package/docs/packages/api/docs/functions/createImageFile.html +1 -0
- package/docs/packages/api/docs/functions/createRender.html +1 -0
- package/docs/packages/api/docs/functions/createTranscription.html +1 -0
- package/docs/packages/api/docs/functions/createURLToken.html +1 -0
- package/docs/packages/api/docs/functions/createUnprocessedFile.html +1 -0
- package/docs/packages/api/docs/functions/getISOBMFFFileTranscription.html +1 -0
- package/docs/packages/api/docs/functions/getIsobmffProcessInfo.html +1 -0
- package/docs/packages/api/docs/functions/getIsobmffProcessProgress.html +1 -0
- package/docs/packages/api/docs/functions/getTranscriptionInfo.html +1 -0
- package/docs/packages/api/docs/functions/getTranscriptionProgress.html +1 -0
- package/docs/packages/api/docs/functions/lookupCaptionFileByMd5.html +1 -0
- package/docs/packages/api/docs/functions/lookupISOBMFFFileByMd5.html +1 -0
- package/docs/packages/api/docs/functions/lookupImageFileByMd5.html +1 -0
- package/docs/packages/api/docs/functions/lookupRenderByMd5.html +1 -0
- package/docs/packages/api/docs/functions/lookupUnprocessedFileByMd5.html +1 -0
- package/docs/packages/api/docs/functions/processIsobmffFile.html +1 -0
- package/docs/packages/api/docs/functions/transcribeISOBMFFFile.html +1 -0
- package/docs/packages/api/docs/functions/uploadCaptionFile.html +1 -0
- package/docs/packages/api/docs/functions/uploadFragmentIndex.html +1 -0
- package/docs/packages/api/docs/functions/uploadISOBMFFTrack.html +1 -0
- package/docs/packages/api/docs/functions/uploadImageFile.html +1 -0
- package/docs/packages/api/docs/functions/uploadRender.html +1 -0
- package/docs/packages/api/docs/functions/uploadUnprocessedReadableStream.html +1 -0
- package/docs/packages/api/docs/index.html +39 -0
- package/docs/packages/api/docs/interfaces/CreateCaptionFileResult.html +4 -0
- package/docs/packages/api/docs/interfaces/CreateISOBMFFFileResult.html +5 -0
- package/docs/packages/api/docs/interfaces/CreateISOBMFFTrackResult.html +6 -0
- package/docs/packages/api/docs/interfaces/CreateImageFileResult.html +5 -0
- package/docs/packages/api/docs/interfaces/CreateRenderResult.html +4 -0
- package/docs/packages/api/docs/interfaces/CreateTranscriptionResult.html +3 -0
- package/docs/packages/api/docs/interfaces/CreateUnprocessedFileResult.html +6 -0
- package/docs/packages/api/docs/interfaces/GetISOBMFFFileTranscriptionResult.html +4 -0
- package/docs/packages/api/docs/interfaces/IsobmffProcessInfoResult.html +7 -0
- package/docs/packages/api/docs/interfaces/LookupCaptionFileByMd5Result.html +4 -0
- package/docs/packages/api/docs/interfaces/LookupISOBMFFFileByMd5Result.html +5 -0
- package/docs/packages/api/docs/interfaces/LookupImageFileByMd5Result.html +5 -0
- package/docs/packages/api/docs/interfaces/LookupRenderByMd5Result.html +4 -0
- package/docs/packages/api/docs/interfaces/LookupUnprocessedFileByMd5Result.html +6 -0
- package/docs/packages/api/docs/interfaces/ProcessIsobmffFileResult.html +2 -0
- package/docs/packages/api/docs/interfaces/TranscribeISOBMFFFileResult.html +4 -0
- package/docs/packages/api/docs/interfaces/TranscriptionInfoResult.html +3 -0
- package/docs/packages/api/docs/interfaces/URLTokenResult.html +2 -0
- package/docs/packages/api/docs/modules.html +54 -0
- package/docs/packages/api/docs/variables/CreateCaptionFilePayload.html +1 -0
- package/docs/packages/api/docs/variables/CreateISOBMFFFilePayload.html +1 -0
- package/docs/packages/api/docs/variables/CreateISOBMFFTrackPayload.html +1 -0
- package/docs/packages/api/docs/variables/CreateImageFilePayload.html +1 -0
- package/docs/packages/api/docs/variables/CreateRenderPayload.html +1 -0
- package/docs/packages/api/docs/variables/CreateTranscriptionPayload.html +1 -0
- package/docs/packages/api/docs/variables/CreateUnprocessedFilePayload.html +1 -0
- package/docs/packages/api/docs/variables/TranscribeISOBMFFFilePayload.html +1 -0
- package/package.json +12 -4
- package/src/resources/caption-file.test.ts +3 -3
- package/src/resources/caption-file.ts +31 -2
- package/src/resources/image-file.test.ts +6 -9
- package/src/resources/image-file.ts +32 -8
- package/src/resources/isobmff-file.test.ts +3 -3
- package/src/resources/isobmff-file.ts +58 -2
- package/src/resources/isobmff-track.test.ts +4 -4
- package/src/resources/isobmff-track.ts +33 -21
- package/src/resources/process-isobmff.test.ts +3 -3
- package/src/resources/process-isobmff.ts +2 -2
- package/src/resources/renders.test.ts +3 -3
- package/src/resources/renders.ts +3 -2
- package/src/resources/transcriptions.test.ts +2 -2
- package/src/resources/transcriptions.ts +7 -3
- package/src/resources/unprocessed-file.test.ts +8 -10
- package/src/resources/unprocessed-file.ts +21 -16
- package/src/resources/url-token.test.ts +3 -3
- package/src/resources/url-token.ts +1 -1
- package/src/utils/assertTypesMatch.ts +10 -0
- package/src/utils/createReadableStreamFromReadable.ts +117 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>CreateImageFilePayload | @editframe/api</title><meta name="description" content="Documentation for @editframe/api"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@editframe/api</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@editframe/api</a></li><li><a href="CreateImageFilePayload.html">CreateImageFilePayload</a></li></ul><h1>Variable CreateImageFilePayload<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">Create<wbr/>Image<wbr/>File<wbr/>Payload</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ZodObject</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">byte_size</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodNumber</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">filename</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodString</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">height</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodNumber</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">md5</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodString</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">mime_type</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodEnum</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">"image/jpeg"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"image/png"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"image/jpg"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"image/webp"</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">width</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodNumber</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"strip"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">ZodTypeAny</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">byte_size</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">filename</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">height</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">md5</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">mime_type</span><span class="tsd-signature-symbol">: </span><br/><span> </span><span class="tsd-signature-symbol">| </span><span class="tsd-signature-type">"image/jpeg"</span><br/><span> </span><span class="tsd-signature-symbol">| </span><span class="tsd-signature-type">"image/png"</span><br/><span> </span><span class="tsd-signature-symbol">| </span><span class="tsd-signature-type">"image/jpg"</span><br/><span> </span><span class="tsd-signature-symbol">| </span><span class="tsd-signature-type">"image/webp"</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">width</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">byte_size</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">filename</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">height</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">md5</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">mime_type</span><span class="tsd-signature-symbol">: </span><br/><span> </span><span class="tsd-signature-symbol">| </span><span class="tsd-signature-type">"image/jpeg"</span><br/><span> </span><span class="tsd-signature-symbol">| </span><span class="tsd-signature-type">"image/png"</span><br/><span> </span><span class="tsd-signature-symbol">| </span><span class="tsd-signature-type">"image/jpg"</span><br/><span> </span><span class="tsd-signature-symbol">| </span><span class="tsd-signature-type">"image/webp"</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">width</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/editframe/elements/blob/a7cae45037ea5d64a2143ecc642ff3e9026e1368/packages/api/src/resources/image-file.ts#L11">packages/api/src/resources/image-file.ts:11</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@editframe/api</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>CreateRenderPayload | @editframe/api</title><meta name="description" content="Documentation for @editframe/api"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@editframe/api</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@editframe/api</a></li><li><a href="CreateRenderPayload.html">CreateRenderPayload</a></li></ul><h1>Variable CreateRenderPayload<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">Create<wbr/>Render<wbr/>Payload</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ZodObject</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">duration_ms</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodNumber</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">fps</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodNumber</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">height</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodNumber</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">md5</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodString</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">strategy</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodEnum</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">"v1"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"v2"</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">width</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodNumber</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">work_slice_ms</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodNumber</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"strip"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">ZodTypeAny</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">duration_ms</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">fps</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">height</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">md5</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">strategy</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"v1"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"v2"</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">width</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">work_slice_ms</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">duration_ms</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">fps</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">height</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">md5</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">strategy</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"v1"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"v2"</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">width</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">work_slice_ms</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/editframe/elements/blob/a7cae45037ea5d64a2143ecc642ff3e9026e1368/packages/api/src/resources/renders.ts#L9">packages/api/src/resources/renders.ts:9</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@editframe/api</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>CreateTranscriptionPayload | @editframe/api</title><meta name="description" content="Documentation for @editframe/api"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@editframe/api</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@editframe/api</a></li><li><a href="CreateTranscriptionPayload.html">CreateTranscriptionPayload</a></li></ul><h1>Variable CreateTranscriptionPayload<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">Create<wbr/>Transcription<wbr/>Payload</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ZodObject</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">file_id</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodString</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">track_id</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodNumber</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"strip"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">ZodTypeAny</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">file_id</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">track_id</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">file_id</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">track_id</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/editframe/elements/blob/a7cae45037ea5d64a2143ecc642ff3e9026e1368/packages/api/src/resources/transcriptions.ts#L9">packages/api/src/resources/transcriptions.ts:9</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@editframe/api</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>CreateUnprocessedFilePayload | @editframe/api</title><meta name="description" content="Documentation for @editframe/api"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@editframe/api</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@editframe/api</a></li><li><a href="CreateUnprocessedFilePayload.html">CreateUnprocessedFilePayload</a></li></ul><h1>Variable CreateUnprocessedFilePayload<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">Create<wbr/>Unprocessed<wbr/>File<wbr/>Payload</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ZodObject</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">byte_size</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodNumber</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">filename</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodString</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">md5</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodString</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"strip"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">ZodTypeAny</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">byte_size</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">filename</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">md5</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">byte_size</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">filename</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span> </span><span class="tsd-kind-property">md5</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/editframe/elements/blob/a7cae45037ea5d64a2143ecc642ff3e9026e1368/packages/api/src/resources/unprocessed-file.ts#L11">packages/api/src/resources/unprocessed-file.ts:11</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@editframe/api</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>TranscribeISOBMFFFilePayload | @editframe/api</title><meta name="description" content="Documentation for @editframe/api"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@editframe/api</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@editframe/api</a></li><li><a href="TranscribeISOBMFFFilePayload.html">TranscribeISOBMFFFilePayload</a></li></ul><h1>Variable TranscribeISOBMFFFilePayload<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">TranscribeISOBMFFFile<wbr/>Payload</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ZodObject</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">trackId</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ZodOptional</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">ZodString</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"strip"</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">ZodTypeAny</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">trackId</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-symbol">{ </span><br/><span> </span><span class="tsd-kind-property">trackId</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/editframe/elements/blob/a7cae45037ea5d64a2143ecc642ff3e9026e1368/packages/api/src/resources/isobmff-file.ts#L132">packages/api/src/resources/isobmff-file.ts:132</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@editframe/api</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@editframe/api",
|
|
3
|
-
"version": "0.12.0-beta.
|
|
3
|
+
"version": "0.12.0-beta.20",
|
|
4
4
|
"description": "API functions for EditFrame",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -8,20 +8,26 @@
|
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
9
9
|
"default": "./dist/index.js"
|
|
10
10
|
}
|
|
11
|
+
},
|
|
12
|
+
"./node": {
|
|
13
|
+
"import": {
|
|
14
|
+
"types": "./dist/node.d.ts",
|
|
15
|
+
"default": "./dist/node.js"
|
|
16
|
+
}
|
|
11
17
|
}
|
|
12
18
|
},
|
|
13
19
|
"type": "module",
|
|
14
20
|
"scripts": {
|
|
15
21
|
"typecheck": "tsc --noEmit --emitDeclarationOnly false",
|
|
16
22
|
"build": "vite build",
|
|
17
|
-
"build:watch": "vite build --watch"
|
|
23
|
+
"build:watch": "vite build --watch",
|
|
24
|
+
"typedoc": "typedoc --json ../../docs/api.json --plugin typedoc-plugin-zod --excludeExternals ./src"
|
|
18
25
|
},
|
|
19
26
|
"author": "",
|
|
20
27
|
"license": "UNLICENSED",
|
|
21
28
|
"devDependencies": {
|
|
22
29
|
"@types/jsonwebtoken": "^9.0.6",
|
|
23
30
|
"@types/node": "^20.14.13",
|
|
24
|
-
"eventsource-parser": "^3.0.0",
|
|
25
31
|
"typedoc": "^0.26.5",
|
|
26
32
|
"typescript": "^5.5.4",
|
|
27
33
|
"vite": "^5.2.11",
|
|
@@ -29,9 +35,11 @@
|
|
|
29
35
|
"vite-tsconfig-paths": "^4.3.2"
|
|
30
36
|
},
|
|
31
37
|
"dependencies": {
|
|
32
|
-
"@editframe/assets": "0.12.0-beta.
|
|
38
|
+
"@editframe/assets": "0.12.0-beta.20",
|
|
33
39
|
"debug": "^4.3.5",
|
|
40
|
+
"eventsource-parser": "^3.0.0",
|
|
34
41
|
"jsonwebtoken": "^9.0.2",
|
|
42
|
+
"mime": "^4.0.4",
|
|
35
43
|
"node-fetch": "^3.3.2",
|
|
36
44
|
"zod": "^3.23.8"
|
|
37
45
|
}
|
|
@@ -2,13 +2,13 @@ import { http, HttpResponse } from "msw";
|
|
|
2
2
|
import { setupServer } from "msw/node";
|
|
3
3
|
import { afterAll, afterEach, beforeAll, describe, expect, test } from "vitest";
|
|
4
4
|
|
|
5
|
-
import { Client } from "../client.
|
|
6
|
-
import { webReadableFromBuffers } from "../readableFromBuffers.
|
|
5
|
+
import { Client } from "../client.js";
|
|
6
|
+
import { webReadableFromBuffers } from "../readableFromBuffers.js";
|
|
7
7
|
import {
|
|
8
8
|
createCaptionFile,
|
|
9
9
|
lookupCaptionFileByMd5,
|
|
10
10
|
uploadCaptionFile,
|
|
11
|
-
} from "./caption-file.
|
|
11
|
+
} from "./caption-file.js";
|
|
12
12
|
|
|
13
13
|
const server = setupServer();
|
|
14
14
|
const client = new Client("ef_TEST_TOKEN", "http://localhost");
|
|
@@ -1,27 +1,56 @@
|
|
|
1
1
|
import debug from "debug";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
|
|
4
|
-
import type { Client } from "../client.
|
|
4
|
+
import type { Client } from "../client.js";
|
|
5
5
|
|
|
6
6
|
const log = debug("ef:api:caption-file");
|
|
7
7
|
|
|
8
8
|
const MAX_CAPTION_SIZE = 1024 * 1024 * 2; // 2MB
|
|
9
9
|
|
|
10
10
|
export const CreateCaptionFilePayload = z.object({
|
|
11
|
+
/**
|
|
12
|
+
* The md5 hash of the caption file
|
|
13
|
+
*/
|
|
11
14
|
md5: z.string(),
|
|
15
|
+
/**
|
|
16
|
+
* The filename of the caption file
|
|
17
|
+
*/
|
|
12
18
|
filename: z.string(),
|
|
19
|
+
/**
|
|
20
|
+
* The size of the caption file in bytes
|
|
21
|
+
*/
|
|
13
22
|
byte_size: z.number().int().max(MAX_CAPTION_SIZE),
|
|
14
23
|
});
|
|
15
24
|
|
|
25
|
+
export type CreateCaptionFilePayload = z.infer<typeof CreateCaptionFilePayload>;
|
|
26
|
+
|
|
16
27
|
export interface CreateCaptionFileResult {
|
|
28
|
+
/**
|
|
29
|
+
* Whether the caption file is complete
|
|
30
|
+
*/
|
|
17
31
|
complete: boolean | null;
|
|
32
|
+
/**
|
|
33
|
+
* The id of the caption file
|
|
34
|
+
*/
|
|
18
35
|
id: string;
|
|
36
|
+
/**
|
|
37
|
+
* The md5 hash of the caption file
|
|
38
|
+
*/
|
|
19
39
|
md5: string;
|
|
20
40
|
}
|
|
21
41
|
|
|
22
42
|
export interface LookupCaptionFileByMd5Result {
|
|
43
|
+
/**
|
|
44
|
+
* Whether the caption file is complete
|
|
45
|
+
*/
|
|
23
46
|
complete: boolean | null;
|
|
47
|
+
/**
|
|
48
|
+
* The id of the caption file
|
|
49
|
+
*/
|
|
24
50
|
id: string;
|
|
51
|
+
/**
|
|
52
|
+
* The md5 hash of the caption file
|
|
53
|
+
*/
|
|
25
54
|
md5: string;
|
|
26
55
|
}
|
|
27
56
|
|
|
@@ -52,7 +81,7 @@ const restrictSize = (size: number) => {
|
|
|
52
81
|
*/
|
|
53
82
|
export const createCaptionFile = async (
|
|
54
83
|
client: Client,
|
|
55
|
-
payload:
|
|
84
|
+
payload: CreateCaptionFilePayload,
|
|
56
85
|
) => {
|
|
57
86
|
log("Creating caption file", payload);
|
|
58
87
|
restrictSize(payload.byte_size);
|
|
@@ -3,13 +3,13 @@ import { setupServer } from "msw/node";
|
|
|
3
3
|
import { afterAll, afterEach, beforeAll, describe, expect, test } from "vitest";
|
|
4
4
|
import { ZodError } from "zod";
|
|
5
5
|
|
|
6
|
-
import { Client } from "../client.
|
|
7
|
-
import { webReadableFromBuffers } from "../readableFromBuffers.
|
|
6
|
+
import { Client } from "../client.js";
|
|
7
|
+
import { webReadableFromBuffers } from "../readableFromBuffers.js";
|
|
8
8
|
import {
|
|
9
9
|
createImageFile,
|
|
10
10
|
lookupImageFileByMd5,
|
|
11
11
|
uploadImageFile,
|
|
12
|
-
} from "./image-file.
|
|
12
|
+
} from "./image-file.js";
|
|
13
13
|
|
|
14
14
|
const server = setupServer();
|
|
15
15
|
const client = new Client("ef_TEST_TOKEN", "http://localhost");
|
|
@@ -97,9 +97,8 @@ describe("ImageFile", () => {
|
|
|
97
97
|
await expect(
|
|
98
98
|
uploadImageFile(
|
|
99
99
|
client,
|
|
100
|
-
"test-file-id",
|
|
100
|
+
{ id: "test-file-id", byte_size: 1024 * 1024 * 17 },
|
|
101
101
|
webReadableFromBuffers(Buffer.from("test")),
|
|
102
|
-
1024 * 1024 * 17,
|
|
103
102
|
).whenUploaded(),
|
|
104
103
|
).rejects.toThrowError(
|
|
105
104
|
"File size 17825792 bytes exceeds limit 16777216 bytes",
|
|
@@ -118,9 +117,8 @@ describe("ImageFile", () => {
|
|
|
118
117
|
await expect(
|
|
119
118
|
uploadImageFile(
|
|
120
119
|
client,
|
|
121
|
-
"test-file-id",
|
|
120
|
+
{ id: "test-file-id", byte_size: 4 },
|
|
122
121
|
webReadableFromBuffers(Buffer.from("test")),
|
|
123
|
-
4,
|
|
124
122
|
).whenUploaded(),
|
|
125
123
|
).rejects.toThrowError(
|
|
126
124
|
"Failed to upload chunk 0 for /api/v1/image_files/test-file-id/upload 500 Internal Server Error",
|
|
@@ -139,9 +137,8 @@ describe("ImageFile", () => {
|
|
|
139
137
|
await expect(
|
|
140
138
|
uploadImageFile(
|
|
141
139
|
client,
|
|
142
|
-
"test-file-id",
|
|
140
|
+
{ id: "test-file-id", byte_size: 4 },
|
|
143
141
|
webReadableFromBuffers(Buffer.from("test")),
|
|
144
|
-
4,
|
|
145
142
|
).whenUploaded(),
|
|
146
143
|
).resolves.toEqual([
|
|
147
144
|
{ type: "progress", progress: 0 },
|
|
@@ -1,37 +1,59 @@
|
|
|
1
1
|
import debug from "debug";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
|
|
4
|
-
import type { Client } from "../client.
|
|
5
|
-
import { uploadChunks } from "../uploadChunks.
|
|
4
|
+
import type { Client } from "../client.js";
|
|
5
|
+
import { uploadChunks } from "../uploadChunks.js";
|
|
6
6
|
|
|
7
7
|
const log = debug("ef:api:image-file");
|
|
8
8
|
|
|
9
9
|
const MAX_IMAGE_SIZE = 1024 * 1024 * 16; // 16MB
|
|
10
10
|
|
|
11
11
|
export const CreateImageFilePayload = z.object({
|
|
12
|
+
/**
|
|
13
|
+
* The md5 hash of the image file.
|
|
14
|
+
*/
|
|
12
15
|
md5: z.string(),
|
|
16
|
+
/**
|
|
17
|
+
* The height of the image file in pixels.
|
|
18
|
+
*/
|
|
13
19
|
height: z.number().int(),
|
|
20
|
+
/**
|
|
21
|
+
* The width of the image file in pixels.
|
|
22
|
+
*/
|
|
14
23
|
width: z.number().int(),
|
|
24
|
+
/**
|
|
25
|
+
* The mime type of the image file.
|
|
26
|
+
*/
|
|
15
27
|
mime_type: z.enum(["image/jpeg", "image/png", "image/jpg", "image/webp"]),
|
|
28
|
+
/**
|
|
29
|
+
* The filename of the image file.
|
|
30
|
+
*/
|
|
16
31
|
filename: z.string(),
|
|
32
|
+
/**
|
|
33
|
+
* The byte size of the image file.
|
|
34
|
+
*/
|
|
17
35
|
byte_size: z.number().int().max(MAX_IMAGE_SIZE),
|
|
18
36
|
});
|
|
19
37
|
|
|
38
|
+
export type CreateImageFilePayload = z.infer<typeof CreateImageFilePayload>;
|
|
39
|
+
|
|
20
40
|
export interface CreateImageFileResult {
|
|
21
41
|
complete: boolean | null;
|
|
42
|
+
byte_size: number;
|
|
22
43
|
id: string;
|
|
23
44
|
md5: string;
|
|
24
45
|
}
|
|
25
46
|
|
|
26
47
|
export interface LookupImageFileByMd5Result {
|
|
27
48
|
complete: boolean | null;
|
|
49
|
+
byte_size: number;
|
|
28
50
|
id: string;
|
|
29
51
|
md5: string;
|
|
30
52
|
}
|
|
31
53
|
|
|
32
54
|
export const createImageFile = async (
|
|
33
55
|
client: Client,
|
|
34
|
-
payload:
|
|
56
|
+
payload: CreateImageFilePayload,
|
|
35
57
|
) => {
|
|
36
58
|
log("Creating image file", payload);
|
|
37
59
|
CreateImageFilePayload.parse(payload);
|
|
@@ -53,15 +75,17 @@ export const createImageFile = async (
|
|
|
53
75
|
|
|
54
76
|
export const uploadImageFile = (
|
|
55
77
|
client: Client,
|
|
56
|
-
|
|
78
|
+
uploadDetails: {
|
|
79
|
+
id: string;
|
|
80
|
+
byte_size: number;
|
|
81
|
+
},
|
|
57
82
|
fileStream: ReadableStream,
|
|
58
|
-
fileSize: number,
|
|
59
83
|
) => {
|
|
60
|
-
log("Uploading image file",
|
|
84
|
+
log("Uploading image file", uploadDetails.id);
|
|
61
85
|
|
|
62
86
|
return uploadChunks(client, {
|
|
63
|
-
url: `/api/v1/image_files/${
|
|
64
|
-
fileSize,
|
|
87
|
+
url: `/api/v1/image_files/${uploadDetails.id}/upload`,
|
|
88
|
+
fileSize: uploadDetails.byte_size,
|
|
65
89
|
fileStream,
|
|
66
90
|
maxSize: MAX_IMAGE_SIZE,
|
|
67
91
|
});
|
|
@@ -2,13 +2,13 @@ import { http, HttpResponse } from "msw";
|
|
|
2
2
|
import { setupServer } from "msw/node";
|
|
3
3
|
import { afterAll, afterEach, beforeAll, describe, expect, test } from "vitest";
|
|
4
4
|
|
|
5
|
-
import { Client } from "../client.
|
|
6
|
-
import { webReadableFromBuffers } from "../readableFromBuffers.
|
|
5
|
+
import { Client } from "../client.js";
|
|
6
|
+
import { webReadableFromBuffers } from "../readableFromBuffers.js";
|
|
7
7
|
import {
|
|
8
8
|
createISOBMFFFile,
|
|
9
9
|
lookupISOBMFFFileByMd5,
|
|
10
10
|
uploadFragmentIndex,
|
|
11
|
-
} from "./isobmff-file.
|
|
11
|
+
} from "./isobmff-file.js";
|
|
12
12
|
|
|
13
13
|
const server = setupServer();
|
|
14
14
|
const client = new Client("ef_TEST_TOKEN", "http://localhost");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import debug from "debug";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
|
|
4
|
-
import type { Client } from "../client.
|
|
4
|
+
import type { Client } from "../client.js";
|
|
5
5
|
|
|
6
6
|
const log = debug("ef:api:isobmff-file");
|
|
7
7
|
const FILE_SIZE_LIMIT = 1024 * 1024 * 2; // 32MB
|
|
@@ -11,15 +11,35 @@ export const CreateISOBMFFFilePayload = z.object({
|
|
|
11
11
|
filename: z.string(),
|
|
12
12
|
});
|
|
13
13
|
|
|
14
|
+
export type CreateISOBMFFFilePayload = z.infer<typeof CreateISOBMFFFilePayload>;
|
|
15
|
+
|
|
14
16
|
export interface CreateISOBMFFFileResult {
|
|
17
|
+
/**
|
|
18
|
+
* Whether the fragment index is complete. The fragment index is used internally by editframe to efficiently seek within files.
|
|
19
|
+
*/
|
|
15
20
|
fragment_index_complete: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* The filename of the isobmff file
|
|
23
|
+
*/
|
|
16
24
|
filename: string;
|
|
25
|
+
/**
|
|
26
|
+
* The id of the isobmff file
|
|
27
|
+
*/
|
|
17
28
|
id: string;
|
|
29
|
+
/**
|
|
30
|
+
* The md5 hash of the isobmff file
|
|
31
|
+
*/
|
|
18
32
|
md5: string;
|
|
19
33
|
}
|
|
20
34
|
|
|
21
35
|
export interface LookupISOBMFFFileByMd5Result {
|
|
36
|
+
/**
|
|
37
|
+
* Whether the fragment index is complete
|
|
38
|
+
*/
|
|
22
39
|
fragment_index_complete: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* The filename of the isobmff file
|
|
42
|
+
*/
|
|
23
43
|
filename: string;
|
|
24
44
|
id: string;
|
|
25
45
|
md5: string;
|
|
@@ -35,7 +55,7 @@ export interface GetISOBMFFFileTranscriptionResult {
|
|
|
35
55
|
|
|
36
56
|
export const createISOBMFFFile = async (
|
|
37
57
|
client: Client,
|
|
38
|
-
payload:
|
|
58
|
+
payload: CreateISOBMFFFilePayload,
|
|
39
59
|
) => {
|
|
40
60
|
log("Creating isobmff file", payload);
|
|
41
61
|
const response = await client.authenticatedFetch("/api/v1/isobmff_files", {
|
|
@@ -128,3 +148,39 @@ export const getISOBMFFFileTranscription = async (
|
|
|
128
148
|
`Failed to get isobmff file transcription ${id} ${response.status} ${response.statusText}`,
|
|
129
149
|
);
|
|
130
150
|
};
|
|
151
|
+
|
|
152
|
+
export const TranscribeISOBMFFFilePayload = z.object({
|
|
153
|
+
trackId: z.string().optional(),
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
export type TranscribeISOBMFFFilePayload = z.infer<
|
|
157
|
+
typeof TranscribeISOBMFFFilePayload
|
|
158
|
+
>;
|
|
159
|
+
|
|
160
|
+
export interface TranscribeISOBMFFFileResult {
|
|
161
|
+
id: string;
|
|
162
|
+
file_id: string;
|
|
163
|
+
track_id: number;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
export const transcribeISOBMFFFile = async (
|
|
167
|
+
client: Client,
|
|
168
|
+
id: string,
|
|
169
|
+
payload: TranscribeISOBMFFFilePayload = {},
|
|
170
|
+
) => {
|
|
171
|
+
const response = await client.authenticatedFetch(
|
|
172
|
+
`/api/v1/isobmff_files/${id}/transcribe`,
|
|
173
|
+
{
|
|
174
|
+
method: "POST",
|
|
175
|
+
body: JSON.stringify(payload),
|
|
176
|
+
},
|
|
177
|
+
);
|
|
178
|
+
|
|
179
|
+
if (response.ok) {
|
|
180
|
+
return (await response.json()) as TranscribeISOBMFFFileResult;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
throw new Error(
|
|
184
|
+
`Failed to transcribe isobmff file ${id} ${response.status} ${response.statusText}`,
|
|
185
|
+
);
|
|
186
|
+
};
|
|
@@ -3,10 +3,10 @@ import { setupServer } from "msw/node";
|
|
|
3
3
|
import { afterAll, afterEach, beforeAll, describe, expect, test } from "vitest";
|
|
4
4
|
import { ZodError } from "zod";
|
|
5
5
|
|
|
6
|
-
import { createTestTrack } from "TEST/createTestTrack.
|
|
7
|
-
import { Client } from "../client.
|
|
8
|
-
import { webReadableFromBuffers } from "../readableFromBuffers.
|
|
9
|
-
import { createISOBMFFTrack, uploadISOBMFFTrack } from "./isobmff-track.
|
|
6
|
+
import { createTestTrack } from "TEST/createTestTrack.js";
|
|
7
|
+
import { Client } from "../client.js";
|
|
8
|
+
import { webReadableFromBuffers } from "../readableFromBuffers.js";
|
|
9
|
+
import { createISOBMFFTrack, uploadISOBMFFTrack } from "./isobmff-track.js";
|
|
10
10
|
|
|
11
11
|
const server = setupServer();
|
|
12
12
|
const client = new Client("ef_TEST_TOKEN", "http://localhost");
|
|
@@ -51,34 +51,46 @@ const VideoStreamSchema = z.object({
|
|
|
51
51
|
|
|
52
52
|
type VideoStreamSchema = z.infer<typeof VideoStreamSchema>;
|
|
53
53
|
|
|
54
|
-
import type { Client } from "../client.
|
|
55
|
-
import { uploadChunks } from "../uploadChunks.
|
|
54
|
+
import type { Client } from "../client.js";
|
|
55
|
+
import { uploadChunks } from "../uploadChunks.js";
|
|
56
56
|
|
|
57
57
|
const log = debug("ef:api:isobmff-track");
|
|
58
58
|
|
|
59
59
|
const MAX_TRACK_SIZE = 1024 * 1024 * 1024; // 1GB
|
|
60
60
|
|
|
61
|
+
const AudioTrackPayload = z.object({
|
|
62
|
+
file_id: z.string(),
|
|
63
|
+
track_id: z.number().int(),
|
|
64
|
+
type: z.literal("audio"),
|
|
65
|
+
probe_info: AudioStreamSchema,
|
|
66
|
+
duration_ms: z.number().int(),
|
|
67
|
+
codec_name: z.string(),
|
|
68
|
+
byte_size: z.number().int().max(MAX_TRACK_SIZE),
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
export type AudioTrackPayload = z.infer<typeof AudioTrackPayload>;
|
|
72
|
+
|
|
73
|
+
const VideoTrackPayload = z.object({
|
|
74
|
+
file_id: z.string(),
|
|
75
|
+
track_id: z.number().int(),
|
|
76
|
+
type: z.literal("video"),
|
|
77
|
+
probe_info: VideoStreamSchema,
|
|
78
|
+
duration_ms: z.number().int(),
|
|
79
|
+
codec_name: z.string(),
|
|
80
|
+
byte_size: z.number().int().max(MAX_TRACK_SIZE),
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
export type VideoTrackPayload = z.infer<typeof VideoTrackPayload>;
|
|
84
|
+
|
|
61
85
|
export const CreateISOBMFFTrackPayload = z.discriminatedUnion("type", [
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
track_id: z.number().int(),
|
|
65
|
-
type: z.literal("audio"),
|
|
66
|
-
probe_info: AudioStreamSchema,
|
|
67
|
-
duration_ms: z.number().int(),
|
|
68
|
-
codec_name: z.string(),
|
|
69
|
-
byte_size: z.number().int().max(MAX_TRACK_SIZE),
|
|
70
|
-
}),
|
|
71
|
-
z.object({
|
|
72
|
-
file_id: z.string(),
|
|
73
|
-
track_id: z.number().int(),
|
|
74
|
-
type: z.literal("video"),
|
|
75
|
-
probe_info: VideoStreamSchema,
|
|
76
|
-
duration_ms: z.number().int(),
|
|
77
|
-
codec_name: z.string(),
|
|
78
|
-
byte_size: z.number().int().max(MAX_TRACK_SIZE),
|
|
79
|
-
}),
|
|
86
|
+
AudioTrackPayload,
|
|
87
|
+
VideoTrackPayload,
|
|
80
88
|
]);
|
|
81
89
|
|
|
90
|
+
export type CreateISOBMFFTrackPayload = z.infer<
|
|
91
|
+
typeof CreateISOBMFFTrackPayload
|
|
92
|
+
>;
|
|
93
|
+
|
|
82
94
|
export interface CreateISOBMFFTrackResult {
|
|
83
95
|
next_byte: number;
|
|
84
96
|
byte_size: number;
|
|
@@ -89,7 +101,7 @@ export interface CreateISOBMFFTrackResult {
|
|
|
89
101
|
|
|
90
102
|
export const createISOBMFFTrack = async (
|
|
91
103
|
client: Client,
|
|
92
|
-
payload:
|
|
104
|
+
payload: CreateISOBMFFTrackPayload,
|
|
93
105
|
) => {
|
|
94
106
|
log("Creating isobmff track", payload);
|
|
95
107
|
CreateISOBMFFTrackPayload.parse(payload);
|