diff --git a/.vitepress/config.ts b/.vitepress/config.ts index 6800919c..29042de2 100644 --- a/.vitepress/config.ts +++ b/.vitepress/config.ts @@ -1,3 +1,6 @@ +import fs from 'node:fs' +import path from 'node:path' +import { fileURLToPath } from 'node:url' import { defineConfig } from 'vitepress' import sandboxDev from './sandbox-dev.mjs' import { @@ -10,6 +13,29 @@ import { const siteOrigin = 'https://www.sandbase.ai' const docsBase = '/docs/' +// Compatibility pages for moved model references declare `robots: noindex`. +// Collect them once so the sitemap never advertises a moved URL. +function noindexModelReferenceUrls() { + const docsRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..') + const root = path.join(docsRoot, 'model-api-reference') + const urls = new Set() + const walk = (directory: string) => { + for (const entry of fs.readdirSync(directory, { withFileTypes: true })) { + const filename = path.join(directory, entry.name) + if (entry.isDirectory()) walk(filename) + else if (entry.name.endsWith('.md')) { + const frontmatter = fs.readFileSync(filename, 'utf8').match(/^---\n([\s\S]*?)\n---/)?.[1] ?? '' + if (/^robots:\s*["']?noindex/m.test(frontmatter)) { + urls.add(path.relative(docsRoot, filename).split(path.sep).join('/').replace(/\.md$/, '')) + } + } + } + } + walk(root) + return urls +} +const noindexModelReferences = noindexModelReferenceUrls() + // Keep rendered document titles within a search-friendly length even when a // generated page title is long. Frontmatter titles remain descriptive; the // head title is shortened only at render time so navigation labels and body @@ -261,6 +287,7 @@ export default defineConfig({ 'store/models', 'api-reference/volcengine-contents-generations', ].includes(item.url.replace(/^\//, ''))) + .filter((item) => !noindexModelReferences.has(item.url.replace(/^\//, ''))) .map((item) => ({ ...item, url: `${docsBase}${item.url.replace(/^\//, '')}`, diff --git a/.vitepress/modelApiReferenceSidebar.generated.ts b/.vitepress/modelApiReferenceSidebar.generated.ts index a4dcaf8d..7d499a18 100644 --- a/.vitepress/modelApiReferenceSidebar.generated.ts +++ b/.vitepress/modelApiReferenceSidebar.generated.ts @@ -1016,7 +1016,6 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ { text: "Seedream v5.0 Lite", link: "/model-api-reference/image-generation/bytedance/seedream/5.0/lite" }, { text: "Seedream v4.5", link: "/model-api-reference/image-generation/bytedance/seedream/4.5" }, { text: "Seedream v4.5 Image Editing", link: "/model-api-reference/image-generation/bytedance/seedream/4.5/edit" }, - { text: "SeedVR2 (ByteDance: seedvr / upscale / video)", link: "/model-api-reference/image-generation/bytedance/seedvr/upscale/video" }, { text: "SeedVR2 (ByteDance: seedvr / upscale / image)", link: "/model-api-reference/image-generation/bytedance/seedvr/upscale/image" }, { text: "Bytedance Seedream v4 Edit", link: "/model-api-reference/image-generation/bytedance/seedream/4.0/edit" }, { text: "Bytedance Seedream v4", link: "/model-api-reference/image-generation/bytedance/seedream/4.0" }, @@ -1142,7 +1141,6 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ { text: "Wan 2.2 5B Text to Image", link: "/model-api-reference/image-generation/alibaba/wan/2.2/5b/text-to-image" }, { text: "Wan 2.2 Text to Image", link: "/model-api-reference/image-generation/alibaba/wan/2.2/text-to-image" }, { text: "Qwen Image", link: "/model-api-reference/image-generation/alibaba/qwen-image" }, - { text: "Vace", link: "/model-api-reference/image-generation/alibaba/wan-vace" }, { text: "Face Swap", link: "/model-api-reference/image-generation/alibaba/face-swap" }, { text: "Head Swap", link: "/model-api-reference/image-generation/alibaba/head-swap" }, { text: "Qwen Image Edit Exp0622", link: "/model-api-reference/image-generation/alibaba/qwen-image-edit-exp0622" }, @@ -1378,23 +1376,10 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ text: "KwaiVGI", collapsed: true, items: [ - { text: "Kling Video V3 Standard", link: "/model-api-reference/image-generation/kwaivgi/kling-video/v3/standard/motion-control" }, - { text: "Kling Video V3 Pro", link: "/model-api-reference/image-generation/kwaivgi/kling-video/v3/pro/motion-control" }, - { text: "Kling Video O3 Pro (KwaiVGI: kling-video / o3 / pro / edit)", link: "/model-api-reference/image-generation/kwaivgi/kling-video/o3/pro/edit" }, - { text: "Kling Video O3 Pro (KwaiVGI: kling-video / o3 / pro / video-to-video)", link: "/model-api-reference/image-generation/kwaivgi/kling-video/o3/pro/video-to-video" }, - { text: "Kling Video O3 Standard (KwaiVGI: kling-video / o3 / standard / edit)", link: "/model-api-reference/image-generation/kwaivgi/kling-video/o3/standard/edit" }, - { text: "Kling Video O3 Standard (KwaiVGI: kling-video / o3 / standard / video-to-video)", link: "/model-api-reference/image-generation/kwaivgi/kling-video/o3/standard/video-to-video" }, { text: "Kling Image V3", link: "/model-api-reference/image-generation/kwaivgi/kling-image/v3" }, { text: "Kling Image V3 Edit", link: "/model-api-reference/image-generation/kwaivgi/kling-image/v3/edit" }, { text: "Kling Image (KwaiVGI: kling-image / o3 / edit)", link: "/model-api-reference/image-generation/kwaivgi/kling-image/o3/edit" }, { text: "Kling Image (KwaiVGI: kling-image / o3)", link: "/model-api-reference/image-generation/kwaivgi/kling-image/o3" }, - { text: "Kling Video V2.6 Standard", link: "/model-api-reference/image-generation/kwaivgi/kling-video/v2.6/standard/motion-control" }, - { text: "Kling Video V2.6 Pro", link: "/model-api-reference/image-generation/kwaivgi/kling-video/v2.6/pro/motion-control" }, - { text: "Kling Video Create Voice", link: "/model-api-reference/image-generation/kwaivgi/kling-video/create-voice" }, - { text: "Kling Video O1 Standard (KwaiVGI: kling-video / o1 / standard / video-to-video)", link: "/model-api-reference/image-generation/kwaivgi/kling-video/o1/standard/video-to-video" }, - { text: "Kling Video O1 Standard (KwaiVGI: kling-video / o1 / standard / edit)", link: "/model-api-reference/image-generation/kwaivgi/kling-video/o1/standard/edit" }, - { text: "Kling Video O1 Pro (KwaiVGI: kling-video / o1 / pro / edit)", link: "/model-api-reference/image-generation/kwaivgi/kling-video/o1/pro/edit" }, - { text: "Kling Video O1 Pro (KwaiVGI: kling-video / o1 / pro / video-to-video)", link: "/model-api-reference/image-generation/kwaivgi/kling-video/o1/pro/video-to-video" }, { text: "Kling O1 Image", link: "/model-api-reference/image-generation/kwaivgi/kling-image/o1" }, { text: "Kling Kolors Virtual TryOn v1.5", link: "/model-api-reference/image-generation/kwaivgi/kolors-tryon" }, { text: "Kolors Image to Image", link: "/model-api-reference/image-generation/kwaivgi/kolors/image-to-image" }, @@ -1406,13 +1391,8 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ text: "Lightricks", collapsed: true, items: [ - { text: "Ltx 2.3 Quality", link: "/model-api-reference/image-generation/lightricks/ltx-2.3-quality/audio-to-video" }, { text: "LTX-2.3 22B Video to Video Trainer", link: "/model-api-reference/image-generation/lightricks/ltx23-v2v-trainer" }, { text: "LTX-2.3 22B Video Trainer", link: "/model-api-reference/image-generation/lightricks/ltx23-video-trainer" }, - { text: "LTX-2 19B Distilled", link: "/model-api-reference/image-generation/lightricks/ltx-2-19b/distilled/audio-to-video" }, - { text: "LTX-2 19B (Lightricks: ltx-2-19b / audio-to-video)", link: "/model-api-reference/image-generation/lightricks/ltx-2-19b/audio-to-video" }, - { text: "LTX-2 19B (Lightricks: ltx-2-19b / video-to-video)", link: "/model-api-reference/image-generation/lightricks/ltx-2-19b/video-to-video" }, - { text: "LTX-2 19B (Lightricks: ltx-2-19b / extend-video)", link: "/model-api-reference/image-generation/lightricks/ltx-2-19b/extend-video" }, ], }, // Duplicate model names are qualified with provider and operation path for navigation clarity. @@ -1420,8 +1400,6 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ text: "meituan", collapsed: true, items: [ - { text: "Longcat Multi Avatar", link: "/model-api-reference/image-generation/meituan/longcat-multi-avatar/image-audio-to-video" }, - { text: "Longcat Single Avatar", link: "/model-api-reference/image-generation/meituan/longcat-single-avatar/audio-to-video" }, { text: "Longcat Image (meituan: longcat-image / edit)", link: "/model-api-reference/image-generation/meituan/longcat-image/edit" }, { text: "Longcat Image (meituan: longcat-image)", link: "/model-api-reference/image-generation/meituan/longcat-image" }, ], @@ -1448,7 +1426,6 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ text: "Meta", collapsed: true, items: [ - { text: "Sam 3 1 (Meta: sam-3-1 / video)", link: "/model-api-reference/image-generation/meta/sam-3-1/video" }, { text: "Sam 3 1 (Meta: sam-3-1 / image-rle)", link: "/model-api-reference/image-generation/meta/sam-3-1/image-rle" }, { text: "Sam 3 1 (Meta: sam-3-1 / image)", link: "/model-api-reference/image-generation/meta/sam-3-1/image" }, { text: "SAM 3 3D Align", link: "/model-api-reference/image-generation/meta/sam-3/3d-align" }, @@ -1456,7 +1433,6 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ { text: "Sam 3 (Meta: sam-3 / 3d-objects)", link: "/model-api-reference/image-generation/meta/sam-3/3d-objects" }, { text: "Sam 3 (Meta: sam-3 / image-rle)", link: "/model-api-reference/image-generation/meta/sam-3/image-rle" }, { text: "SAM 3 Embed", link: "/model-api-reference/image-generation/meta/sam-3/image/embed" }, - { text: "Sam 3 (Meta: sam-3 / video-rle)", link: "/model-api-reference/image-generation/meta/sam-3/video-rle" }, { text: "SAM 3 Image", link: "/model-api-reference/image-generation/meta/sam-3/image" }, { text: "Demucs", link: "/model-api-reference/image-generation/meta/demucs" }, ], @@ -1492,7 +1468,6 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ text: "Mirelo", collapsed: true, items: [ - { text: "Mirelo SFX1.6 (Mirelo: sfx1.6 / video-to-video)", link: "/model-api-reference/image-generation/mirelo/sfx1.6/video-to-video" }, { text: "Mirelo SFX1.6 (Mirelo: sfx1.6 / inpaint-audio)", link: "/model-api-reference/image-generation/mirelo/sfx1.6/inpaint-audio" }, { text: "Mirelo SFX1.6 (Mirelo: sfx1.6 / extend-audio)", link: "/model-api-reference/image-generation/mirelo/sfx1.6/extend-audio" }, ], @@ -1504,7 +1479,6 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ items: [ { text: "Cosmos 3 Super", link: "/model-api-reference/image-generation/nvidia/cosmos-3-super/text-to-image" }, { text: "Nemotron 3 Nano Omni (NVIDIA: nemotron-3-nano-omni / vision)", link: "/model-api-reference/image-generation/nvidia/nemotron-3-nano-omni/vision" }, - { text: "Nemotron 3 Nano Omni (NVIDIA: nemotron-3-nano-omni / video)", link: "/model-api-reference/image-generation/nvidia/nemotron-3-nano-omni/video" }, { text: "Nemotron 3 Nano Omni (NVIDIA: nemotron-3-nano-omni / audio)", link: "/model-api-reference/image-generation/nvidia/nemotron-3-nano-omni/audio" }, ], }, @@ -1526,14 +1500,6 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ ], }, // Duplicate model names are qualified with provider and operation path for navigation clarity. - { - text: "PixVerse", - collapsed: true, - items: [ - { text: "PixVerse V6 Extend", link: "/model-api-reference/image-generation/pixverse/v6/extend" }, - ], - }, - // Duplicate model names are qualified with provider and operation path for navigation clarity. { text: "Reve", collapsed: true, @@ -1557,15 +1523,6 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ ], }, // Duplicate model names are qualified with provider and operation path for navigation clarity. - { - text: "Sonilo", - collapsed: true, - items: [ - { text: "V1.1 Video to Sound Effects", link: "/model-api-reference/image-generation/sonilo/1.1/video-to-sound-effects" }, - { text: "V1.1", link: "/model-api-reference/image-generation/sonilo/1.1/video-to-music" }, - ], - }, - // Duplicate model names are qualified with provider and operation path for navigation clarity. { text: "Stability AI", collapsed: true, @@ -1588,18 +1545,6 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ ], }, // Duplicate model names are qualified with provider and operation path for navigation clarity. - { - text: "Sync Labs", - collapsed: true, - items: [ - { text: "sync-3 Lipsync", link: "/model-api-reference/image-generation/sync/lipsync/v3" }, - { text: "Sync React-1", link: "/model-api-reference/image-generation/sync/lipsync/react-1" }, - { text: "Sync Lipsync", link: "/model-api-reference/image-generation/sync/lipsync/v2/pro" }, - { text: "Sync Lipsync 2.0", link: "/model-api-reference/image-generation/sync/lipsync/v2" }, - { text: "sync.so -- lipsync 1.9.0-beta", link: "/model-api-reference/image-generation/sync/sync-lipsync" }, - ], - }, - // Duplicate model names are qualified with provider and operation path for navigation clarity. { text: "Tencent", collapsed: true, @@ -1670,14 +1615,6 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ ], }, // Duplicate model names are qualified with provider and operation path for navigation clarity. - { - text: "VEED", - collapsed: true, - items: [ - { text: "Subtitles", link: "/model-api-reference/image-generation/veed/subtitles" }, - ], - }, - // Duplicate model names are qualified with provider and operation path for navigation clarity. { text: "Vidu", collapsed: true, @@ -1694,9 +1631,7 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ items: [ { text: "Grok Imagine Image Quality", link: "/model-api-reference/image-generation/xai/grok-imagine-image/quality" }, { text: "Grok Imagine Image Quality Edit", link: "/model-api-reference/image-generation/xai/grok-imagine-image/quality/edit" }, - { text: "Grok Imagine Video Extend", link: "/model-api-reference/image-generation/xai/grok-imagine-video/extend" }, { text: "Grok Imagine Image Edit", link: "/model-api-reference/image-generation/xai/grok-imagine-image/edit" }, - { text: "Grok Imagine Video Edit", link: "/model-api-reference/image-generation/xai/grok-imagine-video/edit" }, ], }, // Duplicate model names are qualified with provider and operation path for navigation clarity. @@ -1753,6 +1688,7 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ { text: "Seedance 1.0 Pro Fast I2V", link: "/model-api-reference/video-generation/bytedance/seedance/1.0/pro/fast/image-to-video" }, { text: "Seedance 1.0 Pro Fast T2V", link: "/model-api-reference/video-generation/bytedance/seedance/1.0/pro/fast/text-to-video" }, { text: "Bytedance OmniHuman v1.5", link: "/model-api-reference/video-generation/bytedance/omnihuman/1.5" }, + { text: "SeedVR2", link: "/model-api-reference/video-generation/bytedance/seedvr/upscale/video" }, { text: "Video Stylize", link: "/model-api-reference/video-generation/bytedance/video-stylize" }, { text: "OmniHuman 1.0", link: "/model-api-reference/video-generation/bytedance/omnihuman/1.0" }, { text: "Seedance 1.0 Pro (ByteDance: seedance / 1.0 / pro / text-to-video)", link: "/model-api-reference/video-generation/bytedance/seedance/1.0/pro/text-to-video" }, @@ -1863,6 +1799,7 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ collapsed: true, items: [ { text: "VEED Lipsync (VEED: lipsync / 2.0)", link: "/model-api-reference/video-generation/veed/lipsync/2.0" }, + { text: "Subtitles", link: "/model-api-reference/video-generation/veed/subtitles" }, { text: "VEED Fabric 1.0 Text to Video", link: "/model-api-reference/video-generation/veed/fabric-1.0/text-to-video" }, { text: "VEED Video Background Removal Fast", link: "/model-api-reference/video-generation/veed/video-bg-removal/fast" }, { text: "VEED Video Background Removal", link: "/model-api-reference/video-generation/veed/video-bg-removal" }, @@ -1934,6 +1871,7 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ { text: "Wan 2.1 VACE Depth", link: "/model-api-reference/video-generation/alibaba/wan/2.1/vace/depth" }, { text: "Wan 2.1 VACE", link: "/model-api-reference/video-generation/alibaba/wan/2.1/vace" }, { text: "Wan-2.1 First-Last-Frame-to-Video", link: "/model-api-reference/video-generation/alibaba/wan/2.1/flf-to-video" }, + { text: "Vace", link: "/model-api-reference/video-generation/alibaba/wan-vace" }, { text: "Wan-2.1 Text-to-Video with LoRAs", link: "/model-api-reference/video-generation/alibaba/wan/2.1/text-to-video/lora" }, { text: "Wan Effects", link: "/model-api-reference/video-generation/alibaba/wan/effects" }, { text: "Wan-2.1 Image-to-Video with LoRAs", link: "/model-api-reference/video-generation/alibaba/wan/2.1/image-to-video/lora" }, @@ -2010,6 +1948,8 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ { text: "Kling Video O3 4k (KwaiVGI: kling-video / o3 / 4k / text-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o3/4k/text-to-video" }, { text: "Kling Video V3 4k (KwaiVGI: kling-video / v3 / 4k / image-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/v3/4k/image-to-video" }, { text: "Kling Video V3 4k (KwaiVGI: kling-video / v3 / 4k / text-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/v3/4k/text-to-video" }, + { text: "Kling Video V3 Standard (KwaiVGI: kling-video / v3 / standard / motion-control)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/v3/standard/motion-control" }, + { text: "Kling Video V3 Pro (KwaiVGI: kling-video / v3 / pro / motion-control)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/v3/pro/motion-control" }, { text: "Kling Video V3 Pro (KwaiVGI: kling-video / v3 / pro / image-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/v3/pro/image-to-video" }, { text: "Kling Video V3 Standard (KwaiVGI: kling-video / v3 / standard / image-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/v3/standard/image-to-video" }, { text: "Kling Video V3 Pro (KwaiVGI: kling-video / v3 / pro / text-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/v3/pro/text-to-video" }, @@ -2017,17 +1957,28 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ { text: "Kling Video O3 Standard (KwaiVGI: kling-video / o3 / standard / image-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o3/standard/image-to-video" }, { text: "Kling Video O3 Pro (KwaiVGI: kling-video / o3 / pro / reference-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o3/pro/reference-to-video" }, { text: "Kling Video V3 Standard (KwaiVGI: kling-video / v3 / standard / text-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/v3/standard/text-to-video" }, + { text: "Kling Video O3 Pro (KwaiVGI: kling-video / o3 / pro / edit)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o3/pro/edit" }, { text: "Kling Video O3 Standard (KwaiVGI: kling-video / o3 / standard / reference-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o3/standard/reference-to-video" }, { text: "Kling Video O3 Pro (KwaiVGI: kling-video / o3 / pro / text-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o3/pro/text-to-video" }, + { text: "Kling Video O3 Pro (KwaiVGI: kling-video / o3 / pro / video-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o3/pro/video-to-video" }, { text: "Kling Video O3 Standard (KwaiVGI: kling-video / o3 / standard / text-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o3/standard/text-to-video" }, + { text: "Kling Video O3 Standard (KwaiVGI: kling-video / o3 / standard / edit)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o3/standard/edit" }, + { text: "Kling Video O3 Standard (KwaiVGI: kling-video / o3 / standard / video-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o3/standard/video-to-video" }, + { text: "Kling Video V2.6 Standard", link: "/model-api-reference/video-generation/kwaivgi/kling-video/v2.6/standard/motion-control" }, + { text: "Kling Video V2.6 Pro (KwaiVGI: kling-video / v2.6 / pro / motion-control)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/v2.6/pro/motion-control" }, + { text: "Kling Video Create Voice", link: "/model-api-reference/video-generation/kwaivgi/kling-video/create-voice" }, { text: "Kling Video O1 Standard (KwaiVGI: kling-video / o1 / standard / reference-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o1/standard/reference-to-video" }, { text: "Kling Video O1 Standard (KwaiVGI: kling-video / o1 / standard / image-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o1/standard/image-to-video" }, + { text: "Kling Video O1 Standard (KwaiVGI: kling-video / o1 / standard / video-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o1/standard/video-to-video" }, + { text: "Kling Video O1 Standard (KwaiVGI: kling-video / o1 / standard / edit)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o1/standard/edit" }, { text: "Kling AI Avatar v2 Pro", link: "/model-api-reference/video-generation/kwaivgi/kling-video/ai-avatar/2.0/pro" }, { text: "Kling AI Avatar v2 Standard", link: "/model-api-reference/video-generation/kwaivgi/kling-video/ai-avatar/2.0/standard" }, { text: "Kling Video V2.6 Pro (KwaiVGI: kling-video / v2.6 / pro / text-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/v2.6/pro/text-to-video" }, { text: "Kling Video V2.6 Pro (KwaiVGI: kling-video / v2.6 / pro / image-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/v2.6/pro/image-to-video" }, { text: "Kling Video O1 Pro (KwaiVGI: kling-video / o1 / pro / image-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o1/pro/image-to-video" }, { text: "Kling Video O1 Pro (KwaiVGI: kling-video / o1 / pro / reference-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o1/pro/reference-to-video" }, + { text: "Kling Video O1 Pro (KwaiVGI: kling-video / o1 / pro / edit)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o1/pro/edit" }, + { text: "Kling Video O1 Pro (KwaiVGI: kling-video / o1 / pro / video-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/o1/pro/video-to-video" }, { text: "Kling Video V2.5 Turbo Standard", link: "/model-api-reference/video-generation/kwaivgi/kling-video/v2.5-turbo/standard/image-to-video" }, { text: "Kling Video V2.5 Turbo Pro (KwaiVGI: kling-video / v2.5-turbo / pro / image-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/v2.5-turbo/pro/image-to-video" }, { text: "Kling Video V2.5 Turbo Pro (KwaiVGI: kling-video / v2.5-turbo / pro / text-to-video)", link: "/model-api-reference/video-generation/kwaivgi/kling-video/v2.5-turbo/pro/text-to-video" }, @@ -2071,6 +2022,7 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ { text: "Ltx 2.3", link: "/model-api-reference/video-generation/lightricks/ltx-2.3/reframe" }, { text: "Ltx 2.3 Quality (Lightricks: ltx-2.3-quality / extend-video)", link: "/model-api-reference/video-generation/lightricks/ltx-2.3-quality/extend-video" }, { text: "Ltx 2.3 Quality (Lightricks: ltx-2.3-quality / hdr)", link: "/model-api-reference/video-generation/lightricks/ltx-2.3-quality/hdr" }, + { text: "Ltx 2.3 Quality (Lightricks: ltx-2.3-quality / audio-to-video)", link: "/model-api-reference/video-generation/lightricks/ltx-2.3-quality/audio-to-video" }, { text: "Ltx 2.3 Quality (Lightricks: ltx-2.3-quality / image-to-video)", link: "/model-api-reference/video-generation/lightricks/ltx-2.3-quality/image-to-video" }, { text: "Ltx 2.3 Quality (Lightricks: ltx-2.3-quality / text-to-video)", link: "/model-api-reference/video-generation/lightricks/ltx-2.3-quality/text-to-video" }, { text: "LTX-2.3 22B Distilled (Lightricks: ltx-2.3-22b / distilled / reference-video-to-video / lora)", link: "/model-api-reference/video-generation/lightricks/ltx-2.3-22b/distilled/reference-video-to-video/lora" }, @@ -2105,8 +2057,11 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ { text: "LTX 2.0 Pro Extend", link: "/model-api-reference/video-generation/lightricks/ltx-2.0-pro/extend" }, { text: "LTX 2.0 Pro Audio to Video", link: "/model-api-reference/video-generation/lightricks/ltx-2.0-pro/audio-to-video" }, { text: "LTX-2 19B (Lightricks: ltx-2-19b / audio-to-video / lora)", link: "/model-api-reference/video-generation/lightricks/ltx-2-19b/audio-to-video/lora" }, + { text: "LTX-2 19B Distilled (Lightricks: ltx-2-19b / distilled / audio-to-video)", link: "/model-api-reference/video-generation/lightricks/ltx-2-19b/distilled/audio-to-video" }, + { text: "LTX-2 19B (Lightricks: ltx-2-19b / audio-to-video)", link: "/model-api-reference/video-generation/lightricks/ltx-2-19b/audio-to-video" }, { text: "LTX-2 19B Distilled (Lightricks: ltx-2-19b / distilled / video-to-video / lora)", link: "/model-api-reference/video-generation/lightricks/ltx-2-19b/distilled/video-to-video/lora" }, { text: "LTX-2 19B (Lightricks: ltx-2-19b / video-to-video / lora)", link: "/model-api-reference/video-generation/lightricks/ltx-2-19b/video-to-video/lora" }, + { text: "LTX-2 19B (Lightricks: ltx-2-19b / video-to-video)", link: "/model-api-reference/video-generation/lightricks/ltx-2-19b/video-to-video" }, { text: "LTX-2 19B Distilled (Lightricks: ltx-2-19b / distilled / extend-video / lora)", link: "/model-api-reference/video-generation/lightricks/ltx-2-19b/distilled/extend-video/lora" }, { text: "LTX-2 19B Distilled (Lightricks: ltx-2-19b / distilled / extend-video)", link: "/model-api-reference/video-generation/lightricks/ltx-2-19b/distilled/extend-video" }, { text: "LTX-2 19B Distilled (Lightricks: ltx-2-19b / distilled / image-to-video / lora)", link: "/model-api-reference/video-generation/lightricks/ltx-2-19b/distilled/image-to-video/lora" }, @@ -2115,6 +2070,7 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ { text: "LTX-2 19B Distilled (Lightricks: ltx-2-19b / distilled / text-to-video)", link: "/model-api-reference/video-generation/lightricks/ltx-2-19b/distilled/text-to-video" }, { text: "LTX-2 19B (Lightricks: ltx-2-19b / extend-video / lora)", link: "/model-api-reference/video-generation/lightricks/ltx-2-19b/extend-video/lora" }, { text: "LTX-2 19B (Lightricks: ltx-2-19b / image-to-video / lora)", link: "/model-api-reference/video-generation/lightricks/ltx-2-19b/image-to-video/lora" }, + { text: "LTX-2 19B (Lightricks: ltx-2-19b / extend-video)", link: "/model-api-reference/video-generation/lightricks/ltx-2-19b/extend-video" }, { text: "LTX-2 19B (Lightricks: ltx-2-19b / text-to-video)", link: "/model-api-reference/video-generation/lightricks/ltx-2-19b/text-to-video" }, { text: "LTX-2 19B (Lightricks: ltx-2-19b / image-to-video)", link: "/model-api-reference/video-generation/lightricks/ltx-2-19b/image-to-video" }, { text: "LTX 2.0 Fast Text to Video", link: "/model-api-reference/video-generation/lightricks/ltx-2.0-fast/text-to-video" }, @@ -2142,7 +2098,9 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ text: "meituan", collapsed: true, items: [ + { text: "Longcat Multi Avatar", link: "/model-api-reference/video-generation/meituan/longcat-multi-avatar/image-audio-to-video" }, { text: "LongCat Single Avatar", link: "/model-api-reference/video-generation/meituan/longcat-single-avatar/image-audio-to-video" }, + { text: "Longcat Single Avatar", link: "/model-api-reference/video-generation/meituan/longcat-single-avatar/audio-to-video" }, { text: "LongCat Video (meituan: longcat-video / text-to-video / 720p)", link: "/model-api-reference/video-generation/meituan/longcat-video/text-to-video/720p" }, { text: "LongCat Video (meituan: longcat-video / image-to-video)", link: "/model-api-reference/video-generation/meituan/longcat-video/image-to-video" }, { text: "LongCat Video (meituan: longcat-video / image-to-video-480p)", link: "/model-api-reference/video-generation/meituan/longcat-video/image-to-video-480p" }, @@ -2159,7 +2117,17 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ collapsed: true, items: [ { text: "SAM 3.1 Video", link: "/model-api-reference/video-generation/meta/sam-3-1/video-rle" }, - { text: "Sam 3", link: "/model-api-reference/video-generation/meta/sam-3/video" }, + { text: "Sam 3 1", link: "/model-api-reference/video-generation/meta/sam-3-1/video" }, + { text: "Sam 3 (Meta: sam-3 / video-rle)", link: "/model-api-reference/video-generation/meta/sam-3/video-rle" }, + { text: "Sam 3 (Meta: sam-3 / video)", link: "/model-api-reference/video-generation/meta/sam-3/video" }, + ], + }, + // Duplicate model names are qualified with provider and operation path for navigation clarity. + { + text: "Mirelo", + collapsed: true, + items: [ + { text: "Mirelo SFX1.6", link: "/model-api-reference/video-generation/mirelo/sfx1.6/video-to-video" }, ], }, // Duplicate model names are qualified with provider and operation path for navigation clarity. @@ -2168,6 +2136,7 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ collapsed: true, items: [ { text: "Cosmos 3 Super Image to Video", link: "/model-api-reference/video-generation/nvidia/cosmos-3-super/image-to-video" }, + { text: "Nemotron 3 Nano Omni", link: "/model-api-reference/video-generation/nvidia/nemotron-3-nano-omni/video" }, ], }, // Duplicate model names are qualified with provider and operation path for navigation clarity. @@ -2188,6 +2157,7 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ { text: "PixVerse C1 Image to Video", link: "/model-api-reference/video-generation/pixverse/c1/image-to-video" }, { text: "PixVerse C1 Transition", link: "/model-api-reference/video-generation/pixverse/c1/transition" }, { text: "PixVerse V6 Transition", link: "/model-api-reference/video-generation/pixverse/v6/transition" }, + { text: "PixVerse V6 Extend", link: "/model-api-reference/video-generation/pixverse/v6/extend" }, { text: "PixVerse V6 Image to Video", link: "/model-api-reference/video-generation/pixverse/v6/image-to-video" }, { text: "PixVerse V6 Text to Video", link: "/model-api-reference/video-generation/pixverse/v6/text-to-video" }, { text: "PixVerse V5.6 Transition", link: "/model-api-reference/video-generation/pixverse/v5.6/transition" }, @@ -2231,7 +2201,9 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ collapsed: true, items: [ { text: "V1.1 Video to Video Music", link: "/model-api-reference/video-generation/sonilo/1.1/video-to-video-music" }, + { text: "V1.1 Video to Sound Effects", link: "/model-api-reference/video-generation/sonilo/1.1/video-to-sound-effects" }, { text: "V1.1 Video to Video Sound Effects", link: "/model-api-reference/video-generation/sonilo/1.1/video-to-video-sound-effects" }, + { text: "V1.1", link: "/model-api-reference/video-generation/sonilo/1.1/video-to-music" }, ], }, // Duplicate model names are qualified with provider and operation path for navigation clarity. @@ -2249,6 +2221,11 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ collapsed: true, items: [ { text: "sync-3 Avatar Image to Video", link: "/model-api-reference/video-generation/sync/sync-lipsync/3.0/image-to-video" }, + { text: "sync-3 Lipsync", link: "/model-api-reference/video-generation/sync/lipsync/v3" }, + { text: "Sync React-1", link: "/model-api-reference/video-generation/sync/lipsync/react-1" }, + { text: "Sync Lipsync", link: "/model-api-reference/video-generation/sync/lipsync/v2/pro" }, + { text: "Sync Lipsync 2.0", link: "/model-api-reference/video-generation/sync/lipsync/v2" }, + { text: "sync.so -- lipsync 1.9.0-beta", link: "/model-api-reference/video-generation/sync/sync-lipsync" }, ], }, // Duplicate model names are qualified with provider and operation path for navigation clarity. @@ -2308,6 +2285,8 @@ export const modelApiReferenceSidebarItems: DefaultTheme.SidebarItem[] = [ items: [ { text: "Grok Imagine Video 1.5", link: "/model-api-reference/video-generation/xai/grok-imagine-video/1.5/image-to-video" }, { text: "Grok Imagine Video Reference to Video", link: "/model-api-reference/video-generation/xai/grok-imagine-video/reference-to-video" }, + { text: "Grok Imagine Video Extend", link: "/model-api-reference/video-generation/xai/grok-imagine-video/extend" }, + { text: "Grok Imagine Video Edit", link: "/model-api-reference/video-generation/xai/grok-imagine-video/edit" }, { text: "Grok Imagine Video (xAI: grok-imagine-video / image-to-video)", link: "/model-api-reference/video-generation/xai/grok-imagine-video/image-to-video" }, { text: "Grok Imagine Video (xAI: grok-imagine-video / text-to-video)", link: "/model-api-reference/video-generation/xai/grok-imagine-video/text-to-video" }, ], diff --git a/model-api-reference/image-generation.md b/model-api-reference/image-generation.md index 86515efe..d75711e1 100644 --- a/model-api-reference/image-generation.md +++ b/model-api-reference/image-generation.md @@ -61,12 +61,11 @@ Image Generation models use the SandBase generation protocol declared in each mo - [Seedream v5.0 Lite](/model-api-reference/image-generation/bytedance/seedream/5.0/lite) — Seedream 5.0 Lite — Fast Text-to-Image API The lightweight version of Seedream 5.0, delivering high-quality, low-latency AI image generation from text prompts. Ideal for real-time creative tools, e-commerce visuals, and high-volume AIGC pipelines. - [Seedream v4.5](/model-api-reference/image-generation/bytedance/seedream/4.5) — A new-generation image creation model from ByteDance, Seedream 4.5 integrates text-to-image generation and image editing into a single unified architecture, delivering high-fidelity visuals, precise prompt control, and seamless creative workflows for professional AIGC applications. - [Seedream v4.5 Image Editing](/model-api-reference/image-generation/bytedance/seedream/4.5/edit) — A new-generation image creation model from ByteDance, Seedream 4.5 integrates text-to-image generation and image editing into a single unified architecture, delivering high-fidelity visuals, precise prompt control, and seamless creative workflows for professional AIGC applications. -- [SeedVR2 (ByteDance: seedvr / upscale / video)](/model-api-reference/image-generation/bytedance/seedvr/upscale/video) — Seedvr Upscale Video by ByteDance - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. - [SeedVR2 (ByteDance: seedvr / upscale / image)](/model-api-reference/image-generation/bytedance/seedvr/upscale/image) — Seedvr Upscale Image by ByteDance - AI-powered image editing, style transfer, and transformation. Edit photos with natural language instructions, remove backgrounds, change styles, and enhance images effortlessly. - [ByteDance Seedream v4 Edit](/model-api-reference/image-generation/bytedance/seedream/4.0/edit) — Seedream 4.0 Edit is ByteDance's intelligent image editing model. Transform, retouch, and reimagine existing images using text prompts - from background replacement to artistic style conversion. - [ByteDance Seedream v4](/model-api-reference/image-generation/bytedance/seedream/4.0) — Seedream 4.0 by ByteDance - generate stunning images from text prompts with state-of-the-art AI. Supports multiple aspect ratios, styles, and high-resolution output for creative and commercial use. - [Dreamina 3.1](/model-api-reference/image-generation/bytedance/dreamina/3.1) — Dreamina 3.1 by ByteDance - generate stunning images from text prompts with state-of-the-art AI. Supports multiple aspect ratios, styles, and high-resolution output for creative and commercial use. -- …and 1 more models in the sidebar. +- [Seedream v5.0 Lite Editing](/model-api-reference/image-generation/bytedance/seedream/5.0/lite/edit) — Seedream 5.0 Lite — Fast Text-to-Image API The lightweight version of Seedream 5.0, delivering high-quality, low-latency AI image generation from text prompts. Ideal for real-time creative tools, e-commerce visuals, and high-volume AIGC pipelines. ### Recraft @@ -115,7 +114,7 @@ Image Generation models use the SandBase generation protocol declared in each mo - [Qwen Image 2 (Alibaba: qwen-image-2 / pro / text-to-image)](/model-api-reference/image-generation/alibaba/qwen-image-2/pro/text-to-image) — Qwen Image 2 Pro by Alibaba - generate stunning images from text prompts with state-of-the-art AI. Supports multiple aspect ratios, styles, and high-resolution output for creative and commercial use. - [Qwen Image 2 Pro](/model-api-reference/image-generation/alibaba/qwen-image-2/pro) — Alibaba Qwen Image 2 Pro text-to-image model with enhanced quality and configurable output format. - [Qwen Image 2 (Alibaba: qwen-image-2)](/model-api-reference/image-generation/alibaba/qwen-image-2) — Alibaba Qwen Image 2 text-to-image model with high-quality generation and configurable output format. -- …and 57 more models in the sidebar. +- …and 56 more models in the sidebar. ### Baidu @@ -209,34 +208,22 @@ Image Generation models use the SandBase generation protocol declared in each mo ### KwaiVGI -- [Kling Video V3 Standard](/model-api-reference/image-generation/kwaivgi/kling-video/v3/standard/motion-control) — Kling Video V3 Standard by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. -- [Kling Video V3 Pro](/model-api-reference/image-generation/kwaivgi/kling-video/v3/pro/motion-control) — Kling Video V3 Pro is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. -- [Kling Video O3 Pro (KwaiVGI: kling-video / o3 / pro / edit)](/model-api-reference/image-generation/kwaivgi/kling-video/o3/pro/edit) — Kling Video O3 Pro is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. -- [Kling Video O3 Pro (KwaiVGI: kling-video / o3 / pro / video-to-video)](/model-api-reference/image-generation/kwaivgi/kling-video/o3/pro/video-to-video) — Kling Video O3 Pro by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. -- [Kling Video O3 Standard (KwaiVGI: kling-video / o3 / standard / edit)](/model-api-reference/image-generation/kwaivgi/kling-video/o3/standard/edit) — Kling Video O3 Standard by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. -- [Kling Video O3 Standard (KwaiVGI: kling-video / o3 / standard / video-to-video)](/model-api-reference/image-generation/kwaivgi/kling-video/o3/standard/video-to-video) — Kling Video O3 Standard is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. - [Kling Image V3](/model-api-reference/image-generation/kwaivgi/kling-image/v3) — Kling Image V3 by KwaiVGI - generate stunning images from text prompts with state-of-the-art AI. Supports multiple aspect ratios, styles, and high-resolution output for creative and commercial use. - [Kling Image V3 Edit](/model-api-reference/image-generation/kwaivgi/kling-image/v3/edit) — Kling Image V3 Edit is KwaiVGI's intelligent image editing model. Transform, retouch, and reimagine existing images using text prompts - from background replacement to artistic style conversion. - [Kling Image (KwaiVGI: kling-image / o3 / edit)](/model-api-reference/image-generation/kwaivgi/kling-image/o3/edit) — Kling Image O3 Edit is KwaiVGI's intelligent image editing model. Transform, retouch, and reimagine existing images using text prompts - from background replacement to artistic style conversion. - [Kling Image (KwaiVGI: kling-image / o3)](/model-api-reference/image-generation/kwaivgi/kling-image/o3) — Kling Image O3 by KwaiVGI - generate stunning images from text prompts with state-of-the-art AI. Supports multiple aspect ratios, styles, and high-resolution output for creative and commercial use. -- [Kling Video V2.6 Standard](/model-api-reference/image-generation/kwaivgi/kling-video/v2.6/standard/motion-control) — Kling Video V2.6 Standard by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. -- [Kling Video V2.6 Pro](/model-api-reference/image-generation/kwaivgi/kling-video/v2.6/pro/motion-control) — Kling Video V2.6 Pro is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. -- …and 9 more models in the sidebar. +- [Kling O1 Image](/model-api-reference/image-generation/kwaivgi/kling-image/o1) — Kling Image O1 by KwaiVGI - AI-powered image editing, style transfer, and transformation. Edit photos with natural language instructions, remove backgrounds, change styles, and enhance images effortlessly. +- [Kling Kolors Virtual TryOn v1.5](/model-api-reference/image-generation/kwaivgi/kolors-tryon) — Kolors Tryon by KwaiVGI - AI-powered image editing, style transfer, and transformation. Edit photos with natural language instructions, remove backgrounds, change styles, and enhance images effortlessly. +- [Kolors Image to Image](/model-api-reference/image-generation/kwaivgi/kolors/image-to-image) — Kolors is KwaiVGI's intelligent image editing model. Transform, retouch, and reimagine existing images using text prompts - from background replacement to artistic style conversion. +- [Kolors](/model-api-reference/image-generation/kwaivgi/kolors) — Kolors by KwaiVGI - generate stunning images from text prompts with state-of-the-art AI. Supports multiple aspect ratios, styles, and high-resolution output for creative and commercial use. ### Lightricks -- [Ltx 2.3 Quality](/model-api-reference/image-generation/lightricks/ltx-2.3-quality/audio-to-video) — Ltx 2.3 Quality Audio To Video by Lightricks - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows. - [LTX-2.3 22B Video to Video Trainer](/model-api-reference/image-generation/lightricks/ltx23-v2v-trainer) — Ltx23 V2v Trainer by Lightricks - advanced AI model for training. Delivers high-quality results with fast inference, suitable for both creative and production workflows. - [LTX-2.3 22B Video Trainer](/model-api-reference/image-generation/lightricks/ltx23-video-trainer) — Ltx23 Video Trainer by Lightricks - advanced AI model for training. Delivers high-quality results with fast inference, suitable for both creative and production workflows. -- [LTX-2 19B Distilled](/model-api-reference/image-generation/lightricks/ltx-2-19b/distilled/audio-to-video) — Ltx 2 19b Distilled Audio To Video by Lightricks - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows. -- [LTX-2 19B (Lightricks: ltx-2-19b / audio-to-video)](/model-api-reference/image-generation/lightricks/ltx-2-19b/audio-to-video) — Ltx 2 19b Audio To Video by Lightricks - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows. -- [LTX-2 19B (Lightricks: ltx-2-19b / video-to-video)](/model-api-reference/image-generation/lightricks/ltx-2-19b/video-to-video) — Ltx 2 19b Video To Video by Lightricks - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. -- [LTX-2 19B (Lightricks: ltx-2-19b / extend-video)](/model-api-reference/image-generation/lightricks/ltx-2-19b/extend-video) — Ltx 2 19b Extend Video by Lightricks - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. ### meituan -- [Longcat Multi Avatar](/model-api-reference/image-generation/meituan/longcat-multi-avatar/image-audio-to-video) — Longcat Multi Avatar Image Audio To Video by meituan - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows. -- [Longcat Single Avatar](/model-api-reference/image-generation/meituan/longcat-single-avatar/audio-to-video) — Longcat Single Avatar Audio To Video by meituan - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows. - [Longcat Image (meituan: longcat-image / edit)](/model-api-reference/image-generation/meituan/longcat-image/edit) — Longcat Image Edit by sandbase-ai - AI-powered image editing, style transfer, and transformation. Edit photos with natural language instructions, remove backgrounds, change styles, and enhance images effortlessly. - [Longcat Image (meituan: longcat-image)](/model-api-reference/image-generation/meituan/longcat-image) — Longcat Image is meituan's advanced text-to-image AI model. Create photorealistic images, illustrations, and concept art from natural language descriptions with exceptional detail and prompt adherence. @@ -255,7 +242,6 @@ Image Generation models use the SandBase generation protocol declared in each mo ### Meta -- [Sam 3 1 (Meta: sam-3-1 / video)](/model-api-reference/image-generation/meta/sam-3-1/video) — Sam 3 1 Video is Meta's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. - [Sam 3 1 (Meta: sam-3-1 / image-rle)](/model-api-reference/image-generation/meta/sam-3-1/image-rle) — Sam 3 1 Image Rle is Meta's intelligent image editing model. Transform, retouch, and reimagine existing images using text prompts - from background replacement to artistic style conversion. - [Sam 3 1 (Meta: sam-3-1 / image)](/model-api-reference/image-generation/meta/sam-3-1/image) — Sam 3 1 Image is Meta's intelligent image editing model. Transform, retouch, and reimagine existing images using text prompts - from background replacement to artistic style conversion. - [SAM 3 3D Align](/model-api-reference/image-generation/meta/sam-3/3d-align) — Sam 3 3d Align by Meta - advanced AI model for 3d-to-3d. Delivers high-quality results with fast inference, suitable for both creative and production workflows. @@ -263,7 +249,6 @@ Image Generation models use the SandBase generation protocol declared in each mo - [Sam 3 (Meta: sam-3 / 3d-objects)](/model-api-reference/image-generation/meta/sam-3/3d-objects) — Sam 3 3d Objects by Meta - convert 2D images into 3D models with AI. Generate textured 3D assets from single photos for games, AR/VR, e-commerce, and digital content creation. - [Sam 3 (Meta: sam-3 / image-rle)](/model-api-reference/image-generation/meta/sam-3/image-rle) — Sam 3 Image Rle is Meta's intelligent image editing model. Transform, retouch, and reimagine existing images using text prompts - from background replacement to artistic style conversion. - [SAM 3 Embed](/model-api-reference/image-generation/meta/sam-3/image/embed) — Sam 3 Image Embed by Meta - advanced AI model for vision. Delivers high-quality results with fast inference, suitable for both creative and production workflows. -- [Sam 3 (Meta: sam-3 / video-rle)](/model-api-reference/image-generation/meta/sam-3/video-rle) — Sam 3 Video Rle is Meta's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. - [SAM 3 Image](/model-api-reference/image-generation/meta/sam-3/image) — Sam 3 Image is Meta's intelligent image editing model. Transform, retouch, and reimagine existing images using text prompts - from background replacement to artistic style conversion. - [Demucs](/model-api-reference/image-generation/meta/demucs) — Demucs by Meta - advanced AI model for audio-to-audio. Delivers high-quality results with fast inference, suitable for both creative and production workflows. @@ -283,7 +268,6 @@ Image Generation models use the SandBase generation protocol declared in each mo ### Mirelo -- [Mirelo SFX1.6 (Mirelo: sfx1.6 / video-to-video)](/model-api-reference/image-generation/mirelo/sfx1.6/video-to-video) — Sfx1.6 Video To Video is Mirelo's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. - [Mirelo SFX1.6 (Mirelo: sfx1.6 / inpaint-audio)](/model-api-reference/image-generation/mirelo/sfx1.6/inpaint-audio) — Sfx1.6 Inpaint Audio by Mirelo - advanced AI model for audio-to-audio. Delivers high-quality results with fast inference, suitable for both creative and production workflows. - [Mirelo SFX1.6 (Mirelo: sfx1.6 / extend-audio)](/model-api-reference/image-generation/mirelo/sfx1.6/extend-audio) — Sfx1.6 Extend Audio by Mirelo - advanced AI model for audio-to-audio. Delivers high-quality results with fast inference, suitable for both creative and production workflows. @@ -291,7 +275,6 @@ Image Generation models use the SandBase generation protocol declared in each mo - [Cosmos 3 Super](/model-api-reference/image-generation/nvidia/cosmos-3-super/text-to-image) — Cosmos 3 Super by NVIDIA - generate stunning images from text prompts with state-of-the-art AI. Supports multiple aspect ratios, styles, and high-resolution output for creative and commercial use. - [Nemotron 3 Nano Omni (NVIDIA: nemotron-3-nano-omni / vision)](/model-api-reference/image-generation/nvidia/nemotron-3-nano-omni/vision) — Nemotron 3 Nano Omni Vision by NVIDIA - advanced AI model for image-to-text. Delivers high-quality results with fast inference, suitable for both creative and production workflows. -- [Nemotron 3 Nano Omni (NVIDIA: nemotron-3-nano-omni / video)](/model-api-reference/image-generation/nvidia/nemotron-3-nano-omni/video) — Nemotron 3 Nano Omni Video by NVIDIA - advanced AI model for video-to-text. Delivers high-quality results with fast inference, suitable for both creative and production workflows. - [Nemotron 3 Nano Omni (NVIDIA: nemotron-3-nano-omni / audio)](/model-api-reference/image-generation/nvidia/nemotron-3-nano-omni/audio) — Nemotron 3 Nano Omni Audio by NVIDIA - advanced AI model for audio-to-text. Delivers high-quality results with fast inference, suitable for both creative and production workflows. ### patina @@ -303,10 +286,6 @@ Image Generation models use the SandBase generation protocol declared in each mo - [Pixal3d](/model-api-reference/image-generation/pixal3d/pixal3d) — Pixal3d is pixal3d's image-to-3D AI model. Transform photographs into production-ready 3D meshes with accurate geometry and texture mapping. -### PixVerse - -- [PixVerse V6 Extend](/model-api-reference/image-generation/pixverse/v6/extend) — V6 Extend is PixVerse's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. - ### Reve - [Reve 2.1 (Reve: 2.1 / remix)](/model-api-reference/image-generation/reve/2.1/remix) — 2.1 Remix is Reve's intelligent image editing model. Transform, retouch, and reimagine existing images using text prompts - from background replacement to artistic style conversion. @@ -322,11 +301,6 @@ Image Generation models use the SandBase generation protocol declared in each mo - [Sana](/model-api-reference/image-generation/sandbase-ai/sana) — Sana by sandbase-ai - generate stunning images from text prompts with state-of-the-art AI. Supports multiple aspect ratios, styles, and high-resolution output for creative and commercial use. - [Creative Upscaler](/model-api-reference/image-generation/sandbase-ai/creative-upscaler) — Creative Upscaler is sandbase-ai's intelligent image editing model. Transform, retouch, and reimagine existing images using text prompts - from background replacement to artistic style conversion. -### Sonilo - -- [V1.1 Video to Sound Effects](/model-api-reference/image-generation/sonilo/1.1/video-to-sound-effects) — 1.1 Video To Sound Effects by Sonilo - advanced AI model for video-to-audio. Delivers high-quality results with fast inference, suitable for both creative and production workflows. -- [V1.1](/model-api-reference/image-generation/sonilo/1.1/video-to-music) — 1.1 Video To Music by Sonilo - advanced AI model for video-to-audio. Delivers high-quality results with fast inference, suitable for both creative and production workflows. - ### Stability AI - [Stable Diffusion 3.5 Large](/model-api-reference/image-generation/stability-ai/sd/3.5-large) — Sd 3.5 Large by stability-ai - generate stunning images from text prompts with state-of-the-art AI. Supports multiple aspect ratios, styles, and high-resolution output for creative and commercial use. @@ -343,14 +317,6 @@ Image Generation models use the SandBase generation protocol declared in each mo - [Stable Diffusion v1.5](/model-api-reference/image-generation/stability-ai/stable-diffusion-v15) — Stable Diffusion V15 by Stability AI - generate stunning images from text prompts with state-of-the-art AI. Supports multiple aspect ratios, styles, and high-resolution output for creative and commercial use. - …and 3 more models in the sidebar. -### Sync Labs - -- [sync-3 Lipsync](/model-api-reference/image-generation/sync/lipsync/v3) — Lipsync V3 by Sync Labs - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. -- [Sync React-1](/model-api-reference/image-generation/sync/lipsync/react-1) — Lipsync React 1 is Sync Labs's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. -- [Sync Lipsync](/model-api-reference/image-generation/sync/lipsync/v2/pro) — Lipsync V2 Pro by Sync Labs - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. -- [Sync Lipsync 2.0](/model-api-reference/image-generation/sync/lipsync/v2) — Lipsync V2 by Sync Labs - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. -- [sync.so -- lipsync 1.9.0-beta](/model-api-reference/image-generation/sync/sync-lipsync) — Sync Lipsync by Sync Labs - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. - ### Tencent - [Hunyuan 3D 3.1 Rapid Text to 3D](/model-api-reference/image-generation/tencent/hunyuan-3d/3.1/rapid/text-to-3d) — Hunyuan 3d 3.1 Rapid is Tencent's text-to-3D AI model. Turn written descriptions into textured 3D objects with realistic geometry and materials. @@ -395,10 +361,6 @@ Image Generation models use the SandBase generation protocol declared in each mo - [Tripo P1 Text to 3D](/model-api-reference/image-generation/tripo3d/tripo-p1/text-to-3d) — Tripo P1 is Tripo3D's text-to-3D AI model. Turn written descriptions into textured 3D objects with realistic geometry and materials. - [Tripo P1 Image to 3D](/model-api-reference/image-generation/tripo3d/tripo-p1/image-to-3d) — Tripo P1 by Tripo3D - convert 2D images into 3D models with AI. Generate textured 3D assets from single photos for games, AR/VR, e-commerce, and digital content creation. -### VEED - -- [Subtitles](/model-api-reference/image-generation/veed/subtitles) — Subtitles is VEED's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. - ### Vidu - [Vidu Q2 Reference to Image](/model-api-reference/image-generation/vidu/q2/reference-to-image) — Vidu Q2 Reference To Image by Shengshu - AI-powered image editing, style transfer, and transformation. Edit photos with natural language instructions, remove backgrounds, change styles, and enhance images effortlessly. @@ -409,9 +371,7 @@ Image Generation models use the SandBase generation protocol declared in each mo - [Grok Imagine Image Quality](/model-api-reference/image-generation/xai/grok-imagine-image/quality) — Grok Imagine Image Quality by xAI - generate stunning images from text prompts with state-of-the-art AI. Supports multiple aspect ratios, styles, and high-resolution output for creative and commercial use. - [Grok Imagine Image Quality Edit](/model-api-reference/image-generation/xai/grok-imagine-image/quality/edit) — Grok Imagine Image Quality Edit is xAI's intelligent image editing model. Transform, retouch, and reimagine existing images using text prompts - from background replacement to artistic style conversion. -- [Grok Imagine Video Extend](/model-api-reference/image-generation/xai/grok-imagine-video/extend) — Grok Imagine Video Extend is xAI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. - [Grok Imagine Image Edit](/model-api-reference/image-generation/xai/grok-imagine-image/edit) — Grok Imagine Image Edit is xAI's intelligent image editing model. Transform, retouch, and reimagine existing images using text prompts - from background replacement to artistic style conversion. -- [Grok Imagine Video Edit](/model-api-reference/image-generation/xai/grok-imagine-video/edit) — Grok Imagine Video Edit is xAI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. ### zhipu diff --git a/model-api-reference/image-generation/alibaba/wan-vace.md b/model-api-reference/image-generation/alibaba/wan-vace.md index f4138bd6..4a33f092 100644 --- a/model-api-reference/image-generation/alibaba/wan-vace.md +++ b/model-api-reference/image-generation/alibaba/wan-vace.md @@ -1,21 +1,10 @@ --- -title: "Vace API Reference" -description: "Vace API reference for SandBase. Use model alibaba/wan-vace with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/alibaba/wan-vace" -apiReferenceJson: "{\"title\":\"Vace\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Wan Vace by Alibaba - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to alibaba/wan-vace.\",\"default\":\"alibaba/wan-vace\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"The text prompt to guide video generation.\"},{\"name\":\"aspect_ratio\",\"type\":\"string\",\"required\":false,\"description\":\"The aspect ratio of the generated image.\",\"constraints\":\"Allowed values: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16\"},{\"name\":\"mask\",\"type\":\"string\",\"required\":false,\"description\":\"URL to the guiding mask file. If provided, the model will use this mask as a reference to create masked video. If provided mask video url will be ignored.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL to the source video file. If provided, the model will use this video as a reference.\"},{\"name\":\"resolution\",\"type\":\"string\",\"required\":false,\"description\":\"Resolution of the generated video (480p,580p, or 720p).\",\"default\":\"720p\",\"constraints\":\"Allowed values: 480p, 580p, 720p\"},{\"name\":\"num_inference_steps\",\"type\":\"integer\",\"required\":false,\"description\":\"Number of inference steps for sampling. Higher values give better quality but take longer.\",\"default\":\"30\",\"constraints\":\"Range: 2 to 40\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"Random seed for reproducibility. If None, a random seed is chosen.\"},{\"name\":\"preprocess\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to preprocess the input video.\",\"default\":\"false\"},{\"name\":\"shift\",\"type\":\"number\",\"required\":false,\"description\":\"Shift parameter for video generation.\",\"default\":\"5\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"mask_video_url\",\"type\":\"string\",\"required\":false,\"description\":\"URL to the source mask file. If provided, the model will use this mask as a reference.\"},{\"name\":\"num_frames\",\"type\":\"integer\",\"required\":false,\"description\":\"Number of frames to generate. Must be between 81 to 100 (inclusive). Works only with only reference images as input if source video or mask video is provided output len would be same as source up to 241 frames\",\"default\":\"81\",\"constraints\":\"Range: 81 to 240\"},{\"name\":\"task\",\"type\":\"string\",\"required\":false,\"description\":\"Task type for the model.\",\"default\":\"depth\",\"constraints\":\"Allowed values: depth, inpainting\"},{\"name\":\"ref_image_urls\",\"type\":\"array\",\"required\":false,\"description\":\"Urls to source reference image. If provided, the model will use this image as reference.\"},{\"name\":\"frames_per_second\",\"type\":\"integer\",\"required\":false,\"description\":\"Frames per second of the generated video. Must be between 5 to 24.\",\"default\":\"16\",\"constraints\":\"Range: 5 to 24\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"alibaba/wan-vace\\\",\\n \\\"prompt\\\": \\\"The video shows a man riding a horse on a vast grassland. He has long lavender hair and wears a traditional dress of a white top and black pants. The animation style makes him look like he is doing some kind of outdoor activity or performing. The background is a spectacular mountain range and cloud sky, giving a sense of tranquility and vastness. The entire video is shot from a fixed angle, focusing on the rider and his horse.\\\",\\n \\\"aspect_ratio\\\": \\\"21:9\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/alibaba/wan-vace/input_video_0.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"alibaba/wan-vace\\\",\\n \\\"prompt\\\": \\\"The video shows a man riding a horse on a vast grassland. He has long lavender hair and wears a traditional dress of a white top and black pants. The animation style makes him look like he is doing some kind of outdoor activity or performing. The background is a spectacular mountain range and cloud sky, giving a sense of tranquility and vastness. The entire video is shot from a fixed angle, focusing on the rider and his horse.\\\",\\n \\\"aspect_ratio\\\": \\\"21:9\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/alibaba/wan-vace/input_video_0.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"alibaba/wan-vace\\\",\\n \\\"prompt\\\": \\\"The video shows a man riding a horse on a vast grassland. He has long lavender hair and wears a traditional dress of a white top and black pants. The animation style makes him look like he is doing some kind of outdoor activity or performing. The background is a spectacular mountain range and cloud sky, giving a sense of tranquility and vastness. The entire video is shot from a fixed angle, focusing on the rider and his horse.\\\",\\n \\\"aspect_ratio\\\": \\\"21:9\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/alibaba/wan-vace/input_video_0.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"alibaba/wan-vace\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Vace" - modelId: "alibaba/wan-vace" - vendor: "Alibaba" - vendorSlug: "alibaba" - modelSlug: "wan-vace" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2025-04-11T20:48:26.011Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Vace reference moved" +description: "The alibaba/wan-vace reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/alibaba/wan-vace +robots: noindex,follow --- - +# This page has moved + +`alibaba/wan-vace` is a video model. Its API reference now lives at [Vace](/model-api-reference/video-generation/alibaba/wan-vace) under Video Generation. diff --git a/model-api-reference/image-generation/bytedance/seedvr/upscale/video.md b/model-api-reference/image-generation/bytedance/seedvr/upscale/video.md index f9be3353..14fd8286 100644 --- a/model-api-reference/image-generation/bytedance/seedvr/upscale/video.md +++ b/model-api-reference/image-generation/bytedance/seedvr/upscale/video.md @@ -1,21 +1,10 @@ --- -title: "SeedVR2 API Reference — ByteDance Seedvr / Upscale / Video API" -description: "SeedVR2 API reference for SandBase. Use model bytedance/seedvr/upscale/video with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/bytedance/seedvr/upscale/video" -apiReferenceJson: "{\"title\":\"SeedVR2\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Seedvr Upscale Video by ByteDance - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to bytedance/seedvr/upscale/video.\",\"default\":\"bytedance/seedvr/upscale/video\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"The input video to be processed\"},{\"name\":\"output_format\",\"type\":\"string\",\"required\":false,\"description\":\"The format of the output video.\",\"default\":\"X264 (.mp4)\",\"constraints\":\"Allowed values: X264 (.mp4), VP9 (.webm), PRORES4444 (.mov), GIF (.gif)\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"The random seed used for the generation process.\"},{\"name\":\"output_quality\",\"type\":\"string\",\"required\":false,\"description\":\"The quality of the output video.\",\"default\":\"high\",\"constraints\":\"Allowed values: low, medium, high, maximum\"},{\"name\":\"noise_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The noise scale to use for the generation process.\",\"default\":\"0.1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"target_resolution\",\"type\":\"string\",\"required\":false,\"description\":\"The target resolution to upscale to when `upscale_mode` is `target`.\",\"default\":\"1080p\",\"constraints\":\"Allowed values: 720p, 1080p, 1440p, 2160p\"},{\"name\":\"upscale_factor\",\"type\":\"number\",\"required\":false,\"description\":\"Upscaling factor to be used. Will multiply the dimensions with this factor when `upscale_mode` is `factor`.\",\"default\":\"2\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"output_write_mode\",\"type\":\"string\",\"required\":false,\"description\":\"The write mode of the output video.\",\"default\":\"balanced\",\"constraints\":\"Allowed values: fast, balanced, small\"},{\"name\":\"upscale_mode\",\"type\":\"string\",\"required\":false,\"description\":\"The mode to use for the upscale. If 'target', the upscale factor will be calculated based on the target resolution. If 'factor', the upscale factor will be used directly.\",\"default\":\"factor\",\"constraints\":\"Allowed values: target, factor\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"bytedance/seedvr/upscale/video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/bytedance/seedvr/upscale/video/input_video_0.mp4\\\",\\n \\\"output_format\\\": \\\"X264 (.mp4)\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"bytedance/seedvr/upscale/video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/bytedance/seedvr/upscale/video/input_video_0.mp4\\\",\\n \\\"output_format\\\": \\\"X264 (.mp4)\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"bytedance/seedvr/upscale/video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/bytedance/seedvr/upscale/video/input_video_0.mp4\\\",\\n \\\"output_format\\\": \\\"X264 (.mp4)\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"bytedance/seedvr/upscale/video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "SeedVR2" - modelId: "bytedance/seedvr/upscale/video" - vendor: "ByteDance" - vendorSlug: "bytedance" - modelSlug: "seedvr/upscale/video" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2025-09-22T18:29:49.293Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "SeedVR2 reference moved" +description: "The bytedance/seedvr/upscale/video reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/bytedance/seedvr/upscale/video +robots: noindex,follow --- - +# This page has moved + +`bytedance/seedvr/upscale/video` is a video model. Its API reference now lives at [SeedVR2](/model-api-reference/video-generation/bytedance/seedvr/upscale/video) under Video Generation. diff --git a/model-api-reference/image-generation/kwaivgi/kling-video/create-voice.md b/model-api-reference/image-generation/kwaivgi/kling-video/create-voice.md index 797ac53f..d6da1763 100644 --- a/model-api-reference/image-generation/kwaivgi/kling-video/create-voice.md +++ b/model-api-reference/image-generation/kwaivgi/kling-video/create-voice.md @@ -1,21 +1,10 @@ --- -title: "Kling Video Create Voice API Reference" -description: "Kling Video Create Voice API reference for SandBase. Use model kwaivgi/kling-video/create-voice with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/kwaivgi/kling-video/create-voice" -apiReferenceJson: "{\"title\":\"Kling Video Create Voice\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video Create Voice by KwaiVGI - advanced AI model for audio-to-audio. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/create-voice.\",\"default\":\"kwaivgi/kling-video/create-voice\"},{\"name\":\"voice_url\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the voice audio file. Supports .mp3/.wav audio or .mp4/.mov video. Duration must be 5-30 seconds with clean, single-voice audio.\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"audio-to-audio\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/create-voice\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/create-voice\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/create-voice\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/create-voice\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Kling Video Create Voice" - modelId: "kwaivgi/kling-video/create-voice" - vendor: "KwaiVGI" - vendorSlug: "kwaivgi" - modelSlug: "kling-video/create-voice" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2025-12-16T15:32:04.208Z" - capabilities: ["audio-to-audio"] - category: "Image Generation" +title: "Kling Video Create Voice reference moved" +description: "The kwaivgi/kling-video/create-voice reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/kwaivgi/kling-video/create-voice +robots: noindex,follow --- - +# This page has moved + +`kwaivgi/kling-video/create-voice` is a video model. Its API reference now lives at [Kling Video Create Voice](/model-api-reference/video-generation/kwaivgi/kling-video/create-voice) under Video Generation. diff --git a/model-api-reference/image-generation/kwaivgi/kling-video/o1/pro/edit.md b/model-api-reference/image-generation/kwaivgi/kling-video/o1/pro/edit.md index 104c94ab..8692b665 100644 --- a/model-api-reference/image-generation/kwaivgi/kling-video/o1/pro/edit.md +++ b/model-api-reference/image-generation/kwaivgi/kling-video/o1/pro/edit.md @@ -1,21 +1,10 @@ --- -title: "Kling Video O1 Pro API Reference — KwaiVGI / O1 / Pro / Edit" -description: "Kling Video O1 Pro API reference for SandBase. Use model kwaivgi/kling-video/o1/pro/edit with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/kwaivgi/kling-video/o1/pro/edit" -apiReferenceJson: "{\"title\":\"Kling Video O1 Pro\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video O1 Pro is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/o1/pro/edit.\",\"default\":\"kwaivgi/kling-video/o1/pro/edit\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Use @Element1, @Element2 to reference elements and @Image1, @Image2 to reference images in order.\"},{\"name\":\"images\",\"type\":\"array\",\"required\":false,\"description\":\"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. Only .mp4/.mov formats supported, 3-10 seconds duration, 720-2160px resolution, max 200MB. Max file size: 200.0MB, Min width: 720px, Min height: 720px, Max width: 2160px, Max height: 2160px, Min duration: 3.0s, Max duration: 10.05s, Min FPS: 24.0, Max FPS: 60.0, Timeout: 30.0s\"},{\"name\":\"keep_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original audio from the video.\",\"default\":\"false\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/pro/edit\\\",\\n \\\"prompt\\\": \\\"Replace the character in the video with @Element1, maintaining the same movements and camera angles. Transform the landscape into @Image1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/2038bf1f9c5a-ku8_Wdpf-oTbGRq4lB5DU_output.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/pro/edit\\\",\\n \\\"prompt\\\": \\\"Replace the character in the video with @Element1, maintaining the same movements and camera angles. Transform the landscape into @Image1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/2038bf1f9c5a-ku8_Wdpf-oTbGRq4lB5DU_output.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/pro/edit\\\",\\n \\\"prompt\\\": \\\"Replace the character in the video with @Element1, maintaining the same movements and camera angles. Transform the landscape into @Image1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/2038bf1f9c5a-ku8_Wdpf-oTbGRq4lB5DU_output.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/pro/edit\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Kling Video O1 Pro" - modelId: "kwaivgi/kling-video/o1/pro/edit" - vendor: "KwaiVGI" - vendorSlug: "kwaivgi" - modelSlug: "kling-video/o1/pro/edit" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2025-12-01T11:29:19.531Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Kling Video O1 Pro reference moved" +description: "The kwaivgi/kling-video/o1/pro/edit reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/kwaivgi/kling-video/o1/pro/edit +robots: noindex,follow --- - +# This page has moved + +`kwaivgi/kling-video/o1/pro/edit` is a video model. Its API reference now lives at [Kling Video O1 Pro](/model-api-reference/video-generation/kwaivgi/kling-video/o1/pro/edit) under Video Generation. diff --git a/model-api-reference/image-generation/kwaivgi/kling-video/o1/pro/video-to-video.md b/model-api-reference/image-generation/kwaivgi/kling-video/o1/pro/video-to-video.md index a6e194f0..f44ac19f 100644 --- a/model-api-reference/image-generation/kwaivgi/kling-video/o1/pro/video-to-video.md +++ b/model-api-reference/image-generation/kwaivgi/kling-video/o1/pro/video-to-video.md @@ -1,21 +1,10 @@ --- -title: "Kling Video O1 Pro API Reference — KwaiVGI / Pro / Video To Video" -description: "Kling Video O1 Pro API reference for SandBase. Use model kwaivgi/kling-video/o1/pro/video-to-video with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/kwaivgi/kling-video/o1/pro/video-to-video" -apiReferenceJson: "{\"title\":\"Kling Video O1 Pro\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video O1 Pro by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/o1/pro/video-to-video.\",\"default\":\"kwaivgi/kling-video/o1/pro/video-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Use @Element1, @Element2 to reference elements and @Image1, @Image2 to reference images in order.\"},{\"name\":\"images\",\"type\":\"array\",\"required\":false,\"description\":\"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. Only .mp4/.mov formats supported, 3-10 seconds duration, 720-2160px resolution, max 200MB. Max file size: 200.0MB, Min width: 720px, Min height: 720px, Max width: 2160px, Max height: 2160px, Min duration: 3.0s, Max duration: 10.05s, Min FPS: 24.0, Max FPS: 60.0, Timeout: 30.0s\"},{\"name\":\"duration\",\"type\":\"integer\",\"required\":false,\"description\":\"Video duration in seconds.\",\"default\":\"5\",\"constraints\":\"Allowed values: 3, 4, 5, 6, 7, 8, 9, 10\"},{\"name\":\"keep_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original audio from the video.\",\"default\":\"false\"},{\"name\":\"aspect_ratio\",\"type\":\"string\",\"required\":false,\"description\":\"The aspect ratio of the generated image.\",\"constraints\":\"Allowed values: 16:9, 9:16, 1:1\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/pro/video-to-video\\\",\\n \\\"prompt\\\": \\\"Based on @Video1, generate the next shot. keep the style of the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/ee8d5dc74ad3-oVdiICFXY03Vbam-08Aj8_output.mp4\\\",\\n \\\"duration\\\": 5,\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/pro/video-to-video\\\",\\n \\\"prompt\\\": \\\"Based on @Video1, generate the next shot. keep the style of the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/ee8d5dc74ad3-oVdiICFXY03Vbam-08Aj8_output.mp4\\\",\\n \\\"duration\\\": 5,\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/pro/video-to-video\\\",\\n \\\"prompt\\\": \\\"Based on @Video1, generate the next shot. keep the style of the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/ee8d5dc74ad3-oVdiICFXY03Vbam-08Aj8_output.mp4\\\",\\n \\\"duration\\\": 5,\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/pro/video-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Kling Video O1 Pro" - modelId: "kwaivgi/kling-video/o1/pro/video-to-video" - vendor: "KwaiVGI" - vendorSlug: "kwaivgi" - modelSlug: "kling-video/o1/pro/video-to-video" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2025-12-01T11:25:09.487Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Kling Video O1 Pro reference moved" +description: "The kwaivgi/kling-video/o1/pro/video-to-video reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/kwaivgi/kling-video/o1/pro/video-to-video +robots: noindex,follow --- - +# This page has moved + +`kwaivgi/kling-video/o1/pro/video-to-video` is a video model. Its API reference now lives at [Kling Video O1 Pro](/model-api-reference/video-generation/kwaivgi/kling-video/o1/pro/video-to-video) under Video Generation. diff --git a/model-api-reference/image-generation/kwaivgi/kling-video/o1/standard/edit.md b/model-api-reference/image-generation/kwaivgi/kling-video/o1/standard/edit.md index 0b2a602e..c9e143bb 100644 --- a/model-api-reference/image-generation/kwaivgi/kling-video/o1/standard/edit.md +++ b/model-api-reference/image-generation/kwaivgi/kling-video/o1/standard/edit.md @@ -1,21 +1,10 @@ --- -title: "Kling Video O1 Standard API Reference — KwaiVGI / Standard / Edit" -description: "Kling Video O1 Standard API reference for SandBase. Use model kwaivgi/kling-video/o1/standard/edit with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/kwaivgi/kling-video/o1/standard/edit" -apiReferenceJson: "{\"title\":\"Kling Video O1 Standard\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video O1 Standard by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/o1/standard/edit.\",\"default\":\"kwaivgi/kling-video/o1/standard/edit\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Use @Element1, @Element2 to reference elements and @Image1, @Image2 to reference images in order.\"},{\"name\":\"images\",\"type\":\"array\",\"required\":false,\"description\":\"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. Only .mp4/.mov formats supported, 3-10 seconds duration, 720-2160px resolution, max 200MB. Max file size: 200.0MB, Min width: 720px, Min height: 720px, Max width: 2160px, Max height: 2160px, Min duration: 3.0s, Max duration: 10.05s, Min FPS: 24.0, Max FPS: 60.0, Timeout: 30.0s\"},{\"name\":\"keep_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original audio from the video.\",\"default\":\"false\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/standard/edit\\\",\\n \\\"prompt\\\": \\\"Replace the character in the video with @Element1, maintaining the same movements and camera angles. Transform the landscape into @Image1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/2038bf1f9c5a-ku8_Wdpf-oTbGRq4lB5DU_output.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/standard/edit\\\",\\n \\\"prompt\\\": \\\"Replace the character in the video with @Element1, maintaining the same movements and camera angles. Transform the landscape into @Image1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/2038bf1f9c5a-ku8_Wdpf-oTbGRq4lB5DU_output.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/standard/edit\\\",\\n \\\"prompt\\\": \\\"Replace the character in the video with @Element1, maintaining the same movements and camera angles. Transform the landscape into @Image1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/2038bf1f9c5a-ku8_Wdpf-oTbGRq4lB5DU_output.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/standard/edit\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Kling Video O1 Standard" - modelId: "kwaivgi/kling-video/o1/standard/edit" - vendor: "KwaiVGI" - vendorSlug: "kwaivgi" - modelSlug: "kling-video/o1/standard/edit" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2025-12-15T09:34:39.306Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Kling Video O1 Standard reference moved" +description: "The kwaivgi/kling-video/o1/standard/edit reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/kwaivgi/kling-video/o1/standard/edit +robots: noindex,follow --- - +# This page has moved + +`kwaivgi/kling-video/o1/standard/edit` is a video model. Its API reference now lives at [Kling Video O1 Standard](/model-api-reference/video-generation/kwaivgi/kling-video/o1/standard/edit) under Video Generation. diff --git a/model-api-reference/image-generation/kwaivgi/kling-video/o1/standard/video-to-video.md b/model-api-reference/image-generation/kwaivgi/kling-video/o1/standard/video-to-video.md index f26dcdf9..d642fc48 100644 --- a/model-api-reference/image-generation/kwaivgi/kling-video/o1/standard/video-to-video.md +++ b/model-api-reference/image-generation/kwaivgi/kling-video/o1/standard/video-to-video.md @@ -1,21 +1,10 @@ --- -title: "Kling Video O1 Standard API Reference — KwaiVGI / Video To Video" -description: "Kling Video O1 Standard API reference for SandBase. Use model kwaivgi/kling-video/o1/standard/video-to-video with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/kwaivgi/kling-video/o1/standard/video-to-video" -apiReferenceJson: "{\"title\":\"Kling Video O1 Standard\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video O1 Standard is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/o1/standard/video-to-video.\",\"default\":\"kwaivgi/kling-video/o1/standard/video-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Use @Element1, @Element2 to reference elements and @Image1, @Image2 to reference images in order.\"},{\"name\":\"images\",\"type\":\"array\",\"required\":false,\"description\":\"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. Only .mp4/.mov formats supported, 3-10 seconds duration, 720-2160px resolution, max 200MB. Max file size: 200.0MB, Min width: 720px, Min height: 720px, Max width: 2160px, Max height: 2160px, Min duration: 3.0s, Max duration: 10.05s, Min FPS: 24.0, Max FPS: 60.0, Timeout: 30.0s\"},{\"name\":\"duration\",\"type\":\"integer\",\"required\":false,\"description\":\"Video duration in seconds.\",\"default\":\"5\",\"constraints\":\"Allowed values: 3, 4, 5, 6, 7, 8, 9, 10\"},{\"name\":\"keep_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original audio from the video.\",\"default\":\"false\"},{\"name\":\"aspect_ratio\",\"type\":\"string\",\"required\":false,\"description\":\"The aspect ratio of the generated image.\",\"constraints\":\"Allowed values: 16:9, 9:16, 1:1\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/standard/video-to-video\\\",\\n \\\"prompt\\\": \\\"Based on @Video1, generate the next shot. keep the style of the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/ee8d5dc74ad3-oVdiICFXY03Vbam-08Aj8_output.mp4\\\",\\n \\\"duration\\\": 5,\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/standard/video-to-video\\\",\\n \\\"prompt\\\": \\\"Based on @Video1, generate the next shot. keep the style of the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/ee8d5dc74ad3-oVdiICFXY03Vbam-08Aj8_output.mp4\\\",\\n \\\"duration\\\": 5,\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/standard/video-to-video\\\",\\n \\\"prompt\\\": \\\"Based on @Video1, generate the next shot. keep the style of the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/ee8d5dc74ad3-oVdiICFXY03Vbam-08Aj8_output.mp4\\\",\\n \\\"duration\\\": 5,\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/standard/video-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Kling Video O1 Standard" - modelId: "kwaivgi/kling-video/o1/standard/video-to-video" - vendor: "KwaiVGI" - vendorSlug: "kwaivgi" - modelSlug: "kling-video/o1/standard/video-to-video" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2025-12-15T09:36:27.69Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Kling Video O1 Standard reference moved" +description: "The kwaivgi/kling-video/o1/standard/video-to-video reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/kwaivgi/kling-video/o1/standard/video-to-video +robots: noindex,follow --- - +# This page has moved + +`kwaivgi/kling-video/o1/standard/video-to-video` is a video model. Its API reference now lives at [Kling Video O1 Standard](/model-api-reference/video-generation/kwaivgi/kling-video/o1/standard/video-to-video) under Video Generation. diff --git a/model-api-reference/image-generation/kwaivgi/kling-video/o3/pro/edit.md b/model-api-reference/image-generation/kwaivgi/kling-video/o3/pro/edit.md index aa151d76..4f573b0a 100644 --- a/model-api-reference/image-generation/kwaivgi/kling-video/o3/pro/edit.md +++ b/model-api-reference/image-generation/kwaivgi/kling-video/o3/pro/edit.md @@ -1,21 +1,10 @@ --- -title: "Kling Video O3 Pro API Reference — KwaiVGI / O3 / Pro / Edit" -description: "Kling Video O3 Pro API reference for SandBase. Use model kwaivgi/kling-video/o3/pro/edit with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/kwaivgi/kling-video/o3/pro/edit" -apiReferenceJson: "{\"title\":\"Kling Video O3 Pro\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video O3 Pro is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/o3/pro/edit.\",\"default\":\"kwaivgi/kling-video/o3/pro/edit\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt for video generation. Reference video as @Video1.\"},{\"name\":\"images\",\"type\":\"array\",\"required\":false,\"description\":\"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. Only .mp4/.mov formats, 3-10s duration, 720-2160px resolution, max 200MB.\"},{\"name\":\"shot_type\",\"type\":\"string\",\"required\":false,\"description\":\"The type of multi-shot video generation.\",\"default\":\"customize\"},{\"name\":\"keep_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original audio from the reference video.\",\"default\":\"true\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/pro/edit\\\",\\n \\\"prompt\\\": \\\"Change environment to be fully snow as @Image1. Replace animal with @Element1\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-edit/video_reference.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/pro/edit\\\",\\n \\\"prompt\\\": \\\"Change environment to be fully snow as @Image1. Replace animal with @Element1\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/Falserverless/example_inputs/kling-o3/pro-v2v-edit/video_reference.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/pro/edit\\\",\\n \\\"prompt\\\": \\\"Change environment to be fully snow as @Image1. Replace animal with @Element1\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-edit/video_reference.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/pro/edit\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Kling Video O3 Pro" - modelId: "kwaivgi/kling-video/o3/pro/edit" - vendor: "KwaiVGI" - vendorSlug: "kwaivgi" - modelSlug: "kling-video/o3/pro/edit" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-02-04T15:48:44.935Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Kling Video O3 Pro reference moved" +description: "The kwaivgi/kling-video/o3/pro/edit reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/kwaivgi/kling-video/o3/pro/edit +robots: noindex,follow --- - +# This page has moved + +`kwaivgi/kling-video/o3/pro/edit` is a video model. Its API reference now lives at [Kling Video O3 Pro](/model-api-reference/video-generation/kwaivgi/kling-video/o3/pro/edit) under Video Generation. diff --git a/model-api-reference/image-generation/kwaivgi/kling-video/o3/pro/video-to-video.md b/model-api-reference/image-generation/kwaivgi/kling-video/o3/pro/video-to-video.md index 9d9170be..99b4acf3 100644 --- a/model-api-reference/image-generation/kwaivgi/kling-video/o3/pro/video-to-video.md +++ b/model-api-reference/image-generation/kwaivgi/kling-video/o3/pro/video-to-video.md @@ -1,21 +1,10 @@ --- -title: "Kling Video O3 Pro API Reference — KwaiVGI / Pro / Video To Video" -description: "Kling Video O3 Pro API reference for SandBase. Use model kwaivgi/kling-video/o3/pro/video-to-video with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/kwaivgi/kling-video/o3/pro/video-to-video" -apiReferenceJson: "{\"title\":\"Kling Video O3 Pro\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video O3 Pro by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/o3/pro/video-to-video.\",\"default\":\"kwaivgi/kling-video/o3/pro/video-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt for video generation. Reference video as @Video1.\"},{\"name\":\"images\",\"type\":\"array\",\"required\":false,\"description\":\"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. Only .mp4/.mov formats, 3-10s duration, 720-2160px resolution, max 200MB.\"},{\"name\":\"duration\",\"type\":\"integer\",\"required\":false,\"description\":\"Video duration in seconds (3-15s for reference video).\",\"constraints\":\"Allowed values: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15\"},{\"name\":\"keep_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original audio from the reference video.\",\"default\":\"true\"},{\"name\":\"shot_type\",\"type\":\"string\",\"required\":false,\"description\":\"The type of multi-shot video generation.\",\"default\":\"customize\"},{\"name\":\"aspect_ratio\",\"type\":\"string\",\"required\":false,\"description\":\"The aspect ratio of the generated image.\",\"constraints\":\"Allowed values: 16:9, 9:16, 1:1\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/pro/video-to-video\\\",\\n \\\"prompt\\\": \\\"Integrate @Element1 in the scene. Style video should be following watercolor style of @Image1\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-reference/video_reference.mp4\\\",\\n \\\"duration\\\": \\\"5\\\",\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/pro/video-to-video\\\",\\n \\\"prompt\\\": \\\"Integrate @Element1 in the scene. Style video should be following watercolor style of @Image1\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/Falserverless/example_inputs/kling-o3/pro-v2v-reference/video_reference.mp4\\\",\\n \\\"duration\\\": \\\"5\\\",\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/pro/video-to-video\\\",\\n \\\"prompt\\\": \\\"Integrate @Element1 in the scene. Style video should be following watercolor style of @Image1\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-reference/video_reference.mp4\\\",\\n \\\"duration\\\": \\\"5\\\",\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/pro/video-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Kling Video O3 Pro" - modelId: "kwaivgi/kling-video/o3/pro/video-to-video" - vendor: "KwaiVGI" - vendorSlug: "kwaivgi" - modelSlug: "kling-video/o3/pro/video-to-video" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-02-04T15:48:44.935Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Kling Video O3 Pro reference moved" +description: "The kwaivgi/kling-video/o3/pro/video-to-video reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/kwaivgi/kling-video/o3/pro/video-to-video +robots: noindex,follow --- - +# This page has moved + +`kwaivgi/kling-video/o3/pro/video-to-video` is a video model. Its API reference now lives at [Kling Video O3 Pro](/model-api-reference/video-generation/kwaivgi/kling-video/o3/pro/video-to-video) under Video Generation. diff --git a/model-api-reference/image-generation/kwaivgi/kling-video/o3/standard/edit.md b/model-api-reference/image-generation/kwaivgi/kling-video/o3/standard/edit.md index a2b358fc..8f9178c6 100644 --- a/model-api-reference/image-generation/kwaivgi/kling-video/o3/standard/edit.md +++ b/model-api-reference/image-generation/kwaivgi/kling-video/o3/standard/edit.md @@ -1,21 +1,10 @@ --- -title: "Kling Video O3 Standard API Reference — KwaiVGI / Standard / Edit" -description: "Kling Video O3 Standard API reference for SandBase. Use model kwaivgi/kling-video/o3/standard/edit with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/kwaivgi/kling-video/o3/standard/edit" -apiReferenceJson: "{\"title\":\"Kling Video O3 Standard\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video O3 Standard by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/o3/standard/edit.\",\"default\":\"kwaivgi/kling-video/o3/standard/edit\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt for video generation. Reference video as @Video1.\"},{\"name\":\"images\",\"type\":\"array\",\"required\":false,\"description\":\"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. Only .mp4/.mov formats, 3-10s duration, 720-2160px resolution, max 200MB.\"},{\"name\":\"shot_type\",\"type\":\"string\",\"required\":false,\"description\":\"The type of multi-shot video generation.\",\"default\":\"customize\"},{\"name\":\"keep_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original audio from the reference video.\",\"default\":\"true\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/standard/edit\\\",\\n \\\"prompt\\\": \\\"change the main character to be Popeye from @Element1, dark lighting and rain, 3d character. make him sad, with rain dropping on him, dark light on the character.\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/kling-o3/standard-v2v-edit/standard_video_reference.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/standard/edit\\\",\\n \\\"prompt\\\": \\\"change the main character to be Popeye from @Element1, dark lighting and rain, 3d character. make him sad, with rain dropping on him, dark light on the character.\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/Falserverless/example_inputs/kling-o3/standard-v2v-edit/standard_video_reference.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/standard/edit\\\",\\n \\\"prompt\\\": \\\"change the main character to be Popeye from @Element1, dark lighting and rain, 3d character. make him sad, with rain dropping on him, dark light on the character.\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/kling-o3/standard-v2v-edit/standard_video_reference.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/standard/edit\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Kling Video O3 Standard" - modelId: "kwaivgi/kling-video/o3/standard/edit" - vendor: "KwaiVGI" - vendorSlug: "kwaivgi" - modelSlug: "kling-video/o3/standard/edit" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-02-04T15:48:44.935Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Kling Video O3 Standard reference moved" +description: "The kwaivgi/kling-video/o3/standard/edit reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/kwaivgi/kling-video/o3/standard/edit +robots: noindex,follow --- - +# This page has moved + +`kwaivgi/kling-video/o3/standard/edit` is a video model. Its API reference now lives at [Kling Video O3 Standard](/model-api-reference/video-generation/kwaivgi/kling-video/o3/standard/edit) under Video Generation. diff --git a/model-api-reference/image-generation/kwaivgi/kling-video/o3/standard/video-to-video.md b/model-api-reference/image-generation/kwaivgi/kling-video/o3/standard/video-to-video.md index ee65fbf2..a0833d4e 100644 --- a/model-api-reference/image-generation/kwaivgi/kling-video/o3/standard/video-to-video.md +++ b/model-api-reference/image-generation/kwaivgi/kling-video/o3/standard/video-to-video.md @@ -1,21 +1,10 @@ --- -title: "Kling Video O3 Standard API Reference — KwaiVGI / Video To Video" -description: "Kling Video O3 Standard API reference for SandBase. Use model kwaivgi/kling-video/o3/standard/video-to-video with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/kwaivgi/kling-video/o3/standard/video-to-video" -apiReferenceJson: "{\"title\":\"Kling Video O3 Standard\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video O3 Standard is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/o3/standard/video-to-video.\",\"default\":\"kwaivgi/kling-video/o3/standard/video-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt for video generation. Reference video as @Video1.\"},{\"name\":\"images\",\"type\":\"array\",\"required\":false,\"description\":\"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. Only .mp4/.mov formats, 3-10s duration, 720-2160px resolution, max 200MB.\"},{\"name\":\"duration\",\"type\":\"integer\",\"required\":false,\"description\":\"Video duration in seconds (3-15s for reference video).\",\"constraints\":\"Allowed values: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15\"},{\"name\":\"shot_type\",\"type\":\"string\",\"required\":false,\"description\":\"The type of multi-shot video generation.\",\"default\":\"customize\"},{\"name\":\"keep_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original audio from the reference video.\",\"default\":\"true\"},{\"name\":\"aspect_ratio\",\"type\":\"string\",\"required\":false,\"description\":\"The aspect ratio of the generated image.\",\"constraints\":\"Allowed values: 16:9, 9:16, 1:1\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/standard/video-to-video\\\",\\n \\\"prompt\\\": \\\"Replace both character with @Element1 and @Element2\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/kling-o3/standard-v2v-reference/video_reference.mp4\\\",\\n \\\"duration\\\": \\\"5\\\",\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/standard/video-to-video\\\",\\n \\\"prompt\\\": \\\"Replace both character with @Element1 and @Element2\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/Falserverless/example_inputs/kling-o3/standard-v2v-reference/video_reference.mp4\\\",\\n \\\"duration\\\": \\\"5\\\",\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/standard/video-to-video\\\",\\n \\\"prompt\\\": \\\"Replace both character with @Element1 and @Element2\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/kling-o3/standard-v2v-reference/video_reference.mp4\\\",\\n \\\"duration\\\": \\\"5\\\",\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/standard/video-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Kling Video O3 Standard" - modelId: "kwaivgi/kling-video/o3/standard/video-to-video" - vendor: "KwaiVGI" - vendorSlug: "kwaivgi" - modelSlug: "kling-video/o3/standard/video-to-video" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-02-04T15:48:44.935Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Kling Video O3 Standard reference moved" +description: "The kwaivgi/kling-video/o3/standard/video-to-video reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/kwaivgi/kling-video/o3/standard/video-to-video +robots: noindex,follow --- - +# This page has moved + +`kwaivgi/kling-video/o3/standard/video-to-video` is a video model. Its API reference now lives at [Kling Video O3 Standard](/model-api-reference/video-generation/kwaivgi/kling-video/o3/standard/video-to-video) under Video Generation. diff --git a/model-api-reference/image-generation/kwaivgi/kling-video/v2.6/pro/motion-control.md b/model-api-reference/image-generation/kwaivgi/kling-video/v2.6/pro/motion-control.md index 4a47f9ae..7536764c 100644 --- a/model-api-reference/image-generation/kwaivgi/kling-video/v2.6/pro/motion-control.md +++ b/model-api-reference/image-generation/kwaivgi/kling-video/v2.6/pro/motion-control.md @@ -1,21 +1,10 @@ --- -title: "Kling Video V2.6 Pro API Reference — KwaiVGI Pro / Motion Control" -description: "Kling Video V2.6 Pro API reference for SandBase. Use model kwaivgi/kling-video/v2.6/pro/motion-control with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/kwaivgi/kling-video/v2.6/pro/motion-control" -apiReferenceJson: "{\"title\":\"Kling Video V2.6 Pro\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video V2.6 Pro is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/v2.6/pro/motion-control.\",\"default\":\"kwaivgi/kling-video/v2.6/pro/motion-control\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt that describes the image or asset to generate.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"Reference image URL. The characters, backgrounds, and other elements in the generated video are based on this reference image. Characters should have clear body proportions, avoid occlusion, and occupy more than 5% of the image area.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. The character actions in the generated video will be consistent with this reference video. Should contain a realistic style character with entire body or upper body visible, including head, without obstruction. Duration limit depends on character_orientation: 10s max for 'image', 30s max for 'video'.\"},{\"name\":\"keep_original_sound\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original sound from the reference video.\",\"default\":\"true\"},{\"name\":\"character_orientation\",\"type\":\"string\",\"required\":false,\"description\":\"Controls whether the output character's orientation matches the reference image or video. 'video': orientation matches reference video - better for complex motions (max 30s). 'image': orientation matches reference image - better for following camera movements (max 10s).\",\"constraints\":\"Allowed values: image, video\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/v2.6/pro/motion-control\\\",\\n \\\"prompt\\\": \\\"An african american woman dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/v2.6/pro/motion-control\\\",\\n \\\"prompt\\\": \\\"An african american woman dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/v2.6/pro/motion-control\\\",\\n \\\"prompt\\\": \\\"An african american woman dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/v2.6/pro/motion-control\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Kling Video V2.6 Pro" - modelId: "kwaivgi/kling-video/v2.6/pro/motion-control" - vendor: "KwaiVGI" - vendorSlug: "kwaivgi" - modelSlug: "kling-video/v2.6/pro/motion-control" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2025-12-21T20:50:54.254Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Kling Video V2.6 Pro reference moved" +description: "The kwaivgi/kling-video/v2.6/pro/motion-control reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/kwaivgi/kling-video/v2.6/pro/motion-control +robots: noindex,follow --- - +# This page has moved + +`kwaivgi/kling-video/v2.6/pro/motion-control` is a video model. Its API reference now lives at [Kling Video V2.6 Pro](/model-api-reference/video-generation/kwaivgi/kling-video/v2.6/pro/motion-control) under Video Generation. diff --git a/model-api-reference/image-generation/kwaivgi/kling-video/v2.6/standard/motion-control.md b/model-api-reference/image-generation/kwaivgi/kling-video/v2.6/standard/motion-control.md index 416aca00..6b4393d4 100644 --- a/model-api-reference/image-generation/kwaivgi/kling-video/v2.6/standard/motion-control.md +++ b/model-api-reference/image-generation/kwaivgi/kling-video/v2.6/standard/motion-control.md @@ -1,21 +1,10 @@ --- -title: "Kling Video V2.6 Standard API Reference" -description: "Kling Video V2.6 Standard API reference for SandBase. Use model kwaivgi/kling-video/v2.6/standard/motion-control with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/kwaivgi/kling-video/v2.6/standard/motion-control" -apiReferenceJson: "{\"title\":\"Kling Video V2.6 Standard\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video V2.6 Standard by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/v2.6/standard/motion-control.\",\"default\":\"kwaivgi/kling-video/v2.6/standard/motion-control\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt that describes the image or asset to generate.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"Reference image URL. The characters, backgrounds, and other elements in the generated video are based on this reference image. Characters should have clear body proportions, avoid occlusion, and occupy more than 5% of the image area.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. The character actions in the generated video will be consistent with this reference video. Should contain a realistic style character with entire body or upper body visible, including head, without obstruction. Duration limit depends on character_orientation: 10s max for 'image', 30s max for 'video'.\"},{\"name\":\"character_orientation\",\"type\":\"string\",\"required\":false,\"description\":\"Controls whether the output character's orientation matches the reference image or video. 'video': orientation matches reference video - better for complex motions (max 30s). 'image': orientation matches reference image - better for following camera movements (max 10s).\",\"constraints\":\"Allowed values: image, video\"},{\"name\":\"keep_original_sound\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original sound from the reference video.\",\"default\":\"true\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/v2.6/standard/motion-control\\\",\\n \\\"prompt\\\": \\\"An african american woman dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/v2.6/standard/motion-control\\\",\\n \\\"prompt\\\": \\\"An african american woman dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/v2.6/standard/motion-control\\\",\\n \\\"prompt\\\": \\\"An african american woman dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/v2.6/standard/motion-control\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Kling Video V2.6 Standard" - modelId: "kwaivgi/kling-video/v2.6/standard/motion-control" - vendor: "KwaiVGI" - vendorSlug: "kwaivgi" - modelSlug: "kling-video/v2.6/standard/motion-control" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2025-12-21T20:50:57.333Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Kling Video V2.6 Standard reference moved" +description: "The kwaivgi/kling-video/v2.6/standard/motion-control reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/kwaivgi/kling-video/v2.6/standard/motion-control +robots: noindex,follow --- - +# This page has moved + +`kwaivgi/kling-video/v2.6/standard/motion-control` is a video model. Its API reference now lives at [Kling Video V2.6 Standard](/model-api-reference/video-generation/kwaivgi/kling-video/v2.6/standard/motion-control) under Video Generation. diff --git a/model-api-reference/image-generation/kwaivgi/kling-video/v3/pro/motion-control.md b/model-api-reference/image-generation/kwaivgi/kling-video/v3/pro/motion-control.md index 003e3ccb..cf99fc71 100644 --- a/model-api-reference/image-generation/kwaivgi/kling-video/v3/pro/motion-control.md +++ b/model-api-reference/image-generation/kwaivgi/kling-video/v3/pro/motion-control.md @@ -1,21 +1,10 @@ --- -title: "Kling Video V3 Pro API Reference — KwaiVGI / Pro / Motion Control" -description: "Kling Video V3 Pro API reference for SandBase. Use model kwaivgi/kling-video/v3/pro/motion-control with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/kwaivgi/kling-video/v3/pro/motion-control" -apiReferenceJson: "{\"title\":\"Kling Video V3 Pro\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video V3 Pro is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/v3/pro/motion-control.\",\"default\":\"kwaivgi/kling-video/v3/pro/motion-control\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt that describes the image or asset to generate.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"Reference image URL. The characters, backgrounds, and other elements in the generated video are based on this reference image. Characters should have clear body proportions, avoid occlusion, and occupy more than 5% of the image area.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. The character actions in the generated video will be consistent with this reference video. Should contain a realistic style character with entire body or upper body visible, including head, without obstruction. Duration limit depends on character_orientation: 10s max for 'image', 30s max for 'video'.\"},{\"name\":\"keep_original_sound\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original sound from the reference video.\",\"default\":\"true\"},{\"name\":\"character_orientation\",\"type\":\"string\",\"required\":false,\"description\":\"Controls whether the output character's orientation matches the reference image or video. 'video': orientation matches reference video - better for complex motions (max 30s). 'image': orientation matches reference image - better for following camera movements (max 10s).\",\"constraints\":\"Allowed values: image, video\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/v3/pro/motion-control\\\",\\n \\\"prompt\\\": \\\"A man dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/f77b827ca02a-TNErq9yD7ZxGRATjfAqnh_EIgJSN67.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/f1ecbb471a16-hklvF__w53diz6Rve7f5__JuDW2xl0mr6sJ_Kjz3Vxe_vidoeook--1-_1.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/v3/pro/motion-control\\\",\\n \\\"prompt\\\": \\\"A man dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/f77b827ca02a-TNErq9yD7ZxGRATjfAqnh_EIgJSN67.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/f1ecbb471a16-hklvF__w53diz6Rve7f5__JuDW2xl0mr6sJ_Kjz3Vxe_vidoeook--1-_1.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/v3/pro/motion-control\\\",\\n \\\"prompt\\\": \\\"A man dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/f77b827ca02a-TNErq9yD7ZxGRATjfAqnh_EIgJSN67.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/f1ecbb471a16-hklvF__w53diz6Rve7f5__JuDW2xl0mr6sJ_Kjz3Vxe_vidoeook--1-_1.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/v3/pro/motion-control\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Kling Video V3 Pro" - modelId: "kwaivgi/kling-video/v3/pro/motion-control" - vendor: "KwaiVGI" - vendorSlug: "kwaivgi" - modelSlug: "kling-video/v3/pro/motion-control" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-03-05T10:04:10.677Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Kling Video V3 Pro reference moved" +description: "The kwaivgi/kling-video/v3/pro/motion-control reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/kwaivgi/kling-video/v3/pro/motion-control +robots: noindex,follow --- - +# This page has moved + +`kwaivgi/kling-video/v3/pro/motion-control` is a video model. Its API reference now lives at [Kling Video V3 Pro](/model-api-reference/video-generation/kwaivgi/kling-video/v3/pro/motion-control) under Video Generation. diff --git a/model-api-reference/image-generation/kwaivgi/kling-video/v3/standard/motion-control.md b/model-api-reference/image-generation/kwaivgi/kling-video/v3/standard/motion-control.md index 109da5b0..0498c8b1 100644 --- a/model-api-reference/image-generation/kwaivgi/kling-video/v3/standard/motion-control.md +++ b/model-api-reference/image-generation/kwaivgi/kling-video/v3/standard/motion-control.md @@ -1,21 +1,10 @@ --- -title: "Kling Video V3 Standard API Reference — KwaiVGI / Motion Control" -description: "Kling Video V3 Standard API reference for SandBase. Use model kwaivgi/kling-video/v3/standard/motion-control with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/kwaivgi/kling-video/v3/standard/motion-control" -apiReferenceJson: "{\"title\":\"Kling Video V3 Standard\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video V3 Standard by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/v3/standard/motion-control.\",\"default\":\"kwaivgi/kling-video/v3/standard/motion-control\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt that describes the image or asset to generate.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"Reference image URL. The characters, backgrounds, and other elements in the generated video are based on this reference image. Characters should have clear body proportions, avoid occlusion, and occupy more than 5% of the image area.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. The character actions in the generated video will be consistent with this reference video. Should contain a realistic style character with entire body or upper body visible, including head, without obstruction. Duration limit depends on character_orientation: 10s max for 'image', 30s max for 'video'.\"},{\"name\":\"keep_original_sound\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original sound from the reference video.\",\"default\":\"true\"},{\"name\":\"character_orientation\",\"type\":\"string\",\"required\":false,\"description\":\"Controls whether the output character's orientation matches the reference image or video. 'video': orientation matches reference video - better for complex motions (max 30s). 'image': orientation matches reference image - better for following camera movements (max 10s).\",\"constraints\":\"Allowed values: image, video\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/v3/standard/motion-control\\\",\\n \\\"prompt\\\": \\\"An man dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/v3/standard/motion-control\\\",\\n \\\"prompt\\\": \\\"An man dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/v3/standard/motion-control\\\",\\n \\\"prompt\\\": \\\"An man dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/v3/standard/motion-control\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Kling Video V3 Standard" - modelId: "kwaivgi/kling-video/v3/standard/motion-control" - vendor: "KwaiVGI" - vendorSlug: "kwaivgi" - modelSlug: "kling-video/v3/standard/motion-control" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-03-05T10:06:48.803Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Kling Video V3 Standard reference moved" +description: "The kwaivgi/kling-video/v3/standard/motion-control reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/kwaivgi/kling-video/v3/standard/motion-control +robots: noindex,follow --- - +# This page has moved + +`kwaivgi/kling-video/v3/standard/motion-control` is a video model. Its API reference now lives at [Kling Video V3 Standard](/model-api-reference/video-generation/kwaivgi/kling-video/v3/standard/motion-control) under Video Generation. diff --git a/model-api-reference/image-generation/lightricks/ltx-2-19b/audio-to-video.md b/model-api-reference/image-generation/lightricks/ltx-2-19b/audio-to-video.md index 566cb7a5..8cea0c7b 100644 --- a/model-api-reference/image-generation/lightricks/ltx-2-19b/audio-to-video.md +++ b/model-api-reference/image-generation/lightricks/ltx-2-19b/audio-to-video.md @@ -1,21 +1,10 @@ --- -title: "LTX-2 19B API Reference — Lightricks Ltx 2 19b / Audio To Video" -description: "LTX-2 19B API reference for SandBase. Use model lightricks/ltx-2-19b/audio-to-video with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/lightricks/ltx-2-19b/audio-to-video" -apiReferenceJson: "{\"title\":\"LTX-2 19B\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Ltx 2 19b Audio To Video by Lightricks - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to lightricks/ltx-2-19b/audio-to-video.\",\"default\":\"lightricks/ltx-2-19b/audio-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"The prompt to generate the video from.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"Optional URL of an image to use as the first frame of the video.\"},{\"name\":\"end_image\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the image to use as the end of the video.\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the audio to generate the video from.\"},{\"name\":\"guidance_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The guidance scale to use.\",\"default\":\"3\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"num_inference_steps\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of inference steps to use.\",\"default\":\"40\",\"constraints\":\"Range: 8 to 50\"},{\"name\":\"video_size\",\"type\":\"string\",\"required\":false,\"description\":\"The size of the generated video. Use 'auto' to match the input image dimensions if provided.\",\"default\":\"landscape_4_3\",\"constraints\":\"Allowed values: auto, square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9\"},{\"name\":\"match_audio_length\",\"type\":\"boolean\",\"required\":false,\"description\":\"When enabled, the number of frames will be calculated based on the audio duration and FPS. When disabled, use the specified num_frames.\",\"default\":\"true\"},{\"name\":\"video_output_type\",\"type\":\"string\",\"required\":false,\"description\":\"The output type of the generated video.\",\"default\":\"X264 (.mp4)\",\"constraints\":\"Allowed values: X264 (.mp4), VP9 (.webm), PRORES4444 (.mov), GIF (.gif)\"},{\"name\":\"audio_strength\",\"type\":\"number\",\"required\":false,\"description\":\"Audio conditioning strength. Values below 1.0 will allow the model to change the audio, while a value of exactly 1.0 will use the input audio without modification.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"camera_lora_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The scale of the camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"camera_lora\",\"type\":\"string\",\"required\":false,\"description\":\"The camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera.\",\"default\":\"none\",\"constraints\":\"Allowed values: dolly_in, dolly_out, dolly_left, dolly_right, jib_up, jib_down, static, none\"},{\"name\":\"video_write_mode\",\"type\":\"string\",\"required\":false,\"description\":\"The write mode of the generated video.\",\"default\":\"balanced\",\"constraints\":\"Allowed values: fast, balanced, small\"},{\"name\":\"end_image_strength\",\"type\":\"number\",\"required\":false,\"description\":\"The strength of the end image to use for the video generation.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"preprocess_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to preprocess the audio before using it as conditioning.\",\"default\":\"true\"},{\"name\":\"fps\",\"type\":\"number\",\"required\":false,\"description\":\"The frames per second of the generated video.\",\"default\":\"25\",\"constraints\":\"Range: 1 to 60\"},{\"name\":\"num_frames\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of frames to generate.\",\"default\":\"121\",\"constraints\":\"Range: 9 to 481\"},{\"name\":\"video_quality\",\"type\":\"string\",\"required\":false,\"description\":\"The quality of the generated video.\",\"default\":\"high\",\"constraints\":\"Allowed values: low, medium, high, maximum\"},{\"name\":\"use_multiscale\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to use multi-scale generation. If True, the model will generate the video at a smaller scale first, then use the smaller video to guide the generation of a video at or above your requested size. This results in better coherence and details.\",\"default\":\"true\"},{\"name\":\"image_strength\",\"type\":\"number\",\"required\":false,\"description\":\"The strength of the image to use for the video generation.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"The seed for the random number generator.\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"audio-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A woman speaks to the camera\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/audio-to-video/input_image_0.png\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/audio-to-video/input_audio_1.mp3\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A woman speaks to the camera\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/audio-to-video/input_image_0.png\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/audio-to-video/input_audio_1.mp3\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A woman speaks to the camera\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/audio-to-video/input_image_0.png\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/audio-to-video/input_audio_1.mp3\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/audio-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "LTX-2 19B" - modelId: "lightricks/ltx-2-19b/audio-to-video" - vendor: "Lightricks" - vendorSlug: "lightricks" - modelSlug: "ltx-2-19b/audio-to-video" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-01-27T15:45:06.06Z" - capabilities: ["audio-to-video"] - category: "Image Generation" +title: "LTX-2 19B reference moved" +description: "The lightricks/ltx-2-19b/audio-to-video reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/lightricks/ltx-2-19b/audio-to-video +robots: noindex,follow --- - +# This page has moved + +`lightricks/ltx-2-19b/audio-to-video` is a video model. Its API reference now lives at [LTX-2 19B](/model-api-reference/video-generation/lightricks/ltx-2-19b/audio-to-video) under Video Generation. diff --git a/model-api-reference/image-generation/lightricks/ltx-2-19b/distilled/audio-to-video.md b/model-api-reference/image-generation/lightricks/ltx-2-19b/distilled/audio-to-video.md index 9debe230..5900c6b5 100644 --- a/model-api-reference/image-generation/lightricks/ltx-2-19b/distilled/audio-to-video.md +++ b/model-api-reference/image-generation/lightricks/ltx-2-19b/distilled/audio-to-video.md @@ -1,21 +1,10 @@ --- -title: "LTX-2 19B Distilled API Reference — Lightricks / Audio To Video" -description: "LTX-2 19B Distilled API reference for SandBase. Use model lightricks/ltx-2-19b/distilled/audio-to-video with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/lightricks/ltx-2-19b/distilled/audio-to-video" -apiReferenceJson: "{\"title\":\"LTX-2 19B Distilled\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Ltx 2 19b Distilled Audio To Video by Lightricks - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to lightricks/ltx-2-19b/distilled/audio-to-video.\",\"default\":\"lightricks/ltx-2-19b/distilled/audio-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"The prompt to generate the video from.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"Optional URL of an image to use as the first frame of the video.\"},{\"name\":\"end_image\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the image to use as the end of the video.\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the audio to generate the video from.\"},{\"name\":\"video_quality\",\"type\":\"string\",\"required\":false,\"description\":\"The quality of the generated video.\",\"default\":\"high\",\"constraints\":\"Allowed values: low, medium, high, maximum\"},{\"name\":\"video_output_type\",\"type\":\"string\",\"required\":false,\"description\":\"The output type of the generated video.\",\"default\":\"X264 (.mp4)\",\"constraints\":\"Allowed values: X264 (.mp4), VP9 (.webm), PRORES4444 (.mov), GIF (.gif)\"},{\"name\":\"audio_strength\",\"type\":\"number\",\"required\":false,\"description\":\"Audio conditioning strength. Values below 1.0 will allow the model to change the audio, while a value of exactly 1.0 will use the input audio without modification.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"fps\",\"type\":\"number\",\"required\":false,\"description\":\"The frames per second of the generated video.\",\"default\":\"25\",\"constraints\":\"Range: 1 to 60\"},{\"name\":\"video_size\",\"type\":\"string\",\"required\":false,\"description\":\"The size of the generated video. Use 'auto' to match the input image dimensions if provided.\",\"default\":\"landscape_4_3\",\"constraints\":\"Allowed values: auto, square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9\"},{\"name\":\"video_write_mode\",\"type\":\"string\",\"required\":false,\"description\":\"The write mode of the generated video.\",\"default\":\"balanced\",\"constraints\":\"Allowed values: fast, balanced, small\"},{\"name\":\"use_multiscale\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to use multi-scale generation. If True, the model will generate the video at a smaller scale first, then use the smaller video to guide the generation of a video at or above your requested size. This results in better coherence and details.\",\"default\":\"true\"},{\"name\":\"camera_lora_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The scale of the camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"end_image_strength\",\"type\":\"number\",\"required\":false,\"description\":\"The strength of the end image to use for the video generation.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"camera_lora\",\"type\":\"string\",\"required\":false,\"description\":\"The camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera.\",\"default\":\"none\",\"constraints\":\"Allowed values: dolly_in, dolly_out, dolly_left, dolly_right, jib_up, jib_down, static, none\"},{\"name\":\"num_frames\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of frames to generate.\",\"default\":\"121\",\"constraints\":\"Range: 9 to 481\"},{\"name\":\"match_audio_length\",\"type\":\"boolean\",\"required\":false,\"description\":\"When enabled, the number of frames will be calculated based on the audio duration and FPS. When disabled, use the specified num_frames.\",\"default\":\"true\"},{\"name\":\"image_strength\",\"type\":\"number\",\"required\":false,\"description\":\"The strength of the image to use for the video generation.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"preprocess_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to preprocess the audio before using it as conditioning.\",\"default\":\"true\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"The seed for the random number generator.\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"audio-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/distilled/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A woman speaks to the camera\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/distilled/audio-to-video/input_image_0.png\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/distilled/audio-to-video/input_audio_1.mp3\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/distilled/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A woman speaks to the camera\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/distilled/audio-to-video/input_image_0.png\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/distilled/audio-to-video/input_audio_1.mp3\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/distilled/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A woman speaks to the camera\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/distilled/audio-to-video/input_image_0.png\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/distilled/audio-to-video/input_audio_1.mp3\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/distilled/audio-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "LTX-2 19B Distilled" - modelId: "lightricks/ltx-2-19b/distilled/audio-to-video" - vendor: "Lightricks" - vendorSlug: "lightricks" - modelSlug: "ltx-2-19b/distilled/audio-to-video" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-01-27T15:46:47.75Z" - capabilities: ["audio-to-video"] - category: "Image Generation" +title: "LTX-2 19B Distilled reference moved" +description: "The lightricks/ltx-2-19b/distilled/audio-to-video reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/lightricks/ltx-2-19b/distilled/audio-to-video +robots: noindex,follow --- - +# This page has moved + +`lightricks/ltx-2-19b/distilled/audio-to-video` is a video model. Its API reference now lives at [LTX-2 19B Distilled](/model-api-reference/video-generation/lightricks/ltx-2-19b/distilled/audio-to-video) under Video Generation. diff --git a/model-api-reference/image-generation/lightricks/ltx-2-19b/extend-video.md b/model-api-reference/image-generation/lightricks/ltx-2-19b/extend-video.md index 58c65d34..25d6d100 100644 --- a/model-api-reference/image-generation/lightricks/ltx-2-19b/extend-video.md +++ b/model-api-reference/image-generation/lightricks/ltx-2-19b/extend-video.md @@ -1,21 +1,10 @@ --- -title: "LTX-2 19B API Reference — Lightricks Ltx 2 19b / Extend Video API" -description: "LTX-2 19B API reference for SandBase. Use model lightricks/ltx-2-19b/extend-video with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/lightricks/ltx-2-19b/extend-video" -apiReferenceJson: "{\"title\":\"LTX-2 19B\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Ltx 2 19b Extend Video by Lightricks - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to lightricks/ltx-2-19b/extend-video.\",\"default\":\"lightricks/ltx-2-19b/extend-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"The prompt to generate the video from.\"},{\"name\":\"end_image\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the image to use as the end of the extended video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the video to extend.\"},{\"name\":\"generate_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to generate audio for the video.\",\"default\":\"true\"},{\"name\":\"guidance_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The guidance scale to use.\",\"default\":\"3\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"num_inference_steps\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of inference steps to use.\",\"default\":\"40\",\"constraints\":\"Range: 8 to 50\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"The seed for the random number generator.\"},{\"name\":\"fps\",\"type\":\"number\",\"required\":false,\"description\":\"The frames per second of the generated video.\",\"default\":\"25\",\"constraints\":\"Range: 1 to 60\"},{\"name\":\"video_quality\",\"type\":\"string\",\"required\":false,\"description\":\"The quality of the generated video.\",\"default\":\"high\",\"constraints\":\"Allowed values: low, medium, high, maximum\"},{\"name\":\"num_context_frames\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of frames to use as context for the extension.\",\"default\":\"25\",\"constraints\":\"Range: 0 to 121\"},{\"name\":\"num_frames\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of frames to generate.\",\"default\":\"121\",\"constraints\":\"Range: 9 to 481\"},{\"name\":\"end_image_strength\",\"type\":\"number\",\"required\":false,\"description\":\"The strength of the end image to use for the video generation.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"extend_direction\",\"type\":\"string\",\"required\":false,\"description\":\"Direction to extend the video. 'forward' extends from the end of the video, 'backward' extends from the beginning.\",\"default\":\"forward\",\"constraints\":\"Allowed values: forward, backward\"},{\"name\":\"camera_lora_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The scale of the camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"use_multiscale\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to use multi-scale generation. If True, the model will generate the video at a smaller scale first, then use the smaller video to guide the generation of a video at or above your requested size. This results in better coherence and details.\",\"default\":\"true\"},{\"name\":\"camera_lora\",\"type\":\"string\",\"required\":false,\"description\":\"The camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera.\",\"default\":\"none\",\"constraints\":\"Allowed values: dolly_in, dolly_out, dolly_left, dolly_right, jib_up, jib_down, static, none\"},{\"name\":\"video_strength\",\"type\":\"number\",\"required\":false,\"description\":\"Video conditioning strength. Lower values represent more freedom given to the model to change the video content.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"video_output_type\",\"type\":\"string\",\"required\":false,\"description\":\"The output type of the generated video.\",\"default\":\"X264 (.mp4)\",\"constraints\":\"Allowed values: X264 (.mp4), VP9 (.webm), PRORES4444 (.mov), GIF (.gif)\"},{\"name\":\"match_input_fps\",\"type\":\"boolean\",\"required\":false,\"description\":\"When true, match the output FPS to the input video's FPS instead of using the default target FPS.\",\"default\":\"true\"},{\"name\":\"video_write_mode\",\"type\":\"string\",\"required\":false,\"description\":\"The write mode of the generated video.\",\"default\":\"balanced\",\"constraints\":\"Allowed values: fast, balanced, small\"},{\"name\":\"video_size\",\"type\":\"string\",\"required\":false,\"description\":\"The size of the generated video.\",\"default\":\"auto\",\"constraints\":\"Allowed values: auto, square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9\"},{\"name\":\"audio_strength\",\"type\":\"number\",\"required\":false,\"description\":\"Audio conditioning strength. Lower values represent more freedom given to the model to change the audio content.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/extend-video\\\",\\n \\\"prompt\\\": \\\"Continue the scene naturally, maintaining the same style and motion.\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/extend-video/input_video_0.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/extend-video\\\",\\n \\\"prompt\\\": \\\"Continue the scene naturally, maintaining the same style and motion.\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/extend-video/input_video_0.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/extend-video\\\",\\n \\\"prompt\\\": \\\"Continue the scene naturally, maintaining the same style and motion.\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/extend-video/input_video_0.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/extend-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "LTX-2 19B" - modelId: "lightricks/ltx-2-19b/extend-video" - vendor: "Lightricks" - vendorSlug: "lightricks" - modelSlug: "ltx-2-19b/extend-video" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-01-05T20:27:27.462Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "LTX-2 19B reference moved" +description: "The lightricks/ltx-2-19b/extend-video reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/lightricks/ltx-2-19b/extend-video +robots: noindex,follow --- - +# This page has moved + +`lightricks/ltx-2-19b/extend-video` is a video model. Its API reference now lives at [LTX-2 19B](/model-api-reference/video-generation/lightricks/ltx-2-19b/extend-video) under Video Generation. diff --git a/model-api-reference/image-generation/lightricks/ltx-2-19b/video-to-video.md b/model-api-reference/image-generation/lightricks/ltx-2-19b/video-to-video.md index 9166bbe0..73e31d07 100644 --- a/model-api-reference/image-generation/lightricks/ltx-2-19b/video-to-video.md +++ b/model-api-reference/image-generation/lightricks/ltx-2-19b/video-to-video.md @@ -1,21 +1,10 @@ --- -title: "LTX-2 19B API Reference — Lightricks Ltx 2 19b / Video To Video" -description: "LTX-2 19B API reference for SandBase. Use model lightricks/ltx-2-19b/video-to-video with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/lightricks/ltx-2-19b/video-to-video" -apiReferenceJson: "{\"title\":\"LTX-2 19B\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Ltx 2 19b Video To Video by Lightricks - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to lightricks/ltx-2-19b/video-to-video.\",\"default\":\"lightricks/ltx-2-19b/video-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"The prompt to generate the video from.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"An optional URL of an image to use as the first frame of the video.\"},{\"name\":\"end_image\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the image to use as the end of the video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the video to generate the video from.\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"An optional URL of an audio to use as the audio for the video. If not provided, any audio present in the input video will be used.\"},{\"name\":\"generate_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to generate audio for the video.\",\"default\":\"true\"},{\"name\":\"guidance_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The guidance scale to use.\",\"default\":\"3\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"num_inference_steps\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of inference steps to use.\",\"default\":\"40\",\"constraints\":\"Range: 8 to 50\"},{\"name\":\"match_input_fps\",\"type\":\"boolean\",\"required\":false,\"description\":\"When true, match the output FPS to the input video's FPS instead of using the default target FPS.\",\"default\":\"true\"},{\"name\":\"preprocessor\",\"type\":\"string\",\"required\":false,\"description\":\"The preprocessor to use for the video. When a preprocessor is used and `ic_lora_type` is set to `match_preprocessor`, the IC-LoRA will be loaded based on the preprocessor type.\",\"default\":\"none\",\"constraints\":\"Allowed values: depth, canny, pose, none\"},{\"name\":\"num_frames\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of frames to generate.\",\"default\":\"121\",\"constraints\":\"Range: 9 to 481\"},{\"name\":\"video_size\",\"type\":\"string\",\"required\":false,\"description\":\"The size of the generated video.\",\"default\":\"auto\",\"constraints\":\"Allowed values: auto, square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9\"},{\"name\":\"camera_lora_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The scale of the camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"video_strength\",\"type\":\"number\",\"required\":false,\"description\":\"Video conditioning strength. Lower values represent more freedom given to the model to change the video content.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"video_write_mode\",\"type\":\"string\",\"required\":false,\"description\":\"The write mode of the generated video.\",\"default\":\"balanced\",\"constraints\":\"Allowed values: fast, balanced, small\"},{\"name\":\"audio_strength\",\"type\":\"number\",\"required\":false,\"description\":\"Audio conditioning strength. Lower values represent more freedom given to the model to change the audio content.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"camera_lora\",\"type\":\"string\",\"required\":false,\"description\":\"The camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera.\",\"default\":\"none\",\"constraints\":\"Allowed values: dolly_in, dolly_out, dolly_left, dolly_right, jib_up, jib_down, static, none\"},{\"name\":\"image_strength\",\"type\":\"number\",\"required\":false,\"description\":\"The strength of the image to use for the video generation.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"fps\",\"type\":\"number\",\"required\":false,\"description\":\"The frames per second of the generated video.\",\"default\":\"25\",\"constraints\":\"Range: 1 to 60\"},{\"name\":\"match_video_length\",\"type\":\"boolean\",\"required\":false,\"description\":\"When enabled, the number of frames will be calculated based on the video duration and FPS. When disabled, use the specified num_frames.\",\"default\":\"true\"},{\"name\":\"video_quality\",\"type\":\"string\",\"required\":false,\"description\":\"The quality of the generated video.\",\"default\":\"high\",\"constraints\":\"Allowed values: low, medium, high, maximum\"},{\"name\":\"video_output_type\",\"type\":\"string\",\"required\":false,\"description\":\"The output type of the generated video.\",\"default\":\"X264 (.mp4)\",\"constraints\":\"Allowed values: X264 (.mp4), VP9 (.webm), PRORES4444 (.mov), GIF (.gif)\"},{\"name\":\"end_image_strength\",\"type\":\"number\",\"required\":false,\"description\":\"The strength of the end image to use for the video generation.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"ic_lora\",\"type\":\"string\",\"required\":false,\"description\":\"The type of IC-LoRA to load. In-Context LoRA weights are used to condition the video based on edge, depth, or pose videos. Only change this from `match_preprocessor` if your videos are already preprocessed (or you are using the detailer.)\",\"default\":\"match_preprocessor\",\"constraints\":\"Allowed values: match_preprocessor, canny, depth, pose, detailer, none\"},{\"name\":\"use_multiscale\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to use multi-scale generation. If True, the model will generate the video at a smaller scale first, then use the smaller video to guide the generation of a video at or above your requested size. This results in better coherence and details.\",\"default\":\"true\"},{\"name\":\"ic_lora_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The scale of the IC-LoRA to use. This allows you to control the strength of the IC-LoRA.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"The seed for the random number generator.\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/video-to-video\\\",\\n \\\"prompt\\\": \\\"black-and-white video, a cowboy walks through a dusty town, film grain\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/input.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/video-to-video/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/input.mp3\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/video-to-video\\\",\\n \\\"prompt\\\": \\\"black-and-white video, a cowboy walks through a dusty town, film grain\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/input.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/video-to-video/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/input.mp3\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/video-to-video\\\",\\n \\\"prompt\\\": \\\"black-and-white video, a cowboy walks through a dusty town, film grain\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/input.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/video-to-video/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/input.mp3\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/video-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "LTX-2 19B" - modelId: "lightricks/ltx-2-19b/video-to-video" - vendor: "Lightricks" - vendorSlug: "lightricks" - modelSlug: "ltx-2-19b/video-to-video" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-01-07T03:32:57.344Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "LTX-2 19B reference moved" +description: "The lightricks/ltx-2-19b/video-to-video reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/lightricks/ltx-2-19b/video-to-video +robots: noindex,follow --- - +# This page has moved + +`lightricks/ltx-2-19b/video-to-video` is a video model. Its API reference now lives at [LTX-2 19B](/model-api-reference/video-generation/lightricks/ltx-2-19b/video-to-video) under Video Generation. diff --git a/model-api-reference/image-generation/lightricks/ltx-2.3-quality/audio-to-video.md b/model-api-reference/image-generation/lightricks/ltx-2.3-quality/audio-to-video.md index 64ac99a1..4020c62b 100644 --- a/model-api-reference/image-generation/lightricks/ltx-2.3-quality/audio-to-video.md +++ b/model-api-reference/image-generation/lightricks/ltx-2.3-quality/audio-to-video.md @@ -1,21 +1,10 @@ --- -title: "Ltx 2.3 Quality API Reference — Lightricks / Audio To Video" -description: "Ltx 2.3 Quality API reference for SandBase. Use model lightricks/ltx-2.3-quality/audio-to-video with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/lightricks/ltx-2.3-quality/audio-to-video" -apiReferenceJson: "{\"title\":\"Ltx 2.3 Quality\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Ltx 2.3 Quality Audio To Video by Lightricks - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to lightricks/ltx-2.3-quality/audio-to-video.\",\"default\":\"lightricks/ltx-2.3-quality/audio-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"The prompt to guide the audio-driven video generation.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"Optional URL of an image to use as the first frame. When omitted, generation runs from text and audio only.\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the audio track that drives generation.\"},{\"name\":\"resolution\",\"type\":\"string\",\"required\":false,\"description\":\"Final output size. 'auto' matches the input image aspect ratio when image_url is provided; otherwise it uses a landscape fallback.\",\"default\":\"auto\",\"constraints\":\"Allowed values: auto, square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9\"},{\"name\":\"generate_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to include audio in the returned video. When disabled, the final MP4 is returned without an audio track.\",\"default\":\"true\"},{\"name\":\"guidance_scale\",\"type\":\"number\",\"required\":false,\"description\":\"Classifier-free guidance scale. The default is tuned for fast, high-quality generation.\",\"default\":\"1\",\"constraints\":\"Range: 1 to 20\"},{\"name\":\"num_inference_steps\",\"type\":\"integer\",\"required\":false,\"description\":\"Number of inference steps. Defaults to 15 and can be increased up to 30.\",\"default\":\"15\",\"constraints\":\"Range: 8 to 30\"},{\"name\":\"video_quality\",\"type\":\"string\",\"required\":false,\"description\":\"The quality preset of the generated video.\",\"default\":\"high\",\"constraints\":\"Allowed values: low, medium, high, maximum\"},{\"name\":\"frames_per_second\",\"type\":\"number\",\"required\":false,\"description\":\"Frames per second of the generated video.\",\"default\":\"24\",\"constraints\":\"Range: 1 to 60\"},{\"name\":\"match_audio_length\",\"type\":\"boolean\",\"required\":false,\"description\":\"When enabled, derives the number of frames from the audio duration and frames_per_second. When disabled, uses num_frames.\",\"default\":\"true\"},{\"name\":\"image_strength\",\"type\":\"number\",\"required\":false,\"description\":\"Conditioning strength for the optional first frame. 1.0 keeps the image more strictly; lower values give the model more freedom.\",\"default\":\"0.7\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"video_write_mode\",\"type\":\"string\",\"required\":false,\"description\":\"The write mode of the generated video.\",\"default\":\"balanced\",\"constraints\":\"Allowed values: fast, balanced, small\"},{\"name\":\"num_frames\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of frames to generate.\",\"default\":\"121\",\"constraints\":\"Range: 9 to 481\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"Random seed for reproducibility. If None, a random seed is chosen.\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"audio-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"lightricks/ltx-2.3-quality/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A person facing the camera sings with expressive natural motion, cinematic portrait lighting, realistic facial performance.\\\",\\n \\\"image\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/ltx-2-a2v-input-image.png\\\",\\n \\\"audio\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/ltx-2-a2v-input-audio.mp3\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"lightricks/ltx-2.3-quality/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A person facing the camera sings with expressive natural motion, cinematic portrait lighting, realistic facial performance.\\\",\\n \\\"image\\\": \\\"https://storage.googleapis.com/Falserverless/example_inputs/ltx-2-a2v-input-image.png\\\",\\n \\\"audio\\\": \\\"https://storage.googleapis.com/Falserverless/example_inputs/ltx-2-a2v-input-audio.mp3\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"lightricks/ltx-2.3-quality/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A person facing the camera sings with expressive natural motion, cinematic portrait lighting, realistic facial performance.\\\",\\n \\\"image\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/ltx-2-a2v-input-image.png\\\",\\n \\\"audio\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/ltx-2-a2v-input-audio.mp3\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"lightricks/ltx-2.3-quality/audio-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Ltx 2.3 Quality" - modelId: "lightricks/ltx-2.3-quality/audio-to-video" - vendor: "Lightricks" - vendorSlug: "lightricks" - modelSlug: "ltx-2.3-quality/audio-to-video" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-06-01T22:48:48.61Z" - capabilities: ["audio-to-video"] - category: "Image Generation" +title: "Ltx 2.3 Quality reference moved" +description: "The lightricks/ltx-2.3-quality/audio-to-video reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/lightricks/ltx-2.3-quality/audio-to-video +robots: noindex,follow --- - +# This page has moved + +`lightricks/ltx-2.3-quality/audio-to-video` is a video model. Its API reference now lives at [Ltx 2.3 Quality](/model-api-reference/video-generation/lightricks/ltx-2.3-quality/audio-to-video) under Video Generation. diff --git a/model-api-reference/image-generation/meituan/longcat-multi-avatar/image-audio-to-video.md b/model-api-reference/image-generation/meituan/longcat-multi-avatar/image-audio-to-video.md index 712098ee..ac88dfc6 100644 --- a/model-api-reference/image-generation/meituan/longcat-multi-avatar/image-audio-to-video.md +++ b/model-api-reference/image-generation/meituan/longcat-multi-avatar/image-audio-to-video.md @@ -1,21 +1,10 @@ --- -title: "Longcat Multi Avatar API Reference" -description: "Longcat Multi Avatar API reference for SandBase. Use model meituan/longcat-multi-avatar/image-audio-to-video with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/meituan/longcat-multi-avatar/image-audio-to-video" -apiReferenceJson: "{\"title\":\"Longcat Multi Avatar\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Longcat Multi Avatar Image Audio To Video by meituan - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to meituan/longcat-multi-avatar/image-audio-to-video.\",\"default\":\"meituan/longcat-multi-avatar/image-audio-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"The prompt to guide the video generation.\",\"default\":\"Two people are having a conversation with natural expressions and movements.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"The URL of the image containing two speakers.\"},{\"name\":\"resolution\",\"type\":\"string\",\"required\":false,\"description\":\"Resolution of the generated video (480p or 720p). Billing is per video-second (16 frames): 480p is 1 unit per second and 720p is 4 units per second.\",\"default\":\"480p\",\"constraints\":\"Allowed values: 480p, 720p\"},{\"name\":\"num_inference_steps\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of inference steps to use.\",\"default\":\"30\",\"constraints\":\"Range: 10 to 100\"},{\"name\":\"audio_url_person2\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the audio file for person 2 (right side).\",\"default\":\"https://raw.githubusercontent.com/meituan-longcat/LongCat-Video/refs/heads/main/assets/avatar/multi/sing_woman.WAV\"},{\"name\":\"num_segments\",\"type\":\"integer\",\"required\":false,\"description\":\"Number of video segments to generate. Each segment adds ~5 seconds of video. First segment is ~5.8s, additional segments are 5s each.\",\"default\":\"1\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"audio_url_person1\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the audio file for person 1 (left side).\",\"default\":\"https://raw.githubusercontent.com/meituan-longcat/LongCat-Video/refs/heads/main/assets/avatar/multi/sing_man.WAV\"},{\"name\":\"audio_type\",\"type\":\"string\",\"required\":false,\"description\":\"How to combine the two audio tracks. 'para' (parallel) plays both simultaneously, 'add' (sequential) plays person 1 first then person 2.\",\"default\":\"para\",\"constraints\":\"Allowed values: para, add\"},{\"name\":\"bbox_person2\",\"type\":\"string\",\"required\":false,\"description\":\"Bounding box for person 2. If not provided, defaults to right half of image.\"},{\"name\":\"audio_guidance_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The audio guidance scale. Higher values may lead to exaggerated mouth movements.\",\"default\":\"4\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"bbox_person1\",\"type\":\"string\",\"required\":false,\"description\":\"Bounding box for person 1. If not provided, defaults to left half of image.\"},{\"name\":\"text_guidance_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The text guidance scale for classifier-free guidance.\",\"default\":\"4\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"The seed for the random number generator.\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"audio-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"meituan/longcat-multi-avatar/image-audio-to-video\\\",\\n \\\"prompt\\\": \\\"Two people are having a conversation with natural expressions and movements.\\\",\\n \\\"image\\\": \\\"https://raw.githubusercontent.com/meituan-longcat/LongCat-Video/refs/heads/main/assets/avatar/multi/sing.png\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"meituan/longcat-multi-avatar/image-audio-to-video\\\",\\n \\\"prompt\\\": \\\"Two people are having a conversation with natural expressions and movements.\\\",\\n \\\"image\\\": \\\"https://raw.githubusercontent.com/meituan-longcat/LongCat-Video/refs/heads/main/assets/avatar/multi/sing.png\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"meituan/longcat-multi-avatar/image-audio-to-video\\\",\\n \\\"prompt\\\": \\\"Two people are having a conversation with natural expressions and movements.\\\",\\n \\\"image\\\": \\\"https://raw.githubusercontent.com/meituan-longcat/LongCat-Video/refs/heads/main/assets/avatar/multi/sing.png\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"meituan/longcat-multi-avatar/image-audio-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Longcat Multi Avatar" - modelId: "meituan/longcat-multi-avatar/image-audio-to-video" - vendor: "meituan" - vendorSlug: "meituan" - modelSlug: "longcat-multi-avatar/image-audio-to-video" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-01-08T20:17:00.208Z" - capabilities: ["audio-to-video"] - category: "Image Generation" +title: "Longcat Multi Avatar reference moved" +description: "The meituan/longcat-multi-avatar/image-audio-to-video reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/meituan/longcat-multi-avatar/image-audio-to-video +robots: noindex,follow --- - +# This page has moved + +`meituan/longcat-multi-avatar/image-audio-to-video` is a video model. Its API reference now lives at [Longcat Multi Avatar](/model-api-reference/video-generation/meituan/longcat-multi-avatar/image-audio-to-video) under Video Generation. diff --git a/model-api-reference/image-generation/meituan/longcat-single-avatar/audio-to-video.md b/model-api-reference/image-generation/meituan/longcat-single-avatar/audio-to-video.md index 4219ceb2..e08a72d9 100644 --- a/model-api-reference/image-generation/meituan/longcat-single-avatar/audio-to-video.md +++ b/model-api-reference/image-generation/meituan/longcat-single-avatar/audio-to-video.md @@ -1,21 +1,10 @@ --- -title: "Longcat Single Avatar API Reference" -description: "Longcat Single Avatar API reference for SandBase. Use model meituan/longcat-single-avatar/audio-to-video with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/meituan/longcat-single-avatar/audio-to-video" -apiReferenceJson: "{\"title\":\"Longcat Single Avatar\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Longcat Single Avatar Audio To Video by meituan - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to meituan/longcat-single-avatar/audio-to-video.\",\"default\":\"meituan/longcat-single-avatar/audio-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"The prompt to guide the video generation.\",\"default\":\"A person is talking naturally with natural expressions and movements.\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the audio file to drive the avatar.\"},{\"name\":\"resolution\",\"type\":\"string\",\"required\":false,\"description\":\"Resolution of the generated video (480p or 720p). Billing is per video-second (16 frames): 480p is 1 unit per second and 720p is 4 units per second.\",\"default\":\"480p\",\"constraints\":\"Allowed values: 480p, 720p\"},{\"name\":\"num_inference_steps\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of inference steps to use.\",\"default\":\"50\",\"constraints\":\"Range: 10 to 100\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"The seed for the random number generator.\"},{\"name\":\"audio_guidance_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The audio guidance scale. Higher values may lead to exaggerated mouth movements.\",\"default\":\"4\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"text_guidance_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The text guidance scale for classifier-free guidance.\",\"default\":\"4\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"num_segments\",\"type\":\"integer\",\"required\":false,\"description\":\"Number of video segments to generate. Each segment adds ~5 seconds of video. First segment is ~5.8s, additional segments are 5s each.\",\"default\":\"1\",\"constraints\":\"Range: 1 to 10\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"audio-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"meituan/longcat-single-avatar/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A person is talking naturally with natural expressions and movements.\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/meituan/longcat-single-avatar/audio-to-video/input_audio_0.mp3\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"meituan/longcat-single-avatar/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A person is talking naturally with natural expressions and movements.\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/meituan/longcat-single-avatar/audio-to-video/input_audio_0.mp3\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"meituan/longcat-single-avatar/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A person is talking naturally with natural expressions and movements.\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/meituan/longcat-single-avatar/audio-to-video/input_audio_0.mp3\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"meituan/longcat-single-avatar/audio-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Longcat Single Avatar" - modelId: "meituan/longcat-single-avatar/audio-to-video" - vendor: "meituan" - vendorSlug: "meituan" - modelSlug: "longcat-single-avatar/audio-to-video" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2025-12-30T17:00:38.944Z" - capabilities: ["audio-to-video"] - category: "Image Generation" +title: "Longcat Single Avatar reference moved" +description: "The meituan/longcat-single-avatar/audio-to-video reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/meituan/longcat-single-avatar/audio-to-video +robots: noindex,follow --- - +# This page has moved + +`meituan/longcat-single-avatar/audio-to-video` is a video model. Its API reference now lives at [Longcat Single Avatar](/model-api-reference/video-generation/meituan/longcat-single-avatar/audio-to-video) under Video Generation. diff --git a/model-api-reference/image-generation/meta/sam-3-1/video.md b/model-api-reference/image-generation/meta/sam-3-1/video.md index 76b89066..db463301 100644 --- a/model-api-reference/image-generation/meta/sam-3-1/video.md +++ b/model-api-reference/image-generation/meta/sam-3-1/video.md @@ -1,21 +1,10 @@ --- -title: "Sam 3 1 API Reference — Meta Sam 3 1 / Video API" -description: "Sam 3 1 API reference for SandBase. Use model meta/sam-3-1/video with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/meta/sam-3-1/video" -apiReferenceJson: "{\"title\":\"Sam 3 1\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Sam 3 1 Video is Meta's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to meta/sam-3-1/video.\",\"default\":\"meta/sam-3-1/video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt for segmentation. Use commas to track multiple objects (e.g., 'person, cloth').\",\"default\":\"\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the video to be segmented.\"},{\"name\":\"box_prompts\",\"type\":\"array\",\"required\":false,\"description\":\"List of box prompt coordinates (x_min, y_min, x_max, y_max).\",\"default\":\"\"},{\"name\":\"point_prompts\",\"type\":\"array\",\"required\":false,\"description\":\"List of point prompts\",\"default\":\"\"},{\"name\":\"detection_threshold\",\"type\":\"number\",\"required\":false,\"description\":\"Detection confidence threshold (0.0-1.0). Lower = more detections but less precise.\",\"default\":\"0.5\",\"constraints\":\"Range: 0.1 to 1\"},{\"name\":\"apply_mask\",\"type\":\"boolean\",\"required\":false,\"description\":\"Apply the mask on the video.\",\"default\":\"true\"},{\"name\":\"video_output_type\",\"type\":\"string\",\"required\":false,\"description\":\"The output type of the generated video.\",\"default\":\"X264 (.mp4)\",\"constraints\":\"Allowed values: X264 (.mp4), VP9 (.webm)\"},{\"name\":\"max_num_objects\",\"type\":\"integer\",\"required\":false,\"description\":\"Maximum number of objects to track in the video.\",\"default\":\"16\",\"constraints\":\"Range: 1 to 128\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"meta/sam-3-1/video\\\",\\n \\\"prompt\\\": \\\"\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/meta/sam-3-1/video/input_video_0.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"meta/sam-3-1/video\\\",\\n \\\"prompt\\\": \\\"\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/meta/sam-3-1/video/input_video_0.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"meta/sam-3-1/video\\\",\\n \\\"prompt\\\": \\\"\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/meta/sam-3-1/video/input_video_0.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"meta/sam-3-1/video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Sam 3 1" - modelId: "meta/sam-3-1/video" - vendor: "Meta" - vendorSlug: "meta" - modelSlug: "sam-3-1/video" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-03-30T16:39:11.488Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Sam 3 1 reference moved" +description: "The meta/sam-3-1/video reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/meta/sam-3-1/video +robots: noindex,follow --- - +# This page has moved + +`meta/sam-3-1/video` is a video model. Its API reference now lives at [Sam 3 1](/model-api-reference/video-generation/meta/sam-3-1/video) under Video Generation. diff --git a/model-api-reference/image-generation/meta/sam-3/video-rle.md b/model-api-reference/image-generation/meta/sam-3/video-rle.md index fd302316..c7f72455 100644 --- a/model-api-reference/image-generation/meta/sam-3/video-rle.md +++ b/model-api-reference/image-generation/meta/sam-3/video-rle.md @@ -1,21 +1,10 @@ --- -title: "Sam 3 API Reference — Meta Sam 3 / Video Rle API" -description: "Sam 3 API reference for SandBase. Use model meta/sam-3/video-rle with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/meta/sam-3/video-rle" -apiReferenceJson: "{\"title\":\"Sam 3\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Sam 3 Video Rle is Meta's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to meta/sam-3/video-rle.\",\"default\":\"meta/sam-3/video-rle\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt for segmentation. Use commas to track multiple objects (e.g., 'person, cloth').\",\"default\":\"\"},{\"name\":\"mask\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the mask to be applied initially.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the video to be segmented.\"},{\"name\":\"apply_mask\",\"type\":\"boolean\",\"required\":false,\"description\":\"Apply the mask on the video.\",\"default\":\"false\"},{\"name\":\"boundingbox_zip\",\"type\":\"boolean\",\"required\":false,\"description\":\"Return per-frame bounding box overlays as a zip archive.\",\"default\":\"false\"},{\"name\":\"box_prompts\",\"type\":\"array\",\"required\":false,\"description\":\"List of box prompts with optional frame_index.\",\"default\":\"\"},{\"name\":\"point_prompts\",\"type\":\"array\",\"required\":false,\"description\":\"List of point prompts with frame indices.\",\"default\":\"\"},{\"name\":\"detection_threshold\",\"type\":\"number\",\"required\":false,\"description\":\"Detection confidence threshold (0.0-1.0). Lower = more detections but less precise. Defaults: 0.5 for existing, 0.7 for new objects. Try 0.2-0.3 if text prompts fail.\",\"default\":\"0.5\",\"constraints\":\"Range: 0.01 to 1\"},{\"name\":\"frame_index\",\"type\":\"integer\",\"required\":false,\"description\":\"Frame index used for initial interaction when mask_url is provided.\",\"default\":\"0\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"meta/sam-3/video-rle\\\",\\n \\\"prompt\\\": \\\"\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/meta/sam-3/video-rle/input_video_0.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"meta/sam-3/video-rle\\\",\\n \\\"prompt\\\": \\\"\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/meta/sam-3/video-rle/input_video_0.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"meta/sam-3/video-rle\\\",\\n \\\"prompt\\\": \\\"\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/meta/sam-3/video-rle/input_video_0.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"meta/sam-3/video-rle\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Sam 3" - modelId: "meta/sam-3/video-rle" - vendor: "Meta" - vendorSlug: "meta" - modelSlug: "sam-3/video-rle" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2025-11-20T20:18:27.813Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Sam 3 reference moved" +description: "The meta/sam-3/video-rle reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/meta/sam-3/video-rle +robots: noindex,follow --- - +# This page has moved + +`meta/sam-3/video-rle` is a video model. Its API reference now lives at [Sam 3](/model-api-reference/video-generation/meta/sam-3/video-rle) under Video Generation. diff --git a/model-api-reference/image-generation/mirelo/sfx1.6/video-to-video.md b/model-api-reference/image-generation/mirelo/sfx1.6/video-to-video.md index bec4a17c..d8d59fa7 100644 --- a/model-api-reference/image-generation/mirelo/sfx1.6/video-to-video.md +++ b/model-api-reference/image-generation/mirelo/sfx1.6/video-to-video.md @@ -1,21 +1,10 @@ --- -title: "Mirelo SFX1.6 API Reference — Mirelo Sfx1.6 / Video To Video API" -description: "Mirelo SFX1.6 API reference for SandBase. Use model mirelo/sfx1.6/video-to-video with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/mirelo/sfx1.6/video-to-video" -apiReferenceJson: "{\"title\":\"Mirelo SFX1.6\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Sfx1.6 Video To Video is Mirelo's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to mirelo/sfx1.6/video-to-video.\",\"default\":\"mirelo/sfx1.6/video-to-video\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Video URL to add SFX to.\"},{\"name\":\"duration\",\"type\":\"integer\",\"required\":false,\"description\":\"Duration of the generated SFX in seconds. Values >10 use sliding-window extended generation.\",\"default\":\"10\",\"constraints\":\"Range: 1 to 60\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"Seed for generation. -1 or None for random.\",\"constraints\":\"Range: -1 to ∞\"},{\"name\":\"text_prompt\",\"type\":\"string\",\"required\":false,\"description\":\"Optional text prompt guiding generation.\"},{\"name\":\"num_samples\",\"type\":\"integer\",\"required\":false,\"description\":\"Number of variations to generate.\",\"default\":\"1\",\"constraints\":\"Range: 1 to 4\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"mirelo/sfx1.6/video-to-video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirelo/sfx1.6/video-to-video/input_video_0.mp4\\\",\\n \\\"duration\\\": 10\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"mirelo/sfx1.6/video-to-video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirelo/sfx1.6/video-to-video/input_video_0.mp4\\\",\\n \\\"duration\\\": 10\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"mirelo/sfx1.6/video-to-video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirelo/sfx1.6/video-to-video/input_video_0.mp4\\\",\\n \\\"duration\\\": 10\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"mirelo/sfx1.6/video-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Mirelo SFX1.6" - modelId: "mirelo/sfx1.6/video-to-video" - vendor: "Mirelo" - vendorSlug: "mirelo" - modelSlug: "sfx1.6/video-to-video" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-05-18T18:43:54.282Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Mirelo SFX1.6 reference moved" +description: "The mirelo/sfx1.6/video-to-video reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/mirelo/sfx1.6/video-to-video +robots: noindex,follow --- - +# This page has moved + +`mirelo/sfx1.6/video-to-video` is a video model. Its API reference now lives at [Mirelo SFX1.6](/model-api-reference/video-generation/mirelo/sfx1.6/video-to-video) under Video Generation. diff --git a/model-api-reference/image-generation/nvidia/nemotron-3-nano-omni/video.md b/model-api-reference/image-generation/nvidia/nemotron-3-nano-omni/video.md index 20ae658e..731e50da 100644 --- a/model-api-reference/image-generation/nvidia/nemotron-3-nano-omni/video.md +++ b/model-api-reference/image-generation/nvidia/nemotron-3-nano-omni/video.md @@ -1,21 +1,10 @@ --- -title: "Nemotron 3 Nano Omni API Reference — NVIDIA 3 Nano Omni / Video" -description: "Nemotron 3 Nano Omni API reference for SandBase. Use model nvidia/nemotron-3-nano-omni/video with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/nvidia/nemotron-3-nano-omni/video" -apiReferenceJson: "{\"title\":\"Nemotron 3 Nano Omni\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Nemotron 3 Nano Omni Video by NVIDIA - advanced AI model for video-to-text. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to nvidia/nemotron-3-nano-omni/video.\",\"default\":\"nvidia/nemotron-3-nano-omni/video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt to send to the model. English only.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the video to reason about. mp4, up to 1080p, max 2 minutes.\"},{\"name\":\"max_tokens\",\"type\":\"integer\",\"required\":false,\"description\":\"Maximum number of tokens to generate.\",\"default\":\"1024\",\"constraints\":\"Range: 1 to 20000\"},{\"name\":\"top_p\",\"type\":\"number\",\"required\":false,\"description\":\"Nucleus sampling probability mass.\",\"default\":\"0.95\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"temperature\",\"type\":\"number\",\"required\":false,\"description\":\"Sampling temperature. Lower is more deterministic.\",\"default\":\"0.7\",\"constraints\":\"Range: 0 to 2\"},{\"name\":\"system_prompt\",\"type\":\"string\",\"required\":false,\"description\":\"Optional system prompt to steer the model. Reasoning behavior is controlled by the separate `reasoning_mode` field.\"},{\"name\":\"reasoning_mode\",\"type\":\"string\",\"required\":false,\"description\":\"Whether the model should emit an explicit reasoning trace. `no_think` returns a direct answer; `think` returns chain-of-thought followed by the final answer.\",\"default\":\"no_think\",\"constraints\":\"Allowed values: think, no_think\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-text\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"nvidia/nemotron-3-nano-omni/video\\\",\\n \\\"prompt\\\": \\\"Summarize the key capabilities of a multimodal agent.\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/nemotron-3-nano-omni/video_in.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"nvidia/nemotron-3-nano-omni/video\\\",\\n \\\"prompt\\\": \\\"Summarize the key capabilities of a multimodal agent.\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/Falserverless/example_inputs/nemotron-3-nano-omni/video_in.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"nvidia/nemotron-3-nano-omni/video\\\",\\n \\\"prompt\\\": \\\"Summarize the key capabilities of a multimodal agent.\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/nemotron-3-nano-omni/video_in.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"nvidia/nemotron-3-nano-omni/video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Nemotron 3 Nano Omni" - modelId: "nvidia/nemotron-3-nano-omni/video" - vendor: "NVIDIA" - vendorSlug: "nvidia" - modelSlug: "nemotron-3-nano-omni/video" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-04-28T15:51:20.073Z" - capabilities: ["video-to-text"] - category: "Image Generation" +title: "Nemotron 3 Nano Omni reference moved" +description: "The nvidia/nemotron-3-nano-omni/video reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/nvidia/nemotron-3-nano-omni/video +robots: noindex,follow --- - +# This page has moved + +`nvidia/nemotron-3-nano-omni/video` is a video model. Its API reference now lives at [Nemotron 3 Nano Omni](/model-api-reference/video-generation/nvidia/nemotron-3-nano-omni/video) under Video Generation. diff --git a/model-api-reference/image-generation/pixverse/v6/extend.md b/model-api-reference/image-generation/pixverse/v6/extend.md index 0b453a49..decfa5fd 100644 --- a/model-api-reference/image-generation/pixverse/v6/extend.md +++ b/model-api-reference/image-generation/pixverse/v6/extend.md @@ -1,21 +1,10 @@ --- -title: "PixVerse V6 Extend API Reference" -description: "PixVerse V6 Extend API reference for SandBase. Use model pixverse/v6/extend with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/pixverse/v6/extend" -apiReferenceJson: "{\"title\":\"PixVerse V6 Extend\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"V6 Extend is PixVerse's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to pixverse/v6/extend.\",\"default\":\"pixverse/v6/extend\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Prompt describing how to extend the video\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input video to extend\"},{\"name\":\"resolution\",\"type\":\"string\",\"required\":false,\"description\":\"The resolution of the generated video\",\"default\":\"720p\",\"constraints\":\"Allowed values: 360p, 540p, 720p, 1080p\"},{\"name\":\"duration\",\"type\":\"integer\",\"required\":false,\"description\":\"The duration of the generated video in seconds. v6 supports values from 1 to 15 seconds\",\"default\":\"5\",\"constraints\":\"Range: 1 to 15\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"Random seed for generation\"},{\"name\":\"generate_audio_switch\",\"type\":\"boolean\",\"required\":false,\"description\":\"Enable audio generation (BGM, SFX, dialogue).\",\"default\":\"false\"},{\"name\":\"style\",\"type\":\"string\",\"required\":false,\"description\":\"The style of the extended video\",\"constraints\":\"Allowed values: anime, 3d_animation, clay, comic, cyberpunk\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"pixverse/v6/extend\\\",\\n \\\"prompt\\\": \\\"A kid is talking into camera\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/pixverse/v6/extend/output_url_0.mp4\\\",\\n \\\"duration\\\": 5\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"pixverse/v6/extend\\\",\\n \\\"prompt\\\": \\\"A kid is talking into camera\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/pixverse/v6/extend/output_url_0.mp4\\\",\\n \\\"duration\\\": 5\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"pixverse/v6/extend\\\",\\n \\\"prompt\\\": \\\"A kid is talking into camera\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/pixverse/v6/extend/output_url_0.mp4\\\",\\n \\\"duration\\\": 5\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"pixverse/v6/extend\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "PixVerse V6 Extend" - modelId: "pixverse/v6/extend" - vendor: "PixVerse" - vendorSlug: "pixverse" - modelSlug: "v6/extend" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-03-29T11:11:49.66Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "PixVerse V6 Extend reference moved" +description: "The pixverse/v6/extend reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/pixverse/v6/extend +robots: noindex,follow --- - +# This page has moved + +`pixverse/v6/extend` is a video model. Its API reference now lives at [PixVerse V6 Extend](/model-api-reference/video-generation/pixverse/v6/extend) under Video Generation. diff --git a/model-api-reference/image-generation/sonilo/1.1/video-to-music.md b/model-api-reference/image-generation/sonilo/1.1/video-to-music.md index c16d17e0..23978cae 100644 --- a/model-api-reference/image-generation/sonilo/1.1/video-to-music.md +++ b/model-api-reference/image-generation/sonilo/1.1/video-to-music.md @@ -1,21 +1,10 @@ --- -title: "V1.1 API Reference" -description: "V1.1 API reference for SandBase. Use model sonilo/1.1/video-to-music with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/sonilo/1.1/video-to-music" -apiReferenceJson: "{\"title\":\"V1.1\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"1.1 Video To Music by Sonilo - advanced AI model for video-to-audio. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to sonilo/1.1/video-to-music.\",\"default\":\"sonilo/1.1/video-to-music\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Optional text prompt steering the musical style. If omitted, a prompt is generated automatically from the video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Public http(s) URL of the source video to score.\"},{\"name\":\"duration\",\"type\":\"integer\",\"required\":false,\"description\":\"Optional. Length (seconds) of the video segment to score. When set, scores a segment of this length starting at Start Offset (or from the beginning if Start Offset is unset). Defaults (None) to the rest of the video: the whole video when Start Offset is unset, or from Start Offset to the end when it is set.\",\"constraints\":\"Range: 1 to 600\"},{\"name\":\"num_samples\",\"type\":\"integer\",\"required\":false,\"description\":\"How many distinct music tracks to generate for the video.\",\"default\":\"1\",\"constraints\":\"Range: 1 to 3\"},{\"name\":\"start_offset\",\"type\":\"number\",\"required\":false,\"description\":\"Optional. Start scoring from this offset (seconds) into the video. Requires Start Offset + Duration <= Video Duration.\",\"constraints\":\"Range: 0 to 600\"},{\"name\":\"prompt_influence\",\"type\":\"number\",\"required\":false,\"description\":\"Turn it up to match the text prompt\",\"default\":\"0.5\",\"constraints\":\"Range: 0 to 1\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-audio\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"sonilo/1.1/video-to-music\\\",\\n \\\"prompt\\\": \\\"A cinematic product photo of a matte black smart speaker on a marble table, soft studio lighting\\\",\\n \\\"video\\\": \\\"https://v3b.fal.media/files/b/0a9ddd00/2QssaYyFxstvVlmIraSns_Sonilo_Demo_Original_1.mp4\\\",\\n \\\"duration\\\": 1\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"sonilo/1.1/video-to-music\\\",\\n \\\"prompt\\\": \\\"A cinematic product photo of a matte black smart speaker on a marble table, soft studio lighting\\\",\\n \\\"video\\\": \\\"https://v3b.fal.media/files/b/0a9ddd00/2QssaYyFxstvVlmIraSns_Sonilo_Demo_Original_1.mp4\\\",\\n \\\"duration\\\": 1\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"sonilo/1.1/video-to-music\\\",\\n \\\"prompt\\\": \\\"A cinematic product photo of a matte black smart speaker on a marble table, soft studio lighting\\\",\\n \\\"video\\\": \\\"https://v3b.fal.media/files/b/0a9ddd00/2QssaYyFxstvVlmIraSns_Sonilo_Demo_Original_1.mp4\\\",\\n \\\"duration\\\": 1\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"sonilo/1.1/video-to-music\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "V1.1" - modelId: "sonilo/1.1/video-to-music" - vendor: "Sonilo" - vendorSlug: "sonilo" - modelSlug: "1.1/video-to-music" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-06-03T18:40:46.335Z" - capabilities: ["video-to-audio"] - category: "Image Generation" +title: "V1.1 reference moved" +description: "The sonilo/1.1/video-to-music reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/sonilo/1.1/video-to-music +robots: noindex,follow --- - +# This page has moved + +`sonilo/1.1/video-to-music` is a video model. Its API reference now lives at [V1.1](/model-api-reference/video-generation/sonilo/1.1/video-to-music) under Video Generation. diff --git a/model-api-reference/image-generation/sonilo/1.1/video-to-sound-effects.md b/model-api-reference/image-generation/sonilo/1.1/video-to-sound-effects.md index 7f13ad58..9f19beb1 100644 --- a/model-api-reference/image-generation/sonilo/1.1/video-to-sound-effects.md +++ b/model-api-reference/image-generation/sonilo/1.1/video-to-sound-effects.md @@ -1,21 +1,10 @@ --- -title: "V1.1 Video to Sound Effects API Reference" -description: "V1.1 Video to Sound Effects API reference for SandBase. Use model sonilo/1.1/video-to-sound-effects with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/sonilo/1.1/video-to-sound-effects" -apiReferenceJson: "{\"title\":\"V1.1 Video to Sound Effects\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"1.1 Video To Sound Effects by Sonilo - advanced AI model for video-to-audio. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to sonilo/1.1/video-to-sound-effects.\",\"default\":\"sonilo/1.1/video-to-sound-effects\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Optional. Describe the kind of sound you want; it steers the generated audio for every scene. Leave empty to caption the video automatically.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"The video to add sound to (public URL, or upload a file). The generated audio matches the video's length.\"},{\"name\":\"audio_format\",\"type\":\"string\",\"required\":false,\"description\":\"Format of the returned audio file: aac (default), mp3, wav, or flac. (The video with sound is always AAC.)\",\"default\":\"aac\",\"constraints\":\"Allowed values: wav, mp3, aac, flac\"},{\"name\":\"segments\",\"type\":\"array\",\"required\":false,\"description\":\"Optional. Split the video into time ranges, each with its own sound description. Leave empty to split into scenes automatically.\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-audio\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"sonilo/1.1/video-to-sound-effects\\\",\\n \\\"prompt\\\": \\\"A cinematic product photo of a matte black smart speaker on a marble table, soft studio lighting\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/model_tests/video_models/mmaudio_input.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"sonilo/1.1/video-to-sound-effects\\\",\\n \\\"prompt\\\": \\\"A cinematic product photo of a matte black smart speaker on a marble table, soft studio lighting\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/Falserverless/model_tests/video_models/mmaudio_input.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"sonilo/1.1/video-to-sound-effects\\\",\\n \\\"prompt\\\": \\\"A cinematic product photo of a matte black smart speaker on a marble table, soft studio lighting\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/model_tests/video_models/mmaudio_input.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"sonilo/1.1/video-to-sound-effects\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "V1.1 Video to Sound Effects" - modelId: "sonilo/1.1/video-to-sound-effects" - vendor: "Sonilo" - vendorSlug: "sonilo" - modelSlug: "1.1/video-to-sound-effects" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-07-21T09:44:30.217Z" - capabilities: ["video-to-audio"] - category: "Image Generation" +title: "V1.1 Video to Sound Effects reference moved" +description: "The sonilo/1.1/video-to-sound-effects reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/sonilo/1.1/video-to-sound-effects +robots: noindex,follow --- - +# This page has moved + +`sonilo/1.1/video-to-sound-effects` is a video model. Its API reference now lives at [V1.1 Video to Sound Effects](/model-api-reference/video-generation/sonilo/1.1/video-to-sound-effects) under Video Generation. diff --git a/model-api-reference/image-generation/sync/lipsync/react-1.md b/model-api-reference/image-generation/sync/lipsync/react-1.md index b157b390..26f2141e 100644 --- a/model-api-reference/image-generation/sync/lipsync/react-1.md +++ b/model-api-reference/image-generation/sync/lipsync/react-1.md @@ -1,21 +1,10 @@ --- -title: "Sync React-1 API Reference" -description: "Sync React-1 API reference for SandBase. Use model sync/lipsync/react-1 with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/sync/lipsync/react-1" -apiReferenceJson: "{\"title\":\"Sync React-1\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Lipsync React 1 is Sync Labs's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to sync/lipsync/react-1.\",\"default\":\"sync/lipsync/react-1\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL to the input video. Must be **15 seconds or shorter**.\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"URL to the input audio. Must be **15 seconds or shorter**.\"},{\"name\":\"model_mode\",\"type\":\"string\",\"required\":false,\"description\":\"Controls the edit region and movement scope for the model. Available options: - `lips`: Only lipsync using react-1 (minimal facial changes). - `face`: Lipsync + facial expressions without head movements. - `head`: Lipsync + facial expressions + natural talking head movements.\",\"default\":\"face\",\"constraints\":\"Allowed values: lips, face, head\"},{\"name\":\"lipsync_mode\",\"type\":\"string\",\"required\":false,\"description\":\"Lipsync mode when audio and video durations are out of sync.\",\"default\":\"bounce\",\"constraints\":\"Allowed values: cut_off, loop, bounce, silence, remap\"},{\"name\":\"temperature\",\"type\":\"number\",\"required\":false,\"description\":\"Controls the expresiveness of the lipsync.\",\"default\":\"0.5\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"emotion\",\"type\":\"string\",\"required\":false,\"description\":\"Emotion prompt for the generation. Currently supports single-word emotions only.\",\"constraints\":\"Allowed values: happy, angry, sad, neutral, disgusted, surprised\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"sync/lipsync/react-1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/react-1/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/react-1/input_audio_1.mp3\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"sync/lipsync/react-1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/react-1/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/react-1/input_audio_1.mp3\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"sync/lipsync/react-1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/react-1/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/react-1/input_audio_1.mp3\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"sync/lipsync/react-1\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Sync React-1" - modelId: "sync/lipsync/react-1" - vendor: "Sync Labs" - vendorSlug: "sync" - modelSlug: "lipsync/react-1" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2025-12-10T14:23:05.777Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Sync React-1 reference moved" +description: "The sync/lipsync/react-1 reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/sync/lipsync/react-1 +robots: noindex,follow --- - +# This page has moved + +`sync/lipsync/react-1` is a video model. Its API reference now lives at [Sync React-1](/model-api-reference/video-generation/sync/lipsync/react-1) under Video Generation. diff --git a/model-api-reference/image-generation/sync/lipsync/v2.md b/model-api-reference/image-generation/sync/lipsync/v2.md index 6b30ff20..c3fe70be 100644 --- a/model-api-reference/image-generation/sync/lipsync/v2.md +++ b/model-api-reference/image-generation/sync/lipsync/v2.md @@ -1,21 +1,10 @@ --- -title: "Sync Lipsync 2.0 API Reference" -description: "Sync Lipsync 2.0 API reference for SandBase. Use model sync/lipsync/v2 with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/sync/lipsync/v2" -apiReferenceJson: "{\"title\":\"Sync Lipsync 2.0\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Lipsync V2 by Sync Labs - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to sync/lipsync/v2.\",\"default\":\"sync/lipsync/v2\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input video\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input audio\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"sync/lipsync/v2\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/output_url_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/input_audio_1.wav\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"sync/lipsync/v2\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/output_url_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/input_audio_1.wav\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"sync/lipsync/v2\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/output_url_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/input_audio_1.wav\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"sync/lipsync/v2\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Sync Lipsync 2.0" - modelId: "sync/lipsync/v2" - vendor: "Sync Labs" - vendorSlug: "sync" - modelSlug: "lipsync/v2" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2025-04-01T18:57:06.699Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Sync Lipsync 2.0 reference moved" +description: "The sync/lipsync/v2 reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/sync/lipsync/v2 +robots: noindex,follow --- - +# This page has moved + +`sync/lipsync/v2` is a video model. Its API reference now lives at [Sync Lipsync 2.0](/model-api-reference/video-generation/sync/lipsync/v2) under Video Generation. diff --git a/model-api-reference/image-generation/sync/lipsync/v2/pro.md b/model-api-reference/image-generation/sync/lipsync/v2/pro.md index 6639dd3c..2b29f3e2 100644 --- a/model-api-reference/image-generation/sync/lipsync/v2/pro.md +++ b/model-api-reference/image-generation/sync/lipsync/v2/pro.md @@ -1,21 +1,10 @@ --- -title: "Sync Lipsync API Reference" -description: "Sync Lipsync API reference for SandBase. Use model sync/lipsync/v2/pro with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/sync/lipsync/v2/pro" -apiReferenceJson: "{\"title\":\"Sync Lipsync\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Lipsync V2 Pro by Sync Labs - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to sync/lipsync/v2/pro.\",\"default\":\"sync/lipsync/v2/pro\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input video\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input audio\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"sync/lipsync/v2/pro\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/pro/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/pro/input_audio_1.mp3\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"sync/lipsync/v2/pro\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/pro/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/pro/input_audio_1.mp3\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"sync/lipsync/v2/pro\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/pro/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/pro/input_audio_1.mp3\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"sync/lipsync/v2/pro\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Sync Lipsync" - modelId: "sync/lipsync/v2/pro" - vendor: "Sync Labs" - vendorSlug: "sync" - modelSlug: "lipsync/v2/pro" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2025-09-02T16:39:37.207Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Sync Lipsync reference moved" +description: "The sync/lipsync/v2/pro reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/sync/lipsync/v2/pro +robots: noindex,follow --- - +# This page has moved + +`sync/lipsync/v2/pro` is a video model. Its API reference now lives at [Sync Lipsync](/model-api-reference/video-generation/sync/lipsync/v2/pro) under Video Generation. diff --git a/model-api-reference/image-generation/sync/lipsync/v3.md b/model-api-reference/image-generation/sync/lipsync/v3.md index a2a5ab95..552c1b5a 100644 --- a/model-api-reference/image-generation/sync/lipsync/v3.md +++ b/model-api-reference/image-generation/sync/lipsync/v3.md @@ -1,21 +1,10 @@ --- -title: "sync-3 Lipsync API Reference" -description: "sync-3 Lipsync API reference for SandBase. Use model sync/lipsync/v3 with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/sync/lipsync/v3" -apiReferenceJson: "{\"title\":\"sync-3 Lipsync\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Lipsync V3 by Sync Labs - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to sync/lipsync/v3.\",\"default\":\"sync/lipsync/v3\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input video\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input audio\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"sync/lipsync/v3\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v3/output_url_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v3/input_audio_1.wav\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"sync/lipsync/v3\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v3/output_url_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v3/input_audio_1.wav\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"sync/lipsync/v3\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v3/output_url_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v3/input_audio_1.wav\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"sync/lipsync/v3\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "sync-3 Lipsync" - modelId: "sync/lipsync/v3" - vendor: "Sync Labs" - vendorSlug: "sync" - modelSlug: "lipsync/v3" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-04-06T11:59:40.659Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "sync-3 Lipsync reference moved" +description: "The sync/lipsync/v3 reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/sync/lipsync/v3 +robots: noindex,follow --- - +# This page has moved + +`sync/lipsync/v3` is a video model. Its API reference now lives at [sync-3 Lipsync](/model-api-reference/video-generation/sync/lipsync/v3) under Video Generation. diff --git a/model-api-reference/image-generation/sync/sync-lipsync.md b/model-api-reference/image-generation/sync/sync-lipsync.md index 116b4f52..9bdb36cc 100644 --- a/model-api-reference/image-generation/sync/sync-lipsync.md +++ b/model-api-reference/image-generation/sync/sync-lipsync.md @@ -1,21 +1,10 @@ --- -title: "sync.so -- lipsync 1.9.0-beta API Reference" -description: "sync.so -- lipsync 1.9.0-beta API reference for SandBase. Use model sync/sync-lipsync with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/sync/sync-lipsync" -apiReferenceJson: "{\"title\":\"sync.so -- lipsync 1.9.0-beta\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Sync Lipsync by Sync Labs - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to sync/sync-lipsync.\",\"default\":\"sync/sync-lipsync\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input video\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input audio\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"sync/sync-lipsync\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/sync-lipsync/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/sync-lipsync/input_audio_1.wav\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"sync/sync-lipsync\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/sync-lipsync/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/sync-lipsync/input_audio_1.wav\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"sync/sync-lipsync\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/sync-lipsync/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/sync-lipsync/input_audio_1.wav\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"sync/sync-lipsync\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "sync.so -- lipsync 1.9.0-beta" - modelId: "sync/sync-lipsync" - vendor: "Sync Labs" - vendorSlug: "sync" - modelSlug: "sync-lipsync" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2025-01-13T00:00:00Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "sync.so -- lipsync 1.9.0-beta reference moved" +description: "The sync/sync-lipsync reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/sync/sync-lipsync +robots: noindex,follow --- - +# This page has moved + +`sync/sync-lipsync` is a video model. Its API reference now lives at [sync.so -- lipsync 1.9.0-beta](/model-api-reference/video-generation/sync/sync-lipsync) under Video Generation. diff --git a/model-api-reference/image-generation/veed/subtitles.md b/model-api-reference/image-generation/veed/subtitles.md index 8d6e9cda..2644b624 100644 --- a/model-api-reference/image-generation/veed/subtitles.md +++ b/model-api-reference/image-generation/veed/subtitles.md @@ -1,21 +1,10 @@ --- -title: "Subtitles API Reference" -description: "Subtitles API reference for SandBase. Use model veed/subtitles with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/veed/subtitles" -apiReferenceJson: "{\"title\":\"Subtitles\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Subtitles is VEED's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to veed/subtitles.\",\"default\":\"veed/subtitles\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Upload or paste a URL to the video you want to subtitle.\"},{\"name\":\"srt_content\",\"type\":\"string\",\"required\":false,\"description\":\"Paste raw SRT subtitle text. Alternative to srt_file_url. When provided, transcription is skipped.\"},{\"name\":\"customization\",\"type\":\"string\",\"required\":false,\"description\":\"Optional preset overrides: vertical position, shadow intensity, and per-tier text styling (font, weight, hex colour) for each word-importance tier. Any omitted field keeps the preset's default.\"},{\"name\":\"preset\",\"type\":\"string\",\"required\":false,\"description\":\"Each style defines fonts, colors, layout, and animation. Two tiers with different pricing: - Dynamic presets (2x multiplier): glass, whisper, glide2, fusion, glide, terminal, handwritten. Richer, context-aware rendering that adapts to the input. - Basic presets (1x multiplier): simple, plain, beans, corpo, boo, shadeplay, casper, capri, lowkey, vinta, diego, ali, slay, kitty, hustle, karl, sprout, flex, mint, rizz, vegas. Fixed, lightweight styling with predictable output.\",\"constraints\":\"Allowed values: glass, whisper, glide2, fusion, glide, terminal, handwritten, simple, plain, beans, corpo, boo, shadeplay, casper, capri, lowkey, vinta, diego, ali, slay, kitty, hustle, karl, sprout, flex, mint, rizz, vegas\"},{\"name\":\"language\",\"type\":\"string\",\"required\":false,\"description\":\"Improves transcription accuracy, and should match the source audio (not output subtitles).\",\"constraints\":\"Allowed values: af-ZA, am-ET, ar-AE, ar-BH, ar-DZ, ar-EG, ar-IL, ar-IQ, ar-JO, ar-KW, ar-LB, ar-MA, ar-OM, ar-PS, ar-QA, ar-SA, ar-TN, ast-ES, az-AZ, ba, bas, be-BY, bg-BG, br, bs-BA, ca-ES, ceb-PH, ckb-IQ, cs-CZ, cy-GB, da-DK, de-DE, dyu, el-GR, en-AU, en-GB, en-IN, en-NZ, en-US, eo, es-AR, es-BO, es-CL, es-CO, es-CR, es-DO, es-EC, es-ES, es-GT, es-HN, es-MX, es-NI, es-PA, es-PE, es-PR, es-PY, es-SV, es-US, es-UY, es-VE, et-EE, eu-ES, fa-IR, ff, fi-FI, fil-PH, fo, fr-CA, fr-FR, fy, ga, gd, gl-ES, ha-NG, haw, he-IL, hr-HR, hsb, ht, hu-HU, hy-AM, id-ID, ig, is-IS, it-IT, ja-JP, ja-Latn-JP, jv-ID, ka-GE, kab, kam-KE, kea-CV, kk-KZ, ko-KR, ku, ky-KG, la, lb-LU, lg, lij, ln-CD, lo-LA, lt-LT, luo-KE, lv-LV, mg, mi-NZ, mk-MK, mn-MN, ms-MY, mt-MT, nb-NO, nl-NL, nn, nso-ZA, ny-MW, oc-FR, pl-PL, ps-AF, pt-BR, pt-PT, ro-RO, roh, ru-RU, rw-RW, sah, sk-SK, sl-SI, sm, sn-ZW, so-SO, sq-AL, sr-Latn-RS, sr-RS, srd, ss, su-ID, sv-SE, sw-KE, sw-TZ, tg-TJ, th-TH, tk, tn, tok, ton, tr-TR, ts-ZA, tt, uk-UA, umb-AO, ur-IN, ur-PK, uz-UZ, vi-VN, vro, wo-SN, xh-ZA, yi, yo-NG, yue-Hant-HK, zh, zh-HK, zh-TW, zu-ZA\"},{\"name\":\"srt_file_url\",\"type\":\"string\",\"required\":false,\"description\":\"Upload or paste a URL to your .srt subtitles file. When provided, transcription is skipped.\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"veed/subtitles\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/veed/subtitles/input_video_0.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"veed/subtitles\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/veed/subtitles/input_video_0.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"veed/subtitles\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/veed/subtitles/input_video_0.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"veed/subtitles\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Subtitles" - modelId: "veed/subtitles" - vendor: "VEED" - vendorSlug: "veed" - modelSlug: "subtitles" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-05-18T09:03:09.763Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Subtitles reference moved" +description: "The veed/subtitles reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/veed/subtitles +robots: noindex,follow --- - +# This page has moved + +`veed/subtitles` is a video model. Its API reference now lives at [Subtitles](/model-api-reference/video-generation/veed/subtitles) under Video Generation. diff --git a/model-api-reference/image-generation/xai/grok-imagine-video/edit.md b/model-api-reference/image-generation/xai/grok-imagine-video/edit.md index 7ef199d2..31a16f58 100644 --- a/model-api-reference/image-generation/xai/grok-imagine-video/edit.md +++ b/model-api-reference/image-generation/xai/grok-imagine-video/edit.md @@ -1,21 +1,10 @@ --- -title: "Grok Imagine Video Edit API Reference" -description: "Grok Imagine Video Edit API reference for SandBase. Use model xai/grok-imagine-video/edit with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/xai/grok-imagine-video/edit" -apiReferenceJson: "{\"title\":\"Grok Imagine Video Edit\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Grok Imagine Video Edit is xAI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to xai/grok-imagine-video/edit.\",\"default\":\"xai/grok-imagine-video/edit\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text description of the desired edit.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input video to edit. The video will be resized to a maximum area of 854x480 pixels and truncated to 8 seconds.\"},{\"name\":\"resolution\",\"type\":\"string\",\"required\":false,\"description\":\"Resolution of the output video.\",\"default\":\"auto\",\"constraints\":\"Allowed values: auto, 480p, 720p\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"xai/grok-imagine-video/edit\\\",\\n \\\"prompt\\\": \\\"Colorize the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/xai/grok-imagine-video/edit/input_video_0.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"xai/grok-imagine-video/edit\\\",\\n \\\"prompt\\\": \\\"Colorize the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/xai/grok-imagine-video/edit/input_video_0.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"xai/grok-imagine-video/edit\\\",\\n \\\"prompt\\\": \\\"Colorize the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/xai/grok-imagine-video/edit/input_video_0.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"xai/grok-imagine-video/edit\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Grok Imagine Video Edit" - modelId: "xai/grok-imagine-video/edit" - vendor: "xAI" - vendorSlug: "xai" - modelSlug: "grok-imagine-video/edit" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-01-29T00:27:49.985Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Grok Imagine Video Edit reference moved" +description: "The xai/grok-imagine-video/edit reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/xai/grok-imagine-video/edit +robots: noindex,follow --- - +# This page has moved + +`xai/grok-imagine-video/edit` is a video model. Its API reference now lives at [Grok Imagine Video Edit](/model-api-reference/video-generation/xai/grok-imagine-video/edit) under Video Generation. diff --git a/model-api-reference/image-generation/xai/grok-imagine-video/extend.md b/model-api-reference/image-generation/xai/grok-imagine-video/extend.md index 59020b27..f05a754d 100644 --- a/model-api-reference/image-generation/xai/grok-imagine-video/extend.md +++ b/model-api-reference/image-generation/xai/grok-imagine-video/extend.md @@ -1,21 +1,10 @@ --- -title: "Grok Imagine Video Extend API Reference" -description: "Grok Imagine Video Extend API reference for SandBase. Use model xai/grok-imagine-video/extend with /v1/run; see request and response examples." -aside: false -outline: false -apiReferenceKey: "image/xai/grok-imagine-video/extend" -apiReferenceJson: "{\"title\":\"Grok Imagine Video Extend\",\"operation\":\"Image Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Grok Imagine Video Extend is xAI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to xai/grok-imagine-video/extend.\",\"default\":\"xai/grok-imagine-video/extend\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text description of what should happen next in the video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the source video to extend. Must be MP4 format (H.264, H.265, or AV1 codec), 2-15 seconds long.\"},{\"name\":\"duration\",\"type\":\"integer\",\"required\":false,\"description\":\"Length of the extension in seconds.\",\"default\":\"6\",\"constraints\":\"Range: 2 to 10\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"xai/grok-imagine-video/extend\\\",\\n \\\"prompt\\\": \\\"The camera slowly zooms out to reveal the city skyline at sunset\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/xai/grok-imagine-video/extend/input_video_0.mp4\\\",\\n \\\"duration\\\": 6\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"xai/grok-imagine-video/extend\\\",\\n \\\"prompt\\\": \\\"The camera slowly zooms out to reveal the city skyline at sunset\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/xai/grok-imagine-video/extend/input_video_0.mp4\\\",\\n \\\"duration\\\": 6\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"xai/grok-imagine-video/extend\\\",\\n \\\"prompt\\\": \\\"The camera slowly zooms out to reveal the city skyline at sunset\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/xai/grok-imagine-video/extend/input_video_0.mp4\\\",\\n \\\"duration\\\": 6\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"xai/grok-imagine-video/extend\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" -seo: - modelName: "Grok Imagine Video Extend" - modelId: "xai/grok-imagine-video/extend" - vendor: "xAI" - vendorSlug: "xai" - modelSlug: "grok-imagine-video/extend" - protocol: "Image Generation Reference" - endpoint: "/v1/run" - publishedAt: "2026-03-24T17:54:09.171Z" - capabilities: ["video-to-video"] - category: "Image Generation" +title: "Grok Imagine Video Extend reference moved" +description: "The xai/grok-imagine-video/extend reference now lives under Video Generation." +canonical: /docs/model-api-reference/video-generation/xai/grok-imagine-video/extend +robots: noindex,follow --- - +# This page has moved + +`xai/grok-imagine-video/extend` is a video model. Its API reference now lives at [Grok Imagine Video Extend](/model-api-reference/video-generation/xai/grok-imagine-video/extend) under Video Generation. diff --git a/model-api-reference/video-generation.md b/model-api-reference/video-generation.md index fe6313de..f53048f0 100644 --- a/model-api-reference/video-generation.md +++ b/model-api-reference/video-generation.md @@ -37,7 +37,7 @@ Video Generation models use the SandBase generation protocol declared in each mo - [Seedance 2.0 Mini Text to Video](/model-api-reference/video-generation/bytedance/seedance/2.0/mini/text-to-video) — Seedance 2.0 Mini text-to-video generation through the unified `/v1/run` endpoint. - [Seedance 2.0 Mini Image to Video](/model-api-reference/video-generation/bytedance/seedance/2.0/mini/image-to-video) — Seedance 2.0 Mini image-to-video generation through the unified `/v1/run` endpoint. - [Seedance 2.0 Mini Reference to Video](/model-api-reference/video-generation/bytedance/seedance/2.0/mini/reference-to-video) — Seedance 2.0 Mini reference-guided video generation through the unified `/v1/run` endpoint. -- …and 9 more models in the sidebar. +- …and 10 more models in the sidebar. ### Google @@ -102,6 +102,7 @@ Video Generation models use the SandBase generation protocol declared in each mo ### VEED - [VEED Lipsync (VEED: lipsync / 2.0)](/model-api-reference/video-generation/veed/lipsync/2.0) — Lipsync 2.0 is VEED's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. +- [Subtitles](/model-api-reference/video-generation/veed/subtitles) — Subtitles is VEED's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. - [VEED Fabric 1.0 Text to Video](/model-api-reference/video-generation/veed/fabric-1.0/text-to-video) — Fabric 1.0 by VEED - generate cinematic videos from text descriptions with AI. Create high-quality video content with natural motion, camera control, and optional audio generation. - [VEED Video Background Removal Fast](/model-api-reference/video-generation/veed/video-bg-removal/fast) — Video Bg Removal Fast is VEED's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. - [VEED Video Background Removal](/model-api-reference/video-generation/veed/video-bg-removal) — Video Bg Removal by VEED - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. @@ -126,7 +127,7 @@ Video Generation models use the SandBase generation protocol declared in each mo - [Wan 2.7 Text to Video](/model-api-reference/video-generation/alibaba/wan/2.7/text-to-video) — Alibaba Wan 2.7 text-to-video model with cinematic visuals, native audio generation, and configurable duration and resolution. - [Wan 2.7 Reference to Video](/model-api-reference/video-generation/alibaba/wan/2.7/reference-to-video) — Alibaba Wan 2.7 reference-to-video model generating video guided by reference content. - [Wan 2.7 Edit Video](/model-api-reference/video-generation/alibaba/wan/2.7/edit-video) — Alibaba Wan 2.7 video editing model. -- …and 52 more models in the sidebar. +- …and 53 more models in the sidebar. ### Bria @@ -170,16 +171,17 @@ Video Generation models use the SandBase generation protocol declared in each mo - [Kling Video O3 4k (KwaiVGI: kling-video / o3 / 4k / text-to-video)](/model-api-reference/video-generation/kwaivgi/kling-video/o3/4k/text-to-video) — Kling Video O3 4k is KwaiVGI's text-to-video AI model. Turn written scripts and prompts into professional-quality video clips with realistic motion, lighting, and scene composition. - [Kling Video V3 4k (KwaiVGI: kling-video / v3 / 4k / image-to-video)](/model-api-reference/video-generation/kwaivgi/kling-video/v3/4k/image-to-video) — Kling Video V3 4k by KwaiVGI - animate still images into dynamic videos with AI. Transform photos into cinematic clips with natural motion, camera movement, and optional audio generation. - [Kling Video V3 4k (KwaiVGI: kling-video / v3 / 4k / text-to-video)](/model-api-reference/video-generation/kwaivgi/kling-video/v3/4k/text-to-video) — Kling Video V3 4k is KwaiVGI's text-to-video AI model. Turn written scripts and prompts into professional-quality video clips with realistic motion, lighting, and scene composition. +- [Kling Video V3 Standard (KwaiVGI: kling-video / v3 / standard / motion-control)](/model-api-reference/video-generation/kwaivgi/kling-video/v3/standard/motion-control) — Kling Video V3 Standard by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. +- [Kling Video V3 Pro (KwaiVGI: kling-video / v3 / pro / motion-control)](/model-api-reference/video-generation/kwaivgi/kling-video/v3/pro/motion-control) — Kling Video V3 Pro is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. - [Kling Video V3 Pro (KwaiVGI: kling-video / v3 / pro / image-to-video)](/model-api-reference/video-generation/kwaivgi/kling-video/v3/pro/image-to-video) — Kling Video V3 Pro is KwaiVGI's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. -- [Kling Video V3 Standard (KwaiVGI: kling-video / v3 / standard / image-to-video)](/model-api-reference/video-generation/kwaivgi/kling-video/v3/standard/image-to-video) — Kling Video V3 Standard by KwaiVGI - animate still images into dynamic videos with AI. Transform photos into cinematic clips with natural motion, camera movement, and optional audio generation. -- [Kling Video V3 Pro (KwaiVGI: kling-video / v3 / pro / text-to-video)](/model-api-reference/video-generation/kwaivgi/kling-video/v3/pro/text-to-video) — Kling Video V3 Pro by KwaiVGI - generate cinematic videos from text descriptions with AI. Create high-quality video content with natural motion, camera control, and optional audio generation. -- …and 48 more models in the sidebar. +- …and 61 more models in the sidebar. ### Lightricks - [Ltx 2.3](/model-api-reference/video-generation/lightricks/ltx-2.3/reframe) — Ltx 2.3 Reframe is Lightricks's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. - [Ltx 2.3 Quality (Lightricks: ltx-2.3-quality / extend-video)](/model-api-reference/video-generation/lightricks/ltx-2.3-quality/extend-video) — Ltx 2.3 Quality Extend Video by Lightricks - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. - [Ltx 2.3 Quality (Lightricks: ltx-2.3-quality / hdr)](/model-api-reference/video-generation/lightricks/ltx-2.3-quality/hdr) — Ltx 2.3 Quality Hdr is Lightricks's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. +- [Ltx 2.3 Quality (Lightricks: ltx-2.3-quality / audio-to-video)](/model-api-reference/video-generation/lightricks/ltx-2.3-quality/audio-to-video) — Ltx 2.3 Quality Audio To Video by Lightricks - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows. - [Ltx 2.3 Quality (Lightricks: ltx-2.3-quality / image-to-video)](/model-api-reference/video-generation/lightricks/ltx-2.3-quality/image-to-video) — Ltx 2.3 Quality by Lightricks - animate still images into dynamic videos with AI. Transform photos into cinematic clips with natural motion, camera movement, and optional audio generation. - [Ltx 2.3 Quality (Lightricks: ltx-2.3-quality / text-to-video)](/model-api-reference/video-generation/lightricks/ltx-2.3-quality/text-to-video) — Ltx 2.3 Quality is Lightricks's text-to-video AI model. Turn written scripts and prompts into professional-quality video clips with realistic motion, lighting, and scene composition. - [LTX-2.3 22B Distilled (Lightricks: ltx-2.3-22b / distilled / reference-video-to-video / lora)](/model-api-reference/video-generation/lightricks/ltx-2.3-22b/distilled/reference-video-to-video/lora) — Ltx 2.3 22b Distilled Reference Video To Video is Lightricks's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. @@ -188,12 +190,13 @@ Video Generation models use the SandBase generation protocol declared in each mo - [LTX 2.3 22B Reference to Video](/model-api-reference/video-generation/lightricks/ltx-2.3-22b/reference-to-video) — Ltx 2.3 22b by Lightricks - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. - [LTX-2.3 22B (Lightricks: ltx-2.3-22b / extend-video / lora)](/model-api-reference/video-generation/lightricks/ltx-2.3-22b/extend-video/lora) — Ltx 2.3 22b Extend Video Lora is Lightricks's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. - [LTX 2.3 22B Extend](/model-api-reference/video-generation/lightricks/ltx-2.3-22b/extend) — Ltx 2.3 22b Extend by Lightricks - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. -- [LTX-2.3 22B Distilled (Lightricks: ltx-2.3-22b / distilled / video-to-video / lora)](/model-api-reference/video-generation/lightricks/ltx-2.3-22b/distilled/video-to-video/lora) — Ltx 2.3 22b Distilled Video To Video is Lightricks's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. -- …and 55 more models in the sidebar. +- …and 60 more models in the sidebar. ### meituan +- [Longcat Multi Avatar](/model-api-reference/video-generation/meituan/longcat-multi-avatar/image-audio-to-video) — Longcat Multi Avatar Image Audio To Video by meituan - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows. - [LongCat Single Avatar](/model-api-reference/video-generation/meituan/longcat-single-avatar/image-audio-to-video) — Longcat Single Avatar Image Audio To Video by sandbase-ai - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows. +- [Longcat Single Avatar](/model-api-reference/video-generation/meituan/longcat-single-avatar/audio-to-video) — Longcat Single Avatar Audio To Video by meituan - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows. - [LongCat Video (meituan: longcat-video / text-to-video / 720p)](/model-api-reference/video-generation/meituan/longcat-video/text-to-video/720p) — Longcat Video 720p by meituan - generate cinematic videos from text descriptions with AI. Create high-quality video content with natural motion, camera control, and optional audio generation. - [LongCat Video (meituan: longcat-video / image-to-video)](/model-api-reference/video-generation/meituan/longcat-video/image-to-video) — Longcat Video is meituan's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. - [LongCat Video (meituan: longcat-video / image-to-video-480p)](/model-api-reference/video-generation/meituan/longcat-video/image-to-video-480p) — Longcat Video Image To Video 480p is meituan's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. @@ -206,11 +209,18 @@ Video Generation models use the SandBase generation protocol declared in each mo ### Meta - [SAM 3.1 Video](/model-api-reference/video-generation/meta/sam-3-1/video-rle) — Sam 3 1 Video Rle is Meta's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. +- [Sam 3 1](/model-api-reference/video-generation/meta/sam-3-1/video) — Sam 3 1 Video is Meta's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. +- [Sam 3 (Meta: sam-3 / video-rle)](/model-api-reference/video-generation/meta/sam-3/video-rle) — Sam 3 Video Rle is Meta's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. - [Sam 3](/model-api-reference/video-generation/meta/sam-3/video) — Sam 3 Video is Meta's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. +### Mirelo + +- [Mirelo SFX1.6](/model-api-reference/video-generation/mirelo/sfx1.6/video-to-video) — Sfx1.6 Video To Video is Mirelo's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. + ### NVIDIA - [Cosmos 3 Super Image to Video](/model-api-reference/video-generation/nvidia/cosmos-3-super/image-to-video) — Cosmos 3 Super is NVIDIA's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. +- [Nemotron 3 Nano Omni](/model-api-reference/video-generation/nvidia/nemotron-3-nano-omni/video) — Nemotron 3 Nano Omni Video by NVIDIA - advanced AI model for video-to-text. Delivers high-quality results with fast inference, suitable for both creative and production workflows. ### Pixelcut @@ -223,19 +233,21 @@ Video Generation models use the SandBase generation protocol declared in each mo - [PixVerse C1 Image to Video](/model-api-reference/video-generation/pixverse/c1/image-to-video) — C1 is PixVerse's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. - [PixVerse C1 Transition](/model-api-reference/video-generation/pixverse/c1/transition) — C1 Transition is PixVerse's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. - [PixVerse V6 Transition](/model-api-reference/video-generation/pixverse/v6/transition) — V6 Transition is PixVerse's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. +- [PixVerse V6 Extend](/model-api-reference/video-generation/pixverse/v6/extend) — V6 Extend is PixVerse's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. - [PixVerse V6 Image to Video](/model-api-reference/video-generation/pixverse/v6/image-to-video) — V6 is PixVerse's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. - [PixVerse V6 Text to Video](/model-api-reference/video-generation/pixverse/v6/text-to-video) — V6 by PixVerse - generate cinematic videos from text descriptions with AI. Create high-quality video content with natural motion, camera control, and optional audio generation. - [PixVerse V5.6 Transition](/model-api-reference/video-generation/pixverse/v5.6/transition) — V5.6 Transition is PixVerse's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. - [PixVerse V5.6 Image to Video](/model-api-reference/video-generation/pixverse/v5.6/image-to-video) — V5.6 is PixVerse's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. - [PixVerse V5.6 Text to Video](/model-api-reference/video-generation/pixverse/v5.6/text-to-video) — V5.6 by PixVerse - generate cinematic videos from text descriptions with AI. Create high-quality video content with natural motion, camera control, and optional audio generation. - [PixVerse V5.5 Effects](/model-api-reference/video-generation/pixverse/v5.5/effects) — V5.5 Effects by PixVerse - animate still images into dynamic videos with AI. Transform photos into cinematic clips with natural motion, camera movement, and optional audio generation. -- [PixVerse V5.5 Transition](/model-api-reference/video-generation/pixverse/v5.5/transition) — V5.5 Transition is PixVerse's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. -- …and 28 more models in the sidebar. +- …and 29 more models in the sidebar. ### Sonilo - [V1.1 Video to Video Music](/model-api-reference/video-generation/sonilo/1.1/video-to-video-music) — 1.1 Video To Video Music by Sonilo - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. +- [V1.1 Video to Sound Effects](/model-api-reference/video-generation/sonilo/1.1/video-to-sound-effects) — 1.1 Video To Sound Effects by Sonilo - advanced AI model for video-to-audio. Delivers high-quality results with fast inference, suitable for both creative and production workflows. - [V1.1 Video to Video Sound Effects](/model-api-reference/video-generation/sonilo/1.1/video-to-video-sound-effects) — 1.1 Video To Video Sound Effects by Sonilo - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. +- [V1.1](/model-api-reference/video-generation/sonilo/1.1/video-to-music) — 1.1 Video To Music by Sonilo - advanced AI model for video-to-audio. Delivers high-quality results with fast inference, suitable for both creative and production workflows. ### Stability AI @@ -245,6 +257,11 @@ Video Generation models use the SandBase generation protocol declared in each mo ### Sync Labs - [sync-3 Avatar Image to Video](/model-api-reference/video-generation/sync/sync-lipsync/3.0/image-to-video) — Sync Lipsync 3.0 is Sync Labs's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. +- [sync-3 Lipsync](/model-api-reference/video-generation/sync/lipsync/v3) — Lipsync V3 by Sync Labs - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. +- [Sync React-1](/model-api-reference/video-generation/sync/lipsync/react-1) — Lipsync React 1 is Sync Labs's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. +- [Sync Lipsync](/model-api-reference/video-generation/sync/lipsync/v2/pro) — Lipsync V2 Pro by Sync Labs - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. +- [Sync Lipsync 2.0](/model-api-reference/video-generation/sync/lipsync/v2) — Lipsync V2 by Sync Labs - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. +- [sync.so -- lipsync 1.9.0-beta](/model-api-reference/video-generation/sync/sync-lipsync) — Sync Lipsync by Sync Labs - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions. ### Tencent @@ -283,6 +300,8 @@ Video Generation models use the SandBase generation protocol declared in each mo - [Grok Imagine Video 1.5](/model-api-reference/video-generation/xai/grok-imagine-video/1.5/image-to-video) — Grok Imagine Video 1.5 is xAI's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. - [Grok Imagine Video Reference to Video](/model-api-reference/video-generation/xai/grok-imagine-video/reference-to-video) — Grok Imagine Video is xAI's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. +- [Grok Imagine Video Extend](/model-api-reference/video-generation/xai/grok-imagine-video/extend) — Grok Imagine Video Extend is xAI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. +- [Grok Imagine Video Edit](/model-api-reference/video-generation/xai/grok-imagine-video/edit) — Grok Imagine Video Edit is xAI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification. - [Grok Imagine Video (xAI: grok-imagine-video / image-to-video)](/model-api-reference/video-generation/xai/grok-imagine-video/image-to-video) — Grok Imagine Video is xAI's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. - [Grok Imagine Video (xAI: grok-imagine-video / text-to-video)](/model-api-reference/video-generation/xai/grok-imagine-video/text-to-video) — Grok Imagine Video by xAI - generate cinematic videos from text descriptions with AI. Create high-quality video content with natural motion, camera control, and optional audio generation. diff --git a/model-api-reference/video-generation/alibaba/wan-vace.md b/model-api-reference/video-generation/alibaba/wan-vace.md new file mode 100644 index 00000000..b48cfdef --- /dev/null +++ b/model-api-reference/video-generation/alibaba/wan-vace.md @@ -0,0 +1,21 @@ +--- +title: "Vace API Reference" +description: "Vace API reference for SandBase. Use model alibaba/wan-vace with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/alibaba/wan-vace" +apiReferenceJson: "{\"title\":\"Vace\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Wan Vace by Alibaba - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to alibaba/wan-vace.\",\"default\":\"alibaba/wan-vace\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"The text prompt to guide video generation.\"},{\"name\":\"aspect_ratio\",\"type\":\"string\",\"required\":false,\"description\":\"The aspect ratio of the generated image.\",\"constraints\":\"Allowed values: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16\"},{\"name\":\"mask\",\"type\":\"string\",\"required\":false,\"description\":\"URL to the guiding mask file. If provided, the model will use this mask as a reference to create masked video. If provided mask video url will be ignored.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL to the source video file. If provided, the model will use this video as a reference.\"},{\"name\":\"resolution\",\"type\":\"string\",\"required\":false,\"description\":\"Resolution of the generated video (480p,580p, or 720p).\",\"default\":\"720p\",\"constraints\":\"Allowed values: 480p, 580p, 720p\"},{\"name\":\"num_inference_steps\",\"type\":\"integer\",\"required\":false,\"description\":\"Number of inference steps for sampling. Higher values give better quality but take longer.\",\"default\":\"30\",\"constraints\":\"Range: 2 to 40\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"Random seed for reproducibility. If None, a random seed is chosen.\"},{\"name\":\"preprocess\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to preprocess the input video.\",\"default\":\"false\"},{\"name\":\"shift\",\"type\":\"number\",\"required\":false,\"description\":\"Shift parameter for video generation.\",\"default\":\"5\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"mask_video_url\",\"type\":\"string\",\"required\":false,\"description\":\"URL to the source mask file. If provided, the model will use this mask as a reference.\"},{\"name\":\"num_frames\",\"type\":\"integer\",\"required\":false,\"description\":\"Number of frames to generate. Must be between 81 to 100 (inclusive). Works only with only reference images as input if source video or mask video is provided output len would be same as source up to 241 frames\",\"default\":\"81\",\"constraints\":\"Range: 81 to 240\"},{\"name\":\"task\",\"type\":\"string\",\"required\":false,\"description\":\"Task type for the model.\",\"default\":\"depth\",\"constraints\":\"Allowed values: depth, inpainting\"},{\"name\":\"ref_image_urls\",\"type\":\"array\",\"required\":false,\"description\":\"Urls to source reference image. If provided, the model will use this image as reference.\"},{\"name\":\"frames_per_second\",\"type\":\"integer\",\"required\":false,\"description\":\"Frames per second of the generated video. Must be between 5 to 24.\",\"default\":\"16\",\"constraints\":\"Range: 5 to 24\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"alibaba/wan-vace\\\",\\n \\\"prompt\\\": \\\"The video shows a man riding a horse on a vast grassland. He has long lavender hair and wears a traditional dress of a white top and black pants. The animation style makes him look like he is doing some kind of outdoor activity or performing. The background is a spectacular mountain range and cloud sky, giving a sense of tranquility and vastness. The entire video is shot from a fixed angle, focusing on the rider and his horse.\\\",\\n \\\"aspect_ratio\\\": \\\"21:9\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/alibaba/wan-vace/input_video_0.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"alibaba/wan-vace\\\",\\n \\\"prompt\\\": \\\"The video shows a man riding a horse on a vast grassland. He has long lavender hair and wears a traditional dress of a white top and black pants. The animation style makes him look like he is doing some kind of outdoor activity or performing. The background is a spectacular mountain range and cloud sky, giving a sense of tranquility and vastness. The entire video is shot from a fixed angle, focusing on the rider and his horse.\\\",\\n \\\"aspect_ratio\\\": \\\"21:9\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/alibaba/wan-vace/input_video_0.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"alibaba/wan-vace\\\",\\n \\\"prompt\\\": \\\"The video shows a man riding a horse on a vast grassland. He has long lavender hair and wears a traditional dress of a white top and black pants. The animation style makes him look like he is doing some kind of outdoor activity or performing. The background is a spectacular mountain range and cloud sky, giving a sense of tranquility and vastness. The entire video is shot from a fixed angle, focusing on the rider and his horse.\\\",\\n \\\"aspect_ratio\\\": \\\"21:9\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/alibaba/wan-vace/input_video_0.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"alibaba/wan-vace\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Vace" + modelId: "alibaba/wan-vace" + vendor: "Alibaba" + vendorSlug: "alibaba" + modelSlug: "wan-vace" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2025-04-11T20:48:26.011Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/bytedance/seedvr/upscale/video.md b/model-api-reference/video-generation/bytedance/seedvr/upscale/video.md new file mode 100644 index 00000000..f262e053 --- /dev/null +++ b/model-api-reference/video-generation/bytedance/seedvr/upscale/video.md @@ -0,0 +1,21 @@ +--- +title: "SeedVR2 API Reference — Bytedance Seedvr / Upscale / Video API" +description: "SeedVR2 API reference for SandBase. Use model bytedance/seedvr/upscale/video with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/bytedance/seedvr/upscale/video" +apiReferenceJson: "{\"title\":\"SeedVR2\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Seedvr Upscale Video by ByteDance - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to bytedance/seedvr/upscale/video.\",\"default\":\"bytedance/seedvr/upscale/video\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"The input video to be processed\"},{\"name\":\"output_format\",\"type\":\"string\",\"required\":false,\"description\":\"The format of the output video.\",\"default\":\"X264 (.mp4)\",\"constraints\":\"Allowed values: X264 (.mp4), VP9 (.webm), PRORES4444 (.mov), GIF (.gif)\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"The random seed used for the generation process.\"},{\"name\":\"output_quality\",\"type\":\"string\",\"required\":false,\"description\":\"The quality of the output video.\",\"default\":\"high\",\"constraints\":\"Allowed values: low, medium, high, maximum\"},{\"name\":\"noise_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The noise scale to use for the generation process.\",\"default\":\"0.1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"target_resolution\",\"type\":\"string\",\"required\":false,\"description\":\"The target resolution to upscale to when `upscale_mode` is `target`.\",\"default\":\"1080p\",\"constraints\":\"Allowed values: 720p, 1080p, 1440p, 2160p\"},{\"name\":\"upscale_factor\",\"type\":\"number\",\"required\":false,\"description\":\"Upscaling factor to be used. Will multiply the dimensions with this factor when `upscale_mode` is `factor`.\",\"default\":\"2\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"output_write_mode\",\"type\":\"string\",\"required\":false,\"description\":\"The write mode of the output video.\",\"default\":\"balanced\",\"constraints\":\"Allowed values: fast, balanced, small\"},{\"name\":\"upscale_mode\",\"type\":\"string\",\"required\":false,\"description\":\"The mode to use for the upscale. If 'target', the upscale factor will be calculated based on the target resolution. If 'factor', the upscale factor will be used directly.\",\"default\":\"factor\",\"constraints\":\"Allowed values: target, factor\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"bytedance/seedvr/upscale/video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/bytedance/seedvr/upscale/video/input_video_0.mp4\\\",\\n \\\"output_format\\\": \\\"X264 (.mp4)\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"bytedance/seedvr/upscale/video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/bytedance/seedvr/upscale/video/input_video_0.mp4\\\",\\n \\\"output_format\\\": \\\"X264 (.mp4)\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"bytedance/seedvr/upscale/video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/bytedance/seedvr/upscale/video/input_video_0.mp4\\\",\\n \\\"output_format\\\": \\\"X264 (.mp4)\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"bytedance/seedvr/upscale/video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "SeedVR2" + modelId: "bytedance/seedvr/upscale/video" + vendor: "Bytedance" + vendorSlug: "bytedance" + modelSlug: "seedvr/upscale/video" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2025-09-22T18:29:49.293Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/kwaivgi/kling-video/create-voice.md b/model-api-reference/video-generation/kwaivgi/kling-video/create-voice.md new file mode 100644 index 00000000..47b46d30 --- /dev/null +++ b/model-api-reference/video-generation/kwaivgi/kling-video/create-voice.md @@ -0,0 +1,21 @@ +--- +title: "Kling Video Create Voice API Reference" +description: "Kling Video Create Voice API reference for SandBase. Use model kwaivgi/kling-video/create-voice with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/kwaivgi/kling-video/create-voice" +apiReferenceJson: "{\"title\":\"Kling Video Create Voice\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video Create Voice by KwaiVGI - advanced AI model for audio-to-audio. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/create-voice.\",\"default\":\"kwaivgi/kling-video/create-voice\"},{\"name\":\"voice_url\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the voice audio file. Supports .mp3/.wav audio or .mp4/.mov video. Duration must be 5-30 seconds with clean, single-voice audio.\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"audio-to-audio\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/create-voice\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/create-voice\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/create-voice\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/create-voice\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Kling Video Create Voice" + modelId: "kwaivgi/kling-video/create-voice" + vendor: "KwaiVGI" + vendorSlug: "kwaivgi" + modelSlug: "kling-video/create-voice" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2025-12-16T15:32:04.208Z" + capabilities: ["audio-to-audio"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/kwaivgi/kling-video/o1/pro/edit.md b/model-api-reference/video-generation/kwaivgi/kling-video/o1/pro/edit.md new file mode 100644 index 00000000..c7ccf3dc --- /dev/null +++ b/model-api-reference/video-generation/kwaivgi/kling-video/o1/pro/edit.md @@ -0,0 +1,21 @@ +--- +title: "Kling Video O1 Pro API Reference — KwaiVGI / O1 / Pro / Edit" +description: "Kling Video O1 Pro API reference for SandBase. Use model kwaivgi/kling-video/o1/pro/edit with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/kwaivgi/kling-video/o1/pro/edit" +apiReferenceJson: "{\"title\":\"Kling Video O1 Pro\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video O1 Pro is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/o1/pro/edit.\",\"default\":\"kwaivgi/kling-video/o1/pro/edit\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Use @Element1, @Element2 to reference elements and @Image1, @Image2 to reference images in order.\"},{\"name\":\"images\",\"type\":\"array\",\"required\":false,\"description\":\"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. Only .mp4/.mov formats supported, 3-10 seconds duration, 720-2160px resolution, max 200MB. Max file size: 200.0MB, Min width: 720px, Min height: 720px, Max width: 2160px, Max height: 2160px, Min duration: 3.0s, Max duration: 10.05s, Min FPS: 24.0, Max FPS: 60.0, Timeout: 30.0s\"},{\"name\":\"keep_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original audio from the video.\",\"default\":\"false\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/pro/edit\\\",\\n \\\"prompt\\\": \\\"Replace the character in the video with @Element1, maintaining the same movements and camera angles. Transform the landscape into @Image1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/2038bf1f9c5a-ku8_Wdpf-oTbGRq4lB5DU_output.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/pro/edit\\\",\\n \\\"prompt\\\": \\\"Replace the character in the video with @Element1, maintaining the same movements and camera angles. Transform the landscape into @Image1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/2038bf1f9c5a-ku8_Wdpf-oTbGRq4lB5DU_output.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/pro/edit\\\",\\n \\\"prompt\\\": \\\"Replace the character in the video with @Element1, maintaining the same movements and camera angles. Transform the landscape into @Image1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/2038bf1f9c5a-ku8_Wdpf-oTbGRq4lB5DU_output.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/pro/edit\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Kling Video O1 Pro" + modelId: "kwaivgi/kling-video/o1/pro/edit" + vendor: "KwaiVGI" + vendorSlug: "kwaivgi" + modelSlug: "kling-video/o1/pro/edit" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2025-12-01T11:29:19.531Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/kwaivgi/kling-video/o1/pro/video-to-video.md b/model-api-reference/video-generation/kwaivgi/kling-video/o1/pro/video-to-video.md new file mode 100644 index 00000000..8d8e455a --- /dev/null +++ b/model-api-reference/video-generation/kwaivgi/kling-video/o1/pro/video-to-video.md @@ -0,0 +1,21 @@ +--- +title: "Kling Video O1 Pro API Reference — KwaiVGI / Pro / Video To Video" +description: "Kling Video O1 Pro API reference for SandBase. Use model kwaivgi/kling-video/o1/pro/video-to-video with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/kwaivgi/kling-video/o1/pro/video-to-video" +apiReferenceJson: "{\"title\":\"Kling Video O1 Pro\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video O1 Pro by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/o1/pro/video-to-video.\",\"default\":\"kwaivgi/kling-video/o1/pro/video-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Use @Element1, @Element2 to reference elements and @Image1, @Image2 to reference images in order.\"},{\"name\":\"images\",\"type\":\"array\",\"required\":false,\"description\":\"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. Only .mp4/.mov formats supported, 3-10 seconds duration, 720-2160px resolution, max 200MB. Max file size: 200.0MB, Min width: 720px, Min height: 720px, Max width: 2160px, Max height: 2160px, Min duration: 3.0s, Max duration: 10.05s, Min FPS: 24.0, Max FPS: 60.0, Timeout: 30.0s\"},{\"name\":\"duration\",\"type\":\"integer\",\"required\":false,\"description\":\"Video duration in seconds.\",\"default\":\"5\",\"constraints\":\"Allowed values: 3, 4, 5, 6, 7, 8, 9, 10\"},{\"name\":\"keep_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original audio from the video.\",\"default\":\"false\"},{\"name\":\"aspect_ratio\",\"type\":\"string\",\"required\":false,\"description\":\"The aspect ratio of the generated image.\",\"constraints\":\"Allowed values: 16:9, 9:16, 1:1\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/pro/video-to-video\\\",\\n \\\"prompt\\\": \\\"Based on @Video1, generate the next shot. keep the style of the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/ee8d5dc74ad3-oVdiICFXY03Vbam-08Aj8_output.mp4\\\",\\n \\\"duration\\\": 5,\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/pro/video-to-video\\\",\\n \\\"prompt\\\": \\\"Based on @Video1, generate the next shot. keep the style of the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/ee8d5dc74ad3-oVdiICFXY03Vbam-08Aj8_output.mp4\\\",\\n \\\"duration\\\": 5,\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/pro/video-to-video\\\",\\n \\\"prompt\\\": \\\"Based on @Video1, generate the next shot. keep the style of the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/ee8d5dc74ad3-oVdiICFXY03Vbam-08Aj8_output.mp4\\\",\\n \\\"duration\\\": 5,\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/pro/video-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Kling Video O1 Pro" + modelId: "kwaivgi/kling-video/o1/pro/video-to-video" + vendor: "KwaiVGI" + vendorSlug: "kwaivgi" + modelSlug: "kling-video/o1/pro/video-to-video" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2025-12-01T11:25:09.487Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/kwaivgi/kling-video/o1/standard/edit.md b/model-api-reference/video-generation/kwaivgi/kling-video/o1/standard/edit.md new file mode 100644 index 00000000..7ceb10a8 --- /dev/null +++ b/model-api-reference/video-generation/kwaivgi/kling-video/o1/standard/edit.md @@ -0,0 +1,21 @@ +--- +title: "Kling Video O1 Standard API Reference — KwaiVGI / Standard / Edit" +description: "Kling Video O1 Standard API reference for SandBase. Use model kwaivgi/kling-video/o1/standard/edit with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/kwaivgi/kling-video/o1/standard/edit" +apiReferenceJson: "{\"title\":\"Kling Video O1 Standard\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video O1 Standard by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/o1/standard/edit.\",\"default\":\"kwaivgi/kling-video/o1/standard/edit\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Use @Element1, @Element2 to reference elements and @Image1, @Image2 to reference images in order.\"},{\"name\":\"images\",\"type\":\"array\",\"required\":false,\"description\":\"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. Only .mp4/.mov formats supported, 3-10 seconds duration, 720-2160px resolution, max 200MB. Max file size: 200.0MB, Min width: 720px, Min height: 720px, Max width: 2160px, Max height: 2160px, Min duration: 3.0s, Max duration: 10.05s, Min FPS: 24.0, Max FPS: 60.0, Timeout: 30.0s\"},{\"name\":\"keep_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original audio from the video.\",\"default\":\"false\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/standard/edit\\\",\\n \\\"prompt\\\": \\\"Replace the character in the video with @Element1, maintaining the same movements and camera angles. Transform the landscape into @Image1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/2038bf1f9c5a-ku8_Wdpf-oTbGRq4lB5DU_output.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/standard/edit\\\",\\n \\\"prompt\\\": \\\"Replace the character in the video with @Element1, maintaining the same movements and camera angles. Transform the landscape into @Image1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/2038bf1f9c5a-ku8_Wdpf-oTbGRq4lB5DU_output.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/standard/edit\\\",\\n \\\"prompt\\\": \\\"Replace the character in the video with @Element1, maintaining the same movements and camera angles. Transform the landscape into @Image1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/2038bf1f9c5a-ku8_Wdpf-oTbGRq4lB5DU_output.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/standard/edit\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Kling Video O1 Standard" + modelId: "kwaivgi/kling-video/o1/standard/edit" + vendor: "KwaiVGI" + vendorSlug: "kwaivgi" + modelSlug: "kling-video/o1/standard/edit" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2025-12-15T09:34:39.306Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/kwaivgi/kling-video/o1/standard/video-to-video.md b/model-api-reference/video-generation/kwaivgi/kling-video/o1/standard/video-to-video.md new file mode 100644 index 00000000..25b8220b --- /dev/null +++ b/model-api-reference/video-generation/kwaivgi/kling-video/o1/standard/video-to-video.md @@ -0,0 +1,21 @@ +--- +title: "Kling Video O1 Standard API Reference — KwaiVGI / Video To Video" +description: "Kling Video O1 Standard API reference for SandBase. Use model kwaivgi/kling-video/o1/standard/video-to-video with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/kwaivgi/kling-video/o1/standard/video-to-video" +apiReferenceJson: "{\"title\":\"Kling Video O1 Standard\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video O1 Standard is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/o1/standard/video-to-video.\",\"default\":\"kwaivgi/kling-video/o1/standard/video-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Use @Element1, @Element2 to reference elements and @Image1, @Image2 to reference images in order.\"},{\"name\":\"images\",\"type\":\"array\",\"required\":false,\"description\":\"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. Only .mp4/.mov formats supported, 3-10 seconds duration, 720-2160px resolution, max 200MB. Max file size: 200.0MB, Min width: 720px, Min height: 720px, Max width: 2160px, Max height: 2160px, Min duration: 3.0s, Max duration: 10.05s, Min FPS: 24.0, Max FPS: 60.0, Timeout: 30.0s\"},{\"name\":\"duration\",\"type\":\"integer\",\"required\":false,\"description\":\"Video duration in seconds.\",\"default\":\"5\",\"constraints\":\"Allowed values: 3, 4, 5, 6, 7, 8, 9, 10\"},{\"name\":\"keep_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original audio from the video.\",\"default\":\"false\"},{\"name\":\"aspect_ratio\",\"type\":\"string\",\"required\":false,\"description\":\"The aspect ratio of the generated image.\",\"constraints\":\"Allowed values: 16:9, 9:16, 1:1\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/standard/video-to-video\\\",\\n \\\"prompt\\\": \\\"Based on @Video1, generate the next shot. keep the style of the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/ee8d5dc74ad3-oVdiICFXY03Vbam-08Aj8_output.mp4\\\",\\n \\\"duration\\\": 5,\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/standard/video-to-video\\\",\\n \\\"prompt\\\": \\\"Based on @Video1, generate the next shot. keep the style of the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/ee8d5dc74ad3-oVdiICFXY03Vbam-08Aj8_output.mp4\\\",\\n \\\"duration\\\": 5,\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/standard/video-to-video\\\",\\n \\\"prompt\\\": \\\"Based on @Video1, generate the next shot. keep the style of the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/ee8d5dc74ad3-oVdiICFXY03Vbam-08Aj8_output.mp4\\\",\\n \\\"duration\\\": 5,\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/o1/standard/video-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Kling Video O1 Standard" + modelId: "kwaivgi/kling-video/o1/standard/video-to-video" + vendor: "KwaiVGI" + vendorSlug: "kwaivgi" + modelSlug: "kling-video/o1/standard/video-to-video" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2025-12-15T09:36:27.69Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/kwaivgi/kling-video/o3/pro/edit.md b/model-api-reference/video-generation/kwaivgi/kling-video/o3/pro/edit.md new file mode 100644 index 00000000..c0a6ca68 --- /dev/null +++ b/model-api-reference/video-generation/kwaivgi/kling-video/o3/pro/edit.md @@ -0,0 +1,21 @@ +--- +title: "Kling Video O3 Pro API Reference — KwaiVGI / O3 / Pro / Edit" +description: "Kling Video O3 Pro API reference for SandBase. Use model kwaivgi/kling-video/o3/pro/edit with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/kwaivgi/kling-video/o3/pro/edit" +apiReferenceJson: "{\"title\":\"Kling Video O3 Pro\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video O3 Pro is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/o3/pro/edit.\",\"default\":\"kwaivgi/kling-video/o3/pro/edit\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt for video generation. Reference video as @Video1.\"},{\"name\":\"images\",\"type\":\"array\",\"required\":false,\"description\":\"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. Only .mp4/.mov formats, 3-10s duration, 720-2160px resolution, max 200MB.\"},{\"name\":\"shot_type\",\"type\":\"string\",\"required\":false,\"description\":\"The type of multi-shot video generation.\",\"default\":\"customize\"},{\"name\":\"keep_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original audio from the reference video.\",\"default\":\"true\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/pro/edit\\\",\\n \\\"prompt\\\": \\\"Change environment to be fully snow as @Image1. Replace animal with @Element1\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-edit/video_reference.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/pro/edit\\\",\\n \\\"prompt\\\": \\\"Change environment to be fully snow as @Image1. Replace animal with @Element1\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/Falserverless/example_inputs/kling-o3/pro-v2v-edit/video_reference.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/pro/edit\\\",\\n \\\"prompt\\\": \\\"Change environment to be fully snow as @Image1. Replace animal with @Element1\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-edit/video_reference.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/pro/edit\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Kling Video O3 Pro" + modelId: "kwaivgi/kling-video/o3/pro/edit" + vendor: "KwaiVGI" + vendorSlug: "kwaivgi" + modelSlug: "kling-video/o3/pro/edit" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-02-04T15:48:44.935Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/kwaivgi/kling-video/o3/pro/video-to-video.md b/model-api-reference/video-generation/kwaivgi/kling-video/o3/pro/video-to-video.md new file mode 100644 index 00000000..385e7507 --- /dev/null +++ b/model-api-reference/video-generation/kwaivgi/kling-video/o3/pro/video-to-video.md @@ -0,0 +1,21 @@ +--- +title: "Kling Video O3 Pro API Reference — KwaiVGI / Pro / Video To Video" +description: "Kling Video O3 Pro API reference for SandBase. Use model kwaivgi/kling-video/o3/pro/video-to-video with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/kwaivgi/kling-video/o3/pro/video-to-video" +apiReferenceJson: "{\"title\":\"Kling Video O3 Pro\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video O3 Pro by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/o3/pro/video-to-video.\",\"default\":\"kwaivgi/kling-video/o3/pro/video-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt for video generation. Reference video as @Video1.\"},{\"name\":\"images\",\"type\":\"array\",\"required\":false,\"description\":\"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. Only .mp4/.mov formats, 3-10s duration, 720-2160px resolution, max 200MB.\"},{\"name\":\"duration\",\"type\":\"integer\",\"required\":false,\"description\":\"Video duration in seconds (3-15s for reference video).\",\"constraints\":\"Allowed values: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15\"},{\"name\":\"keep_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original audio from the reference video.\",\"default\":\"true\"},{\"name\":\"shot_type\",\"type\":\"string\",\"required\":false,\"description\":\"The type of multi-shot video generation.\",\"default\":\"customize\"},{\"name\":\"aspect_ratio\",\"type\":\"string\",\"required\":false,\"description\":\"The aspect ratio of the generated image.\",\"constraints\":\"Allowed values: 16:9, 9:16, 1:1\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/pro/video-to-video\\\",\\n \\\"prompt\\\": \\\"Integrate @Element1 in the scene. Style video should be following watercolor style of @Image1\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-reference/video_reference.mp4\\\",\\n \\\"duration\\\": \\\"5\\\",\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/pro/video-to-video\\\",\\n \\\"prompt\\\": \\\"Integrate @Element1 in the scene. Style video should be following watercolor style of @Image1\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/Falserverless/example_inputs/kling-o3/pro-v2v-reference/video_reference.mp4\\\",\\n \\\"duration\\\": \\\"5\\\",\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/pro/video-to-video\\\",\\n \\\"prompt\\\": \\\"Integrate @Element1 in the scene. Style video should be following watercolor style of @Image1\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/kling-o3/pro-v2v-reference/video_reference.mp4\\\",\\n \\\"duration\\\": \\\"5\\\",\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/pro/video-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Kling Video O3 Pro" + modelId: "kwaivgi/kling-video/o3/pro/video-to-video" + vendor: "KwaiVGI" + vendorSlug: "kwaivgi" + modelSlug: "kling-video/o3/pro/video-to-video" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-02-04T15:48:44.935Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/kwaivgi/kling-video/o3/standard/edit.md b/model-api-reference/video-generation/kwaivgi/kling-video/o3/standard/edit.md new file mode 100644 index 00000000..62e13e19 --- /dev/null +++ b/model-api-reference/video-generation/kwaivgi/kling-video/o3/standard/edit.md @@ -0,0 +1,21 @@ +--- +title: "Kling Video O3 Standard API Reference — KwaiVGI / Standard / Edit" +description: "Kling Video O3 Standard API reference for SandBase. Use model kwaivgi/kling-video/o3/standard/edit with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/kwaivgi/kling-video/o3/standard/edit" +apiReferenceJson: "{\"title\":\"Kling Video O3 Standard\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video O3 Standard by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/o3/standard/edit.\",\"default\":\"kwaivgi/kling-video/o3/standard/edit\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt for video generation. Reference video as @Video1.\"},{\"name\":\"images\",\"type\":\"array\",\"required\":false,\"description\":\"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. Only .mp4/.mov formats, 3-10s duration, 720-2160px resolution, max 200MB.\"},{\"name\":\"shot_type\",\"type\":\"string\",\"required\":false,\"description\":\"The type of multi-shot video generation.\",\"default\":\"customize\"},{\"name\":\"keep_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original audio from the reference video.\",\"default\":\"true\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/standard/edit\\\",\\n \\\"prompt\\\": \\\"change the main character to be Popeye from @Element1, dark lighting and rain, 3d character. make him sad, with rain dropping on him, dark light on the character.\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/kling-o3/standard-v2v-edit/standard_video_reference.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/standard/edit\\\",\\n \\\"prompt\\\": \\\"change the main character to be Popeye from @Element1, dark lighting and rain, 3d character. make him sad, with rain dropping on him, dark light on the character.\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/Falserverless/example_inputs/kling-o3/standard-v2v-edit/standard_video_reference.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/standard/edit\\\",\\n \\\"prompt\\\": \\\"change the main character to be Popeye from @Element1, dark lighting and rain, 3d character. make him sad, with rain dropping on him, dark light on the character.\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/kling-o3/standard-v2v-edit/standard_video_reference.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/standard/edit\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Kling Video O3 Standard" + modelId: "kwaivgi/kling-video/o3/standard/edit" + vendor: "KwaiVGI" + vendorSlug: "kwaivgi" + modelSlug: "kling-video/o3/standard/edit" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-02-04T15:48:44.935Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/kwaivgi/kling-video/o3/standard/video-to-video.md b/model-api-reference/video-generation/kwaivgi/kling-video/o3/standard/video-to-video.md new file mode 100644 index 00000000..3c15bfa4 --- /dev/null +++ b/model-api-reference/video-generation/kwaivgi/kling-video/o3/standard/video-to-video.md @@ -0,0 +1,21 @@ +--- +title: "Kling Video O3 Standard API Reference — KwaiVGI / Video To Video" +description: "Kling Video O3 Standard API reference for SandBase. Use model kwaivgi/kling-video/o3/standard/video-to-video with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/kwaivgi/kling-video/o3/standard/video-to-video" +apiReferenceJson: "{\"title\":\"Kling Video O3 Standard\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video O3 Standard is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/o3/standard/video-to-video.\",\"default\":\"kwaivgi/kling-video/o3/standard/video-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt for video generation. Reference video as @Video1.\"},{\"name\":\"images\",\"type\":\"array\",\"required\":false,\"description\":\"Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. Only .mp4/.mov formats, 3-10s duration, 720-2160px resolution, max 200MB.\"},{\"name\":\"duration\",\"type\":\"integer\",\"required\":false,\"description\":\"Video duration in seconds (3-15s for reference video).\",\"constraints\":\"Allowed values: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15\"},{\"name\":\"shot_type\",\"type\":\"string\",\"required\":false,\"description\":\"The type of multi-shot video generation.\",\"default\":\"customize\"},{\"name\":\"keep_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original audio from the reference video.\",\"default\":\"true\"},{\"name\":\"aspect_ratio\",\"type\":\"string\",\"required\":false,\"description\":\"The aspect ratio of the generated image.\",\"constraints\":\"Allowed values: 16:9, 9:16, 1:1\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/standard/video-to-video\\\",\\n \\\"prompt\\\": \\\"Replace both character with @Element1 and @Element2\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/kling-o3/standard-v2v-reference/video_reference.mp4\\\",\\n \\\"duration\\\": \\\"5\\\",\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/standard/video-to-video\\\",\\n \\\"prompt\\\": \\\"Replace both character with @Element1 and @Element2\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/Falserverless/example_inputs/kling-o3/standard-v2v-reference/video_reference.mp4\\\",\\n \\\"duration\\\": \\\"5\\\",\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/standard/video-to-video\\\",\\n \\\"prompt\\\": \\\"Replace both character with @Element1 and @Element2\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/kling-o3/standard-v2v-reference/video_reference.mp4\\\",\\n \\\"duration\\\": \\\"5\\\",\\n \\\"aspect_ratio\\\": \\\"16:9\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/o3/standard/video-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Kling Video O3 Standard" + modelId: "kwaivgi/kling-video/o3/standard/video-to-video" + vendor: "KwaiVGI" + vendorSlug: "kwaivgi" + modelSlug: "kling-video/o3/standard/video-to-video" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-02-04T15:48:44.935Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/kwaivgi/kling-video/v2.6/pro/motion-control.md b/model-api-reference/video-generation/kwaivgi/kling-video/v2.6/pro/motion-control.md new file mode 100644 index 00000000..fbba704d --- /dev/null +++ b/model-api-reference/video-generation/kwaivgi/kling-video/v2.6/pro/motion-control.md @@ -0,0 +1,21 @@ +--- +title: "Kling Video V2.6 Pro API Reference — KwaiVGI Pro / Motion Control" +description: "Kling Video V2.6 Pro API reference for SandBase. Use model kwaivgi/kling-video/v2.6/pro/motion-control with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/kwaivgi/kling-video/v2.6/pro/motion-control" +apiReferenceJson: "{\"title\":\"Kling Video V2.6 Pro\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video V2.6 Pro is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/v2.6/pro/motion-control.\",\"default\":\"kwaivgi/kling-video/v2.6/pro/motion-control\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt that describes the image or asset to generate.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"Reference image URL. The characters, backgrounds, and other elements in the generated video are based on this reference image. Characters should have clear body proportions, avoid occlusion, and occupy more than 5% of the image area.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. The character actions in the generated video will be consistent with this reference video. Should contain a realistic style character with entire body or upper body visible, including head, without obstruction. Duration limit depends on character_orientation: 10s max for 'image', 30s max for 'video'.\"},{\"name\":\"keep_original_sound\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original sound from the reference video.\",\"default\":\"true\"},{\"name\":\"character_orientation\",\"type\":\"string\",\"required\":false,\"description\":\"Controls whether the output character's orientation matches the reference image or video. 'video': orientation matches reference video - better for complex motions (max 30s). 'image': orientation matches reference image - better for following camera movements (max 10s).\",\"constraints\":\"Allowed values: image, video\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/v2.6/pro/motion-control\\\",\\n \\\"prompt\\\": \\\"An african american woman dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/v2.6/pro/motion-control\\\",\\n \\\"prompt\\\": \\\"An african american woman dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/v2.6/pro/motion-control\\\",\\n \\\"prompt\\\": \\\"An african american woman dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/v2.6/pro/motion-control\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Kling Video V2.6 Pro" + modelId: "kwaivgi/kling-video/v2.6/pro/motion-control" + vendor: "KwaiVGI" + vendorSlug: "kwaivgi" + modelSlug: "kling-video/v2.6/pro/motion-control" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2025-12-21T20:50:54.254Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/kwaivgi/kling-video/v2.6/standard/motion-control.md b/model-api-reference/video-generation/kwaivgi/kling-video/v2.6/standard/motion-control.md new file mode 100644 index 00000000..f313d993 --- /dev/null +++ b/model-api-reference/video-generation/kwaivgi/kling-video/v2.6/standard/motion-control.md @@ -0,0 +1,21 @@ +--- +title: "Kling Video V2.6 Standard API Reference" +description: "Kling Video V2.6 Standard API reference for SandBase. Use model kwaivgi/kling-video/v2.6/standard/motion-control with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/kwaivgi/kling-video/v2.6/standard/motion-control" +apiReferenceJson: "{\"title\":\"Kling Video V2.6 Standard\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video V2.6 Standard by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/v2.6/standard/motion-control.\",\"default\":\"kwaivgi/kling-video/v2.6/standard/motion-control\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt that describes the image or asset to generate.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"Reference image URL. The characters, backgrounds, and other elements in the generated video are based on this reference image. Characters should have clear body proportions, avoid occlusion, and occupy more than 5% of the image area.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. The character actions in the generated video will be consistent with this reference video. Should contain a realistic style character with entire body or upper body visible, including head, without obstruction. Duration limit depends on character_orientation: 10s max for 'image', 30s max for 'video'.\"},{\"name\":\"character_orientation\",\"type\":\"string\",\"required\":false,\"description\":\"Controls whether the output character's orientation matches the reference image or video. 'video': orientation matches reference video - better for complex motions (max 30s). 'image': orientation matches reference image - better for following camera movements (max 10s).\",\"constraints\":\"Allowed values: image, video\"},{\"name\":\"keep_original_sound\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original sound from the reference video.\",\"default\":\"true\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/v2.6/standard/motion-control\\\",\\n \\\"prompt\\\": \\\"An african american woman dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/v2.6/standard/motion-control\\\",\\n \\\"prompt\\\": \\\"An african american woman dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/v2.6/standard/motion-control\\\",\\n \\\"prompt\\\": \\\"An african american woman dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/v2.6/standard/motion-control\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Kling Video V2.6 Standard" + modelId: "kwaivgi/kling-video/v2.6/standard/motion-control" + vendor: "KwaiVGI" + vendorSlug: "kwaivgi" + modelSlug: "kling-video/v2.6/standard/motion-control" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2025-12-21T20:50:57.333Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/kwaivgi/kling-video/v3/pro/motion-control.md b/model-api-reference/video-generation/kwaivgi/kling-video/v3/pro/motion-control.md new file mode 100644 index 00000000..84487d09 --- /dev/null +++ b/model-api-reference/video-generation/kwaivgi/kling-video/v3/pro/motion-control.md @@ -0,0 +1,21 @@ +--- +title: "Kling Video V3 Pro API Reference — KwaiVGI / Pro / Motion Control" +description: "Kling Video V3 Pro API reference for SandBase. Use model kwaivgi/kling-video/v3/pro/motion-control with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/kwaivgi/kling-video/v3/pro/motion-control" +apiReferenceJson: "{\"title\":\"Kling Video V3 Pro\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video V3 Pro is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/v3/pro/motion-control.\",\"default\":\"kwaivgi/kling-video/v3/pro/motion-control\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt that describes the image or asset to generate.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"Reference image URL. The characters, backgrounds, and other elements in the generated video are based on this reference image. Characters should have clear body proportions, avoid occlusion, and occupy more than 5% of the image area.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. The character actions in the generated video will be consistent with this reference video. Should contain a realistic style character with entire body or upper body visible, including head, without obstruction. Duration limit depends on character_orientation: 10s max for 'image', 30s max for 'video'.\"},{\"name\":\"keep_original_sound\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original sound from the reference video.\",\"default\":\"true\"},{\"name\":\"character_orientation\",\"type\":\"string\",\"required\":false,\"description\":\"Controls whether the output character's orientation matches the reference image or video. 'video': orientation matches reference video - better for complex motions (max 30s). 'image': orientation matches reference image - better for following camera movements (max 10s).\",\"constraints\":\"Allowed values: image, video\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/v3/pro/motion-control\\\",\\n \\\"prompt\\\": \\\"A man dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/f77b827ca02a-TNErq9yD7ZxGRATjfAqnh_EIgJSN67.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/f1ecbb471a16-hklvF__w53diz6Rve7f5__JuDW2xl0mr6sJ_Kjz3Vxe_vidoeook--1-_1.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/v3/pro/motion-control\\\",\\n \\\"prompt\\\": \\\"A man dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/f77b827ca02a-TNErq9yD7ZxGRATjfAqnh_EIgJSN67.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/f1ecbb471a16-hklvF__w53diz6Rve7f5__JuDW2xl0mr6sJ_Kjz3Vxe_vidoeook--1-_1.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/v3/pro/motion-control\\\",\\n \\\"prompt\\\": \\\"A man dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/f77b827ca02a-TNErq9yD7ZxGRATjfAqnh_EIgJSN67.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/f1ecbb471a16-hklvF__w53diz6Rve7f5__JuDW2xl0mr6sJ_Kjz3Vxe_vidoeook--1-_1.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/v3/pro/motion-control\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Kling Video V3 Pro" + modelId: "kwaivgi/kling-video/v3/pro/motion-control" + vendor: "KwaiVGI" + vendorSlug: "kwaivgi" + modelSlug: "kling-video/v3/pro/motion-control" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-03-05T10:04:10.677Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/kwaivgi/kling-video/v3/standard/motion-control.md b/model-api-reference/video-generation/kwaivgi/kling-video/v3/standard/motion-control.md new file mode 100644 index 00000000..e2c1a531 --- /dev/null +++ b/model-api-reference/video-generation/kwaivgi/kling-video/v3/standard/motion-control.md @@ -0,0 +1,21 @@ +--- +title: "Kling Video V3 Standard API Reference — KwaiVGI / Motion Control" +description: "Kling Video V3 Standard API reference for SandBase. Use model kwaivgi/kling-video/v3/standard/motion-control with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/kwaivgi/kling-video/v3/standard/motion-control" +apiReferenceJson: "{\"title\":\"Kling Video V3 Standard\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Kling Video V3 Standard by KwaiVGI - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to kwaivgi/kling-video/v3/standard/motion-control.\",\"default\":\"kwaivgi/kling-video/v3/standard/motion-control\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt that describes the image or asset to generate.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"Reference image URL. The characters, backgrounds, and other elements in the generated video are based on this reference image. Characters should have clear body proportions, avoid occlusion, and occupy more than 5% of the image area.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Reference video URL. The character actions in the generated video will be consistent with this reference video. Should contain a realistic style character with entire body or upper body visible, including head, without obstruction. Duration limit depends on character_orientation: 10s max for 'image', 30s max for 'video'.\"},{\"name\":\"keep_original_sound\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to keep the original sound from the reference video.\",\"default\":\"true\"},{\"name\":\"character_orientation\",\"type\":\"string\",\"required\":false,\"description\":\"Controls whether the output character's orientation matches the reference image or video. 'video': orientation matches reference video - better for complex motions (max 30s). 'image': orientation matches reference image - better for following camera movements (max 10s).\",\"constraints\":\"Allowed values: image, video\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"kwaivgi/kling-video/v3/standard/motion-control\\\",\\n \\\"prompt\\\": \\\"An man dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/v3/standard/motion-control\\\",\\n \\\"prompt\\\": \\\"An man dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"kwaivgi/kling-video/v3/standard/motion-control\\\",\\n \\\"prompt\\\": \\\"An man dancing\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"kwaivgi/kling-video/v3/standard/motion-control\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Kling Video V3 Standard" + modelId: "kwaivgi/kling-video/v3/standard/motion-control" + vendor: "KwaiVGI" + vendorSlug: "kwaivgi" + modelSlug: "kling-video/v3/standard/motion-control" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-03-05T10:06:48.803Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/lightricks/ltx-2-19b/audio-to-video.md b/model-api-reference/video-generation/lightricks/ltx-2-19b/audio-to-video.md new file mode 100644 index 00000000..1b297f6d --- /dev/null +++ b/model-api-reference/video-generation/lightricks/ltx-2-19b/audio-to-video.md @@ -0,0 +1,21 @@ +--- +title: "LTX-2 19B API Reference — Lightricks Ltx 2 19b / Audio To Video" +description: "LTX-2 19B API reference for SandBase. Use model lightricks/ltx-2-19b/audio-to-video with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/lightricks/ltx-2-19b/audio-to-video" +apiReferenceJson: "{\"title\":\"LTX-2 19B\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Ltx 2 19b Audio To Video by Lightricks - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to lightricks/ltx-2-19b/audio-to-video.\",\"default\":\"lightricks/ltx-2-19b/audio-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"The prompt to generate the video from.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"Optional URL of an image to use as the first frame of the video.\"},{\"name\":\"end_image\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the image to use as the end of the video.\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the audio to generate the video from.\"},{\"name\":\"guidance_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The guidance scale to use.\",\"default\":\"3\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"num_inference_steps\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of inference steps to use.\",\"default\":\"40\",\"constraints\":\"Range: 8 to 50\"},{\"name\":\"video_size\",\"type\":\"string\",\"required\":false,\"description\":\"The size of the generated video. Use 'auto' to match the input image dimensions if provided.\",\"default\":\"landscape_4_3\",\"constraints\":\"Allowed values: auto, square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9\"},{\"name\":\"match_audio_length\",\"type\":\"boolean\",\"required\":false,\"description\":\"When enabled, the number of frames will be calculated based on the audio duration and FPS. When disabled, use the specified num_frames.\",\"default\":\"true\"},{\"name\":\"video_output_type\",\"type\":\"string\",\"required\":false,\"description\":\"The output type of the generated video.\",\"default\":\"X264 (.mp4)\",\"constraints\":\"Allowed values: X264 (.mp4), VP9 (.webm), PRORES4444 (.mov), GIF (.gif)\"},{\"name\":\"audio_strength\",\"type\":\"number\",\"required\":false,\"description\":\"Audio conditioning strength. Values below 1.0 will allow the model to change the audio, while a value of exactly 1.0 will use the input audio without modification.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"camera_lora_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The scale of the camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"camera_lora\",\"type\":\"string\",\"required\":false,\"description\":\"The camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera.\",\"default\":\"none\",\"constraints\":\"Allowed values: dolly_in, dolly_out, dolly_left, dolly_right, jib_up, jib_down, static, none\"},{\"name\":\"video_write_mode\",\"type\":\"string\",\"required\":false,\"description\":\"The write mode of the generated video.\",\"default\":\"balanced\",\"constraints\":\"Allowed values: fast, balanced, small\"},{\"name\":\"end_image_strength\",\"type\":\"number\",\"required\":false,\"description\":\"The strength of the end image to use for the video generation.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"preprocess_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to preprocess the audio before using it as conditioning.\",\"default\":\"true\"},{\"name\":\"fps\",\"type\":\"number\",\"required\":false,\"description\":\"The frames per second of the generated video.\",\"default\":\"25\",\"constraints\":\"Range: 1 to 60\"},{\"name\":\"num_frames\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of frames to generate.\",\"default\":\"121\",\"constraints\":\"Range: 9 to 481\"},{\"name\":\"video_quality\",\"type\":\"string\",\"required\":false,\"description\":\"The quality of the generated video.\",\"default\":\"high\",\"constraints\":\"Allowed values: low, medium, high, maximum\"},{\"name\":\"use_multiscale\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to use multi-scale generation. If True, the model will generate the video at a smaller scale first, then use the smaller video to guide the generation of a video at or above your requested size. This results in better coherence and details.\",\"default\":\"true\"},{\"name\":\"image_strength\",\"type\":\"number\",\"required\":false,\"description\":\"The strength of the image to use for the video generation.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"The seed for the random number generator.\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"audio-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A woman speaks to the camera\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/audio-to-video/input_image_0.png\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/audio-to-video/input_audio_1.mp3\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A woman speaks to the camera\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/audio-to-video/input_image_0.png\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/audio-to-video/input_audio_1.mp3\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A woman speaks to the camera\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/audio-to-video/input_image_0.png\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/audio-to-video/input_audio_1.mp3\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/audio-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "LTX-2 19B" + modelId: "lightricks/ltx-2-19b/audio-to-video" + vendor: "Lightricks" + vendorSlug: "lightricks" + modelSlug: "ltx-2-19b/audio-to-video" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-01-27T15:45:06.06Z" + capabilities: ["audio-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/lightricks/ltx-2-19b/distilled/audio-to-video.md b/model-api-reference/video-generation/lightricks/ltx-2-19b/distilled/audio-to-video.md new file mode 100644 index 00000000..c671f6ac --- /dev/null +++ b/model-api-reference/video-generation/lightricks/ltx-2-19b/distilled/audio-to-video.md @@ -0,0 +1,21 @@ +--- +title: "LTX-2 19B Distilled API Reference — Lightricks / Audio To Video" +description: "LTX-2 19B Distilled API reference for SandBase. Use model lightricks/ltx-2-19b/distilled/audio-to-video with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/lightricks/ltx-2-19b/distilled/audio-to-video" +apiReferenceJson: "{\"title\":\"LTX-2 19B Distilled\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Ltx 2 19b Distilled Audio To Video by Lightricks - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to lightricks/ltx-2-19b/distilled/audio-to-video.\",\"default\":\"lightricks/ltx-2-19b/distilled/audio-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"The prompt to generate the video from.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"Optional URL of an image to use as the first frame of the video.\"},{\"name\":\"end_image\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the image to use as the end of the video.\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the audio to generate the video from.\"},{\"name\":\"video_quality\",\"type\":\"string\",\"required\":false,\"description\":\"The quality of the generated video.\",\"default\":\"high\",\"constraints\":\"Allowed values: low, medium, high, maximum\"},{\"name\":\"video_output_type\",\"type\":\"string\",\"required\":false,\"description\":\"The output type of the generated video.\",\"default\":\"X264 (.mp4)\",\"constraints\":\"Allowed values: X264 (.mp4), VP9 (.webm), PRORES4444 (.mov), GIF (.gif)\"},{\"name\":\"audio_strength\",\"type\":\"number\",\"required\":false,\"description\":\"Audio conditioning strength. Values below 1.0 will allow the model to change the audio, while a value of exactly 1.0 will use the input audio without modification.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"fps\",\"type\":\"number\",\"required\":false,\"description\":\"The frames per second of the generated video.\",\"default\":\"25\",\"constraints\":\"Range: 1 to 60\"},{\"name\":\"video_size\",\"type\":\"string\",\"required\":false,\"description\":\"The size of the generated video. Use 'auto' to match the input image dimensions if provided.\",\"default\":\"landscape_4_3\",\"constraints\":\"Allowed values: auto, square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9\"},{\"name\":\"video_write_mode\",\"type\":\"string\",\"required\":false,\"description\":\"The write mode of the generated video.\",\"default\":\"balanced\",\"constraints\":\"Allowed values: fast, balanced, small\"},{\"name\":\"use_multiscale\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to use multi-scale generation. If True, the model will generate the video at a smaller scale first, then use the smaller video to guide the generation of a video at or above your requested size. This results in better coherence and details.\",\"default\":\"true\"},{\"name\":\"camera_lora_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The scale of the camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"end_image_strength\",\"type\":\"number\",\"required\":false,\"description\":\"The strength of the end image to use for the video generation.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"camera_lora\",\"type\":\"string\",\"required\":false,\"description\":\"The camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera.\",\"default\":\"none\",\"constraints\":\"Allowed values: dolly_in, dolly_out, dolly_left, dolly_right, jib_up, jib_down, static, none\"},{\"name\":\"num_frames\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of frames to generate.\",\"default\":\"121\",\"constraints\":\"Range: 9 to 481\"},{\"name\":\"match_audio_length\",\"type\":\"boolean\",\"required\":false,\"description\":\"When enabled, the number of frames will be calculated based on the audio duration and FPS. When disabled, use the specified num_frames.\",\"default\":\"true\"},{\"name\":\"image_strength\",\"type\":\"number\",\"required\":false,\"description\":\"The strength of the image to use for the video generation.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"preprocess_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to preprocess the audio before using it as conditioning.\",\"default\":\"true\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"The seed for the random number generator.\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"audio-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/distilled/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A woman speaks to the camera\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/distilled/audio-to-video/input_image_0.png\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/distilled/audio-to-video/input_audio_1.mp3\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/distilled/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A woman speaks to the camera\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/distilled/audio-to-video/input_image_0.png\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/distilled/audio-to-video/input_audio_1.mp3\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/distilled/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A woman speaks to the camera\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/distilled/audio-to-video/input_image_0.png\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/distilled/audio-to-video/input_audio_1.mp3\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/distilled/audio-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "LTX-2 19B Distilled" + modelId: "lightricks/ltx-2-19b/distilled/audio-to-video" + vendor: "Lightricks" + vendorSlug: "lightricks" + modelSlug: "ltx-2-19b/distilled/audio-to-video" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-01-27T15:46:47.75Z" + capabilities: ["audio-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/lightricks/ltx-2-19b/extend-video.md b/model-api-reference/video-generation/lightricks/ltx-2-19b/extend-video.md new file mode 100644 index 00000000..77a6f8ec --- /dev/null +++ b/model-api-reference/video-generation/lightricks/ltx-2-19b/extend-video.md @@ -0,0 +1,21 @@ +--- +title: "LTX-2 19B API Reference — Lightricks Ltx 2 19b / Extend Video API" +description: "LTX-2 19B API reference for SandBase. Use model lightricks/ltx-2-19b/extend-video with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/lightricks/ltx-2-19b/extend-video" +apiReferenceJson: "{\"title\":\"LTX-2 19B\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Ltx 2 19b Extend Video by Lightricks - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to lightricks/ltx-2-19b/extend-video.\",\"default\":\"lightricks/ltx-2-19b/extend-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"The prompt to generate the video from.\"},{\"name\":\"end_image\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the image to use as the end of the extended video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the video to extend.\"},{\"name\":\"generate_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to generate audio for the video.\",\"default\":\"true\"},{\"name\":\"guidance_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The guidance scale to use.\",\"default\":\"3\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"num_inference_steps\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of inference steps to use.\",\"default\":\"40\",\"constraints\":\"Range: 8 to 50\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"The seed for the random number generator.\"},{\"name\":\"fps\",\"type\":\"number\",\"required\":false,\"description\":\"The frames per second of the generated video.\",\"default\":\"25\",\"constraints\":\"Range: 1 to 60\"},{\"name\":\"video_quality\",\"type\":\"string\",\"required\":false,\"description\":\"The quality of the generated video.\",\"default\":\"high\",\"constraints\":\"Allowed values: low, medium, high, maximum\"},{\"name\":\"num_context_frames\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of frames to use as context for the extension.\",\"default\":\"25\",\"constraints\":\"Range: 0 to 121\"},{\"name\":\"num_frames\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of frames to generate.\",\"default\":\"121\",\"constraints\":\"Range: 9 to 481\"},{\"name\":\"end_image_strength\",\"type\":\"number\",\"required\":false,\"description\":\"The strength of the end image to use for the video generation.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"extend_direction\",\"type\":\"string\",\"required\":false,\"description\":\"Direction to extend the video. 'forward' extends from the end of the video, 'backward' extends from the beginning.\",\"default\":\"forward\",\"constraints\":\"Allowed values: forward, backward\"},{\"name\":\"camera_lora_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The scale of the camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"use_multiscale\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to use multi-scale generation. If True, the model will generate the video at a smaller scale first, then use the smaller video to guide the generation of a video at or above your requested size. This results in better coherence and details.\",\"default\":\"true\"},{\"name\":\"camera_lora\",\"type\":\"string\",\"required\":false,\"description\":\"The camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera.\",\"default\":\"none\",\"constraints\":\"Allowed values: dolly_in, dolly_out, dolly_left, dolly_right, jib_up, jib_down, static, none\"},{\"name\":\"video_strength\",\"type\":\"number\",\"required\":false,\"description\":\"Video conditioning strength. Lower values represent more freedom given to the model to change the video content.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"video_output_type\",\"type\":\"string\",\"required\":false,\"description\":\"The output type of the generated video.\",\"default\":\"X264 (.mp4)\",\"constraints\":\"Allowed values: X264 (.mp4), VP9 (.webm), PRORES4444 (.mov), GIF (.gif)\"},{\"name\":\"match_input_fps\",\"type\":\"boolean\",\"required\":false,\"description\":\"When true, match the output FPS to the input video's FPS instead of using the default target FPS.\",\"default\":\"true\"},{\"name\":\"video_write_mode\",\"type\":\"string\",\"required\":false,\"description\":\"The write mode of the generated video.\",\"default\":\"balanced\",\"constraints\":\"Allowed values: fast, balanced, small\"},{\"name\":\"video_size\",\"type\":\"string\",\"required\":false,\"description\":\"The size of the generated video.\",\"default\":\"auto\",\"constraints\":\"Allowed values: auto, square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9\"},{\"name\":\"audio_strength\",\"type\":\"number\",\"required\":false,\"description\":\"Audio conditioning strength. Lower values represent more freedom given to the model to change the audio content.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/extend-video\\\",\\n \\\"prompt\\\": \\\"Continue the scene naturally, maintaining the same style and motion.\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/extend-video/input_video_0.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/extend-video\\\",\\n \\\"prompt\\\": \\\"Continue the scene naturally, maintaining the same style and motion.\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/extend-video/input_video_0.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/extend-video\\\",\\n \\\"prompt\\\": \\\"Continue the scene naturally, maintaining the same style and motion.\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/extend-video/input_video_0.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/extend-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "LTX-2 19B" + modelId: "lightricks/ltx-2-19b/extend-video" + vendor: "Lightricks" + vendorSlug: "lightricks" + modelSlug: "ltx-2-19b/extend-video" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-01-05T20:27:27.462Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/lightricks/ltx-2-19b/video-to-video.md b/model-api-reference/video-generation/lightricks/ltx-2-19b/video-to-video.md new file mode 100644 index 00000000..3c6f6daa --- /dev/null +++ b/model-api-reference/video-generation/lightricks/ltx-2-19b/video-to-video.md @@ -0,0 +1,21 @@ +--- +title: "LTX-2 19B API Reference — Lightricks Ltx 2 19b / Video To Video" +description: "LTX-2 19B API reference for SandBase. Use model lightricks/ltx-2-19b/video-to-video with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/lightricks/ltx-2-19b/video-to-video" +apiReferenceJson: "{\"title\":\"LTX-2 19B\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Ltx 2 19b Video To Video by Lightricks - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to lightricks/ltx-2-19b/video-to-video.\",\"default\":\"lightricks/ltx-2-19b/video-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"The prompt to generate the video from.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"An optional URL of an image to use as the first frame of the video.\"},{\"name\":\"end_image\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the image to use as the end of the video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the video to generate the video from.\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"An optional URL of an audio to use as the audio for the video. If not provided, any audio present in the input video will be used.\"},{\"name\":\"generate_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to generate audio for the video.\",\"default\":\"true\"},{\"name\":\"guidance_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The guidance scale to use.\",\"default\":\"3\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"num_inference_steps\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of inference steps to use.\",\"default\":\"40\",\"constraints\":\"Range: 8 to 50\"},{\"name\":\"match_input_fps\",\"type\":\"boolean\",\"required\":false,\"description\":\"When true, match the output FPS to the input video's FPS instead of using the default target FPS.\",\"default\":\"true\"},{\"name\":\"preprocessor\",\"type\":\"string\",\"required\":false,\"description\":\"The preprocessor to use for the video. When a preprocessor is used and `ic_lora_type` is set to `match_preprocessor`, the IC-LoRA will be loaded based on the preprocessor type.\",\"default\":\"none\",\"constraints\":\"Allowed values: depth, canny, pose, none\"},{\"name\":\"num_frames\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of frames to generate.\",\"default\":\"121\",\"constraints\":\"Range: 9 to 481\"},{\"name\":\"video_size\",\"type\":\"string\",\"required\":false,\"description\":\"The size of the generated video.\",\"default\":\"auto\",\"constraints\":\"Allowed values: auto, square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9\"},{\"name\":\"camera_lora_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The scale of the camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"video_strength\",\"type\":\"number\",\"required\":false,\"description\":\"Video conditioning strength. Lower values represent more freedom given to the model to change the video content.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"video_write_mode\",\"type\":\"string\",\"required\":false,\"description\":\"The write mode of the generated video.\",\"default\":\"balanced\",\"constraints\":\"Allowed values: fast, balanced, small\"},{\"name\":\"audio_strength\",\"type\":\"number\",\"required\":false,\"description\":\"Audio conditioning strength. Lower values represent more freedom given to the model to change the audio content.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"camera_lora\",\"type\":\"string\",\"required\":false,\"description\":\"The camera LoRA to use. This allows you to control the camera movement of the generated video more accurately than just prompting the model to move the camera.\",\"default\":\"none\",\"constraints\":\"Allowed values: dolly_in, dolly_out, dolly_left, dolly_right, jib_up, jib_down, static, none\"},{\"name\":\"image_strength\",\"type\":\"number\",\"required\":false,\"description\":\"The strength of the image to use for the video generation.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"fps\",\"type\":\"number\",\"required\":false,\"description\":\"The frames per second of the generated video.\",\"default\":\"25\",\"constraints\":\"Range: 1 to 60\"},{\"name\":\"match_video_length\",\"type\":\"boolean\",\"required\":false,\"description\":\"When enabled, the number of frames will be calculated based on the video duration and FPS. When disabled, use the specified num_frames.\",\"default\":\"true\"},{\"name\":\"video_quality\",\"type\":\"string\",\"required\":false,\"description\":\"The quality of the generated video.\",\"default\":\"high\",\"constraints\":\"Allowed values: low, medium, high, maximum\"},{\"name\":\"video_output_type\",\"type\":\"string\",\"required\":false,\"description\":\"The output type of the generated video.\",\"default\":\"X264 (.mp4)\",\"constraints\":\"Allowed values: X264 (.mp4), VP9 (.webm), PRORES4444 (.mov), GIF (.gif)\"},{\"name\":\"end_image_strength\",\"type\":\"number\",\"required\":false,\"description\":\"The strength of the end image to use for the video generation.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"ic_lora\",\"type\":\"string\",\"required\":false,\"description\":\"The type of IC-LoRA to load. In-Context LoRA weights are used to condition the video based on edge, depth, or pose videos. Only change this from `match_preprocessor` if your videos are already preprocessed (or you are using the detailer.)\",\"default\":\"match_preprocessor\",\"constraints\":\"Allowed values: match_preprocessor, canny, depth, pose, detailer, none\"},{\"name\":\"use_multiscale\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to use multi-scale generation. If True, the model will generate the video at a smaller scale first, then use the smaller video to guide the generation of a video at or above your requested size. This results in better coherence and details.\",\"default\":\"true\"},{\"name\":\"ic_lora_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The scale of the IC-LoRA to use. This allows you to control the strength of the IC-LoRA.\",\"default\":\"1\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"The seed for the random number generator.\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/video-to-video\\\",\\n \\\"prompt\\\": \\\"black-and-white video, a cowboy walks through a dusty town, film grain\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/input.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/video-to-video/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/input.mp3\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/video-to-video\\\",\\n \\\"prompt\\\": \\\"black-and-white video, a cowboy walks through a dusty town, film grain\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/input.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/video-to-video/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/input.mp3\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/video-to-video\\\",\\n \\\"prompt\\\": \\\"black-and-white video, a cowboy walks through a dusty town, film grain\\\",\\n \\\"image\\\": \\\"https://static.sandbase.ai/examples/input.png\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/lightricks/ltx-2-19b/video-to-video/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/input.mp3\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"lightricks/ltx-2-19b/video-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "LTX-2 19B" + modelId: "lightricks/ltx-2-19b/video-to-video" + vendor: "Lightricks" + vendorSlug: "lightricks" + modelSlug: "ltx-2-19b/video-to-video" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-01-07T03:32:57.344Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/lightricks/ltx-2.3-quality/audio-to-video.md b/model-api-reference/video-generation/lightricks/ltx-2.3-quality/audio-to-video.md new file mode 100644 index 00000000..b5fdcae8 --- /dev/null +++ b/model-api-reference/video-generation/lightricks/ltx-2.3-quality/audio-to-video.md @@ -0,0 +1,21 @@ +--- +title: "Ltx 2.3 Quality API Reference — Lightricks / Audio To Video" +description: "Ltx 2.3 Quality API reference for SandBase. Use model lightricks/ltx-2.3-quality/audio-to-video with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/lightricks/ltx-2.3-quality/audio-to-video" +apiReferenceJson: "{\"title\":\"Ltx 2.3 Quality\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Ltx 2.3 Quality Audio To Video by Lightricks - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to lightricks/ltx-2.3-quality/audio-to-video.\",\"default\":\"lightricks/ltx-2.3-quality/audio-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"The prompt to guide the audio-driven video generation.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"Optional URL of an image to use as the first frame. When omitted, generation runs from text and audio only.\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the audio track that drives generation.\"},{\"name\":\"resolution\",\"type\":\"string\",\"required\":false,\"description\":\"Final output size. 'auto' matches the input image aspect ratio when image_url is provided; otherwise it uses a landscape fallback.\",\"default\":\"auto\",\"constraints\":\"Allowed values: auto, square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9\"},{\"name\":\"generate_audio\",\"type\":\"boolean\",\"required\":false,\"description\":\"Whether to include audio in the returned video. When disabled, the final MP4 is returned without an audio track.\",\"default\":\"true\"},{\"name\":\"guidance_scale\",\"type\":\"number\",\"required\":false,\"description\":\"Classifier-free guidance scale. The default is tuned for fast, high-quality generation.\",\"default\":\"1\",\"constraints\":\"Range: 1 to 20\"},{\"name\":\"num_inference_steps\",\"type\":\"integer\",\"required\":false,\"description\":\"Number of inference steps. Defaults to 15 and can be increased up to 30.\",\"default\":\"15\",\"constraints\":\"Range: 8 to 30\"},{\"name\":\"video_quality\",\"type\":\"string\",\"required\":false,\"description\":\"The quality preset of the generated video.\",\"default\":\"high\",\"constraints\":\"Allowed values: low, medium, high, maximum\"},{\"name\":\"frames_per_second\",\"type\":\"number\",\"required\":false,\"description\":\"Frames per second of the generated video.\",\"default\":\"24\",\"constraints\":\"Range: 1 to 60\"},{\"name\":\"match_audio_length\",\"type\":\"boolean\",\"required\":false,\"description\":\"When enabled, derives the number of frames from the audio duration and frames_per_second. When disabled, uses num_frames.\",\"default\":\"true\"},{\"name\":\"image_strength\",\"type\":\"number\",\"required\":false,\"description\":\"Conditioning strength for the optional first frame. 1.0 keeps the image more strictly; lower values give the model more freedom.\",\"default\":\"0.7\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"video_write_mode\",\"type\":\"string\",\"required\":false,\"description\":\"The write mode of the generated video.\",\"default\":\"balanced\",\"constraints\":\"Allowed values: fast, balanced, small\"},{\"name\":\"num_frames\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of frames to generate.\",\"default\":\"121\",\"constraints\":\"Range: 9 to 481\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"Random seed for reproducibility. If None, a random seed is chosen.\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"audio-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"lightricks/ltx-2.3-quality/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A person facing the camera sings with expressive natural motion, cinematic portrait lighting, realistic facial performance.\\\",\\n \\\"image\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/ltx-2-a2v-input-image.png\\\",\\n \\\"audio\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/ltx-2-a2v-input-audio.mp3\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"lightricks/ltx-2.3-quality/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A person facing the camera sings with expressive natural motion, cinematic portrait lighting, realistic facial performance.\\\",\\n \\\"image\\\": \\\"https://storage.googleapis.com/Falserverless/example_inputs/ltx-2-a2v-input-image.png\\\",\\n \\\"audio\\\": \\\"https://storage.googleapis.com/Falserverless/example_inputs/ltx-2-a2v-input-audio.mp3\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"lightricks/ltx-2.3-quality/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A person facing the camera sings with expressive natural motion, cinematic portrait lighting, realistic facial performance.\\\",\\n \\\"image\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/ltx-2-a2v-input-image.png\\\",\\n \\\"audio\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/ltx-2-a2v-input-audio.mp3\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"lightricks/ltx-2.3-quality/audio-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Ltx 2.3 Quality" + modelId: "lightricks/ltx-2.3-quality/audio-to-video" + vendor: "Lightricks" + vendorSlug: "lightricks" + modelSlug: "ltx-2.3-quality/audio-to-video" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-06-01T22:48:48.61Z" + capabilities: ["audio-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/meituan/longcat-multi-avatar/image-audio-to-video.md b/model-api-reference/video-generation/meituan/longcat-multi-avatar/image-audio-to-video.md new file mode 100644 index 00000000..afd719e3 --- /dev/null +++ b/model-api-reference/video-generation/meituan/longcat-multi-avatar/image-audio-to-video.md @@ -0,0 +1,21 @@ +--- +title: "Longcat Multi Avatar API Reference" +description: "Longcat Multi Avatar API reference for SandBase. Use model meituan/longcat-multi-avatar/image-audio-to-video with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/meituan/longcat-multi-avatar/image-audio-to-video" +apiReferenceJson: "{\"title\":\"Longcat Multi Avatar\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Longcat Multi Avatar Image Audio To Video by meituan - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to meituan/longcat-multi-avatar/image-audio-to-video.\",\"default\":\"meituan/longcat-multi-avatar/image-audio-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"The prompt to guide the video generation.\",\"default\":\"Two people are having a conversation with natural expressions and movements.\"},{\"name\":\"image\",\"type\":\"string\",\"required\":true,\"description\":\"The URL of the image containing two speakers.\"},{\"name\":\"resolution\",\"type\":\"string\",\"required\":false,\"description\":\"Resolution of the generated video (480p or 720p). Billing is per video-second (16 frames): 480p is 1 unit per second and 720p is 4 units per second.\",\"default\":\"480p\",\"constraints\":\"Allowed values: 480p, 720p\"},{\"name\":\"num_inference_steps\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of inference steps to use.\",\"default\":\"30\",\"constraints\":\"Range: 10 to 100\"},{\"name\":\"audio_url_person2\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the audio file for person 2 (right side).\",\"default\":\"https://raw.githubusercontent.com/meituan-longcat/LongCat-Video/refs/heads/main/assets/avatar/multi/sing_woman.WAV\"},{\"name\":\"num_segments\",\"type\":\"integer\",\"required\":false,\"description\":\"Number of video segments to generate. Each segment adds ~5 seconds of video. First segment is ~5.8s, additional segments are 5s each.\",\"default\":\"1\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"audio_url_person1\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the audio file for person 1 (left side).\",\"default\":\"https://raw.githubusercontent.com/meituan-longcat/LongCat-Video/refs/heads/main/assets/avatar/multi/sing_man.WAV\"},{\"name\":\"audio_type\",\"type\":\"string\",\"required\":false,\"description\":\"How to combine the two audio tracks. 'para' (parallel) plays both simultaneously, 'add' (sequential) plays person 1 first then person 2.\",\"default\":\"para\",\"constraints\":\"Allowed values: para, add\"},{\"name\":\"bbox_person2\",\"type\":\"string\",\"required\":false,\"description\":\"Bounding box for person 2. If not provided, defaults to right half of image.\"},{\"name\":\"audio_guidance_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The audio guidance scale. Higher values may lead to exaggerated mouth movements.\",\"default\":\"4\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"bbox_person1\",\"type\":\"string\",\"required\":false,\"description\":\"Bounding box for person 1. If not provided, defaults to left half of image.\"},{\"name\":\"text_guidance_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The text guidance scale for classifier-free guidance.\",\"default\":\"4\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"The seed for the random number generator.\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"audio-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"meituan/longcat-multi-avatar/image-audio-to-video\\\",\\n \\\"prompt\\\": \\\"Two people are having a conversation with natural expressions and movements.\\\",\\n \\\"image\\\": \\\"https://raw.githubusercontent.com/meituan-longcat/LongCat-Video/refs/heads/main/assets/avatar/multi/sing.png\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"meituan/longcat-multi-avatar/image-audio-to-video\\\",\\n \\\"prompt\\\": \\\"Two people are having a conversation with natural expressions and movements.\\\",\\n \\\"image\\\": \\\"https://raw.githubusercontent.com/meituan-longcat/LongCat-Video/refs/heads/main/assets/avatar/multi/sing.png\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"meituan/longcat-multi-avatar/image-audio-to-video\\\",\\n \\\"prompt\\\": \\\"Two people are having a conversation with natural expressions and movements.\\\",\\n \\\"image\\\": \\\"https://raw.githubusercontent.com/meituan-longcat/LongCat-Video/refs/heads/main/assets/avatar/multi/sing.png\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"meituan/longcat-multi-avatar/image-audio-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Longcat Multi Avatar" + modelId: "meituan/longcat-multi-avatar/image-audio-to-video" + vendor: "meituan" + vendorSlug: "meituan" + modelSlug: "longcat-multi-avatar/image-audio-to-video" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-01-08T20:17:00.208Z" + capabilities: ["audio-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/meituan/longcat-single-avatar/audio-to-video.md b/model-api-reference/video-generation/meituan/longcat-single-avatar/audio-to-video.md new file mode 100644 index 00000000..a9af2747 --- /dev/null +++ b/model-api-reference/video-generation/meituan/longcat-single-avatar/audio-to-video.md @@ -0,0 +1,21 @@ +--- +title: "Longcat Single Avatar API Reference" +description: "Longcat Single Avatar API reference for SandBase. Use model meituan/longcat-single-avatar/audio-to-video with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/meituan/longcat-single-avatar/audio-to-video" +apiReferenceJson: "{\"title\":\"Longcat Single Avatar\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Longcat Single Avatar Audio To Video by meituan - advanced AI model for audio-to-video. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to meituan/longcat-single-avatar/audio-to-video.\",\"default\":\"meituan/longcat-single-avatar/audio-to-video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"The prompt to guide the video generation.\",\"default\":\"A person is talking naturally with natural expressions and movements.\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the audio file to drive the avatar.\"},{\"name\":\"resolution\",\"type\":\"string\",\"required\":false,\"description\":\"Resolution of the generated video (480p or 720p). Billing is per video-second (16 frames): 480p is 1 unit per second and 720p is 4 units per second.\",\"default\":\"480p\",\"constraints\":\"Allowed values: 480p, 720p\"},{\"name\":\"num_inference_steps\",\"type\":\"integer\",\"required\":false,\"description\":\"The number of inference steps to use.\",\"default\":\"50\",\"constraints\":\"Range: 10 to 100\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"The seed for the random number generator.\"},{\"name\":\"audio_guidance_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The audio guidance scale. Higher values may lead to exaggerated mouth movements.\",\"default\":\"4\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"text_guidance_scale\",\"type\":\"number\",\"required\":false,\"description\":\"The text guidance scale for classifier-free guidance.\",\"default\":\"4\",\"constraints\":\"Range: 1 to 10\"},{\"name\":\"num_segments\",\"type\":\"integer\",\"required\":false,\"description\":\"Number of video segments to generate. Each segment adds ~5 seconds of video. First segment is ~5.8s, additional segments are 5s each.\",\"default\":\"1\",\"constraints\":\"Range: 1 to 10\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"audio-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"meituan/longcat-single-avatar/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A person is talking naturally with natural expressions and movements.\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/meituan/longcat-single-avatar/audio-to-video/input_audio_0.mp3\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"meituan/longcat-single-avatar/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A person is talking naturally with natural expressions and movements.\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/meituan/longcat-single-avatar/audio-to-video/input_audio_0.mp3\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"meituan/longcat-single-avatar/audio-to-video\\\",\\n \\\"prompt\\\": \\\"A person is talking naturally with natural expressions and movements.\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/meituan/longcat-single-avatar/audio-to-video/input_audio_0.mp3\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"meituan/longcat-single-avatar/audio-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Longcat Single Avatar" + modelId: "meituan/longcat-single-avatar/audio-to-video" + vendor: "meituan" + vendorSlug: "meituan" + modelSlug: "longcat-single-avatar/audio-to-video" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2025-12-30T17:00:38.944Z" + capabilities: ["audio-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/meta/sam-3-1/video.md b/model-api-reference/video-generation/meta/sam-3-1/video.md new file mode 100644 index 00000000..e6a6b6ec --- /dev/null +++ b/model-api-reference/video-generation/meta/sam-3-1/video.md @@ -0,0 +1,21 @@ +--- +title: "Sam 3 1 API Reference — Meta Sam 3 1 / Video API" +description: "Sam 3 1 API reference for SandBase. Use model meta/sam-3-1/video with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/meta/sam-3-1/video" +apiReferenceJson: "{\"title\":\"Sam 3 1\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Sam 3 1 Video is Meta's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to meta/sam-3-1/video.\",\"default\":\"meta/sam-3-1/video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt for segmentation. Use commas to track multiple objects (e.g., 'person, cloth').\",\"default\":\"\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the video to be segmented.\"},{\"name\":\"box_prompts\",\"type\":\"array\",\"required\":false,\"description\":\"List of box prompt coordinates (x_min, y_min, x_max, y_max).\",\"default\":\"\"},{\"name\":\"point_prompts\",\"type\":\"array\",\"required\":false,\"description\":\"List of point prompts\",\"default\":\"\"},{\"name\":\"detection_threshold\",\"type\":\"number\",\"required\":false,\"description\":\"Detection confidence threshold (0.0-1.0). Lower = more detections but less precise.\",\"default\":\"0.5\",\"constraints\":\"Range: 0.1 to 1\"},{\"name\":\"apply_mask\",\"type\":\"boolean\",\"required\":false,\"description\":\"Apply the mask on the video.\",\"default\":\"true\"},{\"name\":\"video_output_type\",\"type\":\"string\",\"required\":false,\"description\":\"The output type of the generated video.\",\"default\":\"X264 (.mp4)\",\"constraints\":\"Allowed values: X264 (.mp4), VP9 (.webm)\"},{\"name\":\"max_num_objects\",\"type\":\"integer\",\"required\":false,\"description\":\"Maximum number of objects to track in the video.\",\"default\":\"16\",\"constraints\":\"Range: 1 to 128\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"meta/sam-3-1/video\\\",\\n \\\"prompt\\\": \\\"\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/meta/sam-3-1/video/input_video_0.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"meta/sam-3-1/video\\\",\\n \\\"prompt\\\": \\\"\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/meta/sam-3-1/video/input_video_0.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"meta/sam-3-1/video\\\",\\n \\\"prompt\\\": \\\"\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/meta/sam-3-1/video/input_video_0.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"meta/sam-3-1/video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Sam 3 1" + modelId: "meta/sam-3-1/video" + vendor: "Meta" + vendorSlug: "meta" + modelSlug: "sam-3-1/video" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-03-30T16:39:11.488Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/meta/sam-3/video-rle.md b/model-api-reference/video-generation/meta/sam-3/video-rle.md new file mode 100644 index 00000000..4678c305 --- /dev/null +++ b/model-api-reference/video-generation/meta/sam-3/video-rle.md @@ -0,0 +1,21 @@ +--- +title: "Sam 3 API Reference — Meta Sam 3 / Video Rle API" +description: "Sam 3 API reference for SandBase. Use model meta/sam-3/video-rle with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/meta/sam-3/video-rle" +apiReferenceJson: "{\"title\":\"Sam 3\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Sam 3 Video Rle is Meta's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to meta/sam-3/video-rle.\",\"default\":\"meta/sam-3/video-rle\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt for segmentation. Use commas to track multiple objects (e.g., 'person, cloth').\",\"default\":\"\"},{\"name\":\"mask\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the mask to be applied initially.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"The URL of the video to be segmented.\"},{\"name\":\"apply_mask\",\"type\":\"boolean\",\"required\":false,\"description\":\"Apply the mask on the video.\",\"default\":\"false\"},{\"name\":\"boundingbox_zip\",\"type\":\"boolean\",\"required\":false,\"description\":\"Return per-frame bounding box overlays as a zip archive.\",\"default\":\"false\"},{\"name\":\"box_prompts\",\"type\":\"array\",\"required\":false,\"description\":\"List of box prompts with optional frame_index.\",\"default\":\"\"},{\"name\":\"point_prompts\",\"type\":\"array\",\"required\":false,\"description\":\"List of point prompts with frame indices.\",\"default\":\"\"},{\"name\":\"detection_threshold\",\"type\":\"number\",\"required\":false,\"description\":\"Detection confidence threshold (0.0-1.0). Lower = more detections but less precise. Defaults: 0.5 for existing, 0.7 for new objects. Try 0.2-0.3 if text prompts fail.\",\"default\":\"0.5\",\"constraints\":\"Range: 0.01 to 1\"},{\"name\":\"frame_index\",\"type\":\"integer\",\"required\":false,\"description\":\"Frame index used for initial interaction when mask_url is provided.\",\"default\":\"0\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"meta/sam-3/video-rle\\\",\\n \\\"prompt\\\": \\\"\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/meta/sam-3/video-rle/input_video_0.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"meta/sam-3/video-rle\\\",\\n \\\"prompt\\\": \\\"\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/meta/sam-3/video-rle/input_video_0.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"meta/sam-3/video-rle\\\",\\n \\\"prompt\\\": \\\"\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/meta/sam-3/video-rle/input_video_0.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"meta/sam-3/video-rle\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Sam 3" + modelId: "meta/sam-3/video-rle" + vendor: "Meta" + vendorSlug: "meta" + modelSlug: "sam-3/video-rle" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2025-11-20T20:18:27.813Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/mirelo/sfx1.6/video-to-video.md b/model-api-reference/video-generation/mirelo/sfx1.6/video-to-video.md new file mode 100644 index 00000000..6f15de94 --- /dev/null +++ b/model-api-reference/video-generation/mirelo/sfx1.6/video-to-video.md @@ -0,0 +1,21 @@ +--- +title: "Mirelo SFX1.6 API Reference — Mirelo Sfx1.6 / Video To Video API" +description: "Mirelo SFX1.6 API reference for SandBase. Use model mirelo/sfx1.6/video-to-video with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/mirelo/sfx1.6/video-to-video" +apiReferenceJson: "{\"title\":\"Mirelo SFX1.6\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Sfx1.6 Video To Video is Mirelo's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to mirelo/sfx1.6/video-to-video.\",\"default\":\"mirelo/sfx1.6/video-to-video\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Video URL to add SFX to.\"},{\"name\":\"duration\",\"type\":\"integer\",\"required\":false,\"description\":\"Duration of the generated SFX in seconds. Values >10 use sliding-window extended generation.\",\"default\":\"10\",\"constraints\":\"Range: 1 to 60\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"Seed for generation. -1 or None for random.\",\"constraints\":\"Minimum: -1\"},{\"name\":\"text_prompt\",\"type\":\"string\",\"required\":false,\"description\":\"Optional text prompt guiding generation.\"},{\"name\":\"num_samples\",\"type\":\"integer\",\"required\":false,\"description\":\"Number of variations to generate.\",\"default\":\"1\",\"constraints\":\"Range: 1 to 4\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"mirelo/sfx1.6/video-to-video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirelo/sfx1.6/video-to-video/input_video_0.mp4\\\",\\n \\\"duration\\\": 10\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"mirelo/sfx1.6/video-to-video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirelo/sfx1.6/video-to-video/input_video_0.mp4\\\",\\n \\\"duration\\\": 10\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"mirelo/sfx1.6/video-to-video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/mirelo/sfx1.6/video-to-video/input_video_0.mp4\\\",\\n \\\"duration\\\": 10\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"mirelo/sfx1.6/video-to-video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Mirelo SFX1.6" + modelId: "mirelo/sfx1.6/video-to-video" + vendor: "Mirelo" + vendorSlug: "mirelo" + modelSlug: "sfx1.6/video-to-video" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-05-18T18:43:54.282Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/nvidia/nemotron-3-nano-omni/video.md b/model-api-reference/video-generation/nvidia/nemotron-3-nano-omni/video.md new file mode 100644 index 00000000..632100d5 --- /dev/null +++ b/model-api-reference/video-generation/nvidia/nemotron-3-nano-omni/video.md @@ -0,0 +1,21 @@ +--- +title: "Nemotron 3 Nano Omni API Reference — NVIDIA 3 Nano Omni / Video" +description: "Nemotron 3 Nano Omni API reference for SandBase. Use model nvidia/nemotron-3-nano-omni/video with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/nvidia/nemotron-3-nano-omni/video" +apiReferenceJson: "{\"title\":\"Nemotron 3 Nano Omni\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Nemotron 3 Nano Omni Video by NVIDIA - advanced AI model for video-to-text. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to nvidia/nemotron-3-nano-omni/video.\",\"default\":\"nvidia/nemotron-3-nano-omni/video\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text prompt to send to the model. English only.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the video to reason about. mp4, up to 1080p, max 2 minutes.\"},{\"name\":\"max_tokens\",\"type\":\"integer\",\"required\":false,\"description\":\"Maximum number of tokens to generate.\",\"default\":\"1024\",\"constraints\":\"Range: 1 to 20000\"},{\"name\":\"top_p\",\"type\":\"number\",\"required\":false,\"description\":\"Nucleus sampling probability mass.\",\"default\":\"0.95\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"temperature\",\"type\":\"number\",\"required\":false,\"description\":\"Sampling temperature. Lower is more deterministic.\",\"default\":\"0.7\",\"constraints\":\"Range: 0 to 2\"},{\"name\":\"system_prompt\",\"type\":\"string\",\"required\":false,\"description\":\"Optional system prompt to steer the model. Reasoning behavior is controlled by the separate `reasoning_mode` field.\"},{\"name\":\"reasoning_mode\",\"type\":\"string\",\"required\":false,\"description\":\"Whether the model should emit an explicit reasoning trace. `no_think` returns a direct answer; `think` returns chain-of-thought followed by the final answer.\",\"default\":\"no_think\",\"constraints\":\"Allowed values: think, no_think\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-text\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"nvidia/nemotron-3-nano-omni/video\\\",\\n \\\"prompt\\\": \\\"Summarize the key capabilities of a multimodal agent.\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/nemotron-3-nano-omni/video_in.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"nvidia/nemotron-3-nano-omni/video\\\",\\n \\\"prompt\\\": \\\"Summarize the key capabilities of a multimodal agent.\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/Falserverless/example_inputs/nemotron-3-nano-omni/video_in.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"nvidia/nemotron-3-nano-omni/video\\\",\\n \\\"prompt\\\": \\\"Summarize the key capabilities of a multimodal agent.\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/example_inputs/nemotron-3-nano-omni/video_in.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"nvidia/nemotron-3-nano-omni/video\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Nemotron 3 Nano Omni" + modelId: "nvidia/nemotron-3-nano-omni/video" + vendor: "NVIDIA" + vendorSlug: "nvidia" + modelSlug: "nemotron-3-nano-omni/video" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-04-28T15:51:20.073Z" + capabilities: ["video-to-text"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/pixverse/v6/extend.md b/model-api-reference/video-generation/pixverse/v6/extend.md new file mode 100644 index 00000000..261c4994 --- /dev/null +++ b/model-api-reference/video-generation/pixverse/v6/extend.md @@ -0,0 +1,21 @@ +--- +title: "PixVerse V6 Extend API Reference" +description: "PixVerse V6 Extend API reference for SandBase. Use model pixverse/v6/extend with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/pixverse/v6/extend" +apiReferenceJson: "{\"title\":\"PixVerse V6 Extend\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"V6 Extend is PixVerse's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to pixverse/v6/extend.\",\"default\":\"pixverse/v6/extend\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Prompt describing how to extend the video\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input video to extend\"},{\"name\":\"resolution\",\"type\":\"string\",\"required\":false,\"description\":\"The resolution of the generated video\",\"default\":\"720p\",\"constraints\":\"Allowed values: 360p, 540p, 720p, 1080p\"},{\"name\":\"duration\",\"type\":\"integer\",\"required\":false,\"description\":\"The duration of the generated video in seconds. v6 supports values from 1 to 15 seconds\",\"default\":\"5\",\"constraints\":\"Range: 1 to 15\"},{\"name\":\"seed\",\"type\":\"integer\",\"required\":false,\"description\":\"Random seed for generation\"},{\"name\":\"generate_audio_switch\",\"type\":\"boolean\",\"required\":false,\"description\":\"Enable audio generation (BGM, SFX, dialogue).\",\"default\":\"false\"},{\"name\":\"style\",\"type\":\"string\",\"required\":false,\"description\":\"The style of the extended video\",\"constraints\":\"Allowed values: anime, 3d_animation, clay, comic, cyberpunk\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"pixverse/v6/extend\\\",\\n \\\"prompt\\\": \\\"A kid is talking into camera\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/pixverse/v6/extend/output_url_0.mp4\\\",\\n \\\"duration\\\": 5\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"pixverse/v6/extend\\\",\\n \\\"prompt\\\": \\\"A kid is talking into camera\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/pixverse/v6/extend/output_url_0.mp4\\\",\\n \\\"duration\\\": 5\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"pixverse/v6/extend\\\",\\n \\\"prompt\\\": \\\"A kid is talking into camera\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/pixverse/v6/extend/output_url_0.mp4\\\",\\n \\\"duration\\\": 5\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"pixverse/v6/extend\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "PixVerse V6 Extend" + modelId: "pixverse/v6/extend" + vendor: "PixVerse" + vendorSlug: "pixverse" + modelSlug: "v6/extend" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-03-29T11:11:49.66Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/sonilo/1.1/video-to-music.md b/model-api-reference/video-generation/sonilo/1.1/video-to-music.md new file mode 100644 index 00000000..c66c8f4a --- /dev/null +++ b/model-api-reference/video-generation/sonilo/1.1/video-to-music.md @@ -0,0 +1,21 @@ +--- +title: "V1.1 API Reference" +description: "V1.1 API reference for SandBase. Use model sonilo/1.1/video-to-music with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/sonilo/1.1/video-to-music" +apiReferenceJson: "{\"title\":\"V1.1\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"1.1 Video To Music by Sonilo - advanced AI model for video-to-audio. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to sonilo/1.1/video-to-music.\",\"default\":\"sonilo/1.1/video-to-music\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Optional text prompt steering the musical style. If omitted, a prompt is generated automatically from the video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Public http(s) URL of the source video to score.\"},{\"name\":\"duration\",\"type\":\"integer\",\"required\":false,\"description\":\"Optional. Length (seconds) of the video segment to score. When set, scores a segment of this length starting at Start Offset (or from the beginning if Start Offset is unset). Defaults (None) to the rest of the video: the whole video when Start Offset is unset, or from Start Offset to the end when it is set.\",\"constraints\":\"Range: 1 to 600\"},{\"name\":\"num_samples\",\"type\":\"integer\",\"required\":false,\"description\":\"How many distinct music tracks to generate for the video.\",\"default\":\"1\",\"constraints\":\"Range: 1 to 3\"},{\"name\":\"start_offset\",\"type\":\"number\",\"required\":false,\"description\":\"Optional. Start scoring from this offset (seconds) into the video. Requires Start Offset + Duration <= Video Duration.\",\"constraints\":\"Range: 0 to 600\"},{\"name\":\"prompt_influence\",\"type\":\"number\",\"required\":false,\"description\":\"Turn it up to match the text prompt\",\"default\":\"0.5\",\"constraints\":\"Range: 0 to 1\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-audio\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"sonilo/1.1/video-to-music\\\",\\n \\\"prompt\\\": \\\"A cinematic product photo of a matte black smart speaker on a marble table, soft studio lighting\\\",\\n \\\"video\\\": \\\"https://v3b.fal.media/files/b/0a9ddd00/2QssaYyFxstvVlmIraSns_Sonilo_Demo_Original_1.mp4\\\",\\n \\\"duration\\\": 1\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"sonilo/1.1/video-to-music\\\",\\n \\\"prompt\\\": \\\"A cinematic product photo of a matte black smart speaker on a marble table, soft studio lighting\\\",\\n \\\"video\\\": \\\"https://v3b.fal.media/files/b/0a9ddd00/2QssaYyFxstvVlmIraSns_Sonilo_Demo_Original_1.mp4\\\",\\n \\\"duration\\\": 1\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"sonilo/1.1/video-to-music\\\",\\n \\\"prompt\\\": \\\"A cinematic product photo of a matte black smart speaker on a marble table, soft studio lighting\\\",\\n \\\"video\\\": \\\"https://v3b.fal.media/files/b/0a9ddd00/2QssaYyFxstvVlmIraSns_Sonilo_Demo_Original_1.mp4\\\",\\n \\\"duration\\\": 1\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"sonilo/1.1/video-to-music\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "V1.1" + modelId: "sonilo/1.1/video-to-music" + vendor: "Sonilo" + vendorSlug: "sonilo" + modelSlug: "1.1/video-to-music" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-06-03T18:40:46.335Z" + capabilities: ["video-to-audio"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/sonilo/1.1/video-to-sound-effects.md b/model-api-reference/video-generation/sonilo/1.1/video-to-sound-effects.md new file mode 100644 index 00000000..394d6c2a --- /dev/null +++ b/model-api-reference/video-generation/sonilo/1.1/video-to-sound-effects.md @@ -0,0 +1,21 @@ +--- +title: "V1.1 Video to Sound Effects API Reference" +description: "V1.1 Video to Sound Effects API reference for SandBase. Use model sonilo/1.1/video-to-sound-effects with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/sonilo/1.1/video-to-sound-effects" +apiReferenceJson: "{\"title\":\"V1.1 Video to Sound Effects\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"1.1 Video To Sound Effects by Sonilo - advanced AI model for video-to-audio. Delivers high-quality results with fast inference, suitable for both creative and production workflows.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to sonilo/1.1/video-to-sound-effects.\",\"default\":\"sonilo/1.1/video-to-sound-effects\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Optional. Describe the kind of sound you want; it steers the generated audio for every scene. Leave empty to caption the video automatically.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"The video to add sound to (public URL, or upload a file). The generated audio matches the video's length.\"},{\"name\":\"audio_format\",\"type\":\"string\",\"required\":false,\"description\":\"Format of the returned audio file: aac (default), mp3, wav, or flac. (The video with sound is always AAC.)\",\"default\":\"aac\",\"constraints\":\"Allowed values: wav, mp3, aac, flac\"},{\"name\":\"segments\",\"type\":\"array\",\"required\":false,\"description\":\"Optional. Split the video into time ranges, each with its own sound description. Leave empty to split into scenes automatically.\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-audio\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"sonilo/1.1/video-to-sound-effects\\\",\\n \\\"prompt\\\": \\\"A cinematic product photo of a matte black smart speaker on a marble table, soft studio lighting\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/model_tests/video_models/mmaudio_input.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"sonilo/1.1/video-to-sound-effects\\\",\\n \\\"prompt\\\": \\\"A cinematic product photo of a matte black smart speaker on a marble table, soft studio lighting\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/Falserverless/model_tests/video_models/mmaudio_input.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"sonilo/1.1/video-to-sound-effects\\\",\\n \\\"prompt\\\": \\\"A cinematic product photo of a matte black smart speaker on a marble table, soft studio lighting\\\",\\n \\\"video\\\": \\\"https://storage.googleapis.com/falserverless/model_tests/video_models/mmaudio_input.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"sonilo/1.1/video-to-sound-effects\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "V1.1 Video to Sound Effects" + modelId: "sonilo/1.1/video-to-sound-effects" + vendor: "Sonilo" + vendorSlug: "sonilo" + modelSlug: "1.1/video-to-sound-effects" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-07-21T09:44:30.217Z" + capabilities: ["video-to-audio"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/sync/lipsync/react-1.md b/model-api-reference/video-generation/sync/lipsync/react-1.md new file mode 100644 index 00000000..82c95e38 --- /dev/null +++ b/model-api-reference/video-generation/sync/lipsync/react-1.md @@ -0,0 +1,21 @@ +--- +title: "Sync React-1 API Reference" +description: "Sync React-1 API reference for SandBase. Use model sync/lipsync/react-1 with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/sync/lipsync/react-1" +apiReferenceJson: "{\"title\":\"Sync React-1\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Lipsync React 1 is Sync Labs's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to sync/lipsync/react-1.\",\"default\":\"sync/lipsync/react-1\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL to the input video. Must be **15 seconds or shorter**.\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"URL to the input audio. Must be **15 seconds or shorter**.\"},{\"name\":\"model_mode\",\"type\":\"string\",\"required\":false,\"description\":\"Controls the edit region and movement scope for the model. Available options: - `lips`: Only lipsync using react-1 (minimal facial changes). - `face`: Lipsync + facial expressions without head movements. - `head`: Lipsync + facial expressions + natural talking head movements.\",\"default\":\"face\",\"constraints\":\"Allowed values: lips, face, head\"},{\"name\":\"lipsync_mode\",\"type\":\"string\",\"required\":false,\"description\":\"Lipsync mode when audio and video durations are out of sync.\",\"default\":\"bounce\",\"constraints\":\"Allowed values: cut_off, loop, bounce, silence, remap\"},{\"name\":\"temperature\",\"type\":\"number\",\"required\":false,\"description\":\"Controls the expresiveness of the lipsync.\",\"default\":\"0.5\",\"constraints\":\"Range: 0 to 1\"},{\"name\":\"emotion\",\"type\":\"string\",\"required\":false,\"description\":\"Emotion prompt for the generation. Currently supports single-word emotions only.\",\"constraints\":\"Allowed values: happy, angry, sad, neutral, disgusted, surprised\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"sync/lipsync/react-1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/react-1/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/react-1/input_audio_1.mp3\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"sync/lipsync/react-1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/react-1/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/react-1/input_audio_1.mp3\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"sync/lipsync/react-1\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/react-1/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/react-1/input_audio_1.mp3\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"sync/lipsync/react-1\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Sync React-1" + modelId: "sync/lipsync/react-1" + vendor: "Sync Labs" + vendorSlug: "sync" + modelSlug: "lipsync/react-1" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2025-12-10T14:23:05.777Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/sync/lipsync/v2.md b/model-api-reference/video-generation/sync/lipsync/v2.md new file mode 100644 index 00000000..fb6e707e --- /dev/null +++ b/model-api-reference/video-generation/sync/lipsync/v2.md @@ -0,0 +1,21 @@ +--- +title: "Sync Lipsync 2.0 API Reference" +description: "Sync Lipsync 2.0 API reference for SandBase. Use model sync/lipsync/v2 with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/sync/lipsync/v2" +apiReferenceJson: "{\"title\":\"Sync Lipsync 2.0\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Lipsync V2 by Sync Labs - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to sync/lipsync/v2.\",\"default\":\"sync/lipsync/v2\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input video\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input audio\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"sync/lipsync/v2\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/output_url_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/input_audio_1.wav\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"sync/lipsync/v2\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/output_url_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/input_audio_1.wav\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"sync/lipsync/v2\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/output_url_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/input_audio_1.wav\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"sync/lipsync/v2\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Sync Lipsync 2.0" + modelId: "sync/lipsync/v2" + vendor: "Sync Labs" + vendorSlug: "sync" + modelSlug: "lipsync/v2" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2025-04-01T18:57:06.699Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/sync/lipsync/v2/pro.md b/model-api-reference/video-generation/sync/lipsync/v2/pro.md new file mode 100644 index 00000000..4276bb1b --- /dev/null +++ b/model-api-reference/video-generation/sync/lipsync/v2/pro.md @@ -0,0 +1,21 @@ +--- +title: "Sync Lipsync API Reference" +description: "Sync Lipsync API reference for SandBase. Use model sync/lipsync/v2/pro with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/sync/lipsync/v2/pro" +apiReferenceJson: "{\"title\":\"Sync Lipsync\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Lipsync V2 Pro by Sync Labs - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to sync/lipsync/v2/pro.\",\"default\":\"sync/lipsync/v2/pro\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input video\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input audio\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"sync/lipsync/v2/pro\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/pro/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/pro/input_audio_1.mp3\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"sync/lipsync/v2/pro\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/pro/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/pro/input_audio_1.mp3\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"sync/lipsync/v2/pro\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/pro/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v2/pro/input_audio_1.mp3\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"sync/lipsync/v2/pro\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Sync Lipsync" + modelId: "sync/lipsync/v2/pro" + vendor: "Sync Labs" + vendorSlug: "sync" + modelSlug: "lipsync/v2/pro" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2025-09-02T16:39:37.207Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/sync/lipsync/v3.md b/model-api-reference/video-generation/sync/lipsync/v3.md new file mode 100644 index 00000000..38ced1f0 --- /dev/null +++ b/model-api-reference/video-generation/sync/lipsync/v3.md @@ -0,0 +1,21 @@ +--- +title: "sync-3 Lipsync API Reference" +description: "sync-3 Lipsync API reference for SandBase. Use model sync/lipsync/v3 with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/sync/lipsync/v3" +apiReferenceJson: "{\"title\":\"sync-3 Lipsync\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Lipsync V3 by Sync Labs - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to sync/lipsync/v3.\",\"default\":\"sync/lipsync/v3\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input video\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input audio\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"sync/lipsync/v3\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v3/output_url_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v3/input_audio_1.wav\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"sync/lipsync/v3\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v3/output_url_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v3/input_audio_1.wav\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"sync/lipsync/v3\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v3/output_url_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/lipsync/v3/input_audio_1.wav\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"sync/lipsync/v3\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "sync-3 Lipsync" + modelId: "sync/lipsync/v3" + vendor: "Sync Labs" + vendorSlug: "sync" + modelSlug: "lipsync/v3" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-04-06T11:59:40.659Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/sync/sync-lipsync.md b/model-api-reference/video-generation/sync/sync-lipsync.md new file mode 100644 index 00000000..95a66944 --- /dev/null +++ b/model-api-reference/video-generation/sync/sync-lipsync.md @@ -0,0 +1,21 @@ +--- +title: "sync.so -- lipsync 1.9.0-beta API Reference" +description: "sync.so -- lipsync 1.9.0-beta API reference for SandBase. Use model sync/sync-lipsync with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/sync/sync-lipsync" +apiReferenceJson: "{\"title\":\"sync.so -- lipsync 1.9.0-beta\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Sync Lipsync by Sync Labs - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to sync/sync-lipsync.\",\"default\":\"sync/sync-lipsync\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input video\"},{\"name\":\"audio\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input audio\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"sync/sync-lipsync\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/sync-lipsync/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/sync-lipsync/input_audio_1.wav\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"sync/sync-lipsync\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/sync-lipsync/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/sync-lipsync/input_audio_1.wav\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"sync/sync-lipsync\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/sync/sync-lipsync/input_video_0.mp4\\\",\\n \\\"audio\\\": \\\"https://static.sandbase.ai/examples/sync/sync-lipsync/input_audio_1.wav\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"sync/sync-lipsync\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "sync.so -- lipsync 1.9.0-beta" + modelId: "sync/sync-lipsync" + vendor: "Sync Labs" + vendorSlug: "sync" + modelSlug: "sync-lipsync" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2025-01-13T00:00:00Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/veed/subtitles.md b/model-api-reference/video-generation/veed/subtitles.md new file mode 100644 index 00000000..c14ce697 --- /dev/null +++ b/model-api-reference/video-generation/veed/subtitles.md @@ -0,0 +1,21 @@ +--- +title: "Subtitles API Reference" +description: "Subtitles API reference for SandBase. Use model veed/subtitles with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/veed/subtitles" +apiReferenceJson: "{\"title\":\"Subtitles\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Subtitles is VEED's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to veed/subtitles.\",\"default\":\"veed/subtitles\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"Upload or paste a URL to the video you want to subtitle.\"},{\"name\":\"srt_content\",\"type\":\"string\",\"required\":false,\"description\":\"Paste raw SRT subtitle text. Alternative to srt_file_url. When provided, transcription is skipped.\"},{\"name\":\"customization\",\"type\":\"string\",\"required\":false,\"description\":\"Optional preset overrides: vertical position, shadow intensity, and per-tier text styling (font, weight, hex colour) for each word-importance tier. Any omitted field keeps the preset's default.\"},{\"name\":\"preset\",\"type\":\"string\",\"required\":false,\"description\":\"Each style defines fonts, colors, layout, and animation. Two tiers with different pricing: - Dynamic presets (2x multiplier): glass, whisper, glide2, fusion, glide, terminal, handwritten. Richer, context-aware rendering that adapts to the input. - Basic presets (1x multiplier): simple, plain, beans, corpo, boo, shadeplay, casper, capri, lowkey, vinta, diego, ali, slay, kitty, hustle, karl, sprout, flex, mint, rizz, vegas. Fixed, lightweight styling with predictable output.\",\"constraints\":\"Allowed values: glass, whisper, glide2, fusion, glide, terminal, handwritten, simple, plain, beans, corpo, boo, shadeplay, casper, capri, lowkey, vinta, diego, ali, slay, kitty, hustle, karl, sprout, flex, mint, rizz, vegas\"},{\"name\":\"language\",\"type\":\"string\",\"required\":false,\"description\":\"Improves transcription accuracy, and should match the source audio (not output subtitles).\",\"constraints\":\"Allowed values: af-ZA, am-ET, ar-AE, ar-BH, ar-DZ, ar-EG, ar-IL, ar-IQ, ar-JO, ar-KW, ar-LB, ar-MA, ar-OM, ar-PS, ar-QA, ar-SA, ar-TN, ast-ES, az-AZ, ba, bas, be-BY, bg-BG, br, bs-BA, ca-ES, ceb-PH, ckb-IQ, cs-CZ, cy-GB, da-DK, de-DE, dyu, el-GR, en-AU, en-GB, en-IN, en-NZ, en-US, eo, es-AR, es-BO, es-CL, es-CO, es-CR, es-DO, es-EC, es-ES, es-GT, es-HN, es-MX, es-NI, es-PA, es-PE, es-PR, es-PY, es-SV, es-US, es-UY, es-VE, et-EE, eu-ES, fa-IR, ff, fi-FI, fil-PH, fo, fr-CA, fr-FR, fy, ga, gd, gl-ES, ha-NG, haw, he-IL, hr-HR, hsb, ht, hu-HU, hy-AM, id-ID, ig, is-IS, it-IT, ja-JP, ja-Latn-JP, jv-ID, ka-GE, kab, kam-KE, kea-CV, kk-KZ, ko-KR, ku, ky-KG, la, lb-LU, lg, lij, ln-CD, lo-LA, lt-LT, luo-KE, lv-LV, mg, mi-NZ, mk-MK, mn-MN, ms-MY, mt-MT, nb-NO, nl-NL, nn, nso-ZA, ny-MW, oc-FR, pl-PL, ps-AF, pt-BR, pt-PT, ro-RO, roh, ru-RU, rw-RW, sah, sk-SK, sl-SI, sm, sn-ZW, so-SO, sq-AL, sr-Latn-RS, sr-RS, srd, ss, su-ID, sv-SE, sw-KE, sw-TZ, tg-TJ, th-TH, tk, tn, tok, ton, tr-TR, ts-ZA, tt, uk-UA, umb-AO, ur-IN, ur-PK, uz-UZ, vi-VN, vro, wo-SN, xh-ZA, yi, yo-NG, yue-Hant-HK, zh, zh-HK, zh-TW, zu-ZA\"},{\"name\":\"srt_file_url\",\"type\":\"string\",\"required\":false,\"description\":\"Upload or paste a URL to your .srt subtitles file. When provided, transcription is skipped.\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"veed/subtitles\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/veed/subtitles/input_video_0.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"veed/subtitles\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/veed/subtitles/input_video_0.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"veed/subtitles\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/veed/subtitles/input_video_0.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"veed/subtitles\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Subtitles" + modelId: "veed/subtitles" + vendor: "VEED" + vendorSlug: "veed" + modelSlug: "subtitles" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-05-18T09:03:09.763Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/xai/grok-imagine-video/edit.md b/model-api-reference/video-generation/xai/grok-imagine-video/edit.md new file mode 100644 index 00000000..f53e0a10 --- /dev/null +++ b/model-api-reference/video-generation/xai/grok-imagine-video/edit.md @@ -0,0 +1,21 @@ +--- +title: "Grok Imagine Video Edit API Reference" +description: "Grok Imagine Video Edit API reference for SandBase. Use model xai/grok-imagine-video/edit with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/xai/grok-imagine-video/edit" +apiReferenceJson: "{\"title\":\"Grok Imagine Video Edit\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Grok Imagine Video Edit is xAI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to xai/grok-imagine-video/edit.\",\"default\":\"xai/grok-imagine-video/edit\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text description of the desired edit.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the input video to edit. The video will be resized to a maximum area of 854x480 pixels and truncated to 8 seconds.\"},{\"name\":\"resolution\",\"type\":\"string\",\"required\":false,\"description\":\"Resolution of the output video.\",\"default\":\"auto\",\"constraints\":\"Allowed values: auto, 480p, 720p\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"xai/grok-imagine-video/edit\\\",\\n \\\"prompt\\\": \\\"Colorize the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/xai/grok-imagine-video/edit/input_video_0.mp4\\\"\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"xai/grok-imagine-video/edit\\\",\\n \\\"prompt\\\": \\\"Colorize the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/xai/grok-imagine-video/edit/input_video_0.mp4\\\"\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"xai/grok-imagine-video/edit\\\",\\n \\\"prompt\\\": \\\"Colorize the video\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/xai/grok-imagine-video/edit/input_video_0.mp4\\\"\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"xai/grok-imagine-video/edit\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Grok Imagine Video Edit" + modelId: "xai/grok-imagine-video/edit" + vendor: "xAI" + vendorSlug: "xai" + modelSlug: "grok-imagine-video/edit" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-01-29T00:27:49.985Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/model-api-reference/video-generation/xai/grok-imagine-video/extend.md b/model-api-reference/video-generation/xai/grok-imagine-video/extend.md new file mode 100644 index 00000000..4eb81b13 --- /dev/null +++ b/model-api-reference/video-generation/xai/grok-imagine-video/extend.md @@ -0,0 +1,21 @@ +--- +title: "Grok Imagine Video Extend API Reference" +description: "Grok Imagine Video Extend API reference for SandBase. Use model xai/grok-imagine-video/extend with /v1/run; see request and response examples." +aside: false +outline: false +apiReferenceKey: "video/xai/grok-imagine-video/extend" +apiReferenceJson: "{\"title\":\"Grok Imagine Video Extend\",\"operation\":\"Video Generation\",\"method\":\"POST\",\"path\":\"/v1/run\",\"description\":\"Grok Imagine Video Extend is xAI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.\",\"groups\":[{\"title\":\"Request body\",\"description\":\"Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.\",\"fields\":[{\"name\":\"model\",\"type\":\"string\",\"required\":true,\"description\":\"Model identifier. Set to xai/grok-imagine-video/extend.\",\"default\":\"xai/grok-imagine-video/extend\"},{\"name\":\"prompt\",\"type\":\"string\",\"required\":true,\"description\":\"Text description of what should happen next in the video.\"},{\"name\":\"video\",\"type\":\"string\",\"required\":false,\"description\":\"URL of the source video to extend. Must be MP4 format (H.264, H.265, or AV1 codec), 2-15 seconds long.\"},{\"name\":\"duration\",\"type\":\"integer\",\"required\":false,\"description\":\"Length of the extension in seconds.\",\"default\":\"6\",\"constraints\":\"Range: 2 to 10\"}]},{\"title\":\"Response Schema\",\"description\":\"The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"required\":true,\"description\":\"Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.\"},{\"name\":\"status\",\"type\":\"string\",\"required\":true,\"description\":\"Current public run status.\",\"constraints\":\"Allowed values: pending, running, completed, failed, timeout\"},{\"name\":\"model\",\"type\":\"string\",\"required\":false,\"description\":\"Public SandBase model name used for this run.\"},{\"name\":\"outputs\",\"type\":\"array\",\"required\":false,\"description\":\"Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.\"},{\"name\":\"error\",\"type\":\"object\",\"required\":false,\"description\":\"Present only for failed or timeout runs. Contains a public error type and sanitized message.\"},{\"name\":\"error.type\",\"type\":\"string\",\"required\":false,\"description\":\"Stable public error category.\"},{\"name\":\"error.message\",\"type\":\"string\",\"required\":false,\"description\":\"Sanitized error message safe to show to clients.\"},{\"name\":\"usage\",\"type\":\"object\",\"required\":false,\"description\":\"Usage details when available.\"}]},{\"title\":\"Model capabilities\",\"fields\":[{\"name\":\"capability_tags\",\"type\":\"array\",\"required\":true,\"description\":\"Capabilities declared by the model registry.\",\"default\":\"video-to-video\"},{\"name\":\"execution_mode\",\"type\":\"string\",\"required\":true,\"description\":\"Execution mode declared by the model registry.\",\"default\":\"async\"}]}],\"examples\":[{\"label\":\"cURL\",\"language\":\"bash\",\"code\":\"# 1. Submit a generation request\\ncurl -X POST https://api.sandbase.ai/v1/run \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\" \\\\\\n -H \\\"Content-Type: application/json\\\" \\\\\\n -d '{\\n \\\"model\\\": \\\"xai/grok-imagine-video/extend\\\",\\n \\\"prompt\\\": \\\"The camera slowly zooms out to reveal the city skyline at sunset\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/xai/grok-imagine-video/extend/input_video_0.mp4\\\",\\n \\\"duration\\\": 6\\n}'\\n\\n# 2. If the response is still running, poll the returned id\\ncurl https://api.sandbase.ai/v1/run/f3d2e8a1-7c4b-4a12-9d2e-123456789abc \\\\\\n -H \\\"Authorization: Bearer $SANDBASE_API_KEY\\\"\"},{\"label\":\"Python\",\"language\":\"python\",\"code\":\"import os\\nimport time\\nimport requests\\n\\napi_url = \\\"https://api.sandbase.ai\\\"\\nheaders = {\\n \\\"Authorization\\\": f\\\"Bearer {os.environ['SANDBASE_API_KEY']}\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n}\\npayload = {\\n \\\"model\\\": \\\"xai/grok-imagine-video/extend\\\",\\n \\\"prompt\\\": \\\"The camera slowly zooms out to reveal the city skyline at sunset\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/xai/grok-imagine-video/extend/input_video_0.mp4\\\",\\n \\\"duration\\\": 6\\n}\\n\\nresponse = requests.post(f\\\"{api_url}/v1/run\\\", headers=headers, json=payload)\\nresponse.raise_for_status()\\nresult = response.json()\\n\\nwhile result[\\\"status\\\"] in (\\\"pending\\\", \\\"running\\\"):\\n time.sleep(2)\\n result = requests.get(f\\\"{api_url}/v1/run/\\\" + result[\\\"id\\\"], headers=headers).json()\\n\\nprint(result)\"},{\"label\":\"TypeScript\",\"language\":\"typescript\",\"code\":\"const apiUrl = \\\"https://api.sandbase.ai\\\";\\nconst headers = {\\n Authorization: `Bearer ${process.env.SANDBASE_API_KEY}`,\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n};\\n\\nconst payload = {\\n \\\"model\\\": \\\"xai/grok-imagine-video/extend\\\",\\n \\\"prompt\\\": \\\"The camera slowly zooms out to reveal the city skyline at sunset\\\",\\n \\\"video\\\": \\\"https://static.sandbase.ai/examples/xai/grok-imagine-video/extend/input_video_0.mp4\\\",\\n \\\"duration\\\": 6\\n};\\n\\nconst submit = await fetch(apiUrl + \\\"/v1/run\\\", {\\n method: \\\"POST\\\",\\n headers,\\n body: JSON.stringify(payload),\\n});\\nif (!submit.ok) throw new Error(await submit.text());\\nlet result = await submit.json();\\n\\nwhile ([\\\"pending\\\", \\\"running\\\"].includes(result.status)) {\\n await new Promise((resolve) => setTimeout(resolve, 2000));\\n const poll = await fetch(apiUrl + \\\"/v1/run/\\\" + result.id, { headers });\\n if (!poll.ok) throw new Error(await poll.text());\\n result = await poll.json();\\n}\\n\\nconsole.log(result);\"}],\"response\":{\"status\":\"202 Accepted\",\"code\":\"{\\n \\\"id\\\": \\\"f3d2e8a1-7c4b-4a12-9d2e-123456789abc\\\",\\n \\\"model\\\": \\\"xai/grok-imagine-video/extend\\\",\\n \\\"status\\\": \\\"running\\\"\\n}\"}}" +seo: + modelName: "Grok Imagine Video Extend" + modelId: "xai/grok-imagine-video/extend" + vendor: "xAI" + vendorSlug: "xai" + modelSlug: "grok-imagine-video/extend" + protocol: "Video Generation Reference" + endpoint: "/v1/run" + publishedAt: "2026-03-24T17:54:09.171Z" + capabilities: ["video-to-video"] + category: "Video Generation" +--- + + diff --git a/scripts/validate-built-public-surface.mjs b/scripts/validate-built-public-surface.mjs index 295c1f5a..04833bf9 100644 --- a/scripts/validate-built-public-surface.mjs +++ b/scripts/validate-built-public-surface.mjs @@ -37,6 +37,13 @@ assert.match(storeModelsAlias, //, 'Legacy Seedance page must remain noindex') +// Video models formerly listed under Image Generation keep their old URLs as +// noindex aliases that canonicalize to the Video Generation reference. +const movedVideoAlias = readFileSync(path.join(dist, 'model-api-reference', 'image-generation', 'veed', 'subtitles.html'), 'utf8') +assert.match(movedVideoAlias, //, 'Moved video model alias must be noindex') +assert.match(movedVideoAlias, //, 'Moved video model alias must canonicalize to Video Generation') +assert.ok(!sitemap.includes('/docs/model-api-reference/image-generation/veed/subtitles'), 'Moved video model alias must not be in the sitemap') +assert.ok(sitemap.includes('/docs/model-api-reference/video-generation/veed/subtitles'), 'Moved video model reference must be in the sitemap') const forbidden = [ [/\/v1\/generations(?:\/|\b)/i, 'withdrawn generation API'],