From 5daf255627f3c3f6fa628c57a94b39505f43e32a Mon Sep 17 00:00:00 2001 From: ComfyUI Wiki Date: Fri, 10 Jul 2026 16:48:42 +0800 Subject: [PATCH 1/2] feat(i18n): add OpenAPI translation pipeline and localized specs Wire cloud and registry OpenAPI specs into pnpm translate with per-language YAML under openapi/, Mintlify docs.json paths per locale, and pretty-printed output for readable zh/ja/ko API reference pages. --- .cursor/skills/docs-i18n-translate/SKILL.md | 13 +- .github/scripts/i18n/README.md | 33 +- .github/scripts/i18n/check-i18n-sync.mjs | 25 +- .../scripts/i18n/openapi-translate.test.ts | 107 + .github/scripts/i18n/openapi-translate.ts | 430 + .github/scripts/i18n/reformat-openapi.ts | 53 + .github/scripts/i18n/sync-docs-json.mjs | 45 +- .github/scripts/i18n/translate-i18n.ts | 160 +- .github/scripts/i18n/translation-config.json | 12 + .github/workflows/i18n-sync-check.yml | 2 + development/cloud/openapi.mdx | 4 +- docs.json | 16 +- ja/development/cloud/openapi.mdx | 4 +- ko/development/cloud/openapi.mdx | 4 +- openapi/.i18n/cloud.ja.json | 623 + openapi/.i18n/cloud.ko.json | 623 + openapi/.i18n/cloud.zh.json | 623 + openapi/.i18n/registry.ja.json | 5462 +++ openapi/.i18n/registry.ko.json | 5462 +++ openapi/.i18n/registry.zh.json | 5462 +++ openapi-cloud.yaml => openapi/cloud.en.yaml | 0 openapi/cloud.ja.yaml | 3485 ++ openapi/cloud.ko.yaml | 3485 ++ openapi/cloud.zh.yaml | 3485 ++ openapi/registry.en.yaml | 36106 +++++++++++++++ openapi/registry.ja.yaml | 36109 ++++++++++++++++ openapi/registry.ko.yaml | 36109 ++++++++++++++++ openapi/registry.zh.yaml | 36109 ++++++++++++++++ package.json | 2 + zh/development/cloud/openapi.mdx | 4 +- 30 files changed, 174024 insertions(+), 33 deletions(-) create mode 100644 .github/scripts/i18n/openapi-translate.test.ts create mode 100644 .github/scripts/i18n/openapi-translate.ts create mode 100644 .github/scripts/i18n/reformat-openapi.ts create mode 100644 openapi/.i18n/cloud.ja.json create mode 100644 openapi/.i18n/cloud.ko.json create mode 100644 openapi/.i18n/cloud.zh.json create mode 100644 openapi/.i18n/registry.ja.json create mode 100644 openapi/.i18n/registry.ko.json create mode 100644 openapi/.i18n/registry.zh.json rename openapi-cloud.yaml => openapi/cloud.en.yaml (100%) create mode 100644 openapi/cloud.ja.yaml create mode 100644 openapi/cloud.ko.yaml create mode 100644 openapi/cloud.zh.yaml create mode 100644 openapi/registry.en.yaml create mode 100644 openapi/registry.ja.yaml create mode 100644 openapi/registry.ko.yaml create mode 100644 openapi/registry.zh.yaml diff --git a/.cursor/skills/docs-i18n-translate/SKILL.md b/.cursor/skills/docs-i18n-translate/SKILL.md index c7d337da6..120c1f863 100644 --- a/.cursor/skills/docs-i18n-translate/SKILL.md +++ b/.cursor/skills/docs-i18n-translate/SKILL.md @@ -4,7 +4,8 @@ description: >- Translate ComfyUI Mintlify docs from English MDX to ja/zh/ko using translate-i18n.ts. Incremental hash sync, chunked long pages, changelog update_blocks, glossary terms. Use when translating docs, updating zh/ja/ko changelog or pages, running pnpm translate, - translationSourceHash, glossary sync, docs.json i18n, or fixing truncated translations. + translationSourceHash, glossary sync, docs.json i18n, OpenAPI spec localization, + or fixing truncated translations. --- # Docs i18n Translation @@ -21,11 +22,18 @@ index.mdx, changelog/index.mdx, … ← English (edit here) ▼ pnpm translate {ja,zh,ko}/… ← translated MDX (commit to git) snippets/{ja,zh,ko}/… +openapi/cloud.{lang}.yaml ← translated OpenAPI (API Reference pages) +openapi/registry.{lang}.yaml +openapi/.i18n/*.json ← translation sidecar metadata │ ▼ optional pnpm translate:sync-docs-json ← mirror nav paths in docs.json ``` +OpenAPI endpoint pages (`api-reference/**`) are Mintlify-generated from specs in +`translation-config.json` → `openapi_specs`. `pnpm translate` copies each English +spec to `*.{lang}.yaml` and translates `summary` / `description` incrementally. + Incremental: each file stores `translationSourceHash` in frontmatter. Unchanged English → skip. ## Environment (`.env.local`) @@ -57,6 +65,9 @@ Requires **Bun**. | `pnpm translate:sync-hash` | Refresh hashes after manual zh/ja/ko edits (no API) | | `pnpm translate:sync-docs-json` | Sync `docs.json` nav paths (labels preserved) | | `pnpm translate:sync-docs-json -- --translate-nav-labels` | Also translate new EN nav labels | +| `pnpm translate:openapi` | OpenAPI specs only | +| `pnpm translate -- --no-openapi` | Skip OpenAPI during a normal run | +| `pnpm translate -- --fetch-openapi` | Refresh `openapi/registry.en.yaml` from API before translating | | `pnpm glossary:sync` | Rebuild glossary from ComfyUI frontend | | `pnpm glossary:sync:dry-run` | Preview glossary sync | diff --git a/.github/scripts/i18n/README.md b/.github/scripts/i18n/README.md index 0aabe8b32..9dfae4450 100644 --- a/.github/scripts/i18n/README.md +++ b/.github/scripts/i18n/README.md @@ -45,6 +45,36 @@ pnpm translate:repair-fences # append missing closing ``` pnpm translate:repair-truncated -- --lang ko pnpm translate:sync-hash # update hashes after manual translation edits pnpm translate:sync-docs-json # sync docs.json navigation paths +pnpm translate -- --openapi-only # OpenAPI specs only +pnpm translate -- --no-openapi # skip OpenAPI specs +pnpm translate -- --fetch-openapi # refresh vendored specs from fetch_url +``` + +### OpenAPI API Reference (Mintlify auto-generated pages) + +Mintlify endpoint pages under `api-reference/**` are generated from OpenAPI +specs, not MDX. This pipeline copies each English spec to locale-specific files +(for example `openapi/cloud.zh.yaml`) and translates `summary` / `description` +fields incrementally. + +Configure sources in `translation-config.json` → `openapi_specs`: + +| Source | Output | Notes | +|--------|--------|-------| +| `openapi/cloud.en.yaml` | `openapi/cloud.{lang}.yaml` | Cloud API Reference tab | +| `openapi/registry.en.yaml` | `openapi/registry.{lang}.yaml` | Registry + Admin tabs; refresh with `--fetch-openapi` | + +`docs.json` keeps English sources under `openapi/`. Sidecar hashes live in `openapi/.i18n/`. +`pnpm translate:sync-docs-json` localizes tab `openapi.source` values to the +matching `{lang}` file for zh / ja / ko. + +Sidecar metadata lives beside each translated spec as `*.i18n.json` (block hashes +for incremental sync). Commit translated specs and sidecars with MDX translations. + +```bash +pnpm translate:dry-run -- --openapi-only --lang zh # preview pending OpenAPI work +pnpm translate -- --openapi-only --lang zh # translate Cloud + Registry specs for zh +pnpm translate -- --fetch-openapi --openapi-only # pull latest Registry spec, then translate ``` Quality controls during/after a run write to `.github/i18n-logs/translate/` @@ -236,6 +266,7 @@ env → `frontend_locales_path` in `translation-config.json` → | File | Role | |------|------| | `translate-i18n.ts` | translation entry point | +| `openapi-translate.ts` | OpenAPI summary/description translation | | `chunked-translate.ts` | split/reassemble long MDX (`heading_sections`, `update_blocks`) | | `sync-hash-i18n.ts` | Refresh translation hashes after manual edits (no API) | | `repair-fences-i18n.ts` | Append missing closing ``` in translations (no API) | @@ -245,4 +276,4 @@ env → `frontend_locales_path` in `translation-config.json` → | `sync-docs-json.mjs` / `nav-label-translate.mjs` | docs.json navigation sync | | `check-translation-truncation.ts` | detect truncated output | | `check-i18n-sync.mjs` | PR check: English changes have matching translations | -| `translation-config.json` | languages, skip paths, `preserve_terms`, frontend path | +| `translation-config.json` | languages, skip paths, `openapi_specs`, `preserve_terms`, frontend path | diff --git a/.github/scripts/i18n/check-i18n-sync.mjs b/.github/scripts/i18n/check-i18n-sync.mjs index 19e7e86ca..b29374b28 100644 --- a/.github/scripts/i18n/check-i18n-sync.mjs +++ b/.github/scripts/i18n/check-i18n-sync.mjs @@ -69,6 +69,16 @@ const addedRaw = gitLines( const changedFiles = filterEnglish(changedRaw.filter((f) => f.endsWith(".mdx"))); const deletedFiles = filterEnglish(deletedRaw.filter((f) => f.endsWith(".mdx"))); const addedFiles = filterEnglish(addedRaw.filter((f) => f.endsWith(".mdx"))); +const openapiSources = (CONFIG.openapi_specs ?? []).map((spec) => spec.source); +const changedOpenApiSources = changedRaw.filter((file) => openapiSources.includes(file)); + +function localizedOpenApiSource(source, langCode) { + if (!source || langCode === "en") return source; + if (/\.en\.(ya?ml|json)$/i.test(source)) { + return source.replace(/\.en\.(ya?ml|json)$/i, (_, ext) => `.${langCode}.${ext}`); + } + return source.replace(/\.(ya?ml|json)$/i, (_, ext) => `.${langCode}.${ext}`); +} const allDiffNames = gitLines(`git diff --name-only ${baseSha} ${headSha}`); const acmrtNames = gitLines( @@ -87,9 +97,10 @@ const renamedDestinations = renameLines if ( changedFiles.length === 0 && deletedFiles.length === 0 && - addedFiles.length === 0 + addedFiles.length === 0 && + changedOpenApiSources.length === 0 ) { - console.log("No English MDX files changed outside translation directories. Skipping check."); + console.log("No English MDX or OpenAPI source files changed outside translation directories. Skipping check."); writeOutput({ skipped: true, missingByLang: {}, movedFiles: [] }); process.exit(0); } @@ -154,6 +165,16 @@ for (const lang of languages) { missing.push(langFile); } + for (const source of changedOpenApiSources) { + const langFile = localizedOpenApiSource(source, lang.code); + if (acmrtNames.includes(langFile)) { + console.log(`✅ [${lang.code}] Found OpenAPI translation update: ${langFile}`); + continue; + } + console.log(`❌ [${lang.code}] Missing OpenAPI translation update: ${langFile}`); + missing.push(langFile); + } + if (missing.length > 0) { missingByLang[lang.code] = { name: lang.name, files: missing }; } diff --git a/.github/scripts/i18n/openapi-translate.test.ts b/.github/scripts/i18n/openapi-translate.test.ts new file mode 100644 index 000000000..4297f8305 --- /dev/null +++ b/.github/scripts/i18n/openapi-translate.test.ts @@ -0,0 +1,107 @@ +import { describe, expect, test } from "bun:test"; +import { + applyTranslations, + extractTranslatableStrings, + localizedOpenApiSource, + sidecarPathForOutput, + stringifyYamlSpec, + stripYamlHeader, +} from "./openapi-translate.ts"; + +describe("localizedOpenApiSource", () => { + test("inserts language code before extension", () => { + expect(localizedOpenApiSource("openapi/cloud.en.yaml", "zh")).toBe( + "openapi/cloud.zh.yaml" + ); + expect(localizedOpenApiSource("openapi/registry.en.yaml", "ja")).toBe( + "openapi/registry.ja.yaml" + ); + expect(localizedOpenApiSource("openapi/cloud.en.yaml", "en")).toBe( + "openapi/cloud.en.yaml" + ); + }); +}); + +describe("sidecarPathForOutput", () => { + test("uses openapi/.i18n/ directory", () => { + expect(sidecarPathForOutput("openapi/cloud.zh.yaml")).toBe( + "openapi/.i18n/cloud.zh.json" + ); + expect(sidecarPathForOutput("openapi/registry.ko.yaml")).toBe( + "openapi/.i18n/registry.ko.json" + ); + }); +}); + +describe("extractTranslatableStrings", () => { + test("collects summary and description only", () => { + const spec = { + info: { title: "API", description: "Root description" }, + paths: { + "/users": { + get: { + summary: "List users", + description: "Returns all users", + operationId: "listUsers", + }, + }, + }, + components: { + schemas: { + User: { + type: "object", + properties: { + id: { type: "string", description: "User id" }, + }, + }, + }, + }, + }; + + expect(extractTranslatableStrings(spec)).toEqual({ + "info.description": "Root description", + "paths./users.get.summary": "List users", + "paths./users.get.description": "Returns all users", + "components.schemas.User.properties.id.description": "User id", + }); + }); +}); + +describe("stringifyYamlSpec", () => { + test("produces indented multi-line YAML", () => { + const yaml = stringifyYamlSpec({ + openapi: "3.0.3", + info: { title: "API", description: "Hello" }, + }); + expect(yaml.split("\n").length).toBeGreaterThan(3); + expect(yaml).toContain("openapi: 3.0.3"); + expect(yaml).toContain(" title: API"); + }); +}); + +describe("stripYamlHeader", () => { + test("preserves translation metadata comments", () => { + const { header, body } = stripYamlHeader( + "# translationSourceHash: abc\n# translationFrom: x.yaml\n\nopenapi: 3.0.3\n" + ); + expect(header).toContain("translationSourceHash"); + expect(body).toContain("openapi: 3.0.3"); + }); +}); + +describe("applyTranslations", () => { + test("replaces targeted strings without changing structure", () => { + const english = { + info: { description: "Hello" }, + paths: { "/x": { get: { summary: "Get X" } } }, + }; + const localized = applyTranslations(english, { + "info.description": "你好", + "paths./x.get.summary": "获取 X", + }); + expect(localized).toEqual({ + info: { description: "你好" }, + paths: { "/x": { get: { summary: "获取 X" } } }, + }); + }); +}); diff --git a/.github/scripts/i18n/openapi-translate.ts b/.github/scripts/i18n/openapi-translate.ts new file mode 100644 index 000000000..6059ae145 --- /dev/null +++ b/.github/scripts/i18n/openapi-translate.ts @@ -0,0 +1,430 @@ +/** + * Translate OpenAPI summary/description fields into locale-specific spec copies. + * Used by translate-i18n.ts (pnpm translate) and sync-docs-json.mjs (source paths). + */ + +import { createHash } from "crypto"; +import { readFile, writeFile, mkdir, access } from "fs/promises"; +import { join, dirname } from "path"; +import { REPO_ROOT } from "./i18n-config.mjs"; + +export interface OpenApiSpecConfig { +/** Repo-relative English OpenAPI path (e.g. openapi/cloud.en.yaml). */ + source: string; + /** Optional remote URL to refresh the English source (e.g. Registry API). */ + fetch_url?: string; + /** Response format when fetch_url is set. Default: json */ + fetch_format?: "json" | "yaml"; +} + +export interface OpenApiTranslateOptions { + dryRun?: boolean; + force?: boolean; + fetchOpenApi?: boolean; + preserveTerms?: string[]; + /** Shared translate function from translate-i18n.ts */ + translateBatch: ( + entries: Record, + existingEntries: Record, + langName: string, + relPath: string + ) => Promise>; +} + +interface LangConfig { + code: string; + name: string; + dir: string; +} + +interface Sidecar { + translationSourceHash: string; + translationFrom: string; + blockHashes: Record; +} + +const TRANSLATABLE_KEYS = new Set(["summary", "description"]); + +/** openapi/cloud.en.yaml -> openapi/cloud.zh.yaml */ +export function localizedOpenApiSource(source: string, langCode: string): string { + if (!source || langCode === "en") return source; + if (/\.en\.(ya?ml|json)$/i.test(source)) { + return source.replace(/\.en\.(ya?ml|json)$/i, (_, ext: string) => `.${langCode}.${ext}`); + } + return source.replace(/\.(ya?ml|json)$/i, (_, ext: string) => `.${langCode}.${ext}`); +} + +export function sidecarPathForOutput(outputRel: string): string { + const basename = outputRel.replace(/^openapi\//, "").replace(/\.(ya?ml|json)$/i, ".json"); + return `openapi/.i18n/${basename}`; +} + +export function sourceHash(text: string): string { + return createHash("sha256").update(text).digest("hex").slice(0, 8); +} + +export function blockHash(text: string): string { + return createHash("sha256").update(text).digest("hex").slice(0, 8); +} + +/** Walk an OpenAPI object and collect summary/description string values. */ +export function extractTranslatableStrings( + value: unknown, + path = "" +): Record { + const out: Record = {}; + + if (value == null) return out; + + if (Array.isArray(value)) { + value.forEach((item, index) => { + Object.assign(out, extractTranslatableStrings(item, `${path}[${index}]`)); + }); + return out; + } + + if (typeof value !== "object") return out; + + for (const [key, child] of Object.entries(value as Record)) { + const childPath = path ? `${path}.${key}` : key; + if ( + TRANSLATABLE_KEYS.has(key) && + typeof child === "string" && + child.trim().length > 0 + ) { + out[childPath] = child; + } else { + Object.assign(out, extractTranslatableStrings(child, childPath)); + } + } + + return out; +} + +function parsePath(path: string): Array { + const parts: Array = []; + const re = /([^.\[\]]+)|\[(\d+)\]/g; + let match: RegExpExecArray | null; + while ((match = re.exec(path)) !== null) { + if (match[1] != null) parts.push(match[1]); + else if (match[2] != null) parts.push(Number(match[2])); + } + return parts; +} + +function getAtPath(root: unknown, path: string): unknown { + let cur: unknown = root; + for (const part of parsePath(path)) { + if (cur == null || typeof cur !== "object") return undefined; + cur = (cur as Record)[part]; + } + return cur; +} + +function setAtPath(root: Record, path: string, value: string): void { + const parts = parsePath(path); + let cur: Record = root; + for (let i = 0; i < parts.length - 1; i++) { + const part = parts[i]; + const next = cur[part]; + if (next == null || typeof next !== "object") return; + cur = next as Record; + } + const last = parts[parts.length - 1]; + if (last == null) return; + cur[last] = value; +} + +export function applyTranslations( + englishSpec: Record, + translations: Record +): Record { + const cloned = structuredClone(englishSpec) as Record; + for (const [path, translated] of Object.entries(translations)) { + setAtPath(cloned, path, translated); + } + return cloned; +} + +function aggregateHash(strings: Record): string { + const keys = Object.keys(strings).sort(); + const payload = keys.map((k) => `${k}\0${strings[k]}`).join("\n"); + return sourceHash(payload); +} + +async function readSidecar(path: string): Promise { + try { + return JSON.parse(await readFile(path, "utf-8")) as Sidecar; + } catch { + return null; + } +} + +async function writeSidecar(path: string, sidecar: Sidecar): Promise { + await mkdir(dirname(path), { recursive: true }); + await writeFile(path, `${JSON.stringify(sidecar, null, 2)}\n`); +} + +function yamlHeader(sourceRel: string, hash: string): string { + return [ + `# translationSourceHash: ${hash}`, + `# translationFrom: ${sourceRel}`, + "", + ].join("\n"); +} + +export async function parseSpecFile(absPath: string): Promise> { + const raw = await readFile(absPath, "utf-8"); + if (/\.json$/i.test(absPath)) return JSON.parse(raw) as Record; + const body = stripYamlHeader(raw).body; + return Bun.YAML.parse(body) as Record; +} + +/** Pretty-printed YAML for readable diffs and editing (block style, indented). */ +export function stringifyYamlSpec(spec: Record): string { + const body = Bun.YAML.stringify(spec, null, 2); + return body.endsWith("\n") ? body : `${body}\n`; +} + +export function stripYamlHeader(raw: string): { header: string; body: string } { + const lines = raw.split("\n"); + const headerLines: string[] = []; + let i = 0; + while (i < lines.length && (lines[i].startsWith("#") || lines[i].trim() === "")) { + if (lines[i].startsWith("#")) headerLines.push(lines[i]); + else if (headerLines.length > 0) headerLines.push(lines[i]); + i++; + } + while (i < lines.length && lines[i].trim() === "") i++; + const header = + headerLines.length > 0 ? `${headerLines.join("\n").replace(/\n+$/, "")}\n\n` : ""; + return { header, body: lines.slice(i).join("\n") }; +} + +async function writeSpecFile( + absPath: string, + spec: Record, + header = "" +): Promise { + await mkdir(dirname(absPath), { recursive: true }); + if (/\.json$/i.test(absPath)) { + await writeFile(absPath, `${JSON.stringify(spec, null, 2)}\n`); + return; + } + await writeFile(absPath, `${header}${stringifyYamlSpec(spec)}`); +} + +export async function ensureEnglishOpenApiSource( + spec: OpenApiSpecConfig, + options: { fetchOpenApi?: boolean } = {} +): Promise { + const absPath = join(REPO_ROOT, spec.source); + const needsFetch = Boolean(spec.fetch_url); + if (!needsFetch) return; + + let exists = true; + try { + await access(absPath); + } catch { + exists = false; + } + + if (!options.fetchOpenApi && exists) return; + + if (!spec.fetch_url) return; + + console.log(`[openapi] Fetching ${spec.source} from ${spec.fetch_url} ...`); + const response = await fetch(spec.fetch_url); + if (!response.ok) { + throw new Error(`Failed to fetch ${spec.fetch_url}: HTTP ${response.status}`); + } + + const format = spec.fetch_format ?? "json"; + let parsed: Record; + if (format === "yaml") { + parsed = Bun.YAML.parse(await response.text()) as Record; + } else { + parsed = (await response.json()) as Record; + } + + await writeSpecFile(absPath, parsed); + console.log(`[openapi] Wrote ${spec.source}`); +} + +function chunkEntries( + entries: Record, + maxEntries = 25, + maxChars = 8000 +): Record[] { + const keys = Object.keys(entries).sort(); + const chunks: Record[] = []; + let current: Record = {}; + let chars = 0; + + for (const key of keys) { + const value = entries[key]; + const size = key.length + value.length + 4; + const currentCount = Object.keys(current).length; + if ( + currentCount > 0 && + (currentCount >= maxEntries || chars + size > maxChars) + ) { + chunks.push(current); + current = {}; + chars = 0; + } + current[key] = value; + chars += size; + } + + if (Object.keys(current).length > 0) chunks.push(current); + return chunks; +} + +export async function translateOpenApiForLanguage( + spec: OpenApiSpecConfig, + lang: LangConfig, + options: OpenApiTranslateOptions +): Promise<"translated" | "skipped" | "dry-run"> { + const sourceAbs = join(REPO_ROOT, spec.source); + const outputRel = localizedOpenApiSource(spec.source, lang.code); + const outputAbs = join(REPO_ROOT, outputRel); + const sidecarAbs = join(REPO_ROOT, sidecarPathForOutput(outputRel)); + + const englishSpec = await parseSpecFile(sourceAbs); + const englishStrings = extractTranslatableStrings(englishSpec); + const fileHash = aggregateHash(englishStrings); + + const sidecar = await readSidecar(sidecarAbs); + + const existingStrings: Record = {}; + if (await readFile(outputAbs, "utf-8").catch(() => null)) { + try { + const existingSpec = await parseSpecFile(outputAbs); + Object.assign(existingStrings, extractTranslatableStrings(existingSpec)); + } catch { + // ignore corrupt prior output + } + } + + const pending: Record = {}; + const merged: Record = {}; + const nextBlockHashes: Record = {}; + + for (const [path, enText] of Object.entries(englishStrings)) { + const hash = blockHash(enText); + nextBlockHashes[path] = hash; + const unchanged = + !options.force && + sidecar?.blockHashes?.[path] === hash && + existingStrings[path] && + existingStrings[path] !== enText; + if (unchanged) { + merged[path] = existingStrings[path]; + } else { + pending[path] = enText; + } + } + + if ( + !options.dryRun && + !options.force && + Object.keys(pending).length === 0 && + (await readFile(outputAbs, "utf-8").catch(() => null)) != null + ) { + return "skipped"; + } + + if (options.dryRun) { + const pendingCount = Object.keys(pending).length; + console.log( + `[openapi][${lang.code}] ${spec.source} -> ${outputRel}: ${pendingCount} block(s) pending (${Object.keys(englishStrings).length} total)` + ); + return "dry-run"; + } + + const chunks = chunkEntries(pending); + const totalChunks = chunks.length; + if (totalChunks > 0) { + console.log( + `[openapi][${lang.code}] ${spec.source}: ${Object.keys(pending).length} field(s) in ${totalChunks} chunk(s)` + ); + } + + for (let i = 0; i < chunks.length; i++) { + const chunk = chunks[i]; + console.log( + `[openapi][${lang.code}] ${spec.source}: chunk ${i + 1}/${totalChunks} (${Object.keys(chunk).length} fields)` + ); + const existingChunk: Record = {}; + for (const key of Object.keys(chunk)) { + if (existingStrings[key]) existingChunk[key] = existingStrings[key]; + } + const translated = await options.translateBatch( + chunk, + existingChunk, + lang.name, + outputRel + ); + for (const [key, value] of Object.entries(translated)) { + if (typeof value === "string" && value.trim()) merged[key] = value; + } + + // Checkpoint after each chunk so a long run can resume without redoing finished batches. + for (const [path, enText] of Object.entries(englishStrings)) { + if (!merged[path]) merged[path] = enText; + } + const checkpointSpec = applyTranslations(englishSpec, merged); + const header = yamlHeader(spec.source, fileHash); + await writeSpecFile(outputAbs, checkpointSpec, header); + await writeSidecar(sidecarAbs, { + translationSourceHash: fileHash, + translationFrom: spec.source, + blockHashes: nextBlockHashes, + }); + } + + return Object.keys(pending).length > 0 ? "translated" : "skipped"; +} + +export async function runOpenApiTranslation( + specs: OpenApiSpecConfig[], + langs: LangConfig[], + options: OpenApiTranslateOptions +): Promise<{ translated: number; skipped: number; failed: number }> { + let translated = 0; + let skipped = 0; + let failed = 0; + + for (const spec of specs) { + try { + await ensureEnglishOpenApiSource(spec, { + fetchOpenApi: options.fetchOpenApi, + }); + } catch (err) { + failed++; + const msg = err instanceof Error ? err.message : String(err); + console.error(`[openapi] FAIL fetch ${spec.source}: ${msg}`); + continue; + } + + for (const lang of langs) { + try { + const status = await translateOpenApiForLanguage(spec, lang, options); + if (status === "translated" || status === "dry-run") translated++; + else skipped++; + if (status === "translated") { + console.log(`[openapi] OK [${lang.code}] ${spec.source}`); + } else if (status === "skipped") { + console.log(`[openapi] SKIP [${lang.code}] ${spec.source}`); + } + } catch (err) { + failed++; + const msg = err instanceof Error ? err.message : String(err); + console.error(`[openapi] FAIL [${lang.code}] ${spec.source}: ${msg}`); + } + } + } + + return { translated, skipped, failed }; +} diff --git a/.github/scripts/i18n/reformat-openapi.ts b/.github/scripts/i18n/reformat-openapi.ts new file mode 100644 index 000000000..a2fb4a559 --- /dev/null +++ b/.github/scripts/i18n/reformat-openapi.ts @@ -0,0 +1,53 @@ +#!/usr/bin/env bun +/** + * Re-pretty-print OpenAPI YAML files without calling the translation API. + * Skips *.en.yaml sources that are already hand-formatted (optional --all). + * + * Usage: + * pnpm translate:reformat-openapi + * pnpm translate:reformat-openapi -- --all + */ + +import { readdir, readFile } from "fs/promises"; +import { join } from "path"; +import { REPO_ROOT } from "./i18n-config.mjs"; +import { + parseSpecFile, + stringifyYamlSpec, + stripYamlHeader, +} from "./openapi-translate.ts"; + +const openapiDir = join(REPO_ROOT, "openapi"); +const includeEn = process.argv.includes("--all"); + +async function reformatFile(absPath: string): Promise { + const rel = absPath.slice(REPO_ROOT.length + 1); + if (!/\.ya?ml$/i.test(rel)) return; + if (!includeEn && /\.en\.ya?ml$/i.test(rel)) { + console.log(`SKIP ${rel} (English source)`); + return; + } + if (includeEn && rel === "openapi/cloud.en.yaml") { + console.log(`SKIP ${rel} (hand-maintained English source)`); + return; + } + + const raw = await readFile(absPath, "utf-8"); + const { header } = stripYamlHeader(raw); + const spec = await parseSpecFile(absPath); + const next = `${header}${stringifyYamlSpec(spec)}`; + if (next === raw) { + console.log(`OK ${rel} (unchanged)`); + return; + } + await Bun.write(absPath, next); + const lines = next.split("\n").length; + console.log(`OK ${rel} (${lines} lines)`); +} + +const entries = await readdir(openapiDir, { withFileTypes: true }); +for (const entry of entries) { + if (entry.isFile() && /\.ya?ml$/i.test(entry.name)) { + await reformatFile(join(openapiDir, entry.name)); + } +} diff --git a/.github/scripts/i18n/sync-docs-json.mjs b/.github/scripts/i18n/sync-docs-json.mjs index 3d9e197f7..e9ce3ea91 100644 --- a/.github/scripts/i18n/sync-docs-json.mjs +++ b/.github/scripts/i18n/sync-docs-json.mjs @@ -319,15 +319,42 @@ function applyLabelMapToEntry(syncedEntry, enEntry, labelMap) { }; } -/** @param {unknown} openapi @param {string} langDir */ -export function localizeOpenApi(openapi, langDir) { - if (typeof openapi === "string") return openapi; - if (openapi && typeof openapi === "object" && typeof openapi.directory === "string") { - const directory = openapi.directory.startsWith(`${langDir}/`) - ? openapi.directory - : `${langDir}/${openapi.directory}`; - return { ...openapi, directory }; +/** @param {string} source @param {string} langCode */ +export function localizeOpenApiSource(source, langCode) { + if (!source || langCode === "en") return source; + if (/\.en\.(ya?ml|json)$/i.test(source)) { + return source.replace(/\.en\.(ya?ml|json)$/i, (_, ext) => `.${langCode}.${ext}`); } + return source.replace(/\.(ya?ml|json)$/i, (_, ext) => `.${langCode}.${ext}`); +} + +/** @param {unknown} openapi @param {{ dir: string, code: string }} lang */ +export function localizeOpenApi(openapi, lang) { + const langDir = lang.dir; + const langCode = lang.code; + + if (typeof openapi === "string") { + if (openapi.startsWith("http://") || openapi.startsWith("https://")) { + return openapi; + } + return localizeOpenApiSource(openapi, langCode); + } + + if (openapi && typeof openapi === "object") { + /** @type {{ source?: string, directory?: string }} */ + const spec = openapi; + const next = { ...spec }; + if (typeof spec.source === "string") { + next.source = localizeOpenApiSource(spec.source, langCode); + } + if (typeof spec.directory === "string") { + next.directory = spec.directory.startsWith(`${langDir}/`) + ? spec.directory + : `${langDir}/${spec.directory}`; + } + return next; + } + return openapi; } @@ -352,7 +379,7 @@ export function syncTab(enTab, existingTab, lang, langDirs) { if (enTab.openapi != null) { return { tab: existingTab?.tab ?? enTab.tab, - openapi: localizeOpenApi(enTab.openapi, lang.dir), + openapi: localizeOpenApi(enTab.openapi, lang), }; } diff --git a/.github/scripts/i18n/translate-i18n.ts b/.github/scripts/i18n/translate-i18n.ts index 8c43b0585..66ed14d8e 100644 --- a/.github/scripts/i18n/translate-i18n.ts +++ b/.github/scripts/i18n/translate-i18n.ts @@ -23,6 +23,9 @@ * npm run translate:repair-truncated -- --lang ko # re-translate files from truncation log * npm run translate:sync-docs-json -- --lang ko # sync docs.json paths only (labels preserved) * npm run translate:sync-docs-json -- --translate-nav-labels # also translate new English nav labels + * npm run translate -- --openapi-only # OpenAPI specs only + * npm run translate -- --no-openapi # skip OpenAPI specs + * npm run translate -- --fetch-openapi # refresh vendored specs from fetch_url * * Requires Bun: https://bun.sh * @@ -87,6 +90,10 @@ import { syncUpdateBlockDescription, validateTranslatedBlock, } from "./chunked-translate.ts"; +import { + type OpenApiSpecConfig, + runOpenApiTranslation, +} from "./openapi-translate.ts"; // --------------------------------------------------------------------------- // Load .env.local @@ -127,6 +134,7 @@ interface TranslationConfig { auto_chunk?: AutoChunkConfig; languages: LangConfig[]; preserve_terms: string[]; + openapi_specs?: OpenApiSpecConfig[]; } const config = loadI18nConfig() as TranslationConfig; @@ -232,6 +240,7 @@ const SKIP_PATHS: string[] = config.skip_paths ?? ["built-in-nodes"]; const CHUNKED_FILES: ChunkedFileConfig[] = config.chunked_files ?? []; const AUTO_CHUNK: AutoChunkConfig | undefined = config.auto_chunk; const PRESERVE_TERMS: string[] = config.preserve_terms ?? []; +const OPENAPI_SPECS: OpenApiSpecConfig[] = config.openapi_specs ?? []; function resolveFileChunkStrategy(relPath: string, enContent: string): ChunkStrategy | null { const { body } = parseFrontmatterAndBody(enContent); @@ -501,6 +510,131 @@ Output ONLY the translated MDX content.`; return { content: clean, mismatches }; } +function buildOpenApiTranslationInstructions(lang: LangConfig): string { + const preserveStr = PRESERVE_TERMS.join(", "); + return [ + `Translate the English string VALUES in the JSON object into ${lang.name}.`, + "Keep every JSON key unchanged.", + "Output ONLY valid JSON with the same keys as the input.", + "Preserve Markdown formatting, code spans, URLs, HTTP paths, header names, and schema field names.", + "Do NOT translate operationId values, enum values, or content inside backticks.", + preserveStr ? `Do NOT translate these technical terms: ${preserveStr}` : "", + "Use colons (:) or periods (.) instead of em-dashes. Avoid em-dashes entirely.", + ] + .filter(Boolean) + .join("\n"); +} + +async function translateOpenApiBatch( + entries: Record, + existingEntries: Record, + lang: LangConfig, + relPath: string +): Promise> { + if (Object.keys(entries).length === 0) return {}; + + const payload = JSON.stringify(entries, null, 2); + const existingPayload = + Object.keys(existingEntries).length > 0 + ? JSON.stringify(existingEntries, null, 2) + : ""; + + const parts = [ + `File: ${relPath}`, + "", + "=== English JSON (translate values only) ===", + payload, + "", + buildOpenApiTranslationInstructions(lang), + ]; + const glossaryBlock = glossaryBlockFor(Object.values(entries).join("\n"), lang); + if (glossaryBlock) parts.push("", glossaryBlock); + if (existingPayload) { + parts.push( + "", + `=== Current ${lang.name} JSON (context — preserve unchanged entries) ===`, + existingPayload + ); + } + parts.push("", "Output only the translated JSON object."); + + let lastError: unknown; + for (let attempt = 1; attempt <= 3; attempt++) { + try { + const raw = IS_QWEN_MT + ? await callApi( + [{ role: "user", content: parts.join("\n") }], + { translation_options: { source_lang: "English", target_lang: lang.name } } + ) + : await callApi([ + { + role: "system", + content: `You translate OpenAPI documentation strings into ${lang.name}. Output valid JSON only.`, + }, + { role: "user", content: parts.join("\n") }, + ]); + + let cleaned = cleanModelOutput(raw).trim(); + cleaned = cleaned.replace(/^```(?:json)?\n/, "").replace(/\n```$/, ""); + const parsed = JSON.parse(cleaned) as Record; + const out: Record = {}; + for (const key of Object.keys(entries)) { + const value = parsed[key]; + if (typeof value === "string" && value.trim()) out[key] = value; + } + return out; + } catch (err) { + lastError = err; + if (attempt < 3) { + console.warn( + `[openapi] JSON parse retry ${attempt}/3 for ${relPath} (${Object.keys(entries).length} fields)` + ); + } + } + } + + throw lastError instanceof Error ? lastError : new Error(String(lastError)); +} + +async function runOpenApiPhase(options: { + selectedLangs: LangConfig[]; + dryRun: boolean; + force: boolean; + fetchOpenApi: boolean; + specFilter?: string[]; +}): Promise { + if (OPENAPI_SPECS.length === 0) return 0; + + const specs = + options.specFilter && options.specFilter.length > 0 + ? OPENAPI_SPECS.filter((s) => options.specFilter!.includes(s.source)) + : OPENAPI_SPECS; + if (options.specFilter && options.specFilter.length > 0 && specs.length === 0) { + console.error( + `No matching openapi_specs for: ${options.specFilter.join(", ")}` + ); + return 1; + } + + console.log(`\nOpenAPI specs: ${specs.map((s) => s.source).join(", ")}`); + const result = await runOpenApiTranslation(specs, options.selectedLangs, { + dryRun: options.dryRun, + force: options.force, + fetchOpenApi: options.fetchOpenApi, + preserveTerms: PRESERVE_TERMS, + translateBatch: (entries, existingEntries, langName, relPath) => { + const lang = options.selectedLangs.find((l) => l.name === langName); + if (!lang) throw new Error(`Unknown language name: ${langName}`); + return translateOpenApiBatch(entries, existingEntries, lang, relPath); + }, + }); + + console.log( + `OpenAPI done: ${result.translated} updated, ${result.skipped} skipped, ${result.failed} failed` + ); + return result.failed; +} + // --------------------------------------------------------------------------- // Path mapping // --------------------------------------------------------------------------- @@ -1130,6 +1264,9 @@ async function main() { const repairTruncated = args.includes("--repair-truncated"); const syncDocsJsonOnly = args.includes("--sync-docs-json"); const skipDocsJsonSync = args.includes("--no-sync-docs-json"); + const openapiOnly = args.includes("--openapi-only"); + const skipOpenApi = args.includes("--no-openapi"); + const fetchOpenApi = args.includes("--fetch-openapi"); const translateNavLabels = args.includes("--translate-nav-labels"); const force = args.includes("--force") || repairTruncated; const snippetsOnly = args.includes("--snippets") || args.includes("--snippets-only"); @@ -1138,8 +1275,10 @@ async function main() { let fileArgs = args.filter( (a, i) => !a.startsWith("--") && args[i - 1] !== "--lang" ); - const phases = resolveTranslatePhases(snippetsOnly, pagesOnly, fileArgs); - const runDocsJsonAfter = !snippetsOnly && !skipDocsJsonSync; + const phases = openapiOnly + ? [] + : resolveTranslatePhases(snippetsOnly, pagesOnly, fileArgs); + const runDocsJsonAfter = !snippetsOnly && !skipDocsJsonSync && !openapiOnly; if (syncDocsJsonOnly) { if (translateNavLabels && !API_KEY) { @@ -1185,7 +1324,7 @@ async function main() { return; } - if (!API_KEY) { + if (!API_KEY && !dryRun) { console.error( "No API key. Set TRANSLATE_API_KEY or DEEPSEEK_API_KEY in .env.local" ); @@ -1207,7 +1346,9 @@ async function main() { console.log(`Repair-truncated: ${repairFiles.length} file(s) from truncation log`); } - const phaseSummary = phases.map((p) => p.label).join(" → "); + const phaseSummary = openapiOnly + ? "openapi" + : phases.map((p) => p.label).join(" → "); console.log( `Config: model=${MODEL} concurrency=${CONCURRENCY} mode=${IS_QWEN_MT ? "qwen-mt" : "llm"}` + ` languages=${selectedLangs.map((l) => l.code).join(",")}` + @@ -1230,6 +1371,17 @@ async function main() { totalFailed += result.failed; } + if (!skipOpenApi && OPENAPI_SPECS.length > 0) { + const openapiSpecFilter = fileArgs.filter((f) => /\.(ya?ml|json)$/i.test(f)); + totalFailed += await runOpenApiPhase({ + selectedLangs, + dryRun, + force, + fetchOpenApi, + specFilter: openapiSpecFilter.length > 0 ? openapiSpecFilter : undefined, + }); + } + if (dryRun) { if (runDocsJsonAfter) { console.log(""); diff --git a/.github/scripts/i18n/translation-config.json b/.github/scripts/i18n/translation-config.json index 1db5b5c9d..a2d3d5888 100644 --- a/.github/scripts/i18n/translation-config.json +++ b/.github/scripts/i18n/translation-config.json @@ -1,6 +1,18 @@ { "frontend_locales_path": "../ComfyUI_frontend/src/locales", "skip_paths": ["built-in-nodes"], + "openapi_specs": [ + { + "source": "openapi/cloud.en.yaml", + "comment": "Comfy Cloud API Reference tab (Mintlify auto-generated endpoint pages)" + }, + { + "source": "openapi/registry.en.yaml", + "fetch_url": "https://api.comfy.org/openapi", + "fetch_format": "json", + "comment": "Registry + Admin API Reference tab. Refresh with: pnpm translate -- --fetch-openapi" + } + ], "chunked_files": [ { "path": "changelog/index.mdx", diff --git a/.github/workflows/i18n-sync-check.yml b/.github/workflows/i18n-sync-check.yml index 63be8b728..bb11a79ab 100644 --- a/.github/workflows/i18n-sync-check.yml +++ b/.github/workflows/i18n-sync-check.yml @@ -7,6 +7,8 @@ on: paths: - '**/*.mdx' - 'docs.json' + - 'openapi/cloud.en.yaml' + - 'openapi/registry.en.yaml' jobs: check-i18n-translations: diff --git a/development/cloud/openapi.mdx b/development/cloud/openapi.mdx index 89ed98627..ee65a98ab 100644 --- a/development/cloud/openapi.mdx +++ b/development/cloud/openapi.mdx @@ -2,7 +2,7 @@ title: "OpenAPI Specification" description: "Machine-readable OpenAPI specification for Comfy Cloud API" icon: "file-lines" -openapi: "/openapi-cloud.yaml" +openapi: "/openapi/cloud.en.yaml" --- @@ -38,7 +38,7 @@ The OpenAPI spec can be used to: You can download the raw OpenAPI specification file: - + Download the OpenAPI 3.0 specification diff --git a/docs.json b/docs.json index 718e91acd..6b4a36849 100644 --- a/docs.json +++ b/docs.json @@ -2724,12 +2724,12 @@ }, { "tab": "Registry API Reference", - "openapi": "https://api.comfy.org/openapi" + "openapi": "openapi/registry.en.yaml" }, { "tab": "Cloud API Reference", "openapi": { - "source": "openapi-cloud.yaml", + "source": "openapi/cloud.en.yaml", "directory": "api-reference/cloud" } } @@ -5461,12 +5461,12 @@ }, { "tab": "Registry API Reference", - "openapi": "https://api.comfy.org/openapi" + "openapi": "openapi/registry.zh.yaml" }, { "tab": "Cloud API 参考文档", "openapi": { - "source": "openapi-cloud.yaml", + "source": "openapi/cloud.zh.yaml", "directory": "zh/api-reference/cloud" } } @@ -8204,12 +8204,12 @@ }, { "tab": "Registry APIリファレンス", - "openapi": "https://api.comfy.org/openapi" + "openapi": "openapi/registry.ja.yaml" }, { "tab": "Cloud APIリファレンス", "openapi": { - "source": "openapi-cloud.yaml", + "source": "openapi/cloud.ja.yaml", "directory": "ja/api-reference/cloud" } } @@ -10893,12 +10893,12 @@ }, { "tab": "Registry API 참조", - "openapi": "https://api.comfy.org/openapi" + "openapi": "openapi/registry.ko.yaml" }, { "tab": "Cloud API 참조", "openapi": { - "source": "openapi-cloud.yaml", + "source": "openapi/cloud.ko.yaml", "directory": "ko/api-reference/cloud" } } diff --git a/ja/development/cloud/openapi.mdx b/ja/development/cloud/openapi.mdx index a5397ae93..d1063c09d 100644 --- a/ja/development/cloud/openapi.mdx +++ b/ja/development/cloud/openapi.mdx @@ -2,7 +2,7 @@ title: "OpenAPI 仕様" description: "Comfy Cloud API の機械可読な OpenAPI 仕様" icon: "file-lines" -openapi: "/openapi-cloud.yaml" +openapi: "/openapi/cloud.en.yaml" translationSourceHash: e4816d50 translationFrom: development/cloud/openapi.mdx --- @@ -40,7 +40,7 @@ OpenAPI 仕様は以下の目的に使用できます: 生の OpenAPI 仕様ファイルをダウンロードできます: - + OpenAPI 3.0 仕様をダウンロード diff --git a/ko/development/cloud/openapi.mdx b/ko/development/cloud/openapi.mdx index 5cb5973dd..6283cd8e5 100644 --- a/ko/development/cloud/openapi.mdx +++ b/ko/development/cloud/openapi.mdx @@ -2,7 +2,7 @@ title: "OpenAPI 사양" description: "Comfy Cloud API용 기계가 읽을 수 있는 OpenAPI 사양" icon: "file-lines" -openapi: "/openapi-cloud.yaml" +openapi: "/openapi/cloud.en.yaml" translationSourceHash: e4816d50 translationFrom: development/cloud/openapi.mdx --- @@ -40,7 +40,7 @@ OpenAPI 사양은 다음에 사용할 수 있습니다: 원시 OpenAPI 사양 파일을 다운로드할 수 있습니다: - + OpenAPI 3.0 사양 다운로드하기 diff --git a/openapi/.i18n/cloud.ja.json b/openapi/.i18n/cloud.ja.json new file mode 100644 index 000000000..900d8ffd1 --- /dev/null +++ b/openapi/.i18n/cloud.ja.json @@ -0,0 +1,623 @@ +{ + "translationSourceHash": "ff9adab0", + "translationFrom": "openapi/cloud.en.yaml", + "blockHashes": { + "info.description": "a897e13a", + "servers[0].description": "62a73ae1", + "tags[0].description": "69ba62e2", + "tags[1].description": "aa645c40", + "tags[2].description": "1cacf82d", + "tags[3].description": "b7c05a6c", + "tags[4].description": "4b1cfe67", + "tags[5].description": "a5025cf0", + "tags[6].description": "03509d96", + "tags[7].description": "a542dd06", + "paths./api/prompt.post.summary": "e18bc9d9", + "paths./api/prompt.post.description": "8f006957", + "paths./api/prompt.post.responses.200.description": "9d4a6a0b", + "paths./api/prompt.post.responses.400.description": "d223c4ff", + "paths./api/prompt.post.responses.402.description": "8384edeb", + "paths./api/prompt.post.responses.429.description": "645693a7", + "paths./api/prompt.post.responses.500.description": "f74d7444", + "paths./api/prompt.post.responses.503.description": "60bbf043", + "paths./api/prompt.get.summary": "56f41c49", + "paths./api/prompt.get.description": "57601bf6", + "paths./api/prompt.get.responses.200.description": "c88a0b90", + "paths./api/prompt.get.responses.401.description": "d089c8a9", + "paths./api/prompt.get.responses.500.description": "f74d7444", + "paths./api/object_info.get.summary": "d8a5e2ad", + "paths./api/object_info.get.description": "924a226c", + "paths./api/object_info.get.responses.200.description": "c88a0b90", + "paths./api/features.get.summary": "06d46bcb", + "paths./api/features.get.description": "bad57340", + "paths./api/features.get.responses.200.description": "c88a0b90", + "paths./api/features.get.responses.200.content.application/json.schema.properties.supports_preview_metadata.description": "0f595863", + "paths./api/features.get.responses.200.content.application/json.schema.properties.max_upload_size.description": "fab635f1", + "paths./api/workflow_templates.get.summary": "6bf8f808", + "paths./api/workflow_templates.get.description": "bd0b194b", + "paths./api/workflow_templates.get.responses.200.description": "c88a0b90", + "paths./api/workflow_templates.get.responses.200.content.application/json.schema.description": "6fc9d4d9", + "paths./api/global_subgraphs.get.summary": "74b3b0a0", + "paths./api/global_subgraphs.get.description": "4217953d", + "paths./api/global_subgraphs.get.responses.200.description": "663817c4", + "paths./api/global_subgraphs.get.responses.500.description": "f74d7444", + "paths./api/global_subgraphs/{id}.get.summary": "7d3b235c", + "paths./api/global_subgraphs/{id}.get.description": "530ea8f0", + "paths./api/global_subgraphs/{id}.get.parameters[0].description": "7a6e64e8", + "paths./api/global_subgraphs/{id}.get.responses.200.description": "a32e33bd", + "paths./api/global_subgraphs/{id}.get.responses.404.description": "c01fd723", + "paths./api/global_subgraphs/{id}.get.responses.500.description": "f74d7444", + "paths./api/experiment/models.get.summary": "f451570e", + "paths./api/experiment/models.get.description": "5ceb0f07", + "paths./api/experiment/models.get.responses.200.description": "d12b74be", + "paths./api/experiment/models.get.responses.500.description": "f74d7444", + "paths./api/experiment/models/{folder}.get.summary": "9ea96710", + "paths./api/experiment/models/{folder}.get.description": "13ab721b", + "paths./api/experiment/models/{folder}.get.parameters[0].description": "0355f067", + "paths./api/experiment/models/{folder}.get.responses.200.description": "f125edda", + "paths./api/experiment/models/{folder}.get.responses.404.description": "431cc143", + "paths./api/experiment/models/{folder}.get.responses.500.description": "f74d7444", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.summary": "3e8e5aab", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.description": "78cd6d10", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.parameters[0].description": "5e5906e2", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.parameters[1].description": "e88c4e55", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.parameters[2].description": "90dfc79e", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.responses.200.description": "5ec75c84", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.responses.404.description": "9698e2d2", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.responses.500.description": "f74d7444", + "paths./api/history.post.summary": "d1c8f18a", + "paths./api/history.post.description": "f36b6415", + "paths./api/history.post.responses.200.description": "a37fe352", + "paths./api/history.post.responses.400.description": "51443a02", + "paths./api/history.post.responses.401.description": "33835721", + "paths./api/history.post.responses.500.description": "f74d7444", + "paths./api/history_v2.get.summary": "1e522884", + "paths./api/history_v2.get.description": "9b176acb", + "paths./api/history_v2.get.parameters[0].description": "4fcfd7f3", + "paths./api/history_v2.get.parameters[1].description": "1be3cf2d", + "paths./api/history_v2.get.responses.200.description": "d90d8dae", + "paths./api/history_v2.get.responses.401.description": "33835721", + "paths./api/history_v2.get.responses.500.description": "f74d7444", + "paths./api/history_v2/{prompt_id}.get.summary": "372247d7", + "paths./api/history_v2/{prompt_id}.get.description": "0cda58a4", + "paths./api/history_v2/{prompt_id}.get.parameters[0].description": "bcc65bf2", + "paths./api/history_v2/{prompt_id}.get.responses.200.description": "1fa6797d", + "paths./api/history_v2/{prompt_id}.get.responses.401.description": "33835721", + "paths./api/history_v2/{prompt_id}.get.responses.404.description": "a3b61d69", + "paths./api/history_v2/{prompt_id}.get.responses.500.description": "f74d7444", + "paths./api/jobs.get.summary": "6aab8f40", + "paths./api/jobs.get.description": "2e1b7fbd", + "paths./api/jobs.get.parameters[0].description": "cbbb96eb", + "paths./api/jobs.get.parameters[1].description": "971c107a", + "paths./api/jobs.get.parameters[2].description": "11bad554", + "paths./api/jobs.get.parameters[3].description": "417d806a", + "paths./api/jobs.get.parameters[4].description": "5a185bef", + "paths./api/jobs.get.parameters[5].description": "671de500", + "paths./api/jobs.get.parameters[6].description": "f7d3335e", + "paths./api/jobs.get.responses.200.description": "84d19a9f", + "paths./api/jobs.get.responses.401.description": "33835721", + "paths./api/jobs.get.responses.500.description": "f74d7444", + "paths./api/jobs/{job_id}.get.summary": "99c1a0e1", + "paths./api/jobs/{job_id}.get.description": "ec94dabb", + "paths./api/jobs/{job_id}.get.parameters[0].description": "c4cc93ff", + "paths./api/jobs/{job_id}.get.responses.200.description": "b1c0d0d0", + "paths./api/jobs/{job_id}.get.responses.401.description": "33835721", + "paths./api/jobs/{job_id}.get.responses.403.description": "436033c0", + "paths./api/jobs/{job_id}.get.responses.404.description": "56930ecf", + "paths./api/jobs/{job_id}.get.responses.500.description": "f74d7444", + "paths./api/view.get.summary": "4815c7e6", + "paths./api/view.get.description": "e017923f", + "paths./api/view.get.parameters[0].description": "7c08d417", + "paths./api/view.get.parameters[1].description": "91701f76", + "paths./api/view.get.parameters[2].description": "42c68673", + "paths./api/view.get.parameters[3].description": "962ffa4c", + "paths./api/view.get.parameters[4].description": "98d087d6", + "paths./api/view.get.parameters[5].description": "63a76b8d", + "paths./api/view.get.parameters[6].description": "c4bd8b9c", + "paths./api/view.get.parameters[7].description": "2afcc04b", + "paths./api/view.get.parameters[8].description": "aedc7305", + "paths./api/view.get.responses.200.description": "f7508fa2", + "paths./api/view.get.responses.200.content.image/png.schema.description": "742cad60", + "paths./api/view.get.responses.302.description": "cfd67205", + "paths./api/view.get.responses.302.headers.Location.description": "d69da5a2", + "paths./api/view.get.responses.400.description": "51443a02", + "paths./api/view.get.responses.404.description": "3374baa7", + "paths./api/view.get.responses.500.description": "f74d7444", + "paths./api/files/mask-layers.get.summary": "9c8537ce", + "paths./api/files/mask-layers.get.description": "c97167ff", + "paths./api/files/mask-layers.get.parameters[0].description": "04f1d5e4", + "paths./api/files/mask-layers.get.responses.200.description": "ec023d97", + "paths./api/files/mask-layers.get.responses.200.content.application/json.schema.properties.mask.description": "87f7a1a5", + "paths./api/files/mask-layers.get.responses.200.content.application/json.schema.properties.paint.description": "ead5d8a6", + "paths./api/files/mask-layers.get.responses.200.content.application/json.schema.properties.painted.description": "3ac34bb0", + "paths./api/files/mask-layers.get.responses.200.content.application/json.schema.properties.painted_masked.description": "d308db0c", + "paths./api/files/mask-layers.get.responses.404.description": "d515d14c", + "paths./api/assets.get.summary": "d219eb93", + "paths./api/assets.get.description": "419cfcbf", + "paths./api/assets.get.parameters[0].description": "d33d4906", + "paths./api/assets.get.parameters[1].description": "1d41f8d7", + "paths./api/assets.get.parameters[2].description": "be78057f", + "paths./api/assets.get.parameters[3].description": "c0dc6e67", + "paths./api/assets.get.parameters[4].description": "8b0fb946", + "paths./api/assets.get.parameters[5].description": "bbcdc6de", + "paths./api/assets.get.parameters[6].description": "c9020b89", + "paths./api/assets.get.parameters[7].description": "3c9b3028", + "paths./api/assets.get.parameters[8].description": "4b675317", + "paths./api/assets.get.responses.200.description": "a63ffb68", + "paths./api/assets.get.responses.400.description": "51443a02", + "paths./api/assets.get.responses.401.description": "d089c8a9", + "paths./api/assets.get.responses.500.description": "f74d7444", + "paths./api/assets.post.summary": "d7419292", + "paths./api/assets.post.description": "131d6c37", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.file.description": "c54105c7", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.tags.description": "d31ca3df", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.id.description": "0ab13603", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.preview_id.description": "ed77d688", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.name.description": "9b574f2e", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.mime_type.description": "88cf9f70", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.user_metadata.description": "53852ead", + "paths./api/assets.post.requestBody.content.application/json.schema.properties.url.description": "d1cd99d9", + "paths./api/assets.post.requestBody.content.application/json.schema.properties.name.description": "4375f65f", + "paths./api/assets.post.requestBody.content.application/json.schema.properties.tags.description": "d31ca3df", + "paths./api/assets.post.requestBody.content.application/json.schema.properties.user_metadata.description": "49d60c9d", + "paths./api/assets.post.requestBody.content.application/json.schema.properties.preview_id.description": "545abc91", + "paths./api/assets.post.responses.200.description": "636957d8", + "paths./api/assets.post.responses.201.description": "a79116c1", + "paths./api/assets.post.responses.400.description": "01eff0e1", + "paths./api/assets.post.responses.401.description": "d089c8a9", + "paths./api/assets.post.responses.403.description": "aa927b8a", + "paths./api/assets.post.responses.404.description": "fd4d737b", + "paths./api/assets.post.responses.413.description": "8a2819ca", + "paths./api/assets.post.responses.415.description": "5a4d5ddc", + "paths./api/assets.post.responses.422.description": "b571bc56", + "paths./api/assets.post.responses.500.description": "f74d7444", + "paths./api/assets/from-hash.post.summary": "722a6e6a", + "paths./api/assets/from-hash.post.description": "784aedbe", + "paths./api/assets/from-hash.post.requestBody.content.application/json.schema.properties.hash.description": "bd89ea56", + "paths./api/assets/from-hash.post.requestBody.content.application/json.schema.properties.name.description": "bf4a6069", + "paths./api/assets/from-hash.post.requestBody.content.application/json.schema.properties.tags.description": "d31ca3df", + "paths./api/assets/from-hash.post.requestBody.content.application/json.schema.properties.mime_type.description": "88cf9f70", + "paths./api/assets/from-hash.post.requestBody.content.application/json.schema.properties.user_metadata.description": "dee1e40c", + "paths./api/assets/from-hash.post.responses.200.description": "515d79a0", + "paths./api/assets/from-hash.post.responses.201.description": "e89d8509", + "paths./api/assets/from-hash.post.responses.400.description": "4d4efecf", + "paths./api/assets/from-hash.post.responses.401.description": "d089c8a9", + "paths./api/assets/from-hash.post.responses.404.description": "f2f60b63", + "paths./api/assets/from-hash.post.responses.500.description": "f74d7444", + "paths./api/assets/remote-metadata.get.summary": "fb506f10", + "paths./api/assets/remote-metadata.get.description": "b261d324", + "paths./api/assets/remote-metadata.get.parameters[0].description": "73553d18", + "paths./api/assets/remote-metadata.get.responses.200.description": "53cc4612", + "paths./api/assets/remote-metadata.get.responses.400.description": "4ba03b52", + "paths./api/assets/remote-metadata.get.responses.401.description": "d089c8a9", + "paths./api/assets/remote-metadata.get.responses.422.description": "b453c565", + "paths./api/assets/remote-metadata.get.responses.500.description": "f74d7444", + "paths./api/assets/download.post.summary": "97b750c2", + "paths./api/assets/download.post.description": "0c4db6ae", + "paths./api/assets/download.post.requestBody.content.application/json.schema.properties.source_url.description": "9c72ca37", + "paths./api/assets/download.post.requestBody.content.application/json.schema.properties.tags.description": "4de2ecd5", + "paths./api/assets/download.post.requestBody.content.application/json.schema.properties.user_metadata.description": "9be0e522", + "paths./api/assets/download.post.requestBody.content.application/json.schema.properties.preview_id.description": "877f7907", + "paths./api/assets/download.post.responses.200.description": "07453932", + "paths./api/assets/download.post.responses.202.description": "3f78e03a", + "paths./api/assets/download.post.responses.400.description": "fefd9147", + "paths./api/assets/download.post.responses.401.description": "d089c8a9", + "paths./api/assets/download.post.responses.422.description": "b81f8fe7", + "paths./api/assets/download.post.responses.500.description": "f74d7444", + "paths./api/assets/{id}.get.summary": "f36519b8", + "paths./api/assets/{id}.get.description": "be58023d", + "paths./api/assets/{id}.get.parameters[0].description": "03024133", + "paths./api/assets/{id}.get.responses.200.description": "17329a9e", + "paths./api/assets/{id}.get.responses.401.description": "d089c8a9", + "paths./api/assets/{id}.get.responses.404.description": "3965d196", + "paths./api/assets/{id}.get.responses.500.description": "f74d7444", + "paths./api/assets/{id}.put.summary": "30860585", + "paths./api/assets/{id}.put.description": "e0cc0d7f", + "paths./api/assets/{id}.put.parameters[0].description": "03024133", + "paths./api/assets/{id}.put.requestBody.content.application/json.schema.properties.name.description": "2eab953b", + "paths./api/assets/{id}.put.requestBody.content.application/json.schema.properties.tags.description": "a7adf866", + "paths./api/assets/{id}.put.requestBody.content.application/json.schema.properties.mime_type.description": "78c1732f", + "paths./api/assets/{id}.put.requestBody.content.application/json.schema.properties.preview_id.description": "870bf2a8", + "paths./api/assets/{id}.put.requestBody.content.application/json.schema.properties.user_metadata.description": "83f49e68", + "paths./api/assets/{id}.put.responses.200.description": "a4e3facf", + "paths./api/assets/{id}.put.responses.400.description": "ff24dc60", + "paths./api/assets/{id}.put.responses.401.description": "d089c8a9", + "paths./api/assets/{id}.put.responses.404.description": "3965d196", + "paths./api/assets/{id}.put.responses.500.description": "f74d7444", + "paths./api/assets/{id}.delete.summary": "49c2e3f1", + "paths./api/assets/{id}.delete.description": "b00d6c7f", + "paths./api/assets/{id}.delete.parameters[0].description": "03024133", + "paths./api/assets/{id}.delete.responses.204.description": "23100e30", + "paths./api/assets/{id}.delete.responses.401.description": "d089c8a9", + "paths./api/assets/{id}.delete.responses.404.description": "3965d196", + "paths./api/assets/{id}.delete.responses.500.description": "f74d7444", + "paths./api/assets/{id}/tags.post.summary": "7bdfe2ba", + "paths./api/assets/{id}/tags.post.description": "119fa54d", + "paths./api/assets/{id}/tags.post.parameters[0].description": "03024133", + "paths./api/assets/{id}/tags.post.requestBody.content.application/json.schema.properties.tags.description": "0ab3ffea", + "paths./api/assets/{id}/tags.post.responses.200.description": "9c160b68", + "paths./api/assets/{id}/tags.post.responses.400.description": "330509ca", + "paths./api/assets/{id}/tags.post.responses.401.description": "d089c8a9", + "paths./api/assets/{id}/tags.post.responses.404.description": "3965d196", + "paths./api/assets/{id}/tags.post.responses.500.description": "f74d7444", + "paths./api/assets/{id}/tags.delete.summary": "9acbea8e", + "paths./api/assets/{id}/tags.delete.description": "c3616a6f", + "paths./api/assets/{id}/tags.delete.parameters[0].description": "03024133", + "paths./api/assets/{id}/tags.delete.requestBody.content.application/json.schema.properties.tags.description": "ab43f7fa", + "paths./api/assets/{id}/tags.delete.responses.200.description": "cb4b899e", + "paths./api/assets/{id}/tags.delete.responses.400.description": "330509ca", + "paths./api/assets/{id}/tags.delete.responses.401.description": "d089c8a9", + "paths./api/assets/{id}/tags.delete.responses.404.description": "3965d196", + "paths./api/assets/{id}/tags.delete.responses.500.description": "f74d7444", + "paths./api/tags.get.summary": "7e246dd1", + "paths./api/tags.get.description": "a383ea75", + "paths./api/tags.get.parameters[0].description": "ad3c2fd2", + "paths./api/tags.get.parameters[1].description": "85b1830e", + "paths./api/tags.get.parameters[2].description": "8e2b7682", + "paths./api/tags.get.parameters[3].description": "45c40b0d", + "paths./api/tags.get.parameters[4].description": "46f01dc8", + "paths./api/tags.get.parameters[5].description": "71a019b6", + "paths./api/tags.get.responses.200.description": "126fe993", + "paths./api/tags.get.responses.400.description": "51443a02", + "paths./api/tags.get.responses.401.description": "d089c8a9", + "paths./api/tags.get.responses.500.description": "f74d7444", + "paths./api/assets/tags/refine.get.summary": "9e929b5e", + "paths./api/assets/tags/refine.get.description": "1b3162a1", + "paths./api/assets/tags/refine.get.parameters[0].description": "d33d4906", + "paths./api/assets/tags/refine.get.parameters[1].description": "1d41f8d7", + "paths./api/assets/tags/refine.get.parameters[2].description": "be78057f", + "paths./api/assets/tags/refine.get.parameters[3].description": "c0dc6e67", + "paths./api/assets/tags/refine.get.parameters[4].description": "2c5ce143", + "paths./api/assets/tags/refine.get.parameters[5].description": "4b675317", + "paths./api/assets/tags/refine.get.responses.200.description": "688fc2a2", + "paths./api/assets/tags/refine.get.responses.400.description": "51443a02", + "paths./api/assets/tags/refine.get.responses.401.description": "d089c8a9", + "paths./api/assets/tags/refine.get.responses.500.description": "f74d7444", + "paths./api/assets/hash/{hash}.head.summary": "399d1f6c", + "paths./api/assets/hash/{hash}.head.description": "28f304cc", + "paths./api/assets/hash/{hash}.head.parameters[0].description": "795939ec", + "paths./api/assets/hash/{hash}.head.responses.200.description": "1483796b", + "paths./api/assets/hash/{hash}.head.responses.400.description": "6132a19c", + "paths./api/assets/hash/{hash}.head.responses.401.description": "d089c8a9", + "paths./api/assets/hash/{hash}.head.responses.404.description": "3965d196", + "paths./api/assets/hash/{hash}.head.responses.500.description": "f74d7444", + "paths./api/queue.get.summary": "d7a35fd0", + "paths./api/queue.get.description": "0bd6e0c7", + "paths./api/queue.get.responses.200.description": "c88a0b90", + "paths./api/queue.get.responses.400.description": "51443a02", + "paths./api/queue.get.responses.500.description": "51443a02", + "paths./api/queue.post.summary": "e226367d", + "paths./api/queue.post.description": "bfeef736", + "paths./api/queue.post.responses.200.description": "c88a0b90", + "paths./api/queue.post.responses.400.description": "51443a02", + "paths./api/queue.post.responses.401.description": "d089c8a9", + "paths./api/queue.post.responses.500.description": "f74d7444", + "paths./api/interrupt.post.summary": "5ab111ef", + "paths./api/interrupt.post.description": "4f774fde", + "paths./api/interrupt.post.responses.200.description": "f5757880", + "paths./api/interrupt.post.responses.401.description": "33835721", + "paths./api/interrupt.post.responses.500.description": "f74d7444", + "paths./api/userdata.get.summary": "c96e6cc2", + "paths./api/userdata.get.description": "163a8d7b", + "paths./api/userdata.get.parameters[0].description": "2c82db2b", + "paths./api/userdata.get.parameters[1].description": "dbba18ba", + "paths./api/userdata.get.parameters[2].description": "0812ee53", + "paths./api/userdata.get.parameters[3].description": "9270d7ae", + "paths./api/userdata.get.responses.200.description": "1cc1c53e", + "paths./api/userdata.get.responses.400.description": "c890c6cb", + "paths./api/userdata.get.responses.401.description": "4da730e8", + "paths./api/userdata.get.responses.404.description": "64f2e674", + "paths./api/userdata.get.responses.500.description": "31d38bf9", + "paths./api/userdata/{file}.get.summary": "40d7b568", + "paths./api/userdata/{file}.get.description": "8194d532", + "paths./api/userdata/{file}.get.parameters[0].description": "c5fbbeaa", + "paths./api/userdata/{file}.get.responses.200.description": "291227aa", + "paths./api/userdata/{file}.get.responses.400.description": "c890c6cb", + "paths./api/userdata/{file}.get.responses.401.description": "4da730e8", + "paths./api/userdata/{file}.get.responses.404.description": "64f2e674", + "paths./api/userdata/{file}.get.responses.500.description": "31d38bf9", + "paths./api/userdata/{file}.post.summary": "85224dff", + "paths./api/userdata/{file}.post.description": "2f1ff50b", + "paths./api/userdata/{file}.post.parameters[0].description": "db2ba3bd", + "paths./api/userdata/{file}.post.parameters[1].description": "1c93c172", + "paths./api/userdata/{file}.post.parameters[2].description": "ed99f7dc", + "paths./api/userdata/{file}.post.responses.200.description": "6fdfce28", + "paths./api/userdata/{file}.post.responses.400.description": "e50bfea6", + "paths./api/userdata/{file}.post.responses.401.description": "4da730e8", + "paths./api/userdata/{file}.post.responses.403.description": "ac19722e", + "paths./api/userdata/{file}.post.responses.409.description": "24b97429", + "paths./api/userdata/{file}.post.responses.500.description": "31d38bf9", + "paths./api/userdata/{file}.delete.summary": "8d9bf468", + "paths./api/userdata/{file}.delete.description": "4157f4b3", + "paths./api/userdata/{file}.delete.parameters[0].description": "cfcf2324", + "paths./api/userdata/{file}.delete.responses.204.description": "ce141bab", + "paths./api/userdata/{file}.delete.responses.401.description": "4da730e8", + "paths./api/userdata/{file}.delete.responses.404.description": "b1439500", + "paths./api/userdata/{file}.delete.responses.500.description": "f8d0e720", + "paths./api/upload/image.post.summary": "90eb3492", + "paths./api/upload/image.post.description": "e33221c4", + "paths./api/upload/image.post.requestBody.content.multipart/form-data.schema.properties.image.description": "68137f6c", + "paths./api/upload/image.post.requestBody.content.multipart/form-data.schema.properties.overwrite.description": "34f6c70f", + "paths./api/upload/image.post.requestBody.content.multipart/form-data.schema.properties.subfolder.description": "10746083", + "paths./api/upload/image.post.requestBody.content.multipart/form-data.schema.properties.type.description": "db548cb4", + "paths./api/upload/image.post.responses.200.description": "54cc00ae", + "paths./api/upload/image.post.responses.200.content.application/json.schema.properties.name.description": "98003255", + "paths./api/upload/image.post.responses.200.content.application/json.schema.properties.subfolder.description": "6f79818c", + "paths./api/upload/image.post.responses.200.content.application/json.schema.properties.type.description": "3805d9b1", + "paths./api/upload/image.post.responses.400.description": "917ef22f", + "paths./api/upload/image.post.responses.401.description": "d089c8a9", + "paths./api/upload/image.post.responses.500.description": "f74d7444", + "paths./api/upload/mask.post.summary": "864609dc", + "paths./api/upload/mask.post.description": "3a0fe09a", + "paths./api/upload/mask.post.requestBody.content.multipart/form-data.schema.properties.image.description": "fb315681", + "paths./api/upload/mask.post.requestBody.content.multipart/form-data.schema.properties.original_ref.description": "77f8fccf", + "paths./api/upload/mask.post.responses.200.description": "15d1d615", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.name.description": "0d48eef6", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.subfolder.description": "a88a714d", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.type.description": "3805d9b1", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.description": "5ed3951e", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.is_mask.description": "4c63be24", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.original_hash.description": "731e1652", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.mask_type.description": "a2da3db7", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.related_files.description": "ba6e85d2", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.related_files.properties.mask.description": "3d54240d", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.related_files.properties.paint.description": "dd49cc63", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.related_files.properties.painted.description": "aa9a4845", + "paths./api/upload/mask.post.responses.400.description": "917ef22f", + "paths./api/upload/mask.post.responses.401.description": "d089c8a9", + "paths./api/upload/mask.post.responses.500.description": "f74d7444", + "paths./api/system_stats.get.summary": "32c91374", + "paths./api/system_stats.get.description": "279164eb", + "paths./api/system_stats.get.responses.200.description": "c88a0b90", + "paths./api/system_stats.get.responses.401.description": "d089c8a9", + "paths./api/user.get.summary": "d450e272", + "paths./api/user.get.description": "fe93c6c1", + "paths./api/user.get.responses.200.description": "c88a0b90", + "paths./api/user.get.responses.401.description": "d089c8a9", + "paths./api/job/{job_id}/status.get.summary": "ea2c3f05", + "paths./api/job/{job_id}/status.get.description": "4de9b322", + "paths./api/job/{job_id}/status.get.parameters[0].description": "d226e6d9", + "paths./api/job/{job_id}/status.get.responses.200.description": "cceb90a6", + "paths./api/job/{job_id}/status.get.responses.401.description": "d089c8a9", + "paths./api/job/{job_id}/status.get.responses.403.description": "ef2bdeb1", + "paths./api/job/{job_id}/status.get.responses.404.description": "56930ecf", + "paths./api/job/{job_id}/status.get.responses.500.description": "f74d7444", + "components.securitySchemes.ApiKeyAuth.description": "fa3a7eff", + "components.schemas.PromptRequest.properties.prompt.description": "660b0029", + "components.schemas.PromptRequest.properties.number.description": "e22d65fd", + "components.schemas.PromptRequest.properties.front.description": "59b756f1", + "components.schemas.PromptRequest.properties.extra_data.description": "3d7a34db", + "components.schemas.PromptRequest.properties.partial_execution_targets.description": "53c2496b", + "components.schemas.PromptResponse.properties.prompt_id.description": "bb70f8b0", + "components.schemas.PromptResponse.properties.number.description": "83f46ae4", + "components.schemas.PromptResponse.properties.node_errors.description": "06e93b05", + "components.schemas.PromptInfo.properties.exec_info.properties.queue_remaining.description": "1486512f", + "components.schemas.NodeInfo.properties.input.description": "ed65da2e", + "components.schemas.NodeInfo.properties.input_order.description": "48896736", + "components.schemas.NodeInfo.properties.output.description": "cb58269e", + "components.schemas.NodeInfo.properties.output_is_list.description": "c92d404c", + "components.schemas.NodeInfo.properties.output_name.description": "7c594ff0", + "components.schemas.NodeInfo.properties.name.description": "c0f75295", + "components.schemas.NodeInfo.properties.display_name.description": "5ae7292f", + "components.schemas.NodeInfo.properties.description.description": "1ed56488", + "components.schemas.NodeInfo.properties.python_module.description": "47157ec5", + "components.schemas.NodeInfo.properties.category.description": "651e3703", + "components.schemas.NodeInfo.properties.output_node.description": "7ccdb618", + "components.schemas.NodeInfo.properties.output_tooltips.description": "ccb20f95", + "components.schemas.NodeInfo.properties.deprecated.description": "f26e26fb", + "components.schemas.NodeInfo.properties.experimental.description": "c8edf7a4", + "components.schemas.NodeInfo.properties.api_node.description": "22b94485", + "components.schemas.GlobalSubgraphInfo.description": "f952717a", + "components.schemas.GlobalSubgraphInfo.properties.source.description": "85f146ab", + "components.schemas.GlobalSubgraphInfo.properties.name.description": "ee110b73", + "components.schemas.GlobalSubgraphInfo.properties.info.description": "3d5b95b3", + "components.schemas.GlobalSubgraphInfo.properties.info.properties.node_pack.description": "42fe3748", + "components.schemas.GlobalSubgraphInfo.properties.data.description": "ea785a00", + "components.schemas.GlobalSubgraphData.description": "e652f1c6", + "components.schemas.GlobalSubgraphData.properties.source.description": "85f146ab", + "components.schemas.GlobalSubgraphData.properties.name.description": "ee110b73", + "components.schemas.GlobalSubgraphData.properties.info.description": "3d5b95b3", + "components.schemas.GlobalSubgraphData.properties.info.properties.node_pack.description": "42fe3748", + "components.schemas.GlobalSubgraphData.properties.data.description": "8a639105", + "components.schemas.HistoryResponse.description": "1e492c80", + "components.schemas.HistoryResponse.properties.history.description": "069e4e5d", + "components.schemas.HistoryEntry.description": "e4109161", + "components.schemas.HistoryEntry.properties.prompt_id.description": "344f47bb", + "components.schemas.HistoryEntry.properties.create_time.description": "5bc72ced", + "components.schemas.HistoryEntry.properties.workflow_id.description": "0b426334", + "components.schemas.HistoryEntry.properties.prompt.description": "e6f8c72a", + "components.schemas.HistoryEntry.properties.prompt.properties.priority.description": "c6d431ef", + "components.schemas.HistoryEntry.properties.prompt.properties.prompt_id.description": "41a750ee", + "components.schemas.HistoryEntry.properties.prompt.properties.extra_data.description": "05ffba92", + "components.schemas.HistoryEntry.properties.outputs.description": "abc5c0fe", + "components.schemas.HistoryEntry.properties.status.description": "8fe31548", + "components.schemas.HistoryEntry.properties.meta.description": "0457f8fe", + "components.schemas.HistoryDetailEntry.description": "e26818d2", + "components.schemas.HistoryDetailEntry.properties.prompt.description": "34315141", + "components.schemas.HistoryDetailEntry.properties.prompt.properties.priority.description": "c6d431ef", + "components.schemas.HistoryDetailEntry.properties.prompt.properties.prompt_id.description": "41a750ee", + "components.schemas.HistoryDetailEntry.properties.prompt.properties.prompt.description": "1807ca88", + "components.schemas.HistoryDetailEntry.properties.prompt.properties.extra_data.description": "22b52b5a", + "components.schemas.HistoryDetailEntry.properties.prompt.properties.outputs_to_execute.description": "2d025840", + "components.schemas.HistoryDetailEntry.properties.outputs.description": "abc5c0fe", + "components.schemas.HistoryDetailEntry.properties.status.description": "8fe31548", + "components.schemas.HistoryDetailEntry.properties.meta.description": "0457f8fe", + "components.schemas.HistoryDetailResponse.description": "5192bce6", + "components.schemas.QueueInfo.description": "63a8cce4", + "components.schemas.QueueInfo.properties.queue_running.description": "c48880b1", + "components.schemas.QueueInfo.properties.queue_pending.description": "027c6bc0", + "components.schemas.QueueItem.description": "18587373", + "components.schemas.QueueItem.items.oneOf[0].description": "1c711f2c", + "components.schemas.QueueItem.items.oneOf[1].description": "7979ecfb", + "components.schemas.QueueItem.items.oneOf[2].description": "7039c8a6", + "components.schemas.QueueItem.items.oneOf[3].description": "a1eefd4f", + "components.schemas.QueueItem.items.oneOf[4].description": "891fc028", + "components.schemas.QueueManageRequest.description": "daf760f3", + "components.schemas.QueueManageRequest.properties.delete.description": "8a5adfbf", + "components.schemas.QueueManageRequest.properties.clear.description": "15e7ced6", + "components.schemas.QueueManageResponse.properties.deleted.description": "32c292e5", + "components.schemas.QueueManageResponse.properties.cleared.description": "c293ad08", + "components.schemas.JobStatusResponse.description": "c8d8606a", + "components.schemas.JobStatusResponse.properties.id.description": "a85d11c5", + "components.schemas.JobStatusResponse.properties.status.description": "6b499919", + "components.schemas.JobStatusResponse.properties.created_at.description": "fe9151ae", + "components.schemas.JobStatusResponse.properties.updated_at.description": "26824c2c", + "components.schemas.JobStatusResponse.properties.last_state_update.description": "f6d50b96", + "components.schemas.JobStatusResponse.properties.assigned_inference.description": "0ca37fd6", + "components.schemas.JobStatusResponse.properties.error_message.description": "a6858a4a", + "components.schemas.HistoryManageRequest.description": "dc8883b1", + "components.schemas.HistoryManageRequest.properties.delete.description": "27e5a21e", + "components.schemas.HistoryManageRequest.properties.clear.description": "45456019", + "components.schemas.GetUserDataResponseFullFile.properties.path.description": "bbee456e", + "components.schemas.GetUserDataResponseFullFile.properties.size.description": "fd72ca52", + "components.schemas.GetUserDataResponseFullFile.properties.modified.description": "0c36826c", + "components.schemas.PromptErrorResponse.description": "1007d7b4", + "components.schemas.ModelFolder.description": "d4b89ee3", + "components.schemas.ModelFolder.properties.name.description": "3f53950a", + "components.schemas.ModelFolder.properties.folders.description": "56131619", + "components.schemas.ModelFile.description": "21bcbbdb", + "components.schemas.ModelFile.properties.name.description": "04af40da", + "components.schemas.ModelFile.properties.pathIndex.description": "fc9f2668", + "components.schemas.SystemStatsResponse.description": "6a76cd53", + "components.schemas.SystemStatsResponse.properties.system.properties.os.description": "0fcabfe6", + "components.schemas.SystemStatsResponse.properties.system.properties.python_version.description": "5e7036dd", + "components.schemas.SystemStatsResponse.properties.system.properties.embedded_python.description": "c1dcc542", + "components.schemas.SystemStatsResponse.properties.system.properties.comfyui_version.description": "906c7e1f", + "components.schemas.SystemStatsResponse.properties.system.properties.comfyui_frontend_version.description": "f6cf2e1b", + "components.schemas.SystemStatsResponse.properties.system.properties.workflow_templates_version.description": "1e00f4b7", + "components.schemas.SystemStatsResponse.properties.system.properties.cloud_version.description": "dff84e7b", + "components.schemas.SystemStatsResponse.properties.system.properties.pytorch_version.description": "e65e470b", + "components.schemas.SystemStatsResponse.properties.system.properties.argv.description": "f1fb2274", + "components.schemas.SystemStatsResponse.properties.system.properties.ram_total.description": "fb0cfbf5", + "components.schemas.SystemStatsResponse.properties.system.properties.ram_free.description": "764f775b", + "components.schemas.SystemStatsResponse.properties.devices.items.properties.name.description": "155106be", + "components.schemas.SystemStatsResponse.properties.devices.items.properties.type.description": "8562a30f", + "components.schemas.SystemStatsResponse.properties.devices.items.properties.vram_total.description": "30e5845d", + "components.schemas.SystemStatsResponse.properties.devices.items.properties.vram_free.description": "128544e5", + "components.schemas.UserResponse.description": "4faf06c4", + "components.schemas.UserResponse.properties.status.description": "dd7b7711", + "components.schemas.Asset.properties.id.description": "6cc5ed45", + "components.schemas.Asset.properties.name.description": "df96461c", + "components.schemas.Asset.properties.asset_hash.description": "88012a78", + "components.schemas.Asset.properties.size.description": "0390bb48", + "components.schemas.Asset.properties.mime_type.description": "9fef09cc", + "components.schemas.Asset.properties.tags.description": "fa661641", + "components.schemas.Asset.properties.user_metadata.description": "d7290956", + "components.schemas.Asset.properties.preview_url.description": "9a2eeed0", + "components.schemas.Asset.properties.preview_id.description": "b919111a", + "components.schemas.Asset.properties.prompt_id.description": "6d6c3af6", + "components.schemas.Asset.properties.created_at.description": "58973f18", + "components.schemas.Asset.properties.updated_at.description": "ed4e7259", + "components.schemas.Asset.properties.last_access_time.description": "3df526c8", + "components.schemas.Asset.properties.is_immutable.description": "fe703332", + "components.schemas.AssetCreated.allOf[1].properties.created_new.description": "4975ae7b", + "components.schemas.AssetUpdated.properties.id.description": "03024133", + "components.schemas.AssetUpdated.properties.name.description": "1fe7bf70", + "components.schemas.AssetUpdated.properties.asset_hash.description": "88012a78", + "components.schemas.AssetUpdated.properties.tags.description": "a7adf866", + "components.schemas.AssetUpdated.properties.mime_type.description": "78c1732f", + "components.schemas.AssetUpdated.properties.user_metadata.description": "83f49e68", + "components.schemas.AssetUpdated.properties.updated_at.description": "c3ddc7a4", + "components.schemas.ListAssetsResponse.properties.assets.description": "01a4a988", + "components.schemas.ListAssetsResponse.properties.total.description": "859cce90", + "components.schemas.ListAssetsResponse.properties.has_more.description": "a1683d7b", + "components.schemas.TagInfo.properties.name.description": "1ace926b", + "components.schemas.TagInfo.properties.count.description": "e76f07a2", + "components.schemas.ListTagsResponse.properties.tags.description": "cf884551", + "components.schemas.ListTagsResponse.properties.total.description": "70064140", + "components.schemas.ListTagsResponse.properties.has_more.description": "96c05938", + "components.schemas.AssetTagHistogramResponse.properties.tag_counts.description": "df123e40", + "components.schemas.AssetMetadataResponse.properties.content_length.description": "c07ec7b0", + "components.schemas.AssetMetadataResponse.properties.content_type.description": "9fef09cc", + "components.schemas.AssetMetadataResponse.properties.filename.description": "7359087b", + "components.schemas.AssetMetadataResponse.properties.name.description": "9c4d11ee", + "components.schemas.AssetMetadataResponse.properties.tags.description": "ce379428", + "components.schemas.AssetMetadataResponse.properties.preview_image.description": "33edcf3b", + "components.schemas.AssetMetadataResponse.properties.validation.description": "24012e43", + "components.schemas.AssetDownloadResponse.properties.task_id.description": "a0f4c185", + "components.schemas.AssetDownloadResponse.properties.status.description": "ae83d10b", + "components.schemas.AssetDownloadResponse.properties.message.description": "94f99686", + "components.schemas.ValidationResult.properties.is_valid.description": "390c577a", + "components.schemas.ValidationResult.properties.errors.description": "c7845276", + "components.schemas.ValidationResult.properties.warnings.description": "d31c84e1", + "components.schemas.ValidationError.properties.code.description": "061796ef", + "components.schemas.ValidationError.properties.message.description": "52710385", + "components.schemas.ValidationError.properties.field.description": "27e2f722", + "components.schemas.TagsModificationResponse.properties.added.description": "5295b81f", + "components.schemas.TagsModificationResponse.properties.removed.description": "4c8ef895", + "components.schemas.TagsModificationResponse.properties.already_present.description": "82f1a9f4", + "components.schemas.TagsModificationResponse.properties.not_present.description": "eda2418b", + "components.schemas.TagsModificationResponse.properties.total_tags.description": "8624f916", + "components.schemas.JobsListResponse.properties.jobs.description": "1f688b8f", + "components.schemas.JobEntry.description": "7a805733", + "components.schemas.JobEntry.properties.id.description": "f93d3d62", + "components.schemas.JobEntry.properties.status.description": "af4086ce", + "components.schemas.JobEntry.properties.execution_error.description": "8a30a680", + "components.schemas.JobEntry.properties.create_time.description": "f5934151", + "components.schemas.JobEntry.properties.preview_output.description": "b9f1d7cf", + "components.schemas.JobEntry.properties.outputs_count.description": "807cda55", + "components.schemas.JobEntry.properties.workflow_id.description": "0b426334", + "components.schemas.JobEntry.properties.execution_start_time.description": "69383f3e", + "components.schemas.JobEntry.properties.execution_end_time.description": "2591f1db", + "components.schemas.JobDetailResponse.description": "49829618", + "components.schemas.JobDetailResponse.properties.id.description": "f93d3d62", + "components.schemas.JobDetailResponse.properties.status.description": "af4086ce", + "components.schemas.JobDetailResponse.properties.workflow.description": "d762878a", + "components.schemas.JobDetailResponse.properties.execution_error.description": "8a30a680", + "components.schemas.JobDetailResponse.properties.create_time.description": "f5934151", + "components.schemas.JobDetailResponse.properties.update_time.description": "819034a6", + "components.schemas.JobDetailResponse.properties.outputs.description": "195e4fea", + "components.schemas.JobDetailResponse.properties.preview_output.description": "4c1a1d46", + "components.schemas.JobDetailResponse.properties.outputs_count.description": "807cda55", + "components.schemas.JobDetailResponse.properties.workflow_id.description": "0b426334", + "components.schemas.JobDetailResponse.properties.execution_status.description": "1dd387f5", + "components.schemas.JobDetailResponse.properties.execution_meta.description": "71c82705", + "components.schemas.ExecutionError.description": "c1a2a02f", + "components.schemas.ExecutionError.properties.node_id.description": "35b9bb62", + "components.schemas.ExecutionError.properties.node_type.description": "e01b871c", + "components.schemas.ExecutionError.properties.exception_message.description": "52710385", + "components.schemas.ExecutionError.properties.exception_type.description": "a89f7e4a", + "components.schemas.ExecutionError.properties.traceback.description": "6d16cab2", + "components.schemas.ExecutionError.properties.current_inputs.description": "990f08c6", + "components.schemas.ExecutionError.properties.current_outputs.description": "db99f540", + "components.schemas.PaginationInfo.properties.offset.description": "2d09b01f", + "components.schemas.PaginationInfo.properties.limit.description": "766a02e0", + "components.schemas.PaginationInfo.properties.total.description": "12d1e665", + "components.schemas.PaginationInfo.properties.has_more.description": "12cf4bc8", + "components.schemas.WebSocketMessage.description": "1b9493bc", + "components.schemas.WebSocketMessage.properties.data.description": "3ef21bd1", + "components.schemas.WebSocketMessageType.description": "ff5ab420", + "components.schemas.WebSocketStatusMessage.description": "e8ed9aec", + "components.schemas.WebSocketStatusMessage.properties.data.properties.status.properties.exec_info.properties.queue_remaining.description": "b3dc66fb", + "components.schemas.WebSocketStatusMessage.properties.data.properties.sid.description": "bb1a7e29", + "components.schemas.WebSocketExecutionStartMessage.description": "00d26cde", + "components.schemas.WebSocketExecutionStartMessage.properties.data.properties.prompt_id.description": "4ad1c477", + "components.schemas.WebSocketExecutingMessage.description": "ac82bacf", + "components.schemas.WebSocketExecutingMessage.properties.data.properties.node.description": "9a32812b", + "components.schemas.WebSocketExecutingMessage.properties.data.properties.display_node.description": "587c7bb7", + "components.schemas.WebSocketProgressMessage.description": "94538ba8", + "components.schemas.WebSocketProgressMessage.properties.data.properties.node.description": "cbfc559b", + "components.schemas.WebSocketProgressMessage.properties.data.properties.value.description": "0599a1ec", + "components.schemas.WebSocketProgressMessage.properties.data.properties.max.description": "45f0e07d", + "components.schemas.WebSocketProgressStateMessage.description": "962a70de", + "components.schemas.WebSocketProgressStateMessage.properties.data.properties.nodes.description": "19af397e", + "components.schemas.WebSocketProgressStateMessage.properties.data.properties.nodes.additionalProperties.properties.class_type.description": "a5457234", + "components.schemas.WebSocketExecutedMessage.description": "3c201ef5", + "components.schemas.WebSocketExecutedMessage.properties.data.properties.node.description": "27da189b", + "components.schemas.WebSocketExecutedMessage.properties.data.properties.display_node.description": "e5ef36f4", + "components.schemas.WebSocketExecutedMessage.properties.data.properties.output.description": "786615db", + "components.schemas.WebSocketExecutionSuccessMessage.description": "7908b492", + "components.schemas.WebSocketExecutionErrorMessage.description": "5f66cfd2", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.node_id.description": "c26b20dd", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.node_type.description": "f5f0daea", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.exception_type.description": "dc53c945", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.exception_message.description": "52710385", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.traceback.description": "68c0d01a", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.executed.description": "e97f14d0", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.current_inputs.description": "6829956b", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.current_outputs.description": "fec456ea", + "components.schemas.WebSocketExecutionCachedMessage.description": "25cdf4af", + "components.schemas.WebSocketExecutionCachedMessage.properties.data.properties.nodes.description": "c5e046e0", + "components.schemas.WebSocketExecutionInterruptedMessage.description": "bfa80551" + } +} diff --git a/openapi/.i18n/cloud.ko.json b/openapi/.i18n/cloud.ko.json new file mode 100644 index 000000000..900d8ffd1 --- /dev/null +++ b/openapi/.i18n/cloud.ko.json @@ -0,0 +1,623 @@ +{ + "translationSourceHash": "ff9adab0", + "translationFrom": "openapi/cloud.en.yaml", + "blockHashes": { + "info.description": "a897e13a", + "servers[0].description": "62a73ae1", + "tags[0].description": "69ba62e2", + "tags[1].description": "aa645c40", + "tags[2].description": "1cacf82d", + "tags[3].description": "b7c05a6c", + "tags[4].description": "4b1cfe67", + "tags[5].description": "a5025cf0", + "tags[6].description": "03509d96", + "tags[7].description": "a542dd06", + "paths./api/prompt.post.summary": "e18bc9d9", + "paths./api/prompt.post.description": "8f006957", + "paths./api/prompt.post.responses.200.description": "9d4a6a0b", + "paths./api/prompt.post.responses.400.description": "d223c4ff", + "paths./api/prompt.post.responses.402.description": "8384edeb", + "paths./api/prompt.post.responses.429.description": "645693a7", + "paths./api/prompt.post.responses.500.description": "f74d7444", + "paths./api/prompt.post.responses.503.description": "60bbf043", + "paths./api/prompt.get.summary": "56f41c49", + "paths./api/prompt.get.description": "57601bf6", + "paths./api/prompt.get.responses.200.description": "c88a0b90", + "paths./api/prompt.get.responses.401.description": "d089c8a9", + "paths./api/prompt.get.responses.500.description": "f74d7444", + "paths./api/object_info.get.summary": "d8a5e2ad", + "paths./api/object_info.get.description": "924a226c", + "paths./api/object_info.get.responses.200.description": "c88a0b90", + "paths./api/features.get.summary": "06d46bcb", + "paths./api/features.get.description": "bad57340", + "paths./api/features.get.responses.200.description": "c88a0b90", + "paths./api/features.get.responses.200.content.application/json.schema.properties.supports_preview_metadata.description": "0f595863", + "paths./api/features.get.responses.200.content.application/json.schema.properties.max_upload_size.description": "fab635f1", + "paths./api/workflow_templates.get.summary": "6bf8f808", + "paths./api/workflow_templates.get.description": "bd0b194b", + "paths./api/workflow_templates.get.responses.200.description": "c88a0b90", + "paths./api/workflow_templates.get.responses.200.content.application/json.schema.description": "6fc9d4d9", + "paths./api/global_subgraphs.get.summary": "74b3b0a0", + "paths./api/global_subgraphs.get.description": "4217953d", + "paths./api/global_subgraphs.get.responses.200.description": "663817c4", + "paths./api/global_subgraphs.get.responses.500.description": "f74d7444", + "paths./api/global_subgraphs/{id}.get.summary": "7d3b235c", + "paths./api/global_subgraphs/{id}.get.description": "530ea8f0", + "paths./api/global_subgraphs/{id}.get.parameters[0].description": "7a6e64e8", + "paths./api/global_subgraphs/{id}.get.responses.200.description": "a32e33bd", + "paths./api/global_subgraphs/{id}.get.responses.404.description": "c01fd723", + "paths./api/global_subgraphs/{id}.get.responses.500.description": "f74d7444", + "paths./api/experiment/models.get.summary": "f451570e", + "paths./api/experiment/models.get.description": "5ceb0f07", + "paths./api/experiment/models.get.responses.200.description": "d12b74be", + "paths./api/experiment/models.get.responses.500.description": "f74d7444", + "paths./api/experiment/models/{folder}.get.summary": "9ea96710", + "paths./api/experiment/models/{folder}.get.description": "13ab721b", + "paths./api/experiment/models/{folder}.get.parameters[0].description": "0355f067", + "paths./api/experiment/models/{folder}.get.responses.200.description": "f125edda", + "paths./api/experiment/models/{folder}.get.responses.404.description": "431cc143", + "paths./api/experiment/models/{folder}.get.responses.500.description": "f74d7444", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.summary": "3e8e5aab", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.description": "78cd6d10", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.parameters[0].description": "5e5906e2", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.parameters[1].description": "e88c4e55", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.parameters[2].description": "90dfc79e", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.responses.200.description": "5ec75c84", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.responses.404.description": "9698e2d2", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.responses.500.description": "f74d7444", + "paths./api/history.post.summary": "d1c8f18a", + "paths./api/history.post.description": "f36b6415", + "paths./api/history.post.responses.200.description": "a37fe352", + "paths./api/history.post.responses.400.description": "51443a02", + "paths./api/history.post.responses.401.description": "33835721", + "paths./api/history.post.responses.500.description": "f74d7444", + "paths./api/history_v2.get.summary": "1e522884", + "paths./api/history_v2.get.description": "9b176acb", + "paths./api/history_v2.get.parameters[0].description": "4fcfd7f3", + "paths./api/history_v2.get.parameters[1].description": "1be3cf2d", + "paths./api/history_v2.get.responses.200.description": "d90d8dae", + "paths./api/history_v2.get.responses.401.description": "33835721", + "paths./api/history_v2.get.responses.500.description": "f74d7444", + "paths./api/history_v2/{prompt_id}.get.summary": "372247d7", + "paths./api/history_v2/{prompt_id}.get.description": "0cda58a4", + "paths./api/history_v2/{prompt_id}.get.parameters[0].description": "bcc65bf2", + "paths./api/history_v2/{prompt_id}.get.responses.200.description": "1fa6797d", + "paths./api/history_v2/{prompt_id}.get.responses.401.description": "33835721", + "paths./api/history_v2/{prompt_id}.get.responses.404.description": "a3b61d69", + "paths./api/history_v2/{prompt_id}.get.responses.500.description": "f74d7444", + "paths./api/jobs.get.summary": "6aab8f40", + "paths./api/jobs.get.description": "2e1b7fbd", + "paths./api/jobs.get.parameters[0].description": "cbbb96eb", + "paths./api/jobs.get.parameters[1].description": "971c107a", + "paths./api/jobs.get.parameters[2].description": "11bad554", + "paths./api/jobs.get.parameters[3].description": "417d806a", + "paths./api/jobs.get.parameters[4].description": "5a185bef", + "paths./api/jobs.get.parameters[5].description": "671de500", + "paths./api/jobs.get.parameters[6].description": "f7d3335e", + "paths./api/jobs.get.responses.200.description": "84d19a9f", + "paths./api/jobs.get.responses.401.description": "33835721", + "paths./api/jobs.get.responses.500.description": "f74d7444", + "paths./api/jobs/{job_id}.get.summary": "99c1a0e1", + "paths./api/jobs/{job_id}.get.description": "ec94dabb", + "paths./api/jobs/{job_id}.get.parameters[0].description": "c4cc93ff", + "paths./api/jobs/{job_id}.get.responses.200.description": "b1c0d0d0", + "paths./api/jobs/{job_id}.get.responses.401.description": "33835721", + "paths./api/jobs/{job_id}.get.responses.403.description": "436033c0", + "paths./api/jobs/{job_id}.get.responses.404.description": "56930ecf", + "paths./api/jobs/{job_id}.get.responses.500.description": "f74d7444", + "paths./api/view.get.summary": "4815c7e6", + "paths./api/view.get.description": "e017923f", + "paths./api/view.get.parameters[0].description": "7c08d417", + "paths./api/view.get.parameters[1].description": "91701f76", + "paths./api/view.get.parameters[2].description": "42c68673", + "paths./api/view.get.parameters[3].description": "962ffa4c", + "paths./api/view.get.parameters[4].description": "98d087d6", + "paths./api/view.get.parameters[5].description": "63a76b8d", + "paths./api/view.get.parameters[6].description": "c4bd8b9c", + "paths./api/view.get.parameters[7].description": "2afcc04b", + "paths./api/view.get.parameters[8].description": "aedc7305", + "paths./api/view.get.responses.200.description": "f7508fa2", + "paths./api/view.get.responses.200.content.image/png.schema.description": "742cad60", + "paths./api/view.get.responses.302.description": "cfd67205", + "paths./api/view.get.responses.302.headers.Location.description": "d69da5a2", + "paths./api/view.get.responses.400.description": "51443a02", + "paths./api/view.get.responses.404.description": "3374baa7", + "paths./api/view.get.responses.500.description": "f74d7444", + "paths./api/files/mask-layers.get.summary": "9c8537ce", + "paths./api/files/mask-layers.get.description": "c97167ff", + "paths./api/files/mask-layers.get.parameters[0].description": "04f1d5e4", + "paths./api/files/mask-layers.get.responses.200.description": "ec023d97", + "paths./api/files/mask-layers.get.responses.200.content.application/json.schema.properties.mask.description": "87f7a1a5", + "paths./api/files/mask-layers.get.responses.200.content.application/json.schema.properties.paint.description": "ead5d8a6", + "paths./api/files/mask-layers.get.responses.200.content.application/json.schema.properties.painted.description": "3ac34bb0", + "paths./api/files/mask-layers.get.responses.200.content.application/json.schema.properties.painted_masked.description": "d308db0c", + "paths./api/files/mask-layers.get.responses.404.description": "d515d14c", + "paths./api/assets.get.summary": "d219eb93", + "paths./api/assets.get.description": "419cfcbf", + "paths./api/assets.get.parameters[0].description": "d33d4906", + "paths./api/assets.get.parameters[1].description": "1d41f8d7", + "paths./api/assets.get.parameters[2].description": "be78057f", + "paths./api/assets.get.parameters[3].description": "c0dc6e67", + "paths./api/assets.get.parameters[4].description": "8b0fb946", + "paths./api/assets.get.parameters[5].description": "bbcdc6de", + "paths./api/assets.get.parameters[6].description": "c9020b89", + "paths./api/assets.get.parameters[7].description": "3c9b3028", + "paths./api/assets.get.parameters[8].description": "4b675317", + "paths./api/assets.get.responses.200.description": "a63ffb68", + "paths./api/assets.get.responses.400.description": "51443a02", + "paths./api/assets.get.responses.401.description": "d089c8a9", + "paths./api/assets.get.responses.500.description": "f74d7444", + "paths./api/assets.post.summary": "d7419292", + "paths./api/assets.post.description": "131d6c37", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.file.description": "c54105c7", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.tags.description": "d31ca3df", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.id.description": "0ab13603", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.preview_id.description": "ed77d688", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.name.description": "9b574f2e", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.mime_type.description": "88cf9f70", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.user_metadata.description": "53852ead", + "paths./api/assets.post.requestBody.content.application/json.schema.properties.url.description": "d1cd99d9", + "paths./api/assets.post.requestBody.content.application/json.schema.properties.name.description": "4375f65f", + "paths./api/assets.post.requestBody.content.application/json.schema.properties.tags.description": "d31ca3df", + "paths./api/assets.post.requestBody.content.application/json.schema.properties.user_metadata.description": "49d60c9d", + "paths./api/assets.post.requestBody.content.application/json.schema.properties.preview_id.description": "545abc91", + "paths./api/assets.post.responses.200.description": "636957d8", + "paths./api/assets.post.responses.201.description": "a79116c1", + "paths./api/assets.post.responses.400.description": "01eff0e1", + "paths./api/assets.post.responses.401.description": "d089c8a9", + "paths./api/assets.post.responses.403.description": "aa927b8a", + "paths./api/assets.post.responses.404.description": "fd4d737b", + "paths./api/assets.post.responses.413.description": "8a2819ca", + "paths./api/assets.post.responses.415.description": "5a4d5ddc", + "paths./api/assets.post.responses.422.description": "b571bc56", + "paths./api/assets.post.responses.500.description": "f74d7444", + "paths./api/assets/from-hash.post.summary": "722a6e6a", + "paths./api/assets/from-hash.post.description": "784aedbe", + "paths./api/assets/from-hash.post.requestBody.content.application/json.schema.properties.hash.description": "bd89ea56", + "paths./api/assets/from-hash.post.requestBody.content.application/json.schema.properties.name.description": "bf4a6069", + "paths./api/assets/from-hash.post.requestBody.content.application/json.schema.properties.tags.description": "d31ca3df", + "paths./api/assets/from-hash.post.requestBody.content.application/json.schema.properties.mime_type.description": "88cf9f70", + "paths./api/assets/from-hash.post.requestBody.content.application/json.schema.properties.user_metadata.description": "dee1e40c", + "paths./api/assets/from-hash.post.responses.200.description": "515d79a0", + "paths./api/assets/from-hash.post.responses.201.description": "e89d8509", + "paths./api/assets/from-hash.post.responses.400.description": "4d4efecf", + "paths./api/assets/from-hash.post.responses.401.description": "d089c8a9", + "paths./api/assets/from-hash.post.responses.404.description": "f2f60b63", + "paths./api/assets/from-hash.post.responses.500.description": "f74d7444", + "paths./api/assets/remote-metadata.get.summary": "fb506f10", + "paths./api/assets/remote-metadata.get.description": "b261d324", + "paths./api/assets/remote-metadata.get.parameters[0].description": "73553d18", + "paths./api/assets/remote-metadata.get.responses.200.description": "53cc4612", + "paths./api/assets/remote-metadata.get.responses.400.description": "4ba03b52", + "paths./api/assets/remote-metadata.get.responses.401.description": "d089c8a9", + "paths./api/assets/remote-metadata.get.responses.422.description": "b453c565", + "paths./api/assets/remote-metadata.get.responses.500.description": "f74d7444", + "paths./api/assets/download.post.summary": "97b750c2", + "paths./api/assets/download.post.description": "0c4db6ae", + "paths./api/assets/download.post.requestBody.content.application/json.schema.properties.source_url.description": "9c72ca37", + "paths./api/assets/download.post.requestBody.content.application/json.schema.properties.tags.description": "4de2ecd5", + "paths./api/assets/download.post.requestBody.content.application/json.schema.properties.user_metadata.description": "9be0e522", + "paths./api/assets/download.post.requestBody.content.application/json.schema.properties.preview_id.description": "877f7907", + "paths./api/assets/download.post.responses.200.description": "07453932", + "paths./api/assets/download.post.responses.202.description": "3f78e03a", + "paths./api/assets/download.post.responses.400.description": "fefd9147", + "paths./api/assets/download.post.responses.401.description": "d089c8a9", + "paths./api/assets/download.post.responses.422.description": "b81f8fe7", + "paths./api/assets/download.post.responses.500.description": "f74d7444", + "paths./api/assets/{id}.get.summary": "f36519b8", + "paths./api/assets/{id}.get.description": "be58023d", + "paths./api/assets/{id}.get.parameters[0].description": "03024133", + "paths./api/assets/{id}.get.responses.200.description": "17329a9e", + "paths./api/assets/{id}.get.responses.401.description": "d089c8a9", + "paths./api/assets/{id}.get.responses.404.description": "3965d196", + "paths./api/assets/{id}.get.responses.500.description": "f74d7444", + "paths./api/assets/{id}.put.summary": "30860585", + "paths./api/assets/{id}.put.description": "e0cc0d7f", + "paths./api/assets/{id}.put.parameters[0].description": "03024133", + "paths./api/assets/{id}.put.requestBody.content.application/json.schema.properties.name.description": "2eab953b", + "paths./api/assets/{id}.put.requestBody.content.application/json.schema.properties.tags.description": "a7adf866", + "paths./api/assets/{id}.put.requestBody.content.application/json.schema.properties.mime_type.description": "78c1732f", + "paths./api/assets/{id}.put.requestBody.content.application/json.schema.properties.preview_id.description": "870bf2a8", + "paths./api/assets/{id}.put.requestBody.content.application/json.schema.properties.user_metadata.description": "83f49e68", + "paths./api/assets/{id}.put.responses.200.description": "a4e3facf", + "paths./api/assets/{id}.put.responses.400.description": "ff24dc60", + "paths./api/assets/{id}.put.responses.401.description": "d089c8a9", + "paths./api/assets/{id}.put.responses.404.description": "3965d196", + "paths./api/assets/{id}.put.responses.500.description": "f74d7444", + "paths./api/assets/{id}.delete.summary": "49c2e3f1", + "paths./api/assets/{id}.delete.description": "b00d6c7f", + "paths./api/assets/{id}.delete.parameters[0].description": "03024133", + "paths./api/assets/{id}.delete.responses.204.description": "23100e30", + "paths./api/assets/{id}.delete.responses.401.description": "d089c8a9", + "paths./api/assets/{id}.delete.responses.404.description": "3965d196", + "paths./api/assets/{id}.delete.responses.500.description": "f74d7444", + "paths./api/assets/{id}/tags.post.summary": "7bdfe2ba", + "paths./api/assets/{id}/tags.post.description": "119fa54d", + "paths./api/assets/{id}/tags.post.parameters[0].description": "03024133", + "paths./api/assets/{id}/tags.post.requestBody.content.application/json.schema.properties.tags.description": "0ab3ffea", + "paths./api/assets/{id}/tags.post.responses.200.description": "9c160b68", + "paths./api/assets/{id}/tags.post.responses.400.description": "330509ca", + "paths./api/assets/{id}/tags.post.responses.401.description": "d089c8a9", + "paths./api/assets/{id}/tags.post.responses.404.description": "3965d196", + "paths./api/assets/{id}/tags.post.responses.500.description": "f74d7444", + "paths./api/assets/{id}/tags.delete.summary": "9acbea8e", + "paths./api/assets/{id}/tags.delete.description": "c3616a6f", + "paths./api/assets/{id}/tags.delete.parameters[0].description": "03024133", + "paths./api/assets/{id}/tags.delete.requestBody.content.application/json.schema.properties.tags.description": "ab43f7fa", + "paths./api/assets/{id}/tags.delete.responses.200.description": "cb4b899e", + "paths./api/assets/{id}/tags.delete.responses.400.description": "330509ca", + "paths./api/assets/{id}/tags.delete.responses.401.description": "d089c8a9", + "paths./api/assets/{id}/tags.delete.responses.404.description": "3965d196", + "paths./api/assets/{id}/tags.delete.responses.500.description": "f74d7444", + "paths./api/tags.get.summary": "7e246dd1", + "paths./api/tags.get.description": "a383ea75", + "paths./api/tags.get.parameters[0].description": "ad3c2fd2", + "paths./api/tags.get.parameters[1].description": "85b1830e", + "paths./api/tags.get.parameters[2].description": "8e2b7682", + "paths./api/tags.get.parameters[3].description": "45c40b0d", + "paths./api/tags.get.parameters[4].description": "46f01dc8", + "paths./api/tags.get.parameters[5].description": "71a019b6", + "paths./api/tags.get.responses.200.description": "126fe993", + "paths./api/tags.get.responses.400.description": "51443a02", + "paths./api/tags.get.responses.401.description": "d089c8a9", + "paths./api/tags.get.responses.500.description": "f74d7444", + "paths./api/assets/tags/refine.get.summary": "9e929b5e", + "paths./api/assets/tags/refine.get.description": "1b3162a1", + "paths./api/assets/tags/refine.get.parameters[0].description": "d33d4906", + "paths./api/assets/tags/refine.get.parameters[1].description": "1d41f8d7", + "paths./api/assets/tags/refine.get.parameters[2].description": "be78057f", + "paths./api/assets/tags/refine.get.parameters[3].description": "c0dc6e67", + "paths./api/assets/tags/refine.get.parameters[4].description": "2c5ce143", + "paths./api/assets/tags/refine.get.parameters[5].description": "4b675317", + "paths./api/assets/tags/refine.get.responses.200.description": "688fc2a2", + "paths./api/assets/tags/refine.get.responses.400.description": "51443a02", + "paths./api/assets/tags/refine.get.responses.401.description": "d089c8a9", + "paths./api/assets/tags/refine.get.responses.500.description": "f74d7444", + "paths./api/assets/hash/{hash}.head.summary": "399d1f6c", + "paths./api/assets/hash/{hash}.head.description": "28f304cc", + "paths./api/assets/hash/{hash}.head.parameters[0].description": "795939ec", + "paths./api/assets/hash/{hash}.head.responses.200.description": "1483796b", + "paths./api/assets/hash/{hash}.head.responses.400.description": "6132a19c", + "paths./api/assets/hash/{hash}.head.responses.401.description": "d089c8a9", + "paths./api/assets/hash/{hash}.head.responses.404.description": "3965d196", + "paths./api/assets/hash/{hash}.head.responses.500.description": "f74d7444", + "paths./api/queue.get.summary": "d7a35fd0", + "paths./api/queue.get.description": "0bd6e0c7", + "paths./api/queue.get.responses.200.description": "c88a0b90", + "paths./api/queue.get.responses.400.description": "51443a02", + "paths./api/queue.get.responses.500.description": "51443a02", + "paths./api/queue.post.summary": "e226367d", + "paths./api/queue.post.description": "bfeef736", + "paths./api/queue.post.responses.200.description": "c88a0b90", + "paths./api/queue.post.responses.400.description": "51443a02", + "paths./api/queue.post.responses.401.description": "d089c8a9", + "paths./api/queue.post.responses.500.description": "f74d7444", + "paths./api/interrupt.post.summary": "5ab111ef", + "paths./api/interrupt.post.description": "4f774fde", + "paths./api/interrupt.post.responses.200.description": "f5757880", + "paths./api/interrupt.post.responses.401.description": "33835721", + "paths./api/interrupt.post.responses.500.description": "f74d7444", + "paths./api/userdata.get.summary": "c96e6cc2", + "paths./api/userdata.get.description": "163a8d7b", + "paths./api/userdata.get.parameters[0].description": "2c82db2b", + "paths./api/userdata.get.parameters[1].description": "dbba18ba", + "paths./api/userdata.get.parameters[2].description": "0812ee53", + "paths./api/userdata.get.parameters[3].description": "9270d7ae", + "paths./api/userdata.get.responses.200.description": "1cc1c53e", + "paths./api/userdata.get.responses.400.description": "c890c6cb", + "paths./api/userdata.get.responses.401.description": "4da730e8", + "paths./api/userdata.get.responses.404.description": "64f2e674", + "paths./api/userdata.get.responses.500.description": "31d38bf9", + "paths./api/userdata/{file}.get.summary": "40d7b568", + "paths./api/userdata/{file}.get.description": "8194d532", + "paths./api/userdata/{file}.get.parameters[0].description": "c5fbbeaa", + "paths./api/userdata/{file}.get.responses.200.description": "291227aa", + "paths./api/userdata/{file}.get.responses.400.description": "c890c6cb", + "paths./api/userdata/{file}.get.responses.401.description": "4da730e8", + "paths./api/userdata/{file}.get.responses.404.description": "64f2e674", + "paths./api/userdata/{file}.get.responses.500.description": "31d38bf9", + "paths./api/userdata/{file}.post.summary": "85224dff", + "paths./api/userdata/{file}.post.description": "2f1ff50b", + "paths./api/userdata/{file}.post.parameters[0].description": "db2ba3bd", + "paths./api/userdata/{file}.post.parameters[1].description": "1c93c172", + "paths./api/userdata/{file}.post.parameters[2].description": "ed99f7dc", + "paths./api/userdata/{file}.post.responses.200.description": "6fdfce28", + "paths./api/userdata/{file}.post.responses.400.description": "e50bfea6", + "paths./api/userdata/{file}.post.responses.401.description": "4da730e8", + "paths./api/userdata/{file}.post.responses.403.description": "ac19722e", + "paths./api/userdata/{file}.post.responses.409.description": "24b97429", + "paths./api/userdata/{file}.post.responses.500.description": "31d38bf9", + "paths./api/userdata/{file}.delete.summary": "8d9bf468", + "paths./api/userdata/{file}.delete.description": "4157f4b3", + "paths./api/userdata/{file}.delete.parameters[0].description": "cfcf2324", + "paths./api/userdata/{file}.delete.responses.204.description": "ce141bab", + "paths./api/userdata/{file}.delete.responses.401.description": "4da730e8", + "paths./api/userdata/{file}.delete.responses.404.description": "b1439500", + "paths./api/userdata/{file}.delete.responses.500.description": "f8d0e720", + "paths./api/upload/image.post.summary": "90eb3492", + "paths./api/upload/image.post.description": "e33221c4", + "paths./api/upload/image.post.requestBody.content.multipart/form-data.schema.properties.image.description": "68137f6c", + "paths./api/upload/image.post.requestBody.content.multipart/form-data.schema.properties.overwrite.description": "34f6c70f", + "paths./api/upload/image.post.requestBody.content.multipart/form-data.schema.properties.subfolder.description": "10746083", + "paths./api/upload/image.post.requestBody.content.multipart/form-data.schema.properties.type.description": "db548cb4", + "paths./api/upload/image.post.responses.200.description": "54cc00ae", + "paths./api/upload/image.post.responses.200.content.application/json.schema.properties.name.description": "98003255", + "paths./api/upload/image.post.responses.200.content.application/json.schema.properties.subfolder.description": "6f79818c", + "paths./api/upload/image.post.responses.200.content.application/json.schema.properties.type.description": "3805d9b1", + "paths./api/upload/image.post.responses.400.description": "917ef22f", + "paths./api/upload/image.post.responses.401.description": "d089c8a9", + "paths./api/upload/image.post.responses.500.description": "f74d7444", + "paths./api/upload/mask.post.summary": "864609dc", + "paths./api/upload/mask.post.description": "3a0fe09a", + "paths./api/upload/mask.post.requestBody.content.multipart/form-data.schema.properties.image.description": "fb315681", + "paths./api/upload/mask.post.requestBody.content.multipart/form-data.schema.properties.original_ref.description": "77f8fccf", + "paths./api/upload/mask.post.responses.200.description": "15d1d615", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.name.description": "0d48eef6", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.subfolder.description": "a88a714d", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.type.description": "3805d9b1", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.description": "5ed3951e", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.is_mask.description": "4c63be24", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.original_hash.description": "731e1652", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.mask_type.description": "a2da3db7", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.related_files.description": "ba6e85d2", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.related_files.properties.mask.description": "3d54240d", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.related_files.properties.paint.description": "dd49cc63", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.related_files.properties.painted.description": "aa9a4845", + "paths./api/upload/mask.post.responses.400.description": "917ef22f", + "paths./api/upload/mask.post.responses.401.description": "d089c8a9", + "paths./api/upload/mask.post.responses.500.description": "f74d7444", + "paths./api/system_stats.get.summary": "32c91374", + "paths./api/system_stats.get.description": "279164eb", + "paths./api/system_stats.get.responses.200.description": "c88a0b90", + "paths./api/system_stats.get.responses.401.description": "d089c8a9", + "paths./api/user.get.summary": "d450e272", + "paths./api/user.get.description": "fe93c6c1", + "paths./api/user.get.responses.200.description": "c88a0b90", + "paths./api/user.get.responses.401.description": "d089c8a9", + "paths./api/job/{job_id}/status.get.summary": "ea2c3f05", + "paths./api/job/{job_id}/status.get.description": "4de9b322", + "paths./api/job/{job_id}/status.get.parameters[0].description": "d226e6d9", + "paths./api/job/{job_id}/status.get.responses.200.description": "cceb90a6", + "paths./api/job/{job_id}/status.get.responses.401.description": "d089c8a9", + "paths./api/job/{job_id}/status.get.responses.403.description": "ef2bdeb1", + "paths./api/job/{job_id}/status.get.responses.404.description": "56930ecf", + "paths./api/job/{job_id}/status.get.responses.500.description": "f74d7444", + "components.securitySchemes.ApiKeyAuth.description": "fa3a7eff", + "components.schemas.PromptRequest.properties.prompt.description": "660b0029", + "components.schemas.PromptRequest.properties.number.description": "e22d65fd", + "components.schemas.PromptRequest.properties.front.description": "59b756f1", + "components.schemas.PromptRequest.properties.extra_data.description": "3d7a34db", + "components.schemas.PromptRequest.properties.partial_execution_targets.description": "53c2496b", + "components.schemas.PromptResponse.properties.prompt_id.description": "bb70f8b0", + "components.schemas.PromptResponse.properties.number.description": "83f46ae4", + "components.schemas.PromptResponse.properties.node_errors.description": "06e93b05", + "components.schemas.PromptInfo.properties.exec_info.properties.queue_remaining.description": "1486512f", + "components.schemas.NodeInfo.properties.input.description": "ed65da2e", + "components.schemas.NodeInfo.properties.input_order.description": "48896736", + "components.schemas.NodeInfo.properties.output.description": "cb58269e", + "components.schemas.NodeInfo.properties.output_is_list.description": "c92d404c", + "components.schemas.NodeInfo.properties.output_name.description": "7c594ff0", + "components.schemas.NodeInfo.properties.name.description": "c0f75295", + "components.schemas.NodeInfo.properties.display_name.description": "5ae7292f", + "components.schemas.NodeInfo.properties.description.description": "1ed56488", + "components.schemas.NodeInfo.properties.python_module.description": "47157ec5", + "components.schemas.NodeInfo.properties.category.description": "651e3703", + "components.schemas.NodeInfo.properties.output_node.description": "7ccdb618", + "components.schemas.NodeInfo.properties.output_tooltips.description": "ccb20f95", + "components.schemas.NodeInfo.properties.deprecated.description": "f26e26fb", + "components.schemas.NodeInfo.properties.experimental.description": "c8edf7a4", + "components.schemas.NodeInfo.properties.api_node.description": "22b94485", + "components.schemas.GlobalSubgraphInfo.description": "f952717a", + "components.schemas.GlobalSubgraphInfo.properties.source.description": "85f146ab", + "components.schemas.GlobalSubgraphInfo.properties.name.description": "ee110b73", + "components.schemas.GlobalSubgraphInfo.properties.info.description": "3d5b95b3", + "components.schemas.GlobalSubgraphInfo.properties.info.properties.node_pack.description": "42fe3748", + "components.schemas.GlobalSubgraphInfo.properties.data.description": "ea785a00", + "components.schemas.GlobalSubgraphData.description": "e652f1c6", + "components.schemas.GlobalSubgraphData.properties.source.description": "85f146ab", + "components.schemas.GlobalSubgraphData.properties.name.description": "ee110b73", + "components.schemas.GlobalSubgraphData.properties.info.description": "3d5b95b3", + "components.schemas.GlobalSubgraphData.properties.info.properties.node_pack.description": "42fe3748", + "components.schemas.GlobalSubgraphData.properties.data.description": "8a639105", + "components.schemas.HistoryResponse.description": "1e492c80", + "components.schemas.HistoryResponse.properties.history.description": "069e4e5d", + "components.schemas.HistoryEntry.description": "e4109161", + "components.schemas.HistoryEntry.properties.prompt_id.description": "344f47bb", + "components.schemas.HistoryEntry.properties.create_time.description": "5bc72ced", + "components.schemas.HistoryEntry.properties.workflow_id.description": "0b426334", + "components.schemas.HistoryEntry.properties.prompt.description": "e6f8c72a", + "components.schemas.HistoryEntry.properties.prompt.properties.priority.description": "c6d431ef", + "components.schemas.HistoryEntry.properties.prompt.properties.prompt_id.description": "41a750ee", + "components.schemas.HistoryEntry.properties.prompt.properties.extra_data.description": "05ffba92", + "components.schemas.HistoryEntry.properties.outputs.description": "abc5c0fe", + "components.schemas.HistoryEntry.properties.status.description": "8fe31548", + "components.schemas.HistoryEntry.properties.meta.description": "0457f8fe", + "components.schemas.HistoryDetailEntry.description": "e26818d2", + "components.schemas.HistoryDetailEntry.properties.prompt.description": "34315141", + "components.schemas.HistoryDetailEntry.properties.prompt.properties.priority.description": "c6d431ef", + "components.schemas.HistoryDetailEntry.properties.prompt.properties.prompt_id.description": "41a750ee", + "components.schemas.HistoryDetailEntry.properties.prompt.properties.prompt.description": "1807ca88", + "components.schemas.HistoryDetailEntry.properties.prompt.properties.extra_data.description": "22b52b5a", + "components.schemas.HistoryDetailEntry.properties.prompt.properties.outputs_to_execute.description": "2d025840", + "components.schemas.HistoryDetailEntry.properties.outputs.description": "abc5c0fe", + "components.schemas.HistoryDetailEntry.properties.status.description": "8fe31548", + "components.schemas.HistoryDetailEntry.properties.meta.description": "0457f8fe", + "components.schemas.HistoryDetailResponse.description": "5192bce6", + "components.schemas.QueueInfo.description": "63a8cce4", + "components.schemas.QueueInfo.properties.queue_running.description": "c48880b1", + "components.schemas.QueueInfo.properties.queue_pending.description": "027c6bc0", + "components.schemas.QueueItem.description": "18587373", + "components.schemas.QueueItem.items.oneOf[0].description": "1c711f2c", + "components.schemas.QueueItem.items.oneOf[1].description": "7979ecfb", + "components.schemas.QueueItem.items.oneOf[2].description": "7039c8a6", + "components.schemas.QueueItem.items.oneOf[3].description": "a1eefd4f", + "components.schemas.QueueItem.items.oneOf[4].description": "891fc028", + "components.schemas.QueueManageRequest.description": "daf760f3", + "components.schemas.QueueManageRequest.properties.delete.description": "8a5adfbf", + "components.schemas.QueueManageRequest.properties.clear.description": "15e7ced6", + "components.schemas.QueueManageResponse.properties.deleted.description": "32c292e5", + "components.schemas.QueueManageResponse.properties.cleared.description": "c293ad08", + "components.schemas.JobStatusResponse.description": "c8d8606a", + "components.schemas.JobStatusResponse.properties.id.description": "a85d11c5", + "components.schemas.JobStatusResponse.properties.status.description": "6b499919", + "components.schemas.JobStatusResponse.properties.created_at.description": "fe9151ae", + "components.schemas.JobStatusResponse.properties.updated_at.description": "26824c2c", + "components.schemas.JobStatusResponse.properties.last_state_update.description": "f6d50b96", + "components.schemas.JobStatusResponse.properties.assigned_inference.description": "0ca37fd6", + "components.schemas.JobStatusResponse.properties.error_message.description": "a6858a4a", + "components.schemas.HistoryManageRequest.description": "dc8883b1", + "components.schemas.HistoryManageRequest.properties.delete.description": "27e5a21e", + "components.schemas.HistoryManageRequest.properties.clear.description": "45456019", + "components.schemas.GetUserDataResponseFullFile.properties.path.description": "bbee456e", + "components.schemas.GetUserDataResponseFullFile.properties.size.description": "fd72ca52", + "components.schemas.GetUserDataResponseFullFile.properties.modified.description": "0c36826c", + "components.schemas.PromptErrorResponse.description": "1007d7b4", + "components.schemas.ModelFolder.description": "d4b89ee3", + "components.schemas.ModelFolder.properties.name.description": "3f53950a", + "components.schemas.ModelFolder.properties.folders.description": "56131619", + "components.schemas.ModelFile.description": "21bcbbdb", + "components.schemas.ModelFile.properties.name.description": "04af40da", + "components.schemas.ModelFile.properties.pathIndex.description": "fc9f2668", + "components.schemas.SystemStatsResponse.description": "6a76cd53", + "components.schemas.SystemStatsResponse.properties.system.properties.os.description": "0fcabfe6", + "components.schemas.SystemStatsResponse.properties.system.properties.python_version.description": "5e7036dd", + "components.schemas.SystemStatsResponse.properties.system.properties.embedded_python.description": "c1dcc542", + "components.schemas.SystemStatsResponse.properties.system.properties.comfyui_version.description": "906c7e1f", + "components.schemas.SystemStatsResponse.properties.system.properties.comfyui_frontend_version.description": "f6cf2e1b", + "components.schemas.SystemStatsResponse.properties.system.properties.workflow_templates_version.description": "1e00f4b7", + "components.schemas.SystemStatsResponse.properties.system.properties.cloud_version.description": "dff84e7b", + "components.schemas.SystemStatsResponse.properties.system.properties.pytorch_version.description": "e65e470b", + "components.schemas.SystemStatsResponse.properties.system.properties.argv.description": "f1fb2274", + "components.schemas.SystemStatsResponse.properties.system.properties.ram_total.description": "fb0cfbf5", + "components.schemas.SystemStatsResponse.properties.system.properties.ram_free.description": "764f775b", + "components.schemas.SystemStatsResponse.properties.devices.items.properties.name.description": "155106be", + "components.schemas.SystemStatsResponse.properties.devices.items.properties.type.description": "8562a30f", + "components.schemas.SystemStatsResponse.properties.devices.items.properties.vram_total.description": "30e5845d", + "components.schemas.SystemStatsResponse.properties.devices.items.properties.vram_free.description": "128544e5", + "components.schemas.UserResponse.description": "4faf06c4", + "components.schemas.UserResponse.properties.status.description": "dd7b7711", + "components.schemas.Asset.properties.id.description": "6cc5ed45", + "components.schemas.Asset.properties.name.description": "df96461c", + "components.schemas.Asset.properties.asset_hash.description": "88012a78", + "components.schemas.Asset.properties.size.description": "0390bb48", + "components.schemas.Asset.properties.mime_type.description": "9fef09cc", + "components.schemas.Asset.properties.tags.description": "fa661641", + "components.schemas.Asset.properties.user_metadata.description": "d7290956", + "components.schemas.Asset.properties.preview_url.description": "9a2eeed0", + "components.schemas.Asset.properties.preview_id.description": "b919111a", + "components.schemas.Asset.properties.prompt_id.description": "6d6c3af6", + "components.schemas.Asset.properties.created_at.description": "58973f18", + "components.schemas.Asset.properties.updated_at.description": "ed4e7259", + "components.schemas.Asset.properties.last_access_time.description": "3df526c8", + "components.schemas.Asset.properties.is_immutable.description": "fe703332", + "components.schemas.AssetCreated.allOf[1].properties.created_new.description": "4975ae7b", + "components.schemas.AssetUpdated.properties.id.description": "03024133", + "components.schemas.AssetUpdated.properties.name.description": "1fe7bf70", + "components.schemas.AssetUpdated.properties.asset_hash.description": "88012a78", + "components.schemas.AssetUpdated.properties.tags.description": "a7adf866", + "components.schemas.AssetUpdated.properties.mime_type.description": "78c1732f", + "components.schemas.AssetUpdated.properties.user_metadata.description": "83f49e68", + "components.schemas.AssetUpdated.properties.updated_at.description": "c3ddc7a4", + "components.schemas.ListAssetsResponse.properties.assets.description": "01a4a988", + "components.schemas.ListAssetsResponse.properties.total.description": "859cce90", + "components.schemas.ListAssetsResponse.properties.has_more.description": "a1683d7b", + "components.schemas.TagInfo.properties.name.description": "1ace926b", + "components.schemas.TagInfo.properties.count.description": "e76f07a2", + "components.schemas.ListTagsResponse.properties.tags.description": "cf884551", + "components.schemas.ListTagsResponse.properties.total.description": "70064140", + "components.schemas.ListTagsResponse.properties.has_more.description": "96c05938", + "components.schemas.AssetTagHistogramResponse.properties.tag_counts.description": "df123e40", + "components.schemas.AssetMetadataResponse.properties.content_length.description": "c07ec7b0", + "components.schemas.AssetMetadataResponse.properties.content_type.description": "9fef09cc", + "components.schemas.AssetMetadataResponse.properties.filename.description": "7359087b", + "components.schemas.AssetMetadataResponse.properties.name.description": "9c4d11ee", + "components.schemas.AssetMetadataResponse.properties.tags.description": "ce379428", + "components.schemas.AssetMetadataResponse.properties.preview_image.description": "33edcf3b", + "components.schemas.AssetMetadataResponse.properties.validation.description": "24012e43", + "components.schemas.AssetDownloadResponse.properties.task_id.description": "a0f4c185", + "components.schemas.AssetDownloadResponse.properties.status.description": "ae83d10b", + "components.schemas.AssetDownloadResponse.properties.message.description": "94f99686", + "components.schemas.ValidationResult.properties.is_valid.description": "390c577a", + "components.schemas.ValidationResult.properties.errors.description": "c7845276", + "components.schemas.ValidationResult.properties.warnings.description": "d31c84e1", + "components.schemas.ValidationError.properties.code.description": "061796ef", + "components.schemas.ValidationError.properties.message.description": "52710385", + "components.schemas.ValidationError.properties.field.description": "27e2f722", + "components.schemas.TagsModificationResponse.properties.added.description": "5295b81f", + "components.schemas.TagsModificationResponse.properties.removed.description": "4c8ef895", + "components.schemas.TagsModificationResponse.properties.already_present.description": "82f1a9f4", + "components.schemas.TagsModificationResponse.properties.not_present.description": "eda2418b", + "components.schemas.TagsModificationResponse.properties.total_tags.description": "8624f916", + "components.schemas.JobsListResponse.properties.jobs.description": "1f688b8f", + "components.schemas.JobEntry.description": "7a805733", + "components.schemas.JobEntry.properties.id.description": "f93d3d62", + "components.schemas.JobEntry.properties.status.description": "af4086ce", + "components.schemas.JobEntry.properties.execution_error.description": "8a30a680", + "components.schemas.JobEntry.properties.create_time.description": "f5934151", + "components.schemas.JobEntry.properties.preview_output.description": "b9f1d7cf", + "components.schemas.JobEntry.properties.outputs_count.description": "807cda55", + "components.schemas.JobEntry.properties.workflow_id.description": "0b426334", + "components.schemas.JobEntry.properties.execution_start_time.description": "69383f3e", + "components.schemas.JobEntry.properties.execution_end_time.description": "2591f1db", + "components.schemas.JobDetailResponse.description": "49829618", + "components.schemas.JobDetailResponse.properties.id.description": "f93d3d62", + "components.schemas.JobDetailResponse.properties.status.description": "af4086ce", + "components.schemas.JobDetailResponse.properties.workflow.description": "d762878a", + "components.schemas.JobDetailResponse.properties.execution_error.description": "8a30a680", + "components.schemas.JobDetailResponse.properties.create_time.description": "f5934151", + "components.schemas.JobDetailResponse.properties.update_time.description": "819034a6", + "components.schemas.JobDetailResponse.properties.outputs.description": "195e4fea", + "components.schemas.JobDetailResponse.properties.preview_output.description": "4c1a1d46", + "components.schemas.JobDetailResponse.properties.outputs_count.description": "807cda55", + "components.schemas.JobDetailResponse.properties.workflow_id.description": "0b426334", + "components.schemas.JobDetailResponse.properties.execution_status.description": "1dd387f5", + "components.schemas.JobDetailResponse.properties.execution_meta.description": "71c82705", + "components.schemas.ExecutionError.description": "c1a2a02f", + "components.schemas.ExecutionError.properties.node_id.description": "35b9bb62", + "components.schemas.ExecutionError.properties.node_type.description": "e01b871c", + "components.schemas.ExecutionError.properties.exception_message.description": "52710385", + "components.schemas.ExecutionError.properties.exception_type.description": "a89f7e4a", + "components.schemas.ExecutionError.properties.traceback.description": "6d16cab2", + "components.schemas.ExecutionError.properties.current_inputs.description": "990f08c6", + "components.schemas.ExecutionError.properties.current_outputs.description": "db99f540", + "components.schemas.PaginationInfo.properties.offset.description": "2d09b01f", + "components.schemas.PaginationInfo.properties.limit.description": "766a02e0", + "components.schemas.PaginationInfo.properties.total.description": "12d1e665", + "components.schemas.PaginationInfo.properties.has_more.description": "12cf4bc8", + "components.schemas.WebSocketMessage.description": "1b9493bc", + "components.schemas.WebSocketMessage.properties.data.description": "3ef21bd1", + "components.schemas.WebSocketMessageType.description": "ff5ab420", + "components.schemas.WebSocketStatusMessage.description": "e8ed9aec", + "components.schemas.WebSocketStatusMessage.properties.data.properties.status.properties.exec_info.properties.queue_remaining.description": "b3dc66fb", + "components.schemas.WebSocketStatusMessage.properties.data.properties.sid.description": "bb1a7e29", + "components.schemas.WebSocketExecutionStartMessage.description": "00d26cde", + "components.schemas.WebSocketExecutionStartMessage.properties.data.properties.prompt_id.description": "4ad1c477", + "components.schemas.WebSocketExecutingMessage.description": "ac82bacf", + "components.schemas.WebSocketExecutingMessage.properties.data.properties.node.description": "9a32812b", + "components.schemas.WebSocketExecutingMessage.properties.data.properties.display_node.description": "587c7bb7", + "components.schemas.WebSocketProgressMessage.description": "94538ba8", + "components.schemas.WebSocketProgressMessage.properties.data.properties.node.description": "cbfc559b", + "components.schemas.WebSocketProgressMessage.properties.data.properties.value.description": "0599a1ec", + "components.schemas.WebSocketProgressMessage.properties.data.properties.max.description": "45f0e07d", + "components.schemas.WebSocketProgressStateMessage.description": "962a70de", + "components.schemas.WebSocketProgressStateMessage.properties.data.properties.nodes.description": "19af397e", + "components.schemas.WebSocketProgressStateMessage.properties.data.properties.nodes.additionalProperties.properties.class_type.description": "a5457234", + "components.schemas.WebSocketExecutedMessage.description": "3c201ef5", + "components.schemas.WebSocketExecutedMessage.properties.data.properties.node.description": "27da189b", + "components.schemas.WebSocketExecutedMessage.properties.data.properties.display_node.description": "e5ef36f4", + "components.schemas.WebSocketExecutedMessage.properties.data.properties.output.description": "786615db", + "components.schemas.WebSocketExecutionSuccessMessage.description": "7908b492", + "components.schemas.WebSocketExecutionErrorMessage.description": "5f66cfd2", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.node_id.description": "c26b20dd", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.node_type.description": "f5f0daea", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.exception_type.description": "dc53c945", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.exception_message.description": "52710385", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.traceback.description": "68c0d01a", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.executed.description": "e97f14d0", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.current_inputs.description": "6829956b", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.current_outputs.description": "fec456ea", + "components.schemas.WebSocketExecutionCachedMessage.description": "25cdf4af", + "components.schemas.WebSocketExecutionCachedMessage.properties.data.properties.nodes.description": "c5e046e0", + "components.schemas.WebSocketExecutionInterruptedMessage.description": "bfa80551" + } +} diff --git a/openapi/.i18n/cloud.zh.json b/openapi/.i18n/cloud.zh.json new file mode 100644 index 000000000..900d8ffd1 --- /dev/null +++ b/openapi/.i18n/cloud.zh.json @@ -0,0 +1,623 @@ +{ + "translationSourceHash": "ff9adab0", + "translationFrom": "openapi/cloud.en.yaml", + "blockHashes": { + "info.description": "a897e13a", + "servers[0].description": "62a73ae1", + "tags[0].description": "69ba62e2", + "tags[1].description": "aa645c40", + "tags[2].description": "1cacf82d", + "tags[3].description": "b7c05a6c", + "tags[4].description": "4b1cfe67", + "tags[5].description": "a5025cf0", + "tags[6].description": "03509d96", + "tags[7].description": "a542dd06", + "paths./api/prompt.post.summary": "e18bc9d9", + "paths./api/prompt.post.description": "8f006957", + "paths./api/prompt.post.responses.200.description": "9d4a6a0b", + "paths./api/prompt.post.responses.400.description": "d223c4ff", + "paths./api/prompt.post.responses.402.description": "8384edeb", + "paths./api/prompt.post.responses.429.description": "645693a7", + "paths./api/prompt.post.responses.500.description": "f74d7444", + "paths./api/prompt.post.responses.503.description": "60bbf043", + "paths./api/prompt.get.summary": "56f41c49", + "paths./api/prompt.get.description": "57601bf6", + "paths./api/prompt.get.responses.200.description": "c88a0b90", + "paths./api/prompt.get.responses.401.description": "d089c8a9", + "paths./api/prompt.get.responses.500.description": "f74d7444", + "paths./api/object_info.get.summary": "d8a5e2ad", + "paths./api/object_info.get.description": "924a226c", + "paths./api/object_info.get.responses.200.description": "c88a0b90", + "paths./api/features.get.summary": "06d46bcb", + "paths./api/features.get.description": "bad57340", + "paths./api/features.get.responses.200.description": "c88a0b90", + "paths./api/features.get.responses.200.content.application/json.schema.properties.supports_preview_metadata.description": "0f595863", + "paths./api/features.get.responses.200.content.application/json.schema.properties.max_upload_size.description": "fab635f1", + "paths./api/workflow_templates.get.summary": "6bf8f808", + "paths./api/workflow_templates.get.description": "bd0b194b", + "paths./api/workflow_templates.get.responses.200.description": "c88a0b90", + "paths./api/workflow_templates.get.responses.200.content.application/json.schema.description": "6fc9d4d9", + "paths./api/global_subgraphs.get.summary": "74b3b0a0", + "paths./api/global_subgraphs.get.description": "4217953d", + "paths./api/global_subgraphs.get.responses.200.description": "663817c4", + "paths./api/global_subgraphs.get.responses.500.description": "f74d7444", + "paths./api/global_subgraphs/{id}.get.summary": "7d3b235c", + "paths./api/global_subgraphs/{id}.get.description": "530ea8f0", + "paths./api/global_subgraphs/{id}.get.parameters[0].description": "7a6e64e8", + "paths./api/global_subgraphs/{id}.get.responses.200.description": "a32e33bd", + "paths./api/global_subgraphs/{id}.get.responses.404.description": "c01fd723", + "paths./api/global_subgraphs/{id}.get.responses.500.description": "f74d7444", + "paths./api/experiment/models.get.summary": "f451570e", + "paths./api/experiment/models.get.description": "5ceb0f07", + "paths./api/experiment/models.get.responses.200.description": "d12b74be", + "paths./api/experiment/models.get.responses.500.description": "f74d7444", + "paths./api/experiment/models/{folder}.get.summary": "9ea96710", + "paths./api/experiment/models/{folder}.get.description": "13ab721b", + "paths./api/experiment/models/{folder}.get.parameters[0].description": "0355f067", + "paths./api/experiment/models/{folder}.get.responses.200.description": "f125edda", + "paths./api/experiment/models/{folder}.get.responses.404.description": "431cc143", + "paths./api/experiment/models/{folder}.get.responses.500.description": "f74d7444", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.summary": "3e8e5aab", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.description": "78cd6d10", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.parameters[0].description": "5e5906e2", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.parameters[1].description": "e88c4e55", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.parameters[2].description": "90dfc79e", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.responses.200.description": "5ec75c84", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.responses.404.description": "9698e2d2", + "paths./api/experiment/models/preview/{folder}/{path_index}/{filename}.get.responses.500.description": "f74d7444", + "paths./api/history.post.summary": "d1c8f18a", + "paths./api/history.post.description": "f36b6415", + "paths./api/history.post.responses.200.description": "a37fe352", + "paths./api/history.post.responses.400.description": "51443a02", + "paths./api/history.post.responses.401.description": "33835721", + "paths./api/history.post.responses.500.description": "f74d7444", + "paths./api/history_v2.get.summary": "1e522884", + "paths./api/history_v2.get.description": "9b176acb", + "paths./api/history_v2.get.parameters[0].description": "4fcfd7f3", + "paths./api/history_v2.get.parameters[1].description": "1be3cf2d", + "paths./api/history_v2.get.responses.200.description": "d90d8dae", + "paths./api/history_v2.get.responses.401.description": "33835721", + "paths./api/history_v2.get.responses.500.description": "f74d7444", + "paths./api/history_v2/{prompt_id}.get.summary": "372247d7", + "paths./api/history_v2/{prompt_id}.get.description": "0cda58a4", + "paths./api/history_v2/{prompt_id}.get.parameters[0].description": "bcc65bf2", + "paths./api/history_v2/{prompt_id}.get.responses.200.description": "1fa6797d", + "paths./api/history_v2/{prompt_id}.get.responses.401.description": "33835721", + "paths./api/history_v2/{prompt_id}.get.responses.404.description": "a3b61d69", + "paths./api/history_v2/{prompt_id}.get.responses.500.description": "f74d7444", + "paths./api/jobs.get.summary": "6aab8f40", + "paths./api/jobs.get.description": "2e1b7fbd", + "paths./api/jobs.get.parameters[0].description": "cbbb96eb", + "paths./api/jobs.get.parameters[1].description": "971c107a", + "paths./api/jobs.get.parameters[2].description": "11bad554", + "paths./api/jobs.get.parameters[3].description": "417d806a", + "paths./api/jobs.get.parameters[4].description": "5a185bef", + "paths./api/jobs.get.parameters[5].description": "671de500", + "paths./api/jobs.get.parameters[6].description": "f7d3335e", + "paths./api/jobs.get.responses.200.description": "84d19a9f", + "paths./api/jobs.get.responses.401.description": "33835721", + "paths./api/jobs.get.responses.500.description": "f74d7444", + "paths./api/jobs/{job_id}.get.summary": "99c1a0e1", + "paths./api/jobs/{job_id}.get.description": "ec94dabb", + "paths./api/jobs/{job_id}.get.parameters[0].description": "c4cc93ff", + "paths./api/jobs/{job_id}.get.responses.200.description": "b1c0d0d0", + "paths./api/jobs/{job_id}.get.responses.401.description": "33835721", + "paths./api/jobs/{job_id}.get.responses.403.description": "436033c0", + "paths./api/jobs/{job_id}.get.responses.404.description": "56930ecf", + "paths./api/jobs/{job_id}.get.responses.500.description": "f74d7444", + "paths./api/view.get.summary": "4815c7e6", + "paths./api/view.get.description": "e017923f", + "paths./api/view.get.parameters[0].description": "7c08d417", + "paths./api/view.get.parameters[1].description": "91701f76", + "paths./api/view.get.parameters[2].description": "42c68673", + "paths./api/view.get.parameters[3].description": "962ffa4c", + "paths./api/view.get.parameters[4].description": "98d087d6", + "paths./api/view.get.parameters[5].description": "63a76b8d", + "paths./api/view.get.parameters[6].description": "c4bd8b9c", + "paths./api/view.get.parameters[7].description": "2afcc04b", + "paths./api/view.get.parameters[8].description": "aedc7305", + "paths./api/view.get.responses.200.description": "f7508fa2", + "paths./api/view.get.responses.200.content.image/png.schema.description": "742cad60", + "paths./api/view.get.responses.302.description": "cfd67205", + "paths./api/view.get.responses.302.headers.Location.description": "d69da5a2", + "paths./api/view.get.responses.400.description": "51443a02", + "paths./api/view.get.responses.404.description": "3374baa7", + "paths./api/view.get.responses.500.description": "f74d7444", + "paths./api/files/mask-layers.get.summary": "9c8537ce", + "paths./api/files/mask-layers.get.description": "c97167ff", + "paths./api/files/mask-layers.get.parameters[0].description": "04f1d5e4", + "paths./api/files/mask-layers.get.responses.200.description": "ec023d97", + "paths./api/files/mask-layers.get.responses.200.content.application/json.schema.properties.mask.description": "87f7a1a5", + "paths./api/files/mask-layers.get.responses.200.content.application/json.schema.properties.paint.description": "ead5d8a6", + "paths./api/files/mask-layers.get.responses.200.content.application/json.schema.properties.painted.description": "3ac34bb0", + "paths./api/files/mask-layers.get.responses.200.content.application/json.schema.properties.painted_masked.description": "d308db0c", + "paths./api/files/mask-layers.get.responses.404.description": "d515d14c", + "paths./api/assets.get.summary": "d219eb93", + "paths./api/assets.get.description": "419cfcbf", + "paths./api/assets.get.parameters[0].description": "d33d4906", + "paths./api/assets.get.parameters[1].description": "1d41f8d7", + "paths./api/assets.get.parameters[2].description": "be78057f", + "paths./api/assets.get.parameters[3].description": "c0dc6e67", + "paths./api/assets.get.parameters[4].description": "8b0fb946", + "paths./api/assets.get.parameters[5].description": "bbcdc6de", + "paths./api/assets.get.parameters[6].description": "c9020b89", + "paths./api/assets.get.parameters[7].description": "3c9b3028", + "paths./api/assets.get.parameters[8].description": "4b675317", + "paths./api/assets.get.responses.200.description": "a63ffb68", + "paths./api/assets.get.responses.400.description": "51443a02", + "paths./api/assets.get.responses.401.description": "d089c8a9", + "paths./api/assets.get.responses.500.description": "f74d7444", + "paths./api/assets.post.summary": "d7419292", + "paths./api/assets.post.description": "131d6c37", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.file.description": "c54105c7", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.tags.description": "d31ca3df", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.id.description": "0ab13603", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.preview_id.description": "ed77d688", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.name.description": "9b574f2e", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.mime_type.description": "88cf9f70", + "paths./api/assets.post.requestBody.content.multipart/form-data.schema.properties.user_metadata.description": "53852ead", + "paths./api/assets.post.requestBody.content.application/json.schema.properties.url.description": "d1cd99d9", + "paths./api/assets.post.requestBody.content.application/json.schema.properties.name.description": "4375f65f", + "paths./api/assets.post.requestBody.content.application/json.schema.properties.tags.description": "d31ca3df", + "paths./api/assets.post.requestBody.content.application/json.schema.properties.user_metadata.description": "49d60c9d", + "paths./api/assets.post.requestBody.content.application/json.schema.properties.preview_id.description": "545abc91", + "paths./api/assets.post.responses.200.description": "636957d8", + "paths./api/assets.post.responses.201.description": "a79116c1", + "paths./api/assets.post.responses.400.description": "01eff0e1", + "paths./api/assets.post.responses.401.description": "d089c8a9", + "paths./api/assets.post.responses.403.description": "aa927b8a", + "paths./api/assets.post.responses.404.description": "fd4d737b", + "paths./api/assets.post.responses.413.description": "8a2819ca", + "paths./api/assets.post.responses.415.description": "5a4d5ddc", + "paths./api/assets.post.responses.422.description": "b571bc56", + "paths./api/assets.post.responses.500.description": "f74d7444", + "paths./api/assets/from-hash.post.summary": "722a6e6a", + "paths./api/assets/from-hash.post.description": "784aedbe", + "paths./api/assets/from-hash.post.requestBody.content.application/json.schema.properties.hash.description": "bd89ea56", + "paths./api/assets/from-hash.post.requestBody.content.application/json.schema.properties.name.description": "bf4a6069", + "paths./api/assets/from-hash.post.requestBody.content.application/json.schema.properties.tags.description": "d31ca3df", + "paths./api/assets/from-hash.post.requestBody.content.application/json.schema.properties.mime_type.description": "88cf9f70", + "paths./api/assets/from-hash.post.requestBody.content.application/json.schema.properties.user_metadata.description": "dee1e40c", + "paths./api/assets/from-hash.post.responses.200.description": "515d79a0", + "paths./api/assets/from-hash.post.responses.201.description": "e89d8509", + "paths./api/assets/from-hash.post.responses.400.description": "4d4efecf", + "paths./api/assets/from-hash.post.responses.401.description": "d089c8a9", + "paths./api/assets/from-hash.post.responses.404.description": "f2f60b63", + "paths./api/assets/from-hash.post.responses.500.description": "f74d7444", + "paths./api/assets/remote-metadata.get.summary": "fb506f10", + "paths./api/assets/remote-metadata.get.description": "b261d324", + "paths./api/assets/remote-metadata.get.parameters[0].description": "73553d18", + "paths./api/assets/remote-metadata.get.responses.200.description": "53cc4612", + "paths./api/assets/remote-metadata.get.responses.400.description": "4ba03b52", + "paths./api/assets/remote-metadata.get.responses.401.description": "d089c8a9", + "paths./api/assets/remote-metadata.get.responses.422.description": "b453c565", + "paths./api/assets/remote-metadata.get.responses.500.description": "f74d7444", + "paths./api/assets/download.post.summary": "97b750c2", + "paths./api/assets/download.post.description": "0c4db6ae", + "paths./api/assets/download.post.requestBody.content.application/json.schema.properties.source_url.description": "9c72ca37", + "paths./api/assets/download.post.requestBody.content.application/json.schema.properties.tags.description": "4de2ecd5", + "paths./api/assets/download.post.requestBody.content.application/json.schema.properties.user_metadata.description": "9be0e522", + "paths./api/assets/download.post.requestBody.content.application/json.schema.properties.preview_id.description": "877f7907", + "paths./api/assets/download.post.responses.200.description": "07453932", + "paths./api/assets/download.post.responses.202.description": "3f78e03a", + "paths./api/assets/download.post.responses.400.description": "fefd9147", + "paths./api/assets/download.post.responses.401.description": "d089c8a9", + "paths./api/assets/download.post.responses.422.description": "b81f8fe7", + "paths./api/assets/download.post.responses.500.description": "f74d7444", + "paths./api/assets/{id}.get.summary": "f36519b8", + "paths./api/assets/{id}.get.description": "be58023d", + "paths./api/assets/{id}.get.parameters[0].description": "03024133", + "paths./api/assets/{id}.get.responses.200.description": "17329a9e", + "paths./api/assets/{id}.get.responses.401.description": "d089c8a9", + "paths./api/assets/{id}.get.responses.404.description": "3965d196", + "paths./api/assets/{id}.get.responses.500.description": "f74d7444", + "paths./api/assets/{id}.put.summary": "30860585", + "paths./api/assets/{id}.put.description": "e0cc0d7f", + "paths./api/assets/{id}.put.parameters[0].description": "03024133", + "paths./api/assets/{id}.put.requestBody.content.application/json.schema.properties.name.description": "2eab953b", + "paths./api/assets/{id}.put.requestBody.content.application/json.schema.properties.tags.description": "a7adf866", + "paths./api/assets/{id}.put.requestBody.content.application/json.schema.properties.mime_type.description": "78c1732f", + "paths./api/assets/{id}.put.requestBody.content.application/json.schema.properties.preview_id.description": "870bf2a8", + "paths./api/assets/{id}.put.requestBody.content.application/json.schema.properties.user_metadata.description": "83f49e68", + "paths./api/assets/{id}.put.responses.200.description": "a4e3facf", + "paths./api/assets/{id}.put.responses.400.description": "ff24dc60", + "paths./api/assets/{id}.put.responses.401.description": "d089c8a9", + "paths./api/assets/{id}.put.responses.404.description": "3965d196", + "paths./api/assets/{id}.put.responses.500.description": "f74d7444", + "paths./api/assets/{id}.delete.summary": "49c2e3f1", + "paths./api/assets/{id}.delete.description": "b00d6c7f", + "paths./api/assets/{id}.delete.parameters[0].description": "03024133", + "paths./api/assets/{id}.delete.responses.204.description": "23100e30", + "paths./api/assets/{id}.delete.responses.401.description": "d089c8a9", + "paths./api/assets/{id}.delete.responses.404.description": "3965d196", + "paths./api/assets/{id}.delete.responses.500.description": "f74d7444", + "paths./api/assets/{id}/tags.post.summary": "7bdfe2ba", + "paths./api/assets/{id}/tags.post.description": "119fa54d", + "paths./api/assets/{id}/tags.post.parameters[0].description": "03024133", + "paths./api/assets/{id}/tags.post.requestBody.content.application/json.schema.properties.tags.description": "0ab3ffea", + "paths./api/assets/{id}/tags.post.responses.200.description": "9c160b68", + "paths./api/assets/{id}/tags.post.responses.400.description": "330509ca", + "paths./api/assets/{id}/tags.post.responses.401.description": "d089c8a9", + "paths./api/assets/{id}/tags.post.responses.404.description": "3965d196", + "paths./api/assets/{id}/tags.post.responses.500.description": "f74d7444", + "paths./api/assets/{id}/tags.delete.summary": "9acbea8e", + "paths./api/assets/{id}/tags.delete.description": "c3616a6f", + "paths./api/assets/{id}/tags.delete.parameters[0].description": "03024133", + "paths./api/assets/{id}/tags.delete.requestBody.content.application/json.schema.properties.tags.description": "ab43f7fa", + "paths./api/assets/{id}/tags.delete.responses.200.description": "cb4b899e", + "paths./api/assets/{id}/tags.delete.responses.400.description": "330509ca", + "paths./api/assets/{id}/tags.delete.responses.401.description": "d089c8a9", + "paths./api/assets/{id}/tags.delete.responses.404.description": "3965d196", + "paths./api/assets/{id}/tags.delete.responses.500.description": "f74d7444", + "paths./api/tags.get.summary": "7e246dd1", + "paths./api/tags.get.description": "a383ea75", + "paths./api/tags.get.parameters[0].description": "ad3c2fd2", + "paths./api/tags.get.parameters[1].description": "85b1830e", + "paths./api/tags.get.parameters[2].description": "8e2b7682", + "paths./api/tags.get.parameters[3].description": "45c40b0d", + "paths./api/tags.get.parameters[4].description": "46f01dc8", + "paths./api/tags.get.parameters[5].description": "71a019b6", + "paths./api/tags.get.responses.200.description": "126fe993", + "paths./api/tags.get.responses.400.description": "51443a02", + "paths./api/tags.get.responses.401.description": "d089c8a9", + "paths./api/tags.get.responses.500.description": "f74d7444", + "paths./api/assets/tags/refine.get.summary": "9e929b5e", + "paths./api/assets/tags/refine.get.description": "1b3162a1", + "paths./api/assets/tags/refine.get.parameters[0].description": "d33d4906", + "paths./api/assets/tags/refine.get.parameters[1].description": "1d41f8d7", + "paths./api/assets/tags/refine.get.parameters[2].description": "be78057f", + "paths./api/assets/tags/refine.get.parameters[3].description": "c0dc6e67", + "paths./api/assets/tags/refine.get.parameters[4].description": "2c5ce143", + "paths./api/assets/tags/refine.get.parameters[5].description": "4b675317", + "paths./api/assets/tags/refine.get.responses.200.description": "688fc2a2", + "paths./api/assets/tags/refine.get.responses.400.description": "51443a02", + "paths./api/assets/tags/refine.get.responses.401.description": "d089c8a9", + "paths./api/assets/tags/refine.get.responses.500.description": "f74d7444", + "paths./api/assets/hash/{hash}.head.summary": "399d1f6c", + "paths./api/assets/hash/{hash}.head.description": "28f304cc", + "paths./api/assets/hash/{hash}.head.parameters[0].description": "795939ec", + "paths./api/assets/hash/{hash}.head.responses.200.description": "1483796b", + "paths./api/assets/hash/{hash}.head.responses.400.description": "6132a19c", + "paths./api/assets/hash/{hash}.head.responses.401.description": "d089c8a9", + "paths./api/assets/hash/{hash}.head.responses.404.description": "3965d196", + "paths./api/assets/hash/{hash}.head.responses.500.description": "f74d7444", + "paths./api/queue.get.summary": "d7a35fd0", + "paths./api/queue.get.description": "0bd6e0c7", + "paths./api/queue.get.responses.200.description": "c88a0b90", + "paths./api/queue.get.responses.400.description": "51443a02", + "paths./api/queue.get.responses.500.description": "51443a02", + "paths./api/queue.post.summary": "e226367d", + "paths./api/queue.post.description": "bfeef736", + "paths./api/queue.post.responses.200.description": "c88a0b90", + "paths./api/queue.post.responses.400.description": "51443a02", + "paths./api/queue.post.responses.401.description": "d089c8a9", + "paths./api/queue.post.responses.500.description": "f74d7444", + "paths./api/interrupt.post.summary": "5ab111ef", + "paths./api/interrupt.post.description": "4f774fde", + "paths./api/interrupt.post.responses.200.description": "f5757880", + "paths./api/interrupt.post.responses.401.description": "33835721", + "paths./api/interrupt.post.responses.500.description": "f74d7444", + "paths./api/userdata.get.summary": "c96e6cc2", + "paths./api/userdata.get.description": "163a8d7b", + "paths./api/userdata.get.parameters[0].description": "2c82db2b", + "paths./api/userdata.get.parameters[1].description": "dbba18ba", + "paths./api/userdata.get.parameters[2].description": "0812ee53", + "paths./api/userdata.get.parameters[3].description": "9270d7ae", + "paths./api/userdata.get.responses.200.description": "1cc1c53e", + "paths./api/userdata.get.responses.400.description": "c890c6cb", + "paths./api/userdata.get.responses.401.description": "4da730e8", + "paths./api/userdata.get.responses.404.description": "64f2e674", + "paths./api/userdata.get.responses.500.description": "31d38bf9", + "paths./api/userdata/{file}.get.summary": "40d7b568", + "paths./api/userdata/{file}.get.description": "8194d532", + "paths./api/userdata/{file}.get.parameters[0].description": "c5fbbeaa", + "paths./api/userdata/{file}.get.responses.200.description": "291227aa", + "paths./api/userdata/{file}.get.responses.400.description": "c890c6cb", + "paths./api/userdata/{file}.get.responses.401.description": "4da730e8", + "paths./api/userdata/{file}.get.responses.404.description": "64f2e674", + "paths./api/userdata/{file}.get.responses.500.description": "31d38bf9", + "paths./api/userdata/{file}.post.summary": "85224dff", + "paths./api/userdata/{file}.post.description": "2f1ff50b", + "paths./api/userdata/{file}.post.parameters[0].description": "db2ba3bd", + "paths./api/userdata/{file}.post.parameters[1].description": "1c93c172", + "paths./api/userdata/{file}.post.parameters[2].description": "ed99f7dc", + "paths./api/userdata/{file}.post.responses.200.description": "6fdfce28", + "paths./api/userdata/{file}.post.responses.400.description": "e50bfea6", + "paths./api/userdata/{file}.post.responses.401.description": "4da730e8", + "paths./api/userdata/{file}.post.responses.403.description": "ac19722e", + "paths./api/userdata/{file}.post.responses.409.description": "24b97429", + "paths./api/userdata/{file}.post.responses.500.description": "31d38bf9", + "paths./api/userdata/{file}.delete.summary": "8d9bf468", + "paths./api/userdata/{file}.delete.description": "4157f4b3", + "paths./api/userdata/{file}.delete.parameters[0].description": "cfcf2324", + "paths./api/userdata/{file}.delete.responses.204.description": "ce141bab", + "paths./api/userdata/{file}.delete.responses.401.description": "4da730e8", + "paths./api/userdata/{file}.delete.responses.404.description": "b1439500", + "paths./api/userdata/{file}.delete.responses.500.description": "f8d0e720", + "paths./api/upload/image.post.summary": "90eb3492", + "paths./api/upload/image.post.description": "e33221c4", + "paths./api/upload/image.post.requestBody.content.multipart/form-data.schema.properties.image.description": "68137f6c", + "paths./api/upload/image.post.requestBody.content.multipart/form-data.schema.properties.overwrite.description": "34f6c70f", + "paths./api/upload/image.post.requestBody.content.multipart/form-data.schema.properties.subfolder.description": "10746083", + "paths./api/upload/image.post.requestBody.content.multipart/form-data.schema.properties.type.description": "db548cb4", + "paths./api/upload/image.post.responses.200.description": "54cc00ae", + "paths./api/upload/image.post.responses.200.content.application/json.schema.properties.name.description": "98003255", + "paths./api/upload/image.post.responses.200.content.application/json.schema.properties.subfolder.description": "6f79818c", + "paths./api/upload/image.post.responses.200.content.application/json.schema.properties.type.description": "3805d9b1", + "paths./api/upload/image.post.responses.400.description": "917ef22f", + "paths./api/upload/image.post.responses.401.description": "d089c8a9", + "paths./api/upload/image.post.responses.500.description": "f74d7444", + "paths./api/upload/mask.post.summary": "864609dc", + "paths./api/upload/mask.post.description": "3a0fe09a", + "paths./api/upload/mask.post.requestBody.content.multipart/form-data.schema.properties.image.description": "fb315681", + "paths./api/upload/mask.post.requestBody.content.multipart/form-data.schema.properties.original_ref.description": "77f8fccf", + "paths./api/upload/mask.post.responses.200.description": "15d1d615", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.name.description": "0d48eef6", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.subfolder.description": "a88a714d", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.type.description": "3805d9b1", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.description": "5ed3951e", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.is_mask.description": "4c63be24", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.original_hash.description": "731e1652", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.mask_type.description": "a2da3db7", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.related_files.description": "ba6e85d2", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.related_files.properties.mask.description": "3d54240d", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.related_files.properties.paint.description": "dd49cc63", + "paths./api/upload/mask.post.responses.200.content.application/json.schema.properties.metadata.properties.related_files.properties.painted.description": "aa9a4845", + "paths./api/upload/mask.post.responses.400.description": "917ef22f", + "paths./api/upload/mask.post.responses.401.description": "d089c8a9", + "paths./api/upload/mask.post.responses.500.description": "f74d7444", + "paths./api/system_stats.get.summary": "32c91374", + "paths./api/system_stats.get.description": "279164eb", + "paths./api/system_stats.get.responses.200.description": "c88a0b90", + "paths./api/system_stats.get.responses.401.description": "d089c8a9", + "paths./api/user.get.summary": "d450e272", + "paths./api/user.get.description": "fe93c6c1", + "paths./api/user.get.responses.200.description": "c88a0b90", + "paths./api/user.get.responses.401.description": "d089c8a9", + "paths./api/job/{job_id}/status.get.summary": "ea2c3f05", + "paths./api/job/{job_id}/status.get.description": "4de9b322", + "paths./api/job/{job_id}/status.get.parameters[0].description": "d226e6d9", + "paths./api/job/{job_id}/status.get.responses.200.description": "cceb90a6", + "paths./api/job/{job_id}/status.get.responses.401.description": "d089c8a9", + "paths./api/job/{job_id}/status.get.responses.403.description": "ef2bdeb1", + "paths./api/job/{job_id}/status.get.responses.404.description": "56930ecf", + "paths./api/job/{job_id}/status.get.responses.500.description": "f74d7444", + "components.securitySchemes.ApiKeyAuth.description": "fa3a7eff", + "components.schemas.PromptRequest.properties.prompt.description": "660b0029", + "components.schemas.PromptRequest.properties.number.description": "e22d65fd", + "components.schemas.PromptRequest.properties.front.description": "59b756f1", + "components.schemas.PromptRequest.properties.extra_data.description": "3d7a34db", + "components.schemas.PromptRequest.properties.partial_execution_targets.description": "53c2496b", + "components.schemas.PromptResponse.properties.prompt_id.description": "bb70f8b0", + "components.schemas.PromptResponse.properties.number.description": "83f46ae4", + "components.schemas.PromptResponse.properties.node_errors.description": "06e93b05", + "components.schemas.PromptInfo.properties.exec_info.properties.queue_remaining.description": "1486512f", + "components.schemas.NodeInfo.properties.input.description": "ed65da2e", + "components.schemas.NodeInfo.properties.input_order.description": "48896736", + "components.schemas.NodeInfo.properties.output.description": "cb58269e", + "components.schemas.NodeInfo.properties.output_is_list.description": "c92d404c", + "components.schemas.NodeInfo.properties.output_name.description": "7c594ff0", + "components.schemas.NodeInfo.properties.name.description": "c0f75295", + "components.schemas.NodeInfo.properties.display_name.description": "5ae7292f", + "components.schemas.NodeInfo.properties.description.description": "1ed56488", + "components.schemas.NodeInfo.properties.python_module.description": "47157ec5", + "components.schemas.NodeInfo.properties.category.description": "651e3703", + "components.schemas.NodeInfo.properties.output_node.description": "7ccdb618", + "components.schemas.NodeInfo.properties.output_tooltips.description": "ccb20f95", + "components.schemas.NodeInfo.properties.deprecated.description": "f26e26fb", + "components.schemas.NodeInfo.properties.experimental.description": "c8edf7a4", + "components.schemas.NodeInfo.properties.api_node.description": "22b94485", + "components.schemas.GlobalSubgraphInfo.description": "f952717a", + "components.schemas.GlobalSubgraphInfo.properties.source.description": "85f146ab", + "components.schemas.GlobalSubgraphInfo.properties.name.description": "ee110b73", + "components.schemas.GlobalSubgraphInfo.properties.info.description": "3d5b95b3", + "components.schemas.GlobalSubgraphInfo.properties.info.properties.node_pack.description": "42fe3748", + "components.schemas.GlobalSubgraphInfo.properties.data.description": "ea785a00", + "components.schemas.GlobalSubgraphData.description": "e652f1c6", + "components.schemas.GlobalSubgraphData.properties.source.description": "85f146ab", + "components.schemas.GlobalSubgraphData.properties.name.description": "ee110b73", + "components.schemas.GlobalSubgraphData.properties.info.description": "3d5b95b3", + "components.schemas.GlobalSubgraphData.properties.info.properties.node_pack.description": "42fe3748", + "components.schemas.GlobalSubgraphData.properties.data.description": "8a639105", + "components.schemas.HistoryResponse.description": "1e492c80", + "components.schemas.HistoryResponse.properties.history.description": "069e4e5d", + "components.schemas.HistoryEntry.description": "e4109161", + "components.schemas.HistoryEntry.properties.prompt_id.description": "344f47bb", + "components.schemas.HistoryEntry.properties.create_time.description": "5bc72ced", + "components.schemas.HistoryEntry.properties.workflow_id.description": "0b426334", + "components.schemas.HistoryEntry.properties.prompt.description": "e6f8c72a", + "components.schemas.HistoryEntry.properties.prompt.properties.priority.description": "c6d431ef", + "components.schemas.HistoryEntry.properties.prompt.properties.prompt_id.description": "41a750ee", + "components.schemas.HistoryEntry.properties.prompt.properties.extra_data.description": "05ffba92", + "components.schemas.HistoryEntry.properties.outputs.description": "abc5c0fe", + "components.schemas.HistoryEntry.properties.status.description": "8fe31548", + "components.schemas.HistoryEntry.properties.meta.description": "0457f8fe", + "components.schemas.HistoryDetailEntry.description": "e26818d2", + "components.schemas.HistoryDetailEntry.properties.prompt.description": "34315141", + "components.schemas.HistoryDetailEntry.properties.prompt.properties.priority.description": "c6d431ef", + "components.schemas.HistoryDetailEntry.properties.prompt.properties.prompt_id.description": "41a750ee", + "components.schemas.HistoryDetailEntry.properties.prompt.properties.prompt.description": "1807ca88", + "components.schemas.HistoryDetailEntry.properties.prompt.properties.extra_data.description": "22b52b5a", + "components.schemas.HistoryDetailEntry.properties.prompt.properties.outputs_to_execute.description": "2d025840", + "components.schemas.HistoryDetailEntry.properties.outputs.description": "abc5c0fe", + "components.schemas.HistoryDetailEntry.properties.status.description": "8fe31548", + "components.schemas.HistoryDetailEntry.properties.meta.description": "0457f8fe", + "components.schemas.HistoryDetailResponse.description": "5192bce6", + "components.schemas.QueueInfo.description": "63a8cce4", + "components.schemas.QueueInfo.properties.queue_running.description": "c48880b1", + "components.schemas.QueueInfo.properties.queue_pending.description": "027c6bc0", + "components.schemas.QueueItem.description": "18587373", + "components.schemas.QueueItem.items.oneOf[0].description": "1c711f2c", + "components.schemas.QueueItem.items.oneOf[1].description": "7979ecfb", + "components.schemas.QueueItem.items.oneOf[2].description": "7039c8a6", + "components.schemas.QueueItem.items.oneOf[3].description": "a1eefd4f", + "components.schemas.QueueItem.items.oneOf[4].description": "891fc028", + "components.schemas.QueueManageRequest.description": "daf760f3", + "components.schemas.QueueManageRequest.properties.delete.description": "8a5adfbf", + "components.schemas.QueueManageRequest.properties.clear.description": "15e7ced6", + "components.schemas.QueueManageResponse.properties.deleted.description": "32c292e5", + "components.schemas.QueueManageResponse.properties.cleared.description": "c293ad08", + "components.schemas.JobStatusResponse.description": "c8d8606a", + "components.schemas.JobStatusResponse.properties.id.description": "a85d11c5", + "components.schemas.JobStatusResponse.properties.status.description": "6b499919", + "components.schemas.JobStatusResponse.properties.created_at.description": "fe9151ae", + "components.schemas.JobStatusResponse.properties.updated_at.description": "26824c2c", + "components.schemas.JobStatusResponse.properties.last_state_update.description": "f6d50b96", + "components.schemas.JobStatusResponse.properties.assigned_inference.description": "0ca37fd6", + "components.schemas.JobStatusResponse.properties.error_message.description": "a6858a4a", + "components.schemas.HistoryManageRequest.description": "dc8883b1", + "components.schemas.HistoryManageRequest.properties.delete.description": "27e5a21e", + "components.schemas.HistoryManageRequest.properties.clear.description": "45456019", + "components.schemas.GetUserDataResponseFullFile.properties.path.description": "bbee456e", + "components.schemas.GetUserDataResponseFullFile.properties.size.description": "fd72ca52", + "components.schemas.GetUserDataResponseFullFile.properties.modified.description": "0c36826c", + "components.schemas.PromptErrorResponse.description": "1007d7b4", + "components.schemas.ModelFolder.description": "d4b89ee3", + "components.schemas.ModelFolder.properties.name.description": "3f53950a", + "components.schemas.ModelFolder.properties.folders.description": "56131619", + "components.schemas.ModelFile.description": "21bcbbdb", + "components.schemas.ModelFile.properties.name.description": "04af40da", + "components.schemas.ModelFile.properties.pathIndex.description": "fc9f2668", + "components.schemas.SystemStatsResponse.description": "6a76cd53", + "components.schemas.SystemStatsResponse.properties.system.properties.os.description": "0fcabfe6", + "components.schemas.SystemStatsResponse.properties.system.properties.python_version.description": "5e7036dd", + "components.schemas.SystemStatsResponse.properties.system.properties.embedded_python.description": "c1dcc542", + "components.schemas.SystemStatsResponse.properties.system.properties.comfyui_version.description": "906c7e1f", + "components.schemas.SystemStatsResponse.properties.system.properties.comfyui_frontend_version.description": "f6cf2e1b", + "components.schemas.SystemStatsResponse.properties.system.properties.workflow_templates_version.description": "1e00f4b7", + "components.schemas.SystemStatsResponse.properties.system.properties.cloud_version.description": "dff84e7b", + "components.schemas.SystemStatsResponse.properties.system.properties.pytorch_version.description": "e65e470b", + "components.schemas.SystemStatsResponse.properties.system.properties.argv.description": "f1fb2274", + "components.schemas.SystemStatsResponse.properties.system.properties.ram_total.description": "fb0cfbf5", + "components.schemas.SystemStatsResponse.properties.system.properties.ram_free.description": "764f775b", + "components.schemas.SystemStatsResponse.properties.devices.items.properties.name.description": "155106be", + "components.schemas.SystemStatsResponse.properties.devices.items.properties.type.description": "8562a30f", + "components.schemas.SystemStatsResponse.properties.devices.items.properties.vram_total.description": "30e5845d", + "components.schemas.SystemStatsResponse.properties.devices.items.properties.vram_free.description": "128544e5", + "components.schemas.UserResponse.description": "4faf06c4", + "components.schemas.UserResponse.properties.status.description": "dd7b7711", + "components.schemas.Asset.properties.id.description": "6cc5ed45", + "components.schemas.Asset.properties.name.description": "df96461c", + "components.schemas.Asset.properties.asset_hash.description": "88012a78", + "components.schemas.Asset.properties.size.description": "0390bb48", + "components.schemas.Asset.properties.mime_type.description": "9fef09cc", + "components.schemas.Asset.properties.tags.description": "fa661641", + "components.schemas.Asset.properties.user_metadata.description": "d7290956", + "components.schemas.Asset.properties.preview_url.description": "9a2eeed0", + "components.schemas.Asset.properties.preview_id.description": "b919111a", + "components.schemas.Asset.properties.prompt_id.description": "6d6c3af6", + "components.schemas.Asset.properties.created_at.description": "58973f18", + "components.schemas.Asset.properties.updated_at.description": "ed4e7259", + "components.schemas.Asset.properties.last_access_time.description": "3df526c8", + "components.schemas.Asset.properties.is_immutable.description": "fe703332", + "components.schemas.AssetCreated.allOf[1].properties.created_new.description": "4975ae7b", + "components.schemas.AssetUpdated.properties.id.description": "03024133", + "components.schemas.AssetUpdated.properties.name.description": "1fe7bf70", + "components.schemas.AssetUpdated.properties.asset_hash.description": "88012a78", + "components.schemas.AssetUpdated.properties.tags.description": "a7adf866", + "components.schemas.AssetUpdated.properties.mime_type.description": "78c1732f", + "components.schemas.AssetUpdated.properties.user_metadata.description": "83f49e68", + "components.schemas.AssetUpdated.properties.updated_at.description": "c3ddc7a4", + "components.schemas.ListAssetsResponse.properties.assets.description": "01a4a988", + "components.schemas.ListAssetsResponse.properties.total.description": "859cce90", + "components.schemas.ListAssetsResponse.properties.has_more.description": "a1683d7b", + "components.schemas.TagInfo.properties.name.description": "1ace926b", + "components.schemas.TagInfo.properties.count.description": "e76f07a2", + "components.schemas.ListTagsResponse.properties.tags.description": "cf884551", + "components.schemas.ListTagsResponse.properties.total.description": "70064140", + "components.schemas.ListTagsResponse.properties.has_more.description": "96c05938", + "components.schemas.AssetTagHistogramResponse.properties.tag_counts.description": "df123e40", + "components.schemas.AssetMetadataResponse.properties.content_length.description": "c07ec7b0", + "components.schemas.AssetMetadataResponse.properties.content_type.description": "9fef09cc", + "components.schemas.AssetMetadataResponse.properties.filename.description": "7359087b", + "components.schemas.AssetMetadataResponse.properties.name.description": "9c4d11ee", + "components.schemas.AssetMetadataResponse.properties.tags.description": "ce379428", + "components.schemas.AssetMetadataResponse.properties.preview_image.description": "33edcf3b", + "components.schemas.AssetMetadataResponse.properties.validation.description": "24012e43", + "components.schemas.AssetDownloadResponse.properties.task_id.description": "a0f4c185", + "components.schemas.AssetDownloadResponse.properties.status.description": "ae83d10b", + "components.schemas.AssetDownloadResponse.properties.message.description": "94f99686", + "components.schemas.ValidationResult.properties.is_valid.description": "390c577a", + "components.schemas.ValidationResult.properties.errors.description": "c7845276", + "components.schemas.ValidationResult.properties.warnings.description": "d31c84e1", + "components.schemas.ValidationError.properties.code.description": "061796ef", + "components.schemas.ValidationError.properties.message.description": "52710385", + "components.schemas.ValidationError.properties.field.description": "27e2f722", + "components.schemas.TagsModificationResponse.properties.added.description": "5295b81f", + "components.schemas.TagsModificationResponse.properties.removed.description": "4c8ef895", + "components.schemas.TagsModificationResponse.properties.already_present.description": "82f1a9f4", + "components.schemas.TagsModificationResponse.properties.not_present.description": "eda2418b", + "components.schemas.TagsModificationResponse.properties.total_tags.description": "8624f916", + "components.schemas.JobsListResponse.properties.jobs.description": "1f688b8f", + "components.schemas.JobEntry.description": "7a805733", + "components.schemas.JobEntry.properties.id.description": "f93d3d62", + "components.schemas.JobEntry.properties.status.description": "af4086ce", + "components.schemas.JobEntry.properties.execution_error.description": "8a30a680", + "components.schemas.JobEntry.properties.create_time.description": "f5934151", + "components.schemas.JobEntry.properties.preview_output.description": "b9f1d7cf", + "components.schemas.JobEntry.properties.outputs_count.description": "807cda55", + "components.schemas.JobEntry.properties.workflow_id.description": "0b426334", + "components.schemas.JobEntry.properties.execution_start_time.description": "69383f3e", + "components.schemas.JobEntry.properties.execution_end_time.description": "2591f1db", + "components.schemas.JobDetailResponse.description": "49829618", + "components.schemas.JobDetailResponse.properties.id.description": "f93d3d62", + "components.schemas.JobDetailResponse.properties.status.description": "af4086ce", + "components.schemas.JobDetailResponse.properties.workflow.description": "d762878a", + "components.schemas.JobDetailResponse.properties.execution_error.description": "8a30a680", + "components.schemas.JobDetailResponse.properties.create_time.description": "f5934151", + "components.schemas.JobDetailResponse.properties.update_time.description": "819034a6", + "components.schemas.JobDetailResponse.properties.outputs.description": "195e4fea", + "components.schemas.JobDetailResponse.properties.preview_output.description": "4c1a1d46", + "components.schemas.JobDetailResponse.properties.outputs_count.description": "807cda55", + "components.schemas.JobDetailResponse.properties.workflow_id.description": "0b426334", + "components.schemas.JobDetailResponse.properties.execution_status.description": "1dd387f5", + "components.schemas.JobDetailResponse.properties.execution_meta.description": "71c82705", + "components.schemas.ExecutionError.description": "c1a2a02f", + "components.schemas.ExecutionError.properties.node_id.description": "35b9bb62", + "components.schemas.ExecutionError.properties.node_type.description": "e01b871c", + "components.schemas.ExecutionError.properties.exception_message.description": "52710385", + "components.schemas.ExecutionError.properties.exception_type.description": "a89f7e4a", + "components.schemas.ExecutionError.properties.traceback.description": "6d16cab2", + "components.schemas.ExecutionError.properties.current_inputs.description": "990f08c6", + "components.schemas.ExecutionError.properties.current_outputs.description": "db99f540", + "components.schemas.PaginationInfo.properties.offset.description": "2d09b01f", + "components.schemas.PaginationInfo.properties.limit.description": "766a02e0", + "components.schemas.PaginationInfo.properties.total.description": "12d1e665", + "components.schemas.PaginationInfo.properties.has_more.description": "12cf4bc8", + "components.schemas.WebSocketMessage.description": "1b9493bc", + "components.schemas.WebSocketMessage.properties.data.description": "3ef21bd1", + "components.schemas.WebSocketMessageType.description": "ff5ab420", + "components.schemas.WebSocketStatusMessage.description": "e8ed9aec", + "components.schemas.WebSocketStatusMessage.properties.data.properties.status.properties.exec_info.properties.queue_remaining.description": "b3dc66fb", + "components.schemas.WebSocketStatusMessage.properties.data.properties.sid.description": "bb1a7e29", + "components.schemas.WebSocketExecutionStartMessage.description": "00d26cde", + "components.schemas.WebSocketExecutionStartMessage.properties.data.properties.prompt_id.description": "4ad1c477", + "components.schemas.WebSocketExecutingMessage.description": "ac82bacf", + "components.schemas.WebSocketExecutingMessage.properties.data.properties.node.description": "9a32812b", + "components.schemas.WebSocketExecutingMessage.properties.data.properties.display_node.description": "587c7bb7", + "components.schemas.WebSocketProgressMessage.description": "94538ba8", + "components.schemas.WebSocketProgressMessage.properties.data.properties.node.description": "cbfc559b", + "components.schemas.WebSocketProgressMessage.properties.data.properties.value.description": "0599a1ec", + "components.schemas.WebSocketProgressMessage.properties.data.properties.max.description": "45f0e07d", + "components.schemas.WebSocketProgressStateMessage.description": "962a70de", + "components.schemas.WebSocketProgressStateMessage.properties.data.properties.nodes.description": "19af397e", + "components.schemas.WebSocketProgressStateMessage.properties.data.properties.nodes.additionalProperties.properties.class_type.description": "a5457234", + "components.schemas.WebSocketExecutedMessage.description": "3c201ef5", + "components.schemas.WebSocketExecutedMessage.properties.data.properties.node.description": "27da189b", + "components.schemas.WebSocketExecutedMessage.properties.data.properties.display_node.description": "e5ef36f4", + "components.schemas.WebSocketExecutedMessage.properties.data.properties.output.description": "786615db", + "components.schemas.WebSocketExecutionSuccessMessage.description": "7908b492", + "components.schemas.WebSocketExecutionErrorMessage.description": "5f66cfd2", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.node_id.description": "c26b20dd", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.node_type.description": "f5f0daea", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.exception_type.description": "dc53c945", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.exception_message.description": "52710385", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.traceback.description": "68c0d01a", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.executed.description": "e97f14d0", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.current_inputs.description": "6829956b", + "components.schemas.WebSocketExecutionErrorMessage.properties.data.properties.current_outputs.description": "fec456ea", + "components.schemas.WebSocketExecutionCachedMessage.description": "25cdf4af", + "components.schemas.WebSocketExecutionCachedMessage.properties.data.properties.nodes.description": "c5e046e0", + "components.schemas.WebSocketExecutionInterruptedMessage.description": "bfa80551" + } +} diff --git a/openapi/.i18n/registry.ja.json b/openapi/.i18n/registry.ja.json new file mode 100644 index 000000000..303170f64 --- /dev/null +++ b/openapi/.i18n/registry.ja.json @@ -0,0 +1,5462 @@ +{ + "translationSourceHash": "f7e0ff5a", + "translationFrom": "openapi/registry.en.yaml", + "blockHashes": { + "components.parameters.PixverseAiTraceId.description": "d0e75bc6", + "components.schemas.APIKeyWithPlaintext.allOf[1].properties.plaintext_key.description": "6ddb56d5", + "components.schemas.ActionJobResult.properties.action_job_id.description": "daef6d2e", + "components.schemas.ActionJobResult.properties.action_run_id.description": "e793b185", + "components.schemas.ActionJobResult.properties.author.description": "ca8d53a3", + "components.schemas.ActionJobResult.properties.avg_vram.description": "e3020151", + "components.schemas.ActionJobResult.properties.branch_name.description": "8a98b89f", + "components.schemas.ActionJobResult.properties.comfy_run_flags.description": "749d26e1", + "components.schemas.ActionJobResult.properties.commit_hash.description": "5d73c6d8", + "components.schemas.ActionJobResult.properties.commit_id.description": "3908dd37", + "components.schemas.ActionJobResult.properties.commit_message.description": "4db956a2", + "components.schemas.ActionJobResult.properties.commit_time.description": "9a8b6a6c", + "components.schemas.ActionJobResult.properties.cuda_version.description": "fd9fdd17", + "components.schemas.ActionJobResult.properties.end_time.description": "3c8b1181", + "components.schemas.ActionJobResult.properties.git_repo.description": "921f3564", + "components.schemas.ActionJobResult.properties.id.description": "f7170612", + "components.schemas.ActionJobResult.properties.job_trigger_user.description": "ae3f4f9b", + "components.schemas.ActionJobResult.properties.operating_system.description": "0c210883", + "components.schemas.ActionJobResult.properties.peak_vram.description": "97291f7c", + "components.schemas.ActionJobResult.properties.pr_number.description": "4a1cf9cc", + "components.schemas.ActionJobResult.properties.python_version.description": "baae61e6", + "components.schemas.ActionJobResult.properties.pytorch_version.description": "baae61e6", + "components.schemas.ActionJobResult.properties.start_time.description": "df9e2884", + "components.schemas.ActionJobResult.properties.workflow_name.description": "c3ec1b65", + "components.schemas.AnthropicCacheCreationUsage.description": "19775c6a", + "components.schemas.AnthropicCreateMessageRequest.description": "fdb8999b", + "components.schemas.AnthropicCreateMessageRequest.properties.max_tokens.description": "ff6bb043", + "components.schemas.AnthropicCreateMessageRequest.properties.messages.description": "434935e9", + "components.schemas.AnthropicCreateMessageRequest.properties.model.description": "d23996fe", + "components.schemas.AnthropicCreateMessageRequest.properties.stream.description": "35425c62", + "components.schemas.AnthropicCreateMessageRequest.properties.system.description": "71314cd6", + "components.schemas.AnthropicCreateMessageResponse.description": "bbbc4c19", + "components.schemas.AnthropicMessageParam.description": "5d21dee7", + "components.schemas.AnthropicMessageParam.properties.content.description": "1fc73a17", + "components.schemas.AnthropicMessagesUsage.description": "26a61cdf", + "components.schemas.AuditLog.properties.createdAt.description": "2e240dfe", + "components.schemas.AuditLog.properties.event_id.description": "16361c3c", + "components.schemas.AuditLog.properties.event_type.description": "710c7cce", + "components.schemas.AuditLog.properties.params.description": "9ee7be5d", + "components.schemas.BFLCannyInputs.properties.canny_high_threshold.description": "7b3cc51e", + "components.schemas.BFLCannyInputs.properties.canny_low_threshold.description": "0e343825", + "components.schemas.BFLCannyInputs.properties.control_image.description": "551169bc", + "components.schemas.BFLCannyInputs.properties.guidance.description": "25be3f6c", + "components.schemas.BFLCannyInputs.properties.output_format.description": "024c37ce", + "components.schemas.BFLCannyInputs.properties.preprocessed_image.description": "d0c836b6", + "components.schemas.BFLCannyInputs.properties.prompt.description": "80e0d34a", + "components.schemas.BFLCannyInputs.properties.prompt_upsampling.description": "45115ff8", + "components.schemas.BFLCannyInputs.properties.safety_tolerance.description": "30884eb3", + "components.schemas.BFLCannyInputs.properties.seed.description": "5efb4870", + "components.schemas.BFLCannyInputs.properties.steps.description": "db9e6222", + "components.schemas.BFLCannyInputs.properties.webhook_secret.description": "6666be04", + "components.schemas.BFLCannyInputs.properties.webhook_url.description": "a421e9a7", + "components.schemas.BFLDepthInputs.properties.control_image.description": "e83048ef", + "components.schemas.BFLDepthInputs.properties.guidance.description": "25be3f6c", + "components.schemas.BFLDepthInputs.properties.output_format.description": "024c37ce", + "components.schemas.BFLDepthInputs.properties.preprocessed_image.description": "d0c836b6", + "components.schemas.BFLDepthInputs.properties.prompt.description": "80e0d34a", + "components.schemas.BFLDepthInputs.properties.prompt_upsampling.description": "45115ff8", + "components.schemas.BFLDepthInputs.properties.safety_tolerance.description": "30884eb3", + "components.schemas.BFLDepthInputs.properties.seed.description": "5efb4870", + "components.schemas.BFLDepthInputs.properties.steps.description": "db9e6222", + "components.schemas.BFLDepthInputs.properties.webhook_secret.description": "6666be04", + "components.schemas.BFLDepthInputs.properties.webhook_url.description": "a421e9a7", + "components.schemas.BFLEraseV1Request.description": "b86118a5", + "components.schemas.BFLEraseV1Request.properties.dilate_pixels.description": "bb705848", + "components.schemas.BFLEraseV1Request.properties.image.description": "beed3eb4", + "components.schemas.BFLEraseV1Request.properties.mask.description": "1db35db3", + "components.schemas.BFLEraseV1Request.properties.safety_tolerance.description": "9759db77", + "components.schemas.BFLEraseV1Request.properties.seed.description": "00512dbf", + "components.schemas.BFLEraseV1Request.properties.webhook_secret.description": "7535eb93", + "components.schemas.BFLEraseV1Request.properties.webhook_url.description": "ab936c6b", + "components.schemas.BFLFlux2ProGenerateRequest.description": "7a3d4121", + "components.schemas.BFLFlux2ProGenerateRequest.properties.height.description": "c7eee913", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_2.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_3.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_4.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_5.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_6.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_7.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_8.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_9.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.output_format.description": "8e5447a3", + "components.schemas.BFLFlux2ProGenerateRequest.properties.prompt.description": "cc7ceb3a", + "components.schemas.BFLFlux2ProGenerateRequest.properties.prompt_upsampling.description": "c8855729", + "components.schemas.BFLFlux2ProGenerateRequest.properties.safety_tolerance.description": "7afeee5f", + "components.schemas.BFLFlux2ProGenerateRequest.properties.seed.description": "83baff8c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.width.description": "d193c292", + "components.schemas.BFLFluxKontextMaxGenerateRequest.properties.guidance.description": "878d4a1e", + "components.schemas.BFLFluxKontextMaxGenerateRequest.properties.input_image.description": "08095ed0", + "components.schemas.BFLFluxKontextMaxGenerateRequest.properties.prompt.description": "02a16457", + "components.schemas.BFLFluxKontextMaxGenerateRequest.properties.steps.description": "9738299f", + "components.schemas.BFLFluxKontextMaxGenerateResponse.properties.id.description": "663380ea", + "components.schemas.BFLFluxKontextMaxGenerateResponse.properties.polling_url.description": "f719be1b", + "components.schemas.BFLFluxKontextProGenerateRequest.properties.guidance.description": "878d4a1e", + "components.schemas.BFLFluxKontextProGenerateRequest.properties.input_image.description": "08095ed0", + "components.schemas.BFLFluxKontextProGenerateRequest.properties.prompt.description": "02a16457", + "components.schemas.BFLFluxKontextProGenerateRequest.properties.steps.description": "9738299f", + "components.schemas.BFLFluxKontextProGenerateResponse.properties.id.description": "663380ea", + "components.schemas.BFLFluxKontextProGenerateResponse.properties.polling_url.description": "f719be1b", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.height.description": "5b105659", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.image_prompt.description": "b8130025", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.output_format.description": "ebb90ddf", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.prompt.description": "bd498b60", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.prompt_upsampling.description": "15678a13", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.safety_tolerance.description": "e837a919", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.seed.description": "92b1d65d", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.webhook_secret.description": "19b34e1a", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.webhook_url.description": "8f50f2ae", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.width.description": "396ef2bd", + "components.schemas.BFLFluxPro1_1GenerateResponse.properties.id.description": "663380ea", + "components.schemas.BFLFluxPro1_1GenerateResponse.properties.polling_url.description": "f719be1b", + "components.schemas.BFLFluxProExpandInputs.properties.bottom.description": "1d502329", + "components.schemas.BFLFluxProExpandInputs.properties.guidance.description": "25be3f6c", + "components.schemas.BFLFluxProExpandInputs.properties.image.description": "19ad8e9b", + "components.schemas.BFLFluxProExpandInputs.properties.left.description": "85f66e6d", + "components.schemas.BFLFluxProExpandInputs.properties.output_format.description": "024c37ce", + "components.schemas.BFLFluxProExpandInputs.properties.prompt.description": "1a3cc2b7", + "components.schemas.BFLFluxProExpandInputs.properties.prompt_upsampling.description": "010ead89", + "components.schemas.BFLFluxProExpandInputs.properties.right.description": "2d73d428", + "components.schemas.BFLFluxProExpandInputs.properties.safety_tolerance.description": "30884eb3", + "components.schemas.BFLFluxProExpandInputs.properties.seed.description": "5efb4870", + "components.schemas.BFLFluxProExpandInputs.properties.steps.description": "db9e6222", + "components.schemas.BFLFluxProExpandInputs.properties.top.description": "22511d07", + "components.schemas.BFLFluxProExpandInputs.properties.webhook_secret.description": "6666be04", + "components.schemas.BFLFluxProExpandInputs.properties.webhook_url.description": "a421e9a7", + "components.schemas.BFLFluxProFillInputs.properties.guidance.description": "25be3f6c", + "components.schemas.BFLFluxProFillInputs.properties.image.description": "5fbf6fd9", + "components.schemas.BFLFluxProFillInputs.properties.mask.description": "0d4c1744", + "components.schemas.BFLFluxProFillInputs.properties.output_format.description": "024c37ce", + "components.schemas.BFLFluxProFillInputs.properties.prompt.description": "b3452b93", + "components.schemas.BFLFluxProFillInputs.properties.prompt_upsampling.description": "010ead89", + "components.schemas.BFLFluxProFillInputs.properties.safety_tolerance.description": "30884eb3", + "components.schemas.BFLFluxProFillInputs.properties.seed.description": "5efb4870", + "components.schemas.BFLFluxProFillInputs.properties.steps.description": "db9e6222", + "components.schemas.BFLFluxProFillInputs.properties.webhook_secret.description": "6666be04", + "components.schemas.BFLFluxProFillInputs.properties.webhook_url.description": "a421e9a7", + "components.schemas.BFLFluxProGenerateRequest.description": "53bbc5c5", + "components.schemas.BFLFluxProGenerateRequest.properties.guidance_scale.description": "28069e51", + "components.schemas.BFLFluxProGenerateRequest.properties.height.description": "cec942d6", + "components.schemas.BFLFluxProGenerateRequest.properties.negative_prompt.description": "d3185df1", + "components.schemas.BFLFluxProGenerateRequest.properties.num_images.description": "4b673228", + "components.schemas.BFLFluxProGenerateRequest.properties.num_inference_steps.description": "dd1abe86", + "components.schemas.BFLFluxProGenerateRequest.properties.prompt.description": "f1416aa5", + "components.schemas.BFLFluxProGenerateRequest.properties.seed.description": "2ea650a9", + "components.schemas.BFLFluxProGenerateRequest.properties.width.description": "ebc37ae7", + "components.schemas.BFLFluxProGenerateResponse.description": "fe818853", + "components.schemas.BFLFluxProGenerateResponse.properties.cost.description": "76c7ac53", + "components.schemas.BFLFluxProGenerateResponse.properties.id.description": "c932383d", + "components.schemas.BFLFluxProGenerateResponse.properties.input_mp.description": "c888b0b5", + "components.schemas.BFLFluxProGenerateResponse.properties.output_mp.description": "e2725759", + "components.schemas.BFLFluxProGenerateResponse.properties.polling_url.description": "c6006f2c", + "components.schemas.BFLVtoV1Request.description": "0a8deea8", + "components.schemas.BFLVtoV1Request.properties.garment.description": "653b8dc3", + "components.schemas.BFLVtoV1Request.properties.person.description": "a78e9043", + "components.schemas.BFLVtoV1Request.properties.prompt.description": "5875e01e", + "components.schemas.BFLVtoV1Request.properties.safety_tolerance.description": "b53d1af0", + "components.schemas.BFLVtoV1Request.properties.seed.description": "00512dbf", + "components.schemas.BFLVtoV1Request.properties.webhook_secret.description": "7535eb93", + "components.schemas.BFLVtoV1Request.properties.webhook_url.description": "ab936c6b", + "components.schemas.BeebleAlphaMode.description": "76af500f", + "components.schemas.BeebleCreateSwitchXRequest.description": "f202cc17", + "components.schemas.BeebleCreateSwitchXRequest.properties.alpha_uri.description": "5339d42d", + "components.schemas.BeebleCreateSwitchXRequest.properties.callback_url.description": "edefe34b", + "components.schemas.BeebleCreateSwitchXRequest.properties.idempotency_key.description": "56fd73c6", + "components.schemas.BeebleCreateSwitchXRequest.properties.max_resolution.description": "71467e7c", + "components.schemas.BeebleCreateSwitchXRequest.properties.prompt.description": "8b32a4d1", + "components.schemas.BeebleCreateSwitchXRequest.properties.reference_image_uri.description": "fa798ae1", + "components.schemas.BeebleCreateSwitchXRequest.properties.source_uri.description": "c29a8863", + "components.schemas.BeebleGenerationType.description": "0fcd33bb", + "components.schemas.BeebleSwitchXOutputUrls.description": "6ebb4862", + "components.schemas.BeebleSwitchXOutputUrls.properties.alpha.description": "c0109dc4", + "components.schemas.BeebleSwitchXOutputUrls.properties.render.description": "9c19881a", + "components.schemas.BeebleSwitchXOutputUrls.properties.source.description": "3f05b55e", + "components.schemas.BeebleSwitchXStatusResponse.description": "c99a04e8", + "components.schemas.BeebleSwitchXStatusResponse.properties.alpha_mode.description": "e050ea0f", + "components.schemas.BeebleSwitchXStatusResponse.properties.completed_at.description": "9ad53e82", + "components.schemas.BeebleSwitchXStatusResponse.properties.created_at.description": "956de41a", + "components.schemas.BeebleSwitchXStatusResponse.properties.error.description": "be838a66", + "components.schemas.BeebleSwitchXStatusResponse.properties.generation_type.description": "de19e25c", + "components.schemas.BeebleSwitchXStatusResponse.properties.id.description": "c8adadc7", + "components.schemas.BeebleSwitchXStatusResponse.properties.modified_at.description": "d0c43a8f", + "components.schemas.BeebleSwitchXStatusResponse.properties.output.description": "ca06c135", + "components.schemas.BeebleSwitchXStatusResponse.properties.progress.description": "07ef3e6a", + "components.schemas.BeebleSwitchXStatusResponse.properties.status.description": "ed399377", + "components.schemas.BeebleSwitchXStatusResponse.properties.webhook.description": "3034e5a2", + "components.schemas.BeebleUploadRequest.description": "3c73d4b5", + "components.schemas.BeebleUploadRequest.properties.filename.description": "3c2f852d", + "components.schemas.BeebleUploadResponse.description": "1583b2c9", + "components.schemas.BeebleUploadResponse.properties.beeble_uri.description": "40e3256a", + "components.schemas.BeebleUploadResponse.properties.id.description": "82426d10", + "components.schemas.BeebleUploadResponse.properties.upload_url.description": "28a7d80a", + "components.schemas.BeebleWebhookStatus.description": "cab210b2", + "components.schemas.BeebleWebhookStatus.properties.attempts.description": "549b632e", + "components.schemas.BeebleWebhookStatus.properties.last_error.description": "b95f2fbe", + "components.schemas.BeebleWebhookStatus.properties.status.description": "7e26782c", + "components.schemas.BriaAsyncResponse.description": "b241d044", + "components.schemas.BriaAsyncResponse.properties.request_id.description": "b113d99c", + "components.schemas.BriaAsyncResponse.properties.status_url.description": "75187147", + "components.schemas.BriaAsyncResponse.properties.warning.description": "167dca56", + "components.schemas.BriaErrorResponse.description": "b0bb76c6", + "components.schemas.BriaErrorResponse.properties.error.properties.code.description": "a148e2a1", + "components.schemas.BriaErrorResponse.properties.error.properties.details.description": "add98b42", + "components.schemas.BriaErrorResponse.properties.error.properties.message.description": "d0e4554d", + "components.schemas.BriaErrorResponse.properties.request_id.description": "b113d99c", + "components.schemas.BriaFiboEditRequest.description": "ec0093c0", + "components.schemas.BriaFiboEditRequest.properties.guidance_scale.description": "d7057805", + "components.schemas.BriaFiboEditRequest.properties.images.description": "ab2ecd3f", + "components.schemas.BriaFiboEditRequest.properties.instruction.description": "d7dc59e5", + "components.schemas.BriaFiboEditRequest.properties.ip_signal.description": "8efb502e", + "components.schemas.BriaFiboEditRequest.properties.mask.description": "c47e22bd", + "components.schemas.BriaFiboEditRequest.properties.model_version.description": "796582a3", + "components.schemas.BriaFiboEditRequest.properties.negative_prompt.description": "860767b9", + "components.schemas.BriaFiboEditRequest.properties.prompt_content_moderation.description": "8d552f1a", + "components.schemas.BriaFiboEditRequest.properties.seed.description": "2b29ee4d", + "components.schemas.BriaFiboEditRequest.properties.steps_num.description": "97723e83", + "components.schemas.BriaFiboEditRequest.properties.structured_instruction.description": "abae2e88", + "components.schemas.BriaFiboEditRequest.properties.visual_input_content_moderation.description": "cbe35d19", + "components.schemas.BriaFiboEditRequest.properties.visual_output_content_moderation.description": "435dc252", + "components.schemas.BriaImageRemoveBackgroundRequest.description": "45477053", + "components.schemas.BriaImageRemoveBackgroundRequest.properties.image.description": "604d546c", + "components.schemas.BriaImageRemoveBackgroundRequest.properties.preserve_alpha.description": "d9e37591", + "components.schemas.BriaImageRemoveBackgroundRequest.properties.sync.description": "8cab0293", + "components.schemas.BriaImageRemoveBackgroundRequest.properties.visual_input_content_moderation.description": "d4f43c8d", + "components.schemas.BriaImageRemoveBackgroundRequest.properties.visual_output_content_moderation.description": "1dd1c2b5", + "components.schemas.BriaStatusNotFoundResponse.description": "38f58cd5", + "components.schemas.BriaStatusResponse.description": "b160872f", + "components.schemas.BriaStatusResponse.properties.error.description": "673ac8e3", + "components.schemas.BriaStatusResponse.properties.error.properties.code.description": "a148e2a1", + "components.schemas.BriaStatusResponse.properties.error.properties.details.description": "add98b42", + "components.schemas.BriaStatusResponse.properties.error.properties.message.description": "d0e4554d", + "components.schemas.BriaStatusResponse.properties.request_id.description": "b113d99c", + "components.schemas.BriaStatusResponse.properties.result.description": "bb8ae65a", + "components.schemas.BriaStatusResponse.properties.result.properties.image_url.description": "0d6f292f", + "components.schemas.BriaStatusResponse.properties.result.properties.prompt.description": "32df02db", + "components.schemas.BriaStatusResponse.properties.result.properties.refined_prompt.description": "f65f85bd", + "components.schemas.BriaStatusResponse.properties.result.properties.seed.description": "05ae5139", + "components.schemas.BriaStatusResponse.properties.result.properties.structured_prompt.description": "5ae65eb7", + "components.schemas.BriaStatusResponse.properties.result.properties.video_url.description": "d14bb11d", + "components.schemas.BriaStatusResponse.properties.status.description": "d7cf3a1e", + "components.schemas.BriaStructuredInstructionRequest.description": "3b99b4d0", + "components.schemas.BriaStructuredInstructionRequest.properties.images.description": "16c040f9", + "components.schemas.BriaStructuredInstructionRequest.properties.instruction.description": "5325adc2", + "components.schemas.BriaStructuredInstructionRequest.properties.ip_signal.description": "8efb502e", + "components.schemas.BriaStructuredInstructionRequest.properties.mask.description": "c47e22bd", + "components.schemas.BriaStructuredInstructionRequest.properties.prompt_content_moderation.description": "8d552f1a", + "components.schemas.BriaStructuredInstructionRequest.properties.seed.description": "2b29ee4d", + "components.schemas.BriaStructuredInstructionRequest.properties.visual_input_content_moderation.description": "cbe35d19", + "components.schemas.BriaVideoGreenScreenRequest.description": "46705fe5", + "components.schemas.BriaVideoGreenScreenRequest.properties.green_shade.description": "ed3a779f", + "components.schemas.BriaVideoGreenScreenRequest.properties.output_container_and_codec.description": "37f2d2e1", + "components.schemas.BriaVideoGreenScreenRequest.properties.preserve_audio.description": "487118bd", + "components.schemas.BriaVideoGreenScreenRequest.properties.video.description": "ea578bac", + "components.schemas.BriaVideoRemoveBackgroundRequest.description": "68f87c30", + "components.schemas.BriaVideoRemoveBackgroundRequest.properties.background_color.description": "77420966", + "components.schemas.BriaVideoRemoveBackgroundRequest.properties.output_container_and_codec.description": "37f2d2e1", + "components.schemas.BriaVideoRemoveBackgroundRequest.properties.preserve_audio.description": "487118bd", + "components.schemas.BriaVideoRemoveBackgroundRequest.properties.video.description": "ea578bac", + "components.schemas.BriaVideoReplaceBackgroundRequest.description": "1b3a195e", + "components.schemas.BriaVideoReplaceBackgroundRequest.properties.background_url.description": "a7ce7d45", + "components.schemas.BriaVideoReplaceBackgroundRequest.properties.output_container_and_codec.description": "37f2d2e1", + "components.schemas.BriaVideoReplaceBackgroundRequest.properties.preserve_audio.description": "059c4087", + "components.schemas.BriaVideoReplaceBackgroundRequest.properties.video.description": "2c8588b9", + "components.schemas.BulkNodeVersionResult.properties.error_message.description": "15860572", + "components.schemas.BulkNodeVersionResult.properties.status.description": "9e24ea2a", + "components.schemas.BulkNodeVersionsRequest.properties.node_versions.description": "a7356a2d", + "components.schemas.BulkNodeVersionsResponse.properties.node_versions.description": "5592cc6d", + "components.schemas.BytePlusFile.description": "983aadb6", + "components.schemas.BytePlusFile.properties.bytes.description": "f005c966", + "components.schemas.BytePlusFile.properties.created_at.description": "f600f964", + "components.schemas.BytePlusFile.properties.error.description": "33574cdb", + "components.schemas.BytePlusFile.properties.error.properties.code.description": "a148e2a1", + "components.schemas.BytePlusFile.properties.error.properties.message.description": "3537af57", + "components.schemas.BytePlusFile.properties.expire_at.description": "029714f4", + "components.schemas.BytePlusFile.properties.id.description": "5bb2d03f", + "components.schemas.BytePlusFile.properties.mime_type.description": "8249f1da", + "components.schemas.BytePlusFile.properties.object.description": "27b5832e", + "components.schemas.BytePlusFile.properties.purpose.description": "61fbd531", + "components.schemas.BytePlusFile.properties.status.description": "f3878f1a", + "components.schemas.BytePlusFilePreprocessConfigs.description": "953e00e6", + "components.schemas.BytePlusFilePreprocessConfigs.properties.video.properties.fps.description": "7374dd9b", + "components.schemas.BytePlusFilePreprocessConfigs.properties.video.properties.model.description": "312f13a9", + "components.schemas.BytePlusFileUploadRequest.description": "1bdfbca3", + "components.schemas.BytePlusFileUploadRequest.properties.expire_at.description": "a653bdee", + "components.schemas.BytePlusFileUploadRequest.properties.file.description": "e1664afd", + "components.schemas.BytePlusFileUploadRequest.properties.purpose.description": "31139c3a", + "components.schemas.BytePlusImageGenerationRequest.properties.guidance_scale.description": "119d5d77", + "components.schemas.BytePlusImageGenerationRequest.properties.image.description": "dd718c72", + "components.schemas.BytePlusImageGenerationRequest.properties.image.oneOf[0].description": "3297ad6f", + "components.schemas.BytePlusImageGenerationRequest.properties.image.oneOf[1].description": "9f09326d", + "components.schemas.BytePlusImageGenerationRequest.properties.optimize_prompt_options.description": "fc5a9a04", + "components.schemas.BytePlusImageGenerationRequest.properties.optimize_prompt_options.properties.mode.description": "5b25a681", + "components.schemas.BytePlusImageGenerationRequest.properties.output_format.description": "c5bbdff4", + "components.schemas.BytePlusImageGenerationRequest.properties.prompt.description": "51d8162c", + "components.schemas.BytePlusImageGenerationRequest.properties.response_format.description": "bc222daa", + "components.schemas.BytePlusImageGenerationRequest.properties.seed.description": "69ce4a52", + "components.schemas.BytePlusImageGenerationRequest.properties.sequential_image_generation.description": "c10a9df3", + "components.schemas.BytePlusImageGenerationRequest.properties.sequential_image_generation_options.description": "be70b5ae", + "components.schemas.BytePlusImageGenerationRequest.properties.sequential_image_generation_options.properties.max_images.description": "62d0ffdf", + "components.schemas.BytePlusImageGenerationRequest.properties.size.description": "e5b7d62d", + "components.schemas.BytePlusImageGenerationRequest.properties.stream.description": "75f646dd", + "components.schemas.BytePlusImageGenerationRequest.properties.watermark.description": "92574fab", + "components.schemas.BytePlusImageGenerationResponse.properties.created.description": "ccda61af", + "components.schemas.BytePlusImageGenerationResponse.properties.data.description": "1d46812f", + "components.schemas.BytePlusImageGenerationResponse.properties.data.items.properties.b64_json.description": "62ddd4ea", + "components.schemas.BytePlusImageGenerationResponse.properties.data.items.properties.output_format.description": "c200cd26", + "components.schemas.BytePlusImageGenerationResponse.properties.data.items.properties.size.description": "82079d73", + "components.schemas.BytePlusImageGenerationResponse.properties.data.items.properties.url.description": "40fa247f", + "components.schemas.BytePlusImageGenerationResponse.properties.error.description": "ede07331", + "components.schemas.BytePlusImageGenerationResponse.properties.error.properties.code.description": "0570b384", + "components.schemas.BytePlusImageGenerationResponse.properties.error.properties.message.description": "a5dc35f1", + "components.schemas.BytePlusImageGenerationResponse.properties.model.description": "1a7fa237", + "components.schemas.BytePlusImageGenerationResponse.properties.usage.properties.generated_images.description": "8b956927", + "components.schemas.BytePlusImageGenerationResponse.properties.usage.properties.input_images.description": "18ef6504", + "components.schemas.BytePlusImageGenerationResponse.properties.usage.properties.output_tokens.description": "53d392f5", + "components.schemas.BytePlusImageGenerationResponse.properties.usage.properties.total_tokens.description": "3645a87f", + "components.schemas.BytePlusResponseAppliedContextEdit.description": "277d20fb", + "components.schemas.BytePlusResponseAppliedContextEditClearThinking.properties.cleared_thinking_turns.description": "769cfd9c", + "components.schemas.BytePlusResponseAppliedContextEditClearToolUses.properties.cleared_tool_uses.description": "af2c0f43", + "components.schemas.BytePlusResponseAppliedContextManagement.description": "f22fa851", + "components.schemas.BytePlusResponseContextEdit.description": "752f45d9", + "components.schemas.BytePlusResponseContextEditClearThinking.description": "3cce4bcc", + "components.schemas.BytePlusResponseContextEditClearThinking.properties.keep.oneOf[0].properties.value.description": "d4ac6f73", + "components.schemas.BytePlusResponseContextEditClearThinking.properties.keep.oneOf[1].description": "596784bc", + "components.schemas.BytePlusResponseContextEditClearToolUses.description": "c2c6ede2", + "components.schemas.BytePlusResponseContextEditClearToolUses.properties.clear_tool_input.description": "b008713b", + "components.schemas.BytePlusResponseContextEditClearToolUses.properties.exclude_tools.description": "0ae85f69", + "components.schemas.BytePlusResponseContextEditClearToolUses.properties.keep.properties.value.description": "08fe1149", + "components.schemas.BytePlusResponseContextEditClearToolUses.properties.trigger.properties.value.description": "4190d2be", + "components.schemas.BytePlusResponseContextManagement.description": "2aa55aaf", + "components.schemas.BytePlusResponseCreateRequest.properties.caching.description": "3915f08a", + "components.schemas.BytePlusResponseCreateRequest.properties.caching.properties.prefix.description": "3fa6393a", + "components.schemas.BytePlusResponseCreateRequest.properties.expire_at.description": "d07320a2", + "components.schemas.BytePlusResponseCreateRequest.properties.include.description": "464a5cba", + "components.schemas.BytePlusResponseCreateRequest.properties.input.description": "c3e61329", + "components.schemas.BytePlusResponseCreateRequest.properties.input.oneOf[0].description": "65dd90ce", + "components.schemas.BytePlusResponseCreateRequest.properties.instructions.description": "e96e933f", + "components.schemas.BytePlusResponseCreateRequest.properties.max_output_tokens.description": "0d06c571", + "components.schemas.BytePlusResponseCreateRequest.properties.model.description": "82a906cb", + "components.schemas.BytePlusResponseCreateRequest.properties.previous_response_id.description": "1bed25a7", + "components.schemas.BytePlusResponseCreateRequest.properties.reasoning.description": "abe1bfaa", + "components.schemas.BytePlusResponseCreateRequest.properties.reasoning.properties.effort.description": "a13b1f23", + "components.schemas.BytePlusResponseCreateRequest.properties.store.description": "355c2603", + "components.schemas.BytePlusResponseCreateRequest.properties.text.description": "db5c8c84", + "components.schemas.BytePlusResponseCreateRequest.properties.thinking.description": "812f3a98", + "components.schemas.BytePlusResponseCreateRequest.properties.thinking.properties.type.description": "64eeec65", + "components.schemas.BytePlusResponseCreateRequest.properties.tool_choice.description": "5b531e83", + "components.schemas.BytePlusResponseError.description": "60ec7027", + "components.schemas.BytePlusResponseInputFile.description": "991477c7", + "components.schemas.BytePlusResponseInputFile.properties.file_data.description": "b982c887", + "components.schemas.BytePlusResponseInputFile.properties.file_id.description": "757bb036", + "components.schemas.BytePlusResponseInputFile.properties.file_url.description": "8b98d878", + "components.schemas.BytePlusResponseInputFile.properties.filename.description": "8f3ec9c5", + "components.schemas.BytePlusResponseInputFunctionCall.description": "997e4a6d", + "components.schemas.BytePlusResponseInputFunctionCall.properties.arguments.description": "f3fc2f88", + "components.schemas.BytePlusResponseInputFunctionCall.properties.call_id.description": "5fee99f5", + "components.schemas.BytePlusResponseInputFunctionCallOutput.description": "f8dbaf3b", + "components.schemas.BytePlusResponseInputImage.properties.file_id.description": "757bb036", + "components.schemas.BytePlusResponseInputImage.properties.image_pixel_limit.description": "c83af3ad", + "components.schemas.BytePlusResponseInputImage.properties.image_url.description": "893b7599", + "components.schemas.BytePlusResponseInputItem.description": "9807a2de", + "components.schemas.BytePlusResponseInputMessage.description": "0e12ef79", + "components.schemas.BytePlusResponseInputMessage.properties.content.oneOf[0].description": "5635d530", + "components.schemas.BytePlusResponseInputMessage.properties.partial.description": "4d5381ae", + "components.schemas.BytePlusResponseInputMessage.properties.status.description": "e45076ab", + "components.schemas.BytePlusResponseInputReasoning.description": "ce23b48f", + "components.schemas.BytePlusResponseInputReasoning.properties.content.description": "13735310", + "components.schemas.BytePlusResponseInputReasoning.properties.encrypted_content.description": "18415321", + "components.schemas.BytePlusResponseInputText.properties.translation_options.description": "d19ccde9", + "components.schemas.BytePlusResponseInputVideo.properties.file_id.description": "757bb036", + "components.schemas.BytePlusResponseInputVideo.properties.fps.description": "dbdc3f69", + "components.schemas.BytePlusResponseInputVideo.properties.video_url.description": "4d7151f5", + "components.schemas.BytePlusResponseMessageContent.description": "33103eca", + "components.schemas.BytePlusResponseObject.description": "24534a34", + "components.schemas.BytePlusResponseObject.properties.created_at.description": "40f8aff2", + "components.schemas.BytePlusResponseObject.properties.expire_at.description": "28a012c4", + "components.schemas.BytePlusResponseObject.properties.id.description": "9551bbb9", + "components.schemas.BytePlusResponseObject.properties.incomplete_details.description": "553300d1", + "components.schemas.BytePlusResponseObject.properties.incomplete_details.properties.reason.description": "ec4245f0", + "components.schemas.BytePlusResponseObject.properties.instructions.description": "5e81d3d9", + "components.schemas.BytePlusResponseObject.properties.model.description": "d82dfc81", + "components.schemas.BytePlusResponseObject.properties.output.description": "48cbdb23", + "components.schemas.BytePlusResponseObject.properties.service_tier.description": "caf4bbcd", + "components.schemas.BytePlusResponseObject.properties.text.description": "6f130787", + "components.schemas.BytePlusResponseOutputContent.description": "1b8f3b99", + "components.schemas.BytePlusResponseOutputItem.description": "540baca0", + "components.schemas.BytePlusResponseOutputMessage.description": "0c115da0", + "components.schemas.BytePlusResponseOutputMessage.properties.partial.description": "754e5758", + "components.schemas.BytePlusResponseTextFormat.description": "7ffeb47e", + "components.schemas.BytePlusResponseTextFormatJSONSchema.properties.description.description": "3aeac6ad", + "components.schemas.BytePlusResponseTextFormatJSONSchema.properties.name.description": "b92e02d3", + "components.schemas.BytePlusResponseTextFormatJSONSchema.properties.schema.description": "5a1916ec", + "components.schemas.BytePlusResponseTool.description": "6713a31f", + "components.schemas.BytePlusResponseTool.properties.parameters.description": "6cd490b5", + "components.schemas.BytePlusResponseToolChoiceObject.description": "74feb2d5", + "components.schemas.BytePlusResponseUsage.description": "ef0d7a50", + "components.schemas.BytePlusResponseUsage.properties.input_tokens.description": "9705bb67", + "components.schemas.BytePlusResponseUsage.properties.input_tokens_details.description": "046baa07", + "components.schemas.BytePlusResponseUsage.properties.input_tokens_details.properties.cached_tokens.description": "48e59421", + "components.schemas.BytePlusResponseUsage.properties.output_tokens.description": "c454d0f0", + "components.schemas.BytePlusResponseUsage.properties.output_tokens_details.description": "4ebdf7a0", + "components.schemas.BytePlusResponseUsage.properties.output_tokens_details.properties.reasoning_tokens.description": "40bf0d51", + "components.schemas.BytePlusResponseUsage.properties.tool_usage.description": "f9f5d14e", + "components.schemas.BytePlusResponseUsage.properties.tool_usage.properties.image_process.description": "0d06a5c5", + "components.schemas.BytePlusResponseUsage.properties.tool_usage.properties.mcp.description": "890e72b3", + "components.schemas.BytePlusResponseUsage.properties.tool_usage.properties.web_search.description": "0a674985", + "components.schemas.BytePlusResponseUsage.properties.tool_usage_details.description": "6c55d251", + "components.schemas.BytePlusResponseUsage.properties.tool_usage_details.properties.image_process.description": "f355d450", + "components.schemas.BytePlusResponseUsage.properties.tool_usage_details.properties.mcp.description": "be163fa6", + "components.schemas.BytePlusResponseUsage.properties.tool_usage_details.properties.web_search.description": "47a8d13b", + "components.schemas.BytePlusResponseUsage.properties.total_tokens.description": "ad7b6f4f", + "components.schemas.BytePlusTTSAudioConfig.description": "179a5e07", + "components.schemas.BytePlusTTSAudioConfig.properties.format.description": "a354c3e4", + "components.schemas.BytePlusTTSAudioConfig.properties.loudness_rate.description": "29bd9f93", + "components.schemas.BytePlusTTSAudioConfig.properties.pitch_rate.description": "a3b0a0cf", + "components.schemas.BytePlusTTSAudioConfig.properties.sample_rate.description": "ae93a18d", + "components.schemas.BytePlusTTSAudioConfig.properties.speech_rate.description": "4e646747", + "components.schemas.BytePlusTTSCreateRequest.description": "6c57a6a7", + "components.schemas.BytePlusTTSCreateRequest.properties.model.description": "cc1ea085", + "components.schemas.BytePlusTTSCreateRequest.properties.references.description": "be37eb47", + "components.schemas.BytePlusTTSCreateRequest.properties.text_prompt.description": "5f09d3e2", + "components.schemas.BytePlusTTSCreateRequest.properties.watermark.description": "d235abfc", + "components.schemas.BytePlusTTSCreateResponse.description": "b70c2e1e", + "components.schemas.BytePlusTTSCreateResponse.properties.audio.description": "0c8bbce9", + "components.schemas.BytePlusTTSCreateResponse.properties.code.description": "a2ee14ab", + "components.schemas.BytePlusTTSCreateResponse.properties.duration.description": "98e96573", + "components.schemas.BytePlusTTSCreateResponse.properties.message.description": "5164c210", + "components.schemas.BytePlusTTSCreateResponse.properties.original_duration.description": "ae658fb0", + "components.schemas.BytePlusTTSCreateResponse.properties.url.description": "da28036a", + "components.schemas.BytePlusTTSReference.description": "1f4ebd9e", + "components.schemas.BytePlusTTSReference.properties.audio_data.description": "62ec1de0", + "components.schemas.BytePlusTTSReference.properties.audio_url.description": "8323c035", + "components.schemas.BytePlusTTSReference.properties.image_data.description": "82ee5e04", + "components.schemas.BytePlusTTSReference.properties.image_url.description": "5290a854", + "components.schemas.BytePlusTTSReference.properties.speaker.description": "420297d6", + "components.schemas.BytePlusVideoGenerationContent.properties.audio_url.description": "b41837bf", + "components.schemas.BytePlusVideoGenerationContent.properties.audio_url.properties.url.description": "a4335192", + "components.schemas.BytePlusVideoGenerationContent.properties.image_url.properties.url.description": "d919fcbe", + "components.schemas.BytePlusVideoGenerationContent.properties.role.description": "1b44ac17", + "components.schemas.BytePlusVideoGenerationContent.properties.text.description": "f553210d", + "components.schemas.BytePlusVideoGenerationContent.properties.type.description": "736c34e7", + "components.schemas.BytePlusVideoGenerationContent.properties.video_url.description": "c32daad4", + "components.schemas.BytePlusVideoGenerationContent.properties.video_url.properties.url.description": "ad4d0bbc", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.content.description": "a99d9c6b", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.content.properties.video_url.description": "b6c60e1c", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.created_at.description": "509d9011", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.error.description": "effcbdf1", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.error.properties.code.description": "8f235976", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.error.properties.message.description": "84e45725", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.id.description": "ca6aca62", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.model.description": "af150e3d", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.status.description": "25728060", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.updated_at.description": "15a2437d", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.usage.description": "bf5065ae", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.usage.properties.completion_tokens.description": "5e37b2f9", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.usage.properties.total_tokens.description": "50f27a04", + "components.schemas.BytePlusVideoGenerationRequest.properties.callback_url.description": "4f196f3a", + "components.schemas.BytePlusVideoGenerationRequest.properties.content.description": "9ebabbe0", + "components.schemas.BytePlusVideoGenerationRequest.properties.duration.description": "8c63ec20", + "components.schemas.BytePlusVideoGenerationRequest.properties.execution_expires_after.description": "0f0c4cc3", + "components.schemas.BytePlusVideoGenerationRequest.properties.generate_audio.description": "a68b940a", + "components.schemas.BytePlusVideoGenerationRequest.properties.model.description": "3ce54ab0", + "components.schemas.BytePlusVideoGenerationRequest.properties.ratio.description": "23273a64", + "components.schemas.BytePlusVideoGenerationRequest.properties.resolution.description": "da569252", + "components.schemas.BytePlusVideoGenerationRequest.properties.return_last_frame.description": "3588617d", + "components.schemas.BytePlusVideoGenerationRequest.properties.seed.description": "e7b1cc28", + "components.schemas.BytePlusVideoGenerationRequest.properties.service_tier.description": "b88ec940", + "components.schemas.BytePlusVideoGenerationRequest.properties.watermark.description": "ec216a5b", + "components.schemas.BytePlusVideoGenerationResponse.properties.id.description": "ca6aca62", + "components.schemas.ClaimMyNodeRequest.properties.GH_TOKEN.description": "5aaff1ef", + "components.schemas.ComfyNode.properties.category.description": "594b83bd", + "components.schemas.ComfyNode.properties.comfy_node_name.description": "d7f0cf4f", + "components.schemas.ComfyNode.properties.deprecated.description": "c2255d77", + "components.schemas.ComfyNode.properties.description.description": "a01c6cba", + "components.schemas.ComfyNode.properties.experimental.description": "f35ac526", + "components.schemas.ComfyNode.properties.function.description": "0b700511", + "components.schemas.ComfyNode.properties.input_types.description": "fb95f2dc", + "components.schemas.ComfyNode.properties.output_is_list.description": "bc9287eb", + "components.schemas.ComfyNode.properties.return_names.description": "6c2f6fad", + "components.schemas.ComfyNode.properties.return_types.description": "c91c4339", + "components.schemas.ComfyNodeUpdateRequest.properties.category.description": "594b83bd", + "components.schemas.ComfyNodeUpdateRequest.properties.deprecated.description": "c2255d77", + "components.schemas.ComfyNodeUpdateRequest.properties.description.description": "a01c6cba", + "components.schemas.ComfyNodeUpdateRequest.properties.experimental.description": "f35ac526", + "components.schemas.ComfyNodeUpdateRequest.properties.function.description": "0b700511", + "components.schemas.ComfyNodeUpdateRequest.properties.input_types.description": "fb95f2dc", + "components.schemas.ComfyNodeUpdateRequest.properties.output_is_list.description": "bc9287eb", + "components.schemas.ComfyNodeUpdateRequest.properties.return_names.description": "6c2f6fad", + "components.schemas.ComfyNodeUpdateRequest.properties.return_types.description": "c91c4339", + "components.schemas.ComputerToolCall.description": "3fa6caed", + "components.schemas.ComputerToolCall.properties.call_id.description": "11127a13", + "components.schemas.ComputerToolCall.properties.id.description": "908e9f0e", + "components.schemas.ComputerToolCall.properties.status.description": "d3371813", + "components.schemas.ComputerToolCall.properties.type.description": "27b0e5a4", + "components.schemas.ComputerUsePreviewTool.description": "a8b45c39", + "components.schemas.ComputerUsePreviewTool.properties.display_height.description": "d768c7d7", + "components.schemas.ComputerUsePreviewTool.properties.display_width.description": "448cfd11", + "components.schemas.ComputerUsePreviewTool.properties.environment.description": "91255585", + "components.schemas.ComputerUsePreviewTool.properties.type.description": "9dbf7b10", + "components.schemas.CouponResponse.properties.amount_off.description": "ccfde3e7", + "components.schemas.CouponResponse.properties.currency.description": "5ad3fb3e", + "components.schemas.CouponResponse.properties.duration.description": "881bbaff", + "components.schemas.CouponResponse.properties.duration_in_months.description": "e02e20a5", + "components.schemas.CouponResponse.properties.id.description": "b5b1562e", + "components.schemas.CouponResponse.properties.max_redemptions.description": "9ef57c4c", + "components.schemas.CouponResponse.properties.metadata.description": "10282a4b", + "components.schemas.CouponResponse.properties.name.description": "c2c0afba", + "components.schemas.CouponResponse.properties.percent_off.description": "6023a10e", + "components.schemas.CouponResponse.properties.redeem_by.description": "917a4b89", + "components.schemas.CouponResponse.properties.times_redeemed.description": "bba735ff", + "components.schemas.CouponResponse.properties.valid.description": "80462e9c", + "components.schemas.CreateCouponRequest.properties.amount_off.description": "ccfde3e7", + "components.schemas.CreateCouponRequest.properties.currency.description": "aae971c9", + "components.schemas.CreateCouponRequest.properties.duration.description": "881bbaff", + "components.schemas.CreateCouponRequest.properties.duration_in_months.description": "dd8a447d", + "components.schemas.CreateCouponRequest.properties.max_redemptions.description": "9ef57c4c", + "components.schemas.CreateCouponRequest.properties.metadata.description": "10282a4b", + "components.schemas.CreateCouponRequest.properties.name.description": "c2c0afba", + "components.schemas.CreateCouponRequest.properties.percent_off.description": "6023a10e", + "components.schemas.CreateCouponRequest.properties.redeem_by.description": "917a4b89", + "components.schemas.CreateCustomerRequest.description": "3db54668", + "components.schemas.CreateCustomerRequest.properties.turnstile_token.description": "7d411475", + "components.schemas.CreatePromoCodeRequest.properties.coupon_id.description": "78bcb7c5", + "components.schemas.CreatePromoCodeRequest.properties.expire_days.description": "4ee9e6be", + "components.schemas.CreatePromoCodeRequest.properties.max_redemptions.description": "ef30da1d", + "components.schemas.Customer.properties.createdAt.description": "6a35627e", + "components.schemas.Customer.properties.email.description": "a25e24f8", + "components.schemas.Customer.properties.has_fund.description": "694d3a19", + "components.schemas.Customer.properties.id.description": "315161ca", + "components.schemas.Customer.properties.is_admin.description": "e513ac66", + "components.schemas.Customer.properties.metronome_id.description": "f5e5f16a", + "components.schemas.Customer.properties.name.description": "ed0322a4", + "components.schemas.Customer.properties.stripe_id.description": "3ce48c0d", + "components.schemas.Customer.properties.subscription_tier.description": "e03f42a8", + "components.schemas.Customer.properties.updatedAt.description": "e5cce94f", + "components.schemas.CustomerAdmin.properties.cloud_subscription_end_date.description": "6366a64e", + "components.schemas.CustomerAdmin.properties.cloud_subscription_is_active.description": "6c8493cf", + "components.schemas.CustomerAdmin.properties.cloud_subscription_renewal_date.description": "80a37068", + "components.schemas.CustomerAdmin.properties.cloud_subscription_subscription_id.description": "9b6918af", + "components.schemas.CustomerAdmin.properties.createdAt.description": "6a35627e", + "components.schemas.CustomerAdmin.properties.email.description": "a25e24f8", + "components.schemas.CustomerAdmin.properties.has_fund.description": "694d3a19", + "components.schemas.CustomerAdmin.properties.id.description": "315161ca", + "components.schemas.CustomerAdmin.properties.is_admin.description": "e513ac66", + "components.schemas.CustomerAdmin.properties.metronome_id.description": "f5e5f16a", + "components.schemas.CustomerAdmin.properties.name.description": "ed0322a4", + "components.schemas.CustomerAdmin.properties.stripe_id.description": "3ce48c0d", + "components.schemas.CustomerAdmin.properties.subscription_tier.description": "0768210d", + "components.schemas.CustomerAdmin.properties.updatedAt.description": "e5cce94f", + "components.schemas.CustomerStorageResourceResponse.properties.download_url.description": "c06ab5e1", + "components.schemas.CustomerStorageResourceResponse.properties.existing_file.description": "71ef49b1", + "components.schemas.CustomerStorageResourceResponse.properties.expires_at.description": "e1b16229", + "components.schemas.CustomerStorageResourceResponse.properties.upload_url.description": "e1160c82", + "components.schemas.CustomerUsageTimeSeries.description": "e92ca240", + "components.schemas.CustomerUsageTimeSeries.properties.breakdown.description": "b387d81c", + "components.schemas.CustomerUsageTimeSeries.properties.buckets.description": "86b1af5c", + "components.schemas.CustomerUsageTimeSeries.properties.ending_before.description": "45f6d8c4", + "components.schemas.CustomerUsageTimeSeries.properties.granularity.description": "7f608b42", + "components.schemas.CustomerUsageTimeSeries.properties.group_by.description": "3734471e", + "components.schemas.CustomerUsageTimeSeries.properties.groups.description": "b2ba50fd", + "components.schemas.CustomerUsageTimeSeries.properties.starting_on.description": "70fdb37d", + "components.schemas.EasyInputMessage.description": "7db749d9", + "components.schemas.EasyInputMessage.properties.content.description": "2d9878df", + "components.schemas.EasyInputMessage.properties.content.oneOf[0].description": "df5bc3f5", + "components.schemas.EasyInputMessage.properties.role.description": "d643460e", + "components.schemas.EasyInputMessage.properties.type.description": "61c11960", + "components.schemas.ElevenLabsAudioIsolationRequest.description": "d0051f00", + "components.schemas.ElevenLabsAudioIsolationRequest.properties.audio.description": "0a248375", + "components.schemas.ElevenLabsAudioIsolationRequest.properties.file_format.description": "d59327f0", + "components.schemas.ElevenLabsAudioIsolationRequest.properties.preview_b64.description": "c67953f6", + "components.schemas.ElevenLabsCreateVoiceRequest.description": "aba6a350", + "components.schemas.ElevenLabsCreateVoiceRequest.properties.description.description": "9cbdefee", + "components.schemas.ElevenLabsCreateVoiceRequest.properties.files.description": "cf1a8b5e", + "components.schemas.ElevenLabsCreateVoiceRequest.properties.labels.description": "a6677587", + "components.schemas.ElevenLabsCreateVoiceRequest.properties.name.description": "77f4ae29", + "components.schemas.ElevenLabsCreateVoiceRequest.properties.remove_background_noise.description": "e11bff10", + "components.schemas.ElevenLabsDialogueInput.description": "0b488b4b", + "components.schemas.ElevenLabsDialogueInput.properties.text.description": "0ca63e7d", + "components.schemas.ElevenLabsDialogueInput.properties.voice_id.description": "6427aa19", + "components.schemas.ElevenLabsDialogueSettings.description": "05b8340a", + "components.schemas.ElevenLabsDialogueSettings.properties.stability.description": "8d679ac6", + "components.schemas.ElevenLabsPronunciationDictionaryLocator.description": "7629dbe4", + "components.schemas.ElevenLabsPronunciationDictionaryLocator.properties.pronunciation_dictionary_id.description": "05d52083", + "components.schemas.ElevenLabsPronunciationDictionaryLocator.properties.version_id.description": "00fe41c5", + "components.schemas.ElevenLabsSTTAdditionalFormat.description": "d5db518c", + "components.schemas.ElevenLabsSTTAdditionalFormat.properties.content.description": "87c94b0e", + "components.schemas.ElevenLabsSTTAdditionalFormat.properties.content_type.description": "6ea0f0a8", + "components.schemas.ElevenLabsSTTAdditionalFormat.properties.file_extension.description": "9b326c36", + "components.schemas.ElevenLabsSTTAdditionalFormat.properties.is_base64_encoded.description": "437d9ac9", + "components.schemas.ElevenLabsSTTAdditionalFormat.properties.requested_format.description": "d1b2c16c", + "components.schemas.ElevenLabsSTTCharacter.description": "326a2ef7", + "components.schemas.ElevenLabsSTTCharacter.properties.end.description": "f8e7f771", + "components.schemas.ElevenLabsSTTCharacter.properties.start.description": "7a9a4266", + "components.schemas.ElevenLabsSTTCharacter.properties.text.description": "c86bee36", + "components.schemas.ElevenLabsSTTDetectedEntity.description": "4c0ba642", + "components.schemas.ElevenLabsSTTDetectedEntity.properties.end_char.description": "83da2112", + "components.schemas.ElevenLabsSTTDetectedEntity.properties.entity_type.description": "5317c89c", + "components.schemas.ElevenLabsSTTDetectedEntity.properties.start_char.description": "7ad1393e", + "components.schemas.ElevenLabsSTTDetectedEntity.properties.text.description": "a9a3b48b", + "components.schemas.ElevenLabsSTTExportOptions.description": "af91dd6d", + "components.schemas.ElevenLabsSTTExportOptions.properties.format.description": "bf726cef", + "components.schemas.ElevenLabsSTTExportOptions.properties.include_speakers.description": "df5f82bd", + "components.schemas.ElevenLabsSTTExportOptions.properties.include_timestamps.description": "99cab81d", + "components.schemas.ElevenLabsSTTExportOptions.properties.max_characters_per_line.description": "bb6e45b0", + "components.schemas.ElevenLabsSTTExportOptions.properties.max_segment_chars.description": "861a9225", + "components.schemas.ElevenLabsSTTExportOptions.properties.max_segment_duration_s.description": "f1b20317", + "components.schemas.ElevenLabsSTTExportOptions.properties.segment_on_silence_longer_than_s.description": "51fa3719", + "components.schemas.ElevenLabsSTTRequest.description": "2b99da48", + "components.schemas.ElevenLabsSTTRequest.properties.additional_formats.description": "e1f0328f", + "components.schemas.ElevenLabsSTTRequest.properties.cloud_storage_url.description": "a2960aee", + "components.schemas.ElevenLabsSTTRequest.properties.diarization_threshold.description": "78a05772", + "components.schemas.ElevenLabsSTTRequest.properties.diarize.description": "90d75a45", + "components.schemas.ElevenLabsSTTRequest.properties.entity_detection.description": "e92e728c", + "components.schemas.ElevenLabsSTTRequest.properties.file.description": "6d6ef081", + "components.schemas.ElevenLabsSTTRequest.properties.file_format.description": "25e2d946", + "components.schemas.ElevenLabsSTTRequest.properties.keyterms.description": "97c40cea", + "components.schemas.ElevenLabsSTTRequest.properties.language_code.description": "7493a534", + "components.schemas.ElevenLabsSTTRequest.properties.model_id.description": "3b494168", + "components.schemas.ElevenLabsSTTRequest.properties.num_speakers.description": "cfc29668", + "components.schemas.ElevenLabsSTTRequest.properties.seed.description": "4040c111", + "components.schemas.ElevenLabsSTTRequest.properties.tag_audio_events.description": "1871ce50", + "components.schemas.ElevenLabsSTTRequest.properties.temperature.description": "52cbd37d", + "components.schemas.ElevenLabsSTTRequest.properties.timestamps_granularity.description": "babb739d", + "components.schemas.ElevenLabsSTTRequest.properties.use_multi_channel.description": "f6010010", + "components.schemas.ElevenLabsSTTRequest.properties.webhook.description": "d40b00b1", + "components.schemas.ElevenLabsSTTRequest.properties.webhook_id.description": "7e92ff23", + "components.schemas.ElevenLabsSTTRequest.properties.webhook_metadata.description": "aa829590", + "components.schemas.ElevenLabsSTTResponse.description": "93829b9a", + "components.schemas.ElevenLabsSTTResponse.properties.additional_formats.description": "4d601c81", + "components.schemas.ElevenLabsSTTResponse.properties.channel_index.description": "e2115570", + "components.schemas.ElevenLabsSTTResponse.properties.entities.description": "59559c38", + "components.schemas.ElevenLabsSTTResponse.properties.language_code.description": "517510df", + "components.schemas.ElevenLabsSTTResponse.properties.language_probability.description": "25b644c2", + "components.schemas.ElevenLabsSTTResponse.properties.message.description": "84f991e5", + "components.schemas.ElevenLabsSTTResponse.properties.request_id.description": "99321f0a", + "components.schemas.ElevenLabsSTTResponse.properties.text.description": "4436753b", + "components.schemas.ElevenLabsSTTResponse.properties.transcription_id.description": "e397b546", + "components.schemas.ElevenLabsSTTResponse.properties.transcripts.description": "b3acf340", + "components.schemas.ElevenLabsSTTResponse.properties.words.description": "a12b2452", + "components.schemas.ElevenLabsSTTTranscript.description": "ac4a687e", + "components.schemas.ElevenLabsSTTTranscript.properties.additional_formats.description": "08762e4d", + "components.schemas.ElevenLabsSTTTranscript.properties.channel_index.description": "ef4dbf03", + "components.schemas.ElevenLabsSTTTranscript.properties.entities.description": "f9e99b8c", + "components.schemas.ElevenLabsSTTTranscript.properties.language_code.description": "1b82990e", + "components.schemas.ElevenLabsSTTTranscript.properties.language_probability.description": "6809c7c0", + "components.schemas.ElevenLabsSTTTranscript.properties.text.description": "4436753b", + "components.schemas.ElevenLabsSTTTranscript.properties.words.description": "a12b2452", + "components.schemas.ElevenLabsSTTWord.description": "dd938872", + "components.schemas.ElevenLabsSTTWord.properties.characters.description": "19ff9964", + "components.schemas.ElevenLabsSTTWord.properties.end.description": "e850c283", + "components.schemas.ElevenLabsSTTWord.properties.logprob.description": "e3b8a1f5", + "components.schemas.ElevenLabsSTTWord.properties.speaker_id.description": "a233fff3", + "components.schemas.ElevenLabsSTTWord.properties.start.description": "d3ac8637", + "components.schemas.ElevenLabsSTTWord.properties.text.description": "4dfce431", + "components.schemas.ElevenLabsSTTWord.properties.type.description": "33e7e9d4", + "components.schemas.ElevenLabsSharedVoice.properties.fiat_rate.description": "39ed0154", + "components.schemas.ElevenLabsSharedVoice.properties.verified_languages.description": "0f397d1c", + "components.schemas.ElevenLabsSharedVoicesPaginatedResponse.description": "5d4a3ee3", + "components.schemas.ElevenLabsSharedVoicesPaginatedResponse.properties.has_more.description": "998df11e", + "components.schemas.ElevenLabsSharedVoicesPaginatedResponse.properties.items.description": "2e2759e6", + "components.schemas.ElevenLabsSoundGenerationRequest.description": "34115d4a", + "components.schemas.ElevenLabsSoundGenerationRequest.properties.duration_seconds.description": "956b8c0c", + "components.schemas.ElevenLabsSoundGenerationRequest.properties.loop.description": "9a8fa559", + "components.schemas.ElevenLabsSoundGenerationRequest.properties.model_id.description": "365dc4bc", + "components.schemas.ElevenLabsSoundGenerationRequest.properties.prompt_influence.description": "69fd7daf", + "components.schemas.ElevenLabsSoundGenerationRequest.properties.text.description": "2f9d29d3", + "components.schemas.ElevenLabsSpeechToSpeechRequest.description": "5de9a797", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.audio.description": "70a74235", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.file_format.description": "25e2d946", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.model_id.description": "00222de2", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.remove_background_noise.description": "573b4b9a", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.seed.description": "2cf5b26d", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.voice_settings.description": "adb18b3f", + "components.schemas.ElevenLabsTTSRequest.description": "dfe763d1", + "components.schemas.ElevenLabsTTSRequest.properties.apply_language_text_normalization.description": "53532c84", + "components.schemas.ElevenLabsTTSRequest.properties.apply_text_normalization.description": "5f03ef59", + "components.schemas.ElevenLabsTTSRequest.properties.language_code.description": "62fed9a4", + "components.schemas.ElevenLabsTTSRequest.properties.model_id.description": "b98e4fde", + "components.schemas.ElevenLabsTTSRequest.properties.next_request_ids.description": "180a37e8", + "components.schemas.ElevenLabsTTSRequest.properties.next_text.description": "f30c0dc3", + "components.schemas.ElevenLabsTTSRequest.properties.previous_request_ids.description": "c1143446", + "components.schemas.ElevenLabsTTSRequest.properties.previous_text.description": "8820b076", + "components.schemas.ElevenLabsTTSRequest.properties.pronunciation_dictionary_locators.description": "65f08720", + "components.schemas.ElevenLabsTTSRequest.properties.seed.description": "50f1afe9", + "components.schemas.ElevenLabsTTSRequest.properties.text.description": "698cf9bb", + "components.schemas.ElevenLabsTTSRequest.properties.use_pvc_as_ivc.description": "6a9a3ffe", + "components.schemas.ElevenLabsTextToDialogueRequest.description": "be374b6c", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.apply_text_normalization.description": "c52b83c1", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.inputs.description": "8f1e91c5", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.language_code.description": "5c013990", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.model_id.description": "57c38f67", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.pronunciation_dictionary_locators.description": "6e5864d3", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.seed.description": "2cf5b26d", + "components.schemas.ElevenLabsValidationError.description": "08ecec1d", + "components.schemas.ElevenLabsValidationError.properties.detail.description": "75c58c3b", + "components.schemas.ElevenLabsValidationError.properties.detail.properties.message.description": "a5dc35f1", + "components.schemas.ElevenLabsValidationError.properties.detail.properties.status.description": "eafa4401", + "components.schemas.ElevenLabsVerifiedVoiceLanguage.properties.accent.description": "015e274d", + "components.schemas.ElevenLabsVerifiedVoiceLanguage.properties.language.description": "4e9943d5", + "components.schemas.ElevenLabsVerifiedVoiceLanguage.properties.locale.description": "07549bdd", + "components.schemas.ElevenLabsVerifiedVoiceLanguage.properties.model_id.description": "604f4e7c", + "components.schemas.ElevenLabsVerifiedVoiceLanguage.properties.preview_url.description": "e5754f97", + "components.schemas.ElevenLabsVoice.description": "717f5b57", + "components.schemas.ElevenLabsVoice.properties.category.description": "29bdcc75", + "components.schemas.ElevenLabsVoice.properties.labels.description": "c6fdf71f", + "components.schemas.ElevenLabsVoice.properties.verified_languages.description": "0f397d1c", + "components.schemas.ElevenLabsVoiceSettings.description": "ea7ad062", + "components.schemas.ElevenLabsVoiceSettings.properties.similarity_boost.description": "bc316515", + "components.schemas.ElevenLabsVoiceSettings.properties.speed.description": "9f956b6f", + "components.schemas.ElevenLabsVoiceSettings.properties.stability.description": "5784eb59", + "components.schemas.ElevenLabsVoiceSettings.properties.style.description": "6586a26b", + "components.schemas.ElevenLabsVoiceSettings.properties.use_speaker_boost.description": "a77a6bf2", + "components.schemas.ElevenLabsVoicesPaginatedResponse.description": "a0ba6be3", + "components.schemas.ElevenLabsVoicesPaginatedResponse.properties.has_more.description": "bc639ead", + "components.schemas.ElevenLabsVoicesPaginatedResponse.properties.items.description": "1a3ece98", + "components.schemas.ElevenLabsVoicesPaginatedResponse.properties.next_page_token.description": "720ba291", + "components.schemas.Error.properties.details.description": "ec60a618", + "components.schemas.Error.properties.message.description": "2ff29892", + "components.schemas.FalPatinaMaterialExtractRequest.description": "f8c3bc5f", + "components.schemas.FalPatinaMaterialExtractRequest.properties.enable_prompt_expansion.description": "83491200", + "components.schemas.FalPatinaMaterialExtractRequest.properties.enable_safety_checker.description": "2a829228", + "components.schemas.FalPatinaMaterialExtractRequest.properties.image_size.description": "91303ba2", + "components.schemas.FalPatinaMaterialExtractRequest.properties.image_url.description": "33437c88", + "components.schemas.FalPatinaMaterialExtractRequest.properties.maps.description": "1001eba1", + "components.schemas.FalPatinaMaterialExtractRequest.properties.num_images.description": "64b3e9e3", + "components.schemas.FalPatinaMaterialExtractRequest.properties.num_inference_steps.description": "14f3ad24", + "components.schemas.FalPatinaMaterialExtractRequest.properties.output_format.description": "31b8dc72", + "components.schemas.FalPatinaMaterialExtractRequest.properties.prompt.description": "cd2696b5", + "components.schemas.FalPatinaMaterialExtractRequest.properties.seed.description": "706cfbdd", + "components.schemas.FalPatinaMaterialExtractRequest.properties.strength.description": "89c8565e", + "components.schemas.FalPatinaMaterialExtractRequest.properties.tile_size.description": "e14ffa90", + "components.schemas.FalPatinaMaterialExtractRequest.properties.tile_stride.description": "912826be", + "components.schemas.FalPatinaMaterialExtractRequest.properties.tiling_mode.description": "af4b6100", + "components.schemas.FalPatinaMaterialExtractRequest.properties.upscale_factor.description": "9abf62cd", + "components.schemas.FalPatinaMaterialImage.description": "493dbf4d", + "components.schemas.FalPatinaMaterialImage.properties.map_type.description": "ca4b7c82", + "components.schemas.FalPatinaMaterialImage.properties.url.description": "ddb55997", + "components.schemas.FalPatinaMaterialRequest.description": "118170aa", + "components.schemas.FalPatinaMaterialRequest.properties.enable_prompt_expansion.description": "83491200", + "components.schemas.FalPatinaMaterialRequest.properties.enable_safety_checker.description": "2a829228", + "components.schemas.FalPatinaMaterialRequest.properties.image_size.description": "f9d1b04a", + "components.schemas.FalPatinaMaterialRequest.properties.image_url.description": "e4d07927", + "components.schemas.FalPatinaMaterialRequest.properties.maps.description": "6240dcf2", + "components.schemas.FalPatinaMaterialRequest.properties.mask_url.description": "d20e5f42", + "components.schemas.FalPatinaMaterialRequest.properties.num_images.description": "64b3e9e3", + "components.schemas.FalPatinaMaterialRequest.properties.num_inference_steps.description": "14f3ad24", + "components.schemas.FalPatinaMaterialRequest.properties.output_format.description": "31b8dc72", + "components.schemas.FalPatinaMaterialRequest.properties.prompt.description": "a7c44f59", + "components.schemas.FalPatinaMaterialRequest.properties.seed.description": "706cfbdd", + "components.schemas.FalPatinaMaterialRequest.properties.strength.description": "42879b3e", + "components.schemas.FalPatinaMaterialRequest.properties.tile_size.description": "e14ffa90", + "components.schemas.FalPatinaMaterialRequest.properties.tile_stride.description": "912826be", + "components.schemas.FalPatinaMaterialRequest.properties.tiling_mode.description": "af4b6100", + "components.schemas.FalPatinaMaterialRequest.properties.upscale_factor.description": "098359ea", + "components.schemas.FalPatinaMaterialResponse.description": "4ec6da1e", + "components.schemas.FalPatinaMaterialResponse.properties.images.description": "d70a5205", + "components.schemas.FalPatinaMaterialResponse.properties.prompt.description": "061bc3ea", + "components.schemas.FalPatinaMaterialResponse.properties.seed.description": "46615a68", + "components.schemas.FalPatinaMaterialResponse.properties.timings.description": "466f6009", + "components.schemas.FalPatinaRequest.description": "8f31dc28", + "components.schemas.FalPatinaRequest.properties.enable_safety_checker.description": "bc8b8bd1", + "components.schemas.FalPatinaRequest.properties.image_url.description": "9a4fdec9", + "components.schemas.FalPatinaRequest.properties.maps.description": "1001eba1", + "components.schemas.FalPatinaRequest.properties.output_format.description": "e7756131", + "components.schemas.FalPatinaRequest.properties.seed.description": "0ccdb5ac", + "components.schemas.FalPatinaRequest.properties.sync_mode.description": "f6e68164", + "components.schemas.FalQueueStatus.description": "4208e145", + "components.schemas.FalQueueStatus.properties.queue_position.description": "39f19be6", + "components.schemas.FalQueueStatus.properties.request_id.description": "f6386d74", + "components.schemas.FalQueueStatus.properties.status.description": "b093094f", + "components.schemas.FeaturesResponse.properties.partner_node_conversion_rate.description": "cbbce998", + "components.schemas.FileSearchTool.properties.type.description": "1201b87a", + "components.schemas.FileSearchTool.properties.vector_store_ids.description": "0bd09eb9", + "components.schemas.FileSearchToolCall.description": "bc942fd0", + "components.schemas.FileSearchToolCall.properties.id.description": "c82f7934", + "components.schemas.FileSearchToolCall.properties.queries.description": "83596062", + "components.schemas.FileSearchToolCall.properties.results.description": "3db73b84", + "components.schemas.FileSearchToolCall.properties.results.items.properties.file_id.description": "4c17f5c4", + "components.schemas.FileSearchToolCall.properties.results.items.properties.filename.description": "21724504", + "components.schemas.FileSearchToolCall.properties.results.items.properties.score.description": "f3fa221a", + "components.schemas.FileSearchToolCall.properties.results.items.properties.text.description": "e3842e23", + "components.schemas.FileSearchToolCall.properties.status.description": "4ef38826", + "components.schemas.FileSearchToolCall.properties.type.description": "59ab7e3d", + "components.schemas.FreeTierGrantState.description": "2f5648d1", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.blacks.description": "53d73778", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.brightness.description": "9af7f276", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.contrast.description": "528bfb7b", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.engine.description": "a1a2ff99", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.fixed_generation.description": "b91d1723", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.saturation.description": "dec4de2d", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.transfer_light_a.description": "ac1329b6", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.transfer_light_b.description": "8bffbaea", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.whites.description": "0aeae12b", + "components.schemas.FreepikMagnificRelightRequest.properties.change_background.description": "53236f58", + "components.schemas.FreepikMagnificRelightRequest.properties.image.description": "44a68bd9", + "components.schemas.FreepikMagnificRelightRequest.properties.interpolate_from_original.description": "ed1206fc", + "components.schemas.FreepikMagnificRelightRequest.properties.light_transfer_strength.description": "8ea323b8", + "components.schemas.FreepikMagnificRelightRequest.properties.preserve_details.description": "e5986288", + "components.schemas.FreepikMagnificRelightRequest.properties.prompt.description": "e3fd4a46", + "components.schemas.FreepikMagnificRelightRequest.properties.style.description": "7ac9c0ee", + "components.schemas.FreepikMagnificRelightRequest.properties.transfer_light_from_lightmap.description": "6ae4ea4c", + "components.schemas.FreepikMagnificRelightRequest.properties.transfer_light_from_reference_image.description": "e1db9d56", + "components.schemas.FreepikMagnificRelightRequest.properties.webhook_url.description": "05e5a4f8", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.engine.description": "6406f181", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.fixed_generation.description": "b91d1723", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.flavor.description": "6c950c4c", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.image.description": "255aa1fc", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.is_portrait.description": "3ec5fc64", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.portrait_beautifier.description": "479fcd5e", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.portrait_style.description": "5ee59ede", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.prompt.description": "3a98e9d7", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.reference_image.description": "b6e1dd3f", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.structure_strength.description": "ad6eefca", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.style_strength.description": "0a28533d", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.webhook_url.description": "479383a5", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.creativity.description": "061b807f", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.engine.description": "4597b593", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.fractality.description": "1a029460", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.hdr.description": "70ae846b", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.image.description": "2e11ac1b", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.optimized_for.description": "f7ec56f3", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.prompt.description": "04f34c7f", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.resemblance.description": "71359848", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.scale_factor.description": "e6808154", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.webhook_url.description": "05e5a4f8", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.flavor.description": "bdbd7347", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.image.description": "18b312d7", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.scale_factor.description": "69216a86", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.sharpen.description": "807cec6c", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.smart_grain.description": "261d4404", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.ultra_detail.description": "0002a973", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.webhook_url.description": "81525e46", + "components.schemas.FreepikSkinEnhancerCreativeRequest.properties.image.description": "8c5f48b2", + "components.schemas.FreepikSkinEnhancerCreativeRequest.properties.sharpen.description": "5caac155", + "components.schemas.FreepikSkinEnhancerCreativeRequest.properties.smart_grain.description": "6619a40a", + "components.schemas.FreepikSkinEnhancerCreativeRequest.properties.webhook_url.description": "479383a5", + "components.schemas.FreepikSkinEnhancerFaithfulRequest.properties.image.description": "8c5f48b2", + "components.schemas.FreepikSkinEnhancerFaithfulRequest.properties.sharpen.description": "5caac155", + "components.schemas.FreepikSkinEnhancerFaithfulRequest.properties.skin_detail.description": "288840e2", + "components.schemas.FreepikSkinEnhancerFaithfulRequest.properties.smart_grain.description": "6619a40a", + "components.schemas.FreepikSkinEnhancerFaithfulRequest.properties.webhook_url.description": "479383a5", + "components.schemas.FreepikSkinEnhancerFlexibleRequest.properties.image.description": "8c5f48b2", + "components.schemas.FreepikSkinEnhancerFlexibleRequest.properties.optimized_for.description": "dbc1b3fb", + "components.schemas.FreepikSkinEnhancerFlexibleRequest.properties.sharpen.description": "5caac155", + "components.schemas.FreepikSkinEnhancerFlexibleRequest.properties.smart_grain.description": "6619a40a", + "components.schemas.FreepikSkinEnhancerFlexibleRequest.properties.webhook_url.description": "479383a5", + "components.schemas.FreepikTaskData.properties.generated.description": "0fc39b0b", + "components.schemas.FunctionTool.properties.description.description": "ee0d5f90", + "components.schemas.FunctionTool.properties.name.description": "dbb1b999", + "components.schemas.FunctionTool.properties.parameters.description": "b4fc330d", + "components.schemas.FunctionTool.properties.type.description": "1201b87a", + "components.schemas.FunctionToolCall.description": "820a743f", + "components.schemas.FunctionToolCall.properties.arguments.description": "2eb2cacc", + "components.schemas.FunctionToolCall.properties.call_id.description": "2042f931", + "components.schemas.FunctionToolCall.properties.id.description": "b73764ab", + "components.schemas.FunctionToolCall.properties.name.description": "f6fc1363", + "components.schemas.FunctionToolCall.properties.status.description": "d3371813", + "components.schemas.FunctionToolCall.properties.type.description": "4a5936ac", + "components.schemas.GeminiContent.description": "6d190ca4", + "components.schemas.GeminiFileData.description": "385be319", + "components.schemas.GeminiFileData.properties.fileUri.description": "d70fbad8", + "components.schemas.GeminiFunctionDeclaration.properties.parameters.description": "8ff3bfe9", + "components.schemas.GeminiGenerateContentRequest.properties.uploadImagesToStorage.description": "4c64e456", + "components.schemas.GeminiGenerateContentResponse.properties.createTime.description": "e66293ab", + "components.schemas.GeminiGenerateContentResponse.properties.modelVersion.description": "1aba9833", + "components.schemas.GeminiGenerateContentResponse.properties.responseId.description": "bdf46c32", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.description": "7e4e8956", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.properties.aspectRatio.description": "526ba40b", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.properties.imageOutputOptions.description": "3b20cbc5", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.properties.imageOutputOptions.properties.compressionQuality.description": "7021514a", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.properties.imageOutputOptions.properties.mimeType.description": "cf8c7d85", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.properties.imageSize.description": "2233b3b7", + "components.schemas.GeminiGenerationConfig.properties.maxOutputTokens.description": "b089d858", + "components.schemas.GeminiGenerationConfig.properties.seed.description": "f26fd4f5", + "components.schemas.GeminiGenerationConfig.properties.temperature.description": "2f473098", + "components.schemas.GeminiGenerationConfig.properties.thinkingConfig.description": "ad1e24f0", + "components.schemas.GeminiGenerationConfig.properties.thinkingConfig.properties.includeThoughts.description": "f4edc661", + "components.schemas.GeminiGenerationConfig.properties.thinkingConfig.properties.thinkingBudget.description": "16af7ed2", + "components.schemas.GeminiGenerationConfig.properties.thinkingConfig.properties.thinkingLevel.description": "b30cfcc8", + "components.schemas.GeminiGenerationConfig.properties.topK.description": "541ee31f", + "components.schemas.GeminiGenerationConfig.properties.topP.description": "ce833ada", + "components.schemas.GeminiInlineData.description": "cee2a496", + "components.schemas.GeminiInlineData.properties.data.description": "7492ede9", + "components.schemas.GeminiMimeType.description": "4969583c", + "components.schemas.GeminiOffset.description": "13e32e3d", + "components.schemas.GeminiOffset.properties.nanos.description": "4629fa64", + "components.schemas.GeminiOffset.properties.seconds.description": "ff66926e", + "components.schemas.GeminiPart.properties.text.description": "8191792f", + "components.schemas.GeminiPart.properties.thought.description": "a827eac8", + "components.schemas.GeminiSafetyRating.properties.probability.description": "2965cf1b", + "components.schemas.GeminiSafetySetting.description": "97e849fd", + "components.schemas.GeminiSystemInstructionContent.description": "6ce6d661", + "components.schemas.GeminiSystemInstructionContent.properties.parts.description": "f3c5afea", + "components.schemas.GeminiSystemInstructionContent.properties.role.description": "186fdbb2", + "components.schemas.GeminiTextPart.properties.text.description": "8191792f", + "components.schemas.GeminiTool.description": "92056849", + "components.schemas.GeminiUsageMetadata.properties.cachedContentTokenCount.description": "9420b1e6", + "components.schemas.GeminiUsageMetadata.properties.candidatesTokenCount.description": "845030ca", + "components.schemas.GeminiUsageMetadata.properties.candidatesTokensDetails.description": "6f32ca49", + "components.schemas.GeminiUsageMetadata.properties.promptTokenCount.description": "c4bc7c7c", + "components.schemas.GeminiUsageMetadata.properties.promptTokensDetails.description": "0d5785a5", + "components.schemas.GeminiUsageMetadata.properties.thoughtsTokenCount.description": "a8b398e6", + "components.schemas.GeminiUsageMetadata.properties.toolUsePromptTokenCount.description": "51dba92b", + "components.schemas.GeminiUsageMetadata.properties.totalTokenCount.description": "cb0e21e2", + "components.schemas.GeminiUsageMetadata.properties.trafficType.description": "b1b3549f", + "components.schemas.GeminiVideoMetadata.description": "a75d40d7", + "components.schemas.GitCommitSummary.properties.author.description": "ca8d53a3", + "components.schemas.GitCommitSummary.properties.branch_name.description": "61a7a588", + "components.schemas.GitCommitSummary.properties.commit_hash.description": "5d73c6d8", + "components.schemas.GitCommitSummary.properties.commit_name.description": "c00c5cec", + "components.schemas.GitCommitSummary.properties.status_summary.description": "dc10b47e", + "components.schemas.GitCommitSummary.properties.timestamp.description": "625a8d83", + "components.schemas.GithubEnterprise.description": "cd23322b", + "components.schemas.GithubEnterprise.properties.avatar_url.description": "5987d8de", + "components.schemas.GithubEnterprise.properties.created_at.description": "abd58fff", + "components.schemas.GithubEnterprise.properties.description.description": "47e2cd96", + "components.schemas.GithubEnterprise.properties.html_url.description": "7cf25068", + "components.schemas.GithubEnterprise.properties.id.description": "21a23a8e", + "components.schemas.GithubEnterprise.properties.name.description": "e20f1f26", + "components.schemas.GithubEnterprise.properties.node_id.description": "3fd6b24a", + "components.schemas.GithubEnterprise.properties.slug.description": "07c5dc40", + "components.schemas.GithubEnterprise.properties.updated_at.description": "7580fd4b", + "components.schemas.GithubEnterprise.properties.website_url.description": "ba798ad2", + "components.schemas.GithubInstallation.description": "9f09d41a", + "components.schemas.GithubInstallation.properties.access_tokens_url.description": "65294e30", + "components.schemas.GithubInstallation.properties.app_id.description": "0cfd4fa8", + "components.schemas.GithubInstallation.properties.created_at.description": "a136a691", + "components.schemas.GithubInstallation.properties.events.description": "094c77b6", + "components.schemas.GithubInstallation.properties.html_url.description": "9e9bce92", + "components.schemas.GithubInstallation.properties.id.description": "6755bd24", + "components.schemas.GithubInstallation.properties.permissions.description": "fcb8712d", + "components.schemas.GithubInstallation.properties.repositories_url.description": "945fa0c3", + "components.schemas.GithubInstallation.properties.repository_selection.description": "a159055e", + "components.schemas.GithubInstallation.properties.single_file_name.description": "50a448c0", + "components.schemas.GithubInstallation.properties.target_id.description": "beab32d2", + "components.schemas.GithubInstallation.properties.target_type.description": "4ff96532", + "components.schemas.GithubInstallation.properties.updated_at.description": "dab24551", + "components.schemas.GithubOrganization.description": "d69d397d", + "components.schemas.GithubOrganization.properties.avatar_url.description": "09711234", + "components.schemas.GithubOrganization.properties.description.description": "f7f28225", + "components.schemas.GithubOrganization.properties.events_url.description": "86f3decf", + "components.schemas.GithubOrganization.properties.hooks_url.description": "73d46b25", + "components.schemas.GithubOrganization.properties.id.description": "38592c32", + "components.schemas.GithubOrganization.properties.issues_url.description": "b55cc0a7", + "components.schemas.GithubOrganization.properties.login.description": "41b36792", + "components.schemas.GithubOrganization.properties.members_url.description": "a47d83fb", + "components.schemas.GithubOrganization.properties.node_id.description": "a9640ad9", + "components.schemas.GithubOrganization.properties.public_members_url.description": "806874e6", + "components.schemas.GithubOrganization.properties.repos_url.description": "8e46c242", + "components.schemas.GithubOrganization.properties.url.description": "afb3b9c6", + "components.schemas.GithubReleaseAsset.description": "75329d6e", + "components.schemas.GithubReleaseAsset.properties.browser_download_url.description": "7f422fa3", + "components.schemas.GithubReleaseAsset.properties.content_type.description": "598e95fc", + "components.schemas.GithubReleaseAsset.properties.created_at.description": "20b975c7", + "components.schemas.GithubReleaseAsset.properties.download_count.description": "80fd4cdf", + "components.schemas.GithubReleaseAsset.properties.id.description": "df635067", + "components.schemas.GithubReleaseAsset.properties.label.description": "4d76cb60", + "components.schemas.GithubReleaseAsset.properties.name.description": "b1dac04b", + "components.schemas.GithubReleaseAsset.properties.node_id.description": "a324219b", + "components.schemas.GithubReleaseAsset.properties.size.description": "ce8d87f8", + "components.schemas.GithubReleaseAsset.properties.state.description": "8b30f12f", + "components.schemas.GithubReleaseAsset.properties.updated_at.description": "3f1e16a5", + "components.schemas.GithubReleaseWebhook.description": "a142618e", + "components.schemas.GithubReleaseWebhook.properties.action.description": "8f85b59b", + "components.schemas.GithubReleaseWebhook.properties.release.description": "9c6d762d", + "components.schemas.GithubReleaseWebhook.properties.release.properties.assets.description": "59bc9d75", + "components.schemas.GithubReleaseWebhook.properties.release.properties.assets_url.description": "ecca9ff0", + "components.schemas.GithubReleaseWebhook.properties.release.properties.body.description": "4a243ab5", + "components.schemas.GithubReleaseWebhook.properties.release.properties.created_at.description": "8127b843", + "components.schemas.GithubReleaseWebhook.properties.release.properties.draft.description": "aa4cc6cc", + "components.schemas.GithubReleaseWebhook.properties.release.properties.html_url.description": "dd650a65", + "components.schemas.GithubReleaseWebhook.properties.release.properties.id.description": "ca58ef4f", + "components.schemas.GithubReleaseWebhook.properties.release.properties.name.description": "f28ae12d", + "components.schemas.GithubReleaseWebhook.properties.release.properties.node_id.description": "1a99803e", + "components.schemas.GithubReleaseWebhook.properties.release.properties.prerelease.description": "44165d44", + "components.schemas.GithubReleaseWebhook.properties.release.properties.published_at.description": "c1977317", + "components.schemas.GithubReleaseWebhook.properties.release.properties.tag_name.description": "b2ed3bef", + "components.schemas.GithubReleaseWebhook.properties.release.properties.tarball_url.description": "be2e2d57", + "components.schemas.GithubReleaseWebhook.properties.release.properties.target_commitish.description": "ea6703dd", + "components.schemas.GithubReleaseWebhook.properties.release.properties.upload_url.description": "52ff0c0f", + "components.schemas.GithubReleaseWebhook.properties.release.properties.url.description": "74046c7a", + "components.schemas.GithubReleaseWebhook.properties.release.properties.zipball_url.description": "51ebf767", + "components.schemas.GithubRepository.description": "10a88a02", + "components.schemas.GithubRepository.properties.clone_url.description": "b82e5385", + "components.schemas.GithubRepository.properties.created_at.description": "fa2ab0a2", + "components.schemas.GithubRepository.properties.default_branch.description": "7426c264", + "components.schemas.GithubRepository.properties.description.description": "3a7a9358", + "components.schemas.GithubRepository.properties.fork.description": "0a441526", + "components.schemas.GithubRepository.properties.full_name.description": "d1fc238b", + "components.schemas.GithubRepository.properties.git_url.description": "73182b72", + "components.schemas.GithubRepository.properties.html_url.description": "63bccf71", + "components.schemas.GithubRepository.properties.id.description": "411151e9", + "components.schemas.GithubRepository.properties.name.description": "707cdfc2", + "components.schemas.GithubRepository.properties.node_id.description": "edc425a8", + "components.schemas.GithubRepository.properties.private.description": "c6f93e3e", + "components.schemas.GithubRepository.properties.pushed_at.description": "e50b29ec", + "components.schemas.GithubRepository.properties.ssh_url.description": "68dde328", + "components.schemas.GithubRepository.properties.updated_at.description": "03b08b7d", + "components.schemas.GithubRepository.properties.url.description": "3343e6bd", + "components.schemas.GithubUser.description": "ee01fde2", + "components.schemas.GithubUser.properties.avatar_url.description": "dc5af4e1", + "components.schemas.GithubUser.properties.gravatar_id.description": "19d92dee", + "components.schemas.GithubUser.properties.html_url.description": "8230f5cc", + "components.schemas.GithubUser.properties.id.description": "d865a85f", + "components.schemas.GithubUser.properties.login.description": "3dbfdff7", + "components.schemas.GithubUser.properties.node_id.description": "d561dc8b", + "components.schemas.GithubUser.properties.site_admin.description": "3c23d6ab", + "components.schemas.GithubUser.properties.type.description": "dedcdac1", + "components.schemas.GithubUser.properties.url.description": "ad27a3e1", + "components.schemas.HitPawErrorResponse.description": "a38f8202", + "components.schemas.HitPawErrorResponse.properties.error_code.description": "0570b384", + "components.schemas.HitPawErrorResponse.properties.message.description": "a5dc35f1", + "components.schemas.HitPawJobResponse.description": "fbf98d13", + "components.schemas.HitPawJobResponse.properties.code.description": "b5e3f7b0", + "components.schemas.HitPawJobResponse.properties.data.properties.consume_coins.description": "9b4fa755", + "components.schemas.HitPawJobResponse.properties.data.properties.job_id.description": "cd49bf8f", + "components.schemas.HitPawJobResponse.properties.message.description": "575e8608", + "components.schemas.HitPawPhotoEnhancerRequest.description": "020f636c", + "components.schemas.HitPawPhotoEnhancerRequest.properties.DPI.description": "78c001fb", + "components.schemas.HitPawPhotoEnhancerRequest.properties.exif.description": "69edfa45", + "components.schemas.HitPawPhotoEnhancerRequest.properties.extension.description": "88ef4a49", + "components.schemas.HitPawPhotoEnhancerRequest.properties.img_url.description": "f45a855e", + "components.schemas.HitPawPhotoEnhancerRequest.properties.model_name.description": "83a54d63", + "components.schemas.HitPawTaskStatusRequest.description": "75ca6594", + "components.schemas.HitPawTaskStatusRequest.properties.job_id.description": "7f28c87b", + "components.schemas.HitPawTaskStatusResponse.description": "b971ade8", + "components.schemas.HitPawTaskStatusResponse.properties.code.description": "b5e3f7b0", + "components.schemas.HitPawTaskStatusResponse.properties.data.properties.job_id.description": "3e0cce3a", + "components.schemas.HitPawTaskStatusResponse.properties.data.properties.original_url.description": "be5e61ce", + "components.schemas.HitPawTaskStatusResponse.properties.data.properties.res_url.description": "dfecef5c", + "components.schemas.HitPawTaskStatusResponse.properties.data.properties.status.description": "4785e775", + "components.schemas.HitPawTaskStatusResponse.properties.message.description": "575e8608", + "components.schemas.HitPawVideoEnhancerRequest.description": "71f9162c", + "components.schemas.HitPawVideoEnhancerRequest.properties.extension.description": "51c80a25", + "components.schemas.HitPawVideoEnhancerRequest.properties.model_name.description": "a946ce05", + "components.schemas.HitPawVideoEnhancerRequest.properties.original_resolution.description": "6dd78e7a", + "components.schemas.HitPawVideoEnhancerRequest.properties.resolution.description": "4e559b3e", + "components.schemas.HitPawVideoEnhancerRequest.properties.video_url.description": "cf2cc7b6", + "components.schemas.IdeogramColorPalette.description": "cbed8244", + "components.schemas.IdeogramColorPalette.oneOf[0].properties.name.description": "7306eb37", + "components.schemas.IdeogramColorPalette.oneOf[1].properties.members.description": "f8a0032e", + "components.schemas.IdeogramColorPalette.oneOf[1].properties.members.items.properties.color.description": "65448a27", + "components.schemas.IdeogramColorPalette.oneOf[1].properties.members.items.properties.weight.description": "56eecd01", + "components.schemas.IdeogramGenerateRequest.description": "50e63a69", + "components.schemas.IdeogramGenerateRequest.properties.image_request.description": "092952fa", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.aspect_ratio.description": "245b6284", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.color_palette.description": "3f4e60c4", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.magic_prompt_option.description": "5705d27e", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.model.description": "671a2dcc", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.negative_prompt.description": "1758790e", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.num_images.description": "1c02782e", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.prompt.description": "049acdf6", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.resolution.description": "8ccbb2f1", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.seed.description": "b8ab5b5f", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.style_type.description": "4afe6df2", + "components.schemas.IdeogramGenerateResponse.description": "d24bef27", + "components.schemas.IdeogramGenerateResponse.properties.created.description": "4a5ccef2", + "components.schemas.IdeogramGenerateResponse.properties.data.description": "806a2ee8", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.is_image_safe.description": "9f0681b9", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.prompt.description": "47813ab6", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.resolution.description": "09b3d8cb", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.seed.description": "72ca88f8", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.style_type.description": "77a5decc", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.url.description": "4058ecad", + "components.schemas.IdeogramV3EditRequest.properties.character_reference_images.description": "e4424e85", + "components.schemas.IdeogramV3EditRequest.properties.character_reference_images_mask.description": "3109c4a8", + "components.schemas.IdeogramV3EditRequest.properties.image.description": "ad402569", + "components.schemas.IdeogramV3EditRequest.properties.magic_prompt.description": "fbc52e9b", + "components.schemas.IdeogramV3EditRequest.properties.mask.description": "a4e8ea3c", + "components.schemas.IdeogramV3EditRequest.properties.num_images.description": "4b673228", + "components.schemas.IdeogramV3EditRequest.properties.prompt.description": "8ddd5832", + "components.schemas.IdeogramV3EditRequest.properties.seed.description": "96e94f94", + "components.schemas.IdeogramV3EditRequest.properties.style_codes.description": "9b3506cf", + "components.schemas.IdeogramV3EditRequest.properties.style_reference_images.description": "d4fcf08c", + "components.schemas.IdeogramV3RemixRequest.properties.character_reference_images.description": "e4424e85", + "components.schemas.IdeogramV3RemixRequest.properties.character_reference_images_mask.description": "3109c4a8", + "components.schemas.IdeogramV3Request.properties.aspect_ratio.description": "ea09d583", + "components.schemas.IdeogramV3Request.properties.character_reference_images.description": "e4424e85", + "components.schemas.IdeogramV3Request.properties.character_reference_images_mask.description": "3109c4a8", + "components.schemas.IdeogramV3Request.properties.color_palette.properties.name.description": "3eaf95a9", + "components.schemas.IdeogramV3Request.properties.magic_prompt.description": "7f00ecee", + "components.schemas.IdeogramV3Request.properties.negative_prompt.description": "ac9daf8f", + "components.schemas.IdeogramV3Request.properties.num_images.description": "1fb366eb", + "components.schemas.IdeogramV3Request.properties.prompt.description": "7f1a3d35", + "components.schemas.IdeogramV3Request.properties.resolution.description": "c3eb2021", + "components.schemas.IdeogramV3Request.properties.seed.description": "1e0448c3", + "components.schemas.IdeogramV3Request.properties.style_codes.description": "aa625598", + "components.schemas.IdeogramV3Request.properties.style_reference_images.description": "46fee1de", + "components.schemas.IdeogramV4Request.description": "00d82b06", + "components.schemas.IdeogramV4Request.properties.enable_copyright_detection.description": "78523439", + "components.schemas.IdeogramV4Request.properties.json_prompt.description": "e7a9aa86", + "components.schemas.IdeogramV4Request.properties.resolution.description": "98a28498", + "components.schemas.IdeogramV4Request.properties.text_prompt.description": "219b7175", + "components.schemas.ImageGenerationServerTool_OpenRouter.description": "629fb7b3", + "components.schemas.ImagenImageGenerationInstance.properties.prompt.description": "80e0d34a", + "components.schemas.ImagenImagePrediction.properties.bytesBase64Encoded.description": "faaabc4e", + "components.schemas.ImagenImagePrediction.properties.mimeType.description": "c8af3a36", + "components.schemas.ImagenImagePrediction.properties.prompt.description": "b0c86d8a", + "components.schemas.Includable.description": "cd9a54ed", + "components.schemas.InputFileContent.description": "85622d1d", + "components.schemas.InputFileContent.properties.file_data.description": "689eaa2f", + "components.schemas.InputFileContent.properties.file_id.description": "85d64188", + "components.schemas.InputFileContent.properties.filename.description": "852ff03c", + "components.schemas.InputFileContent.properties.type.description": "86f01c25", + "components.schemas.InputImageContent.description": "7bf06972", + "components.schemas.InputImageContent.properties.detail.description": "4a94d1be", + "components.schemas.InputImageContent.properties.file_id.description": "85d64188", + "components.schemas.InputImageContent.properties.image_url.description": "7e548e34", + "components.schemas.InputImageContent.properties.type.description": "6b728f27", + "components.schemas.InputMessageContentList.description": "02ac12e9", + "components.schemas.InputTextContent.description": "c3b01a4b", + "components.schemas.InputTextContent.properties.text.description": "c092ca65", + "components.schemas.InputTextContent.properties.type.description": "96af07d2", + "components.schemas.Item.description": "75773418", + "components.schemas.KlingAudioUploadType.description": "c1f431e5", + "components.schemas.KlingAvatarMode.description": "87222c5b", + "components.schemas.KlingAvatarRequest.properties.audio_id.description": "ff86c9dd", + "components.schemas.KlingAvatarRequest.properties.callback_url.description": "3c0657d9", + "components.schemas.KlingAvatarRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingAvatarRequest.properties.image.description": "066360df", + "components.schemas.KlingAvatarRequest.properties.prompt.description": "b7ef46c2", + "components.schemas.KlingAvatarRequest.properties.sound_file.description": "a27c4c53", + "components.schemas.KlingAvatarRequest.properties.watermark_info.properties.enabled.description": "2c530c23", + "components.schemas.KlingAvatarResponse.properties.code.description": "0570b384", + "components.schemas.KlingAvatarResponse.properties.data.properties.created_at.description": "5d77aa39", + "components.schemas.KlingAvatarResponse.properties.data.properties.final_unit_deduction.description": "a080e1a2", + "components.schemas.KlingAvatarResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingAvatarResponse.properties.data.properties.task_status_msg.description": "e0565888", + "components.schemas.KlingAvatarResponse.properties.data.properties.updated_at.description": "63ce5101", + "components.schemas.KlingAvatarResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingAvatarResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingCameraConfig.properties.horizontal.description": "a9f00ccc", + "components.schemas.KlingCameraConfig.properties.pan.description": "708dd250", + "components.schemas.KlingCameraConfig.properties.roll.description": "4f6df63c", + "components.schemas.KlingCameraConfig.properties.tilt.description": "7bb9188d", + "components.schemas.KlingCameraConfig.properties.vertical.description": "99d85f29", + "components.schemas.KlingCameraConfig.properties.zoom.description": "fcb5265d", + "components.schemas.KlingCameraControlType.description": "95ade433", + "components.schemas.KlingCharacterEffectModelName.description": "fe48ebef", + "components.schemas.KlingDualCharacterEffectsScene.description": "60253259", + "components.schemas.KlingDualCharacterImages.items.description": "aef244d3", + "components.schemas.KlingErrorResponse.properties.code.description": "ffb72142", + "components.schemas.KlingErrorResponse.properties.message.description": "52710385", + "components.schemas.KlingErrorResponse.properties.request_id.description": "cd1b3a95", + "components.schemas.KlingImage2VideoRequest.properties.callback_url.description": "f95e5959", + "components.schemas.KlingImage2VideoRequest.properties.dynamic_masks.description": "81f4d628", + "components.schemas.KlingImage2VideoRequest.properties.dynamic_masks.items.properties.mask.description": "47664ada", + "components.schemas.KlingImage2VideoRequest.properties.dynamic_masks.items.properties.trajectories.items.properties.x.description": "1be27cf9", + "components.schemas.KlingImage2VideoRequest.properties.dynamic_masks.items.properties.trajectories.items.properties.y.description": "6f1924a5", + "components.schemas.KlingImage2VideoRequest.properties.element_list.description": "a2d90fff", + "components.schemas.KlingImage2VideoRequest.properties.element_list.items.properties.element_id.description": "77509169", + "components.schemas.KlingImage2VideoRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingImage2VideoRequest.properties.image.description": "b4f435da", + "components.schemas.KlingImage2VideoRequest.properties.image_tail.description": "fcc00d76", + "components.schemas.KlingImage2VideoRequest.properties.multi_prompt.description": "cf2fc9cf", + "components.schemas.KlingImage2VideoRequest.properties.multi_prompt.items.properties.duration.description": "6aeaff72", + "components.schemas.KlingImage2VideoRequest.properties.multi_prompt.items.properties.index.description": "26fa0516", + "components.schemas.KlingImage2VideoRequest.properties.multi_prompt.items.properties.prompt.description": "d56d233a", + "components.schemas.KlingImage2VideoRequest.properties.multi_shot.description": "f86cb835", + "components.schemas.KlingImage2VideoRequest.properties.negative_prompt.description": "463fe9af", + "components.schemas.KlingImage2VideoRequest.properties.prompt.description": "b081ce99", + "components.schemas.KlingImage2VideoRequest.properties.shot_type.description": "6324f020", + "components.schemas.KlingImage2VideoRequest.properties.sound.description": "f83eda08", + "components.schemas.KlingImage2VideoRequest.properties.static_mask.description": "98468045", + "components.schemas.KlingImage2VideoRequest.properties.voice_list.description": "802ae668", + "components.schemas.KlingImage2VideoRequest.properties.voice_list.items.properties.voice_id.description": "e84c097a", + "components.schemas.KlingImage2VideoRequest.properties.watermark_info.description": "a768050c", + "components.schemas.KlingImage2VideoRequest.properties.watermark_info.properties.enabled.description": "755ad8ab", + "components.schemas.KlingImageGenAspectRatio.description": "7e44e5e3", + "components.schemas.KlingImageGenImageReferenceType.description": "53a4c1aa", + "components.schemas.KlingImageGenModelName.description": "a501a70a", + "components.schemas.KlingImageGenerationsRequest.properties.callback_url.description": "70bbd919", + "components.schemas.KlingImageGenerationsRequest.properties.element_list.description": "e9859f59", + "components.schemas.KlingImageGenerationsRequest.properties.element_list.items.properties.element_id.description": "77509169", + "components.schemas.KlingImageGenerationsRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingImageGenerationsRequest.properties.human_fidelity.description": "0c3cb6ed", + "components.schemas.KlingImageGenerationsRequest.properties.image.description": "7e7e2111", + "components.schemas.KlingImageGenerationsRequest.properties.image_fidelity.description": "92c84603", + "components.schemas.KlingImageGenerationsRequest.properties.n.description": "70f7af7d", + "components.schemas.KlingImageGenerationsRequest.properties.negative_prompt.description": "6268b46e", + "components.schemas.KlingImageGenerationsRequest.properties.prompt.description": "f65ec204", + "components.schemas.KlingImageGenerationsRequest.properties.resolution.description": "80e7a807", + "components.schemas.KlingImageGenerationsResponse.properties.code.description": "0570b384", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.created_at.description": "34c09a78", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.final_unit_deduction.description": "a080e1a2", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.task_info.properties.external_task_id.description": "523ced72", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.task_status_msg.description": "9c4268b5", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.updated_at.description": "66a1376e", + "components.schemas.KlingImageGenerationsResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingImageGenerationsResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingImageResult.properties.index.description": "e79576a5", + "components.schemas.KlingImageResult.properties.url.description": "f8e5207c", + "components.schemas.KlingLipSyncInputObject.properties.audio_file.description": "88aa2adf", + "components.schemas.KlingLipSyncInputObject.properties.audio_url.description": "62b4f244", + "components.schemas.KlingLipSyncInputObject.properties.text.description": "c2c7055f", + "components.schemas.KlingLipSyncInputObject.properties.video_id.description": "cc706bec", + "components.schemas.KlingLipSyncInputObject.properties.video_url.description": "4ac56d45", + "components.schemas.KlingLipSyncInputObject.properties.voice_id.description": "b1e8b822", + "components.schemas.KlingLipSyncInputObject.properties.voice_speed.description": "4a7553ba", + "components.schemas.KlingLipSyncMode.description": "a1e88026", + "components.schemas.KlingLipSyncRequest.properties.callback_url.description": "f95e5959", + "components.schemas.KlingLipSyncResponse.properties.code.description": "0570b384", + "components.schemas.KlingLipSyncResponse.properties.data.properties.created_at.description": "5d77aa39", + "components.schemas.KlingLipSyncResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingLipSyncResponse.properties.data.properties.updated_at.description": "63ce5101", + "components.schemas.KlingLipSyncResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingLipSyncResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingLipSyncVoiceLanguage.description": "0aede926", + "components.schemas.KlingMotionControlRequest.properties.callback_url.description": "bc5327da", + "components.schemas.KlingMotionControlRequest.properties.character_orientation.description": "44cec623", + "components.schemas.KlingMotionControlRequest.properties.element_list.description": "fde0cb37", + "components.schemas.KlingMotionControlRequest.properties.element_list.items.properties.element_id.description": "77509169", + "components.schemas.KlingMotionControlRequest.properties.external_task_id.description": "5afede4c", + "components.schemas.KlingMotionControlRequest.properties.image_url.description": "e05669af", + "components.schemas.KlingMotionControlRequest.properties.keep_original_sound.description": "d5db1242", + "components.schemas.KlingMotionControlRequest.properties.mode.description": "137955a6", + "components.schemas.KlingMotionControlRequest.properties.model_name.description": "4996115a", + "components.schemas.KlingMotionControlRequest.properties.prompt.description": "548ff7e0", + "components.schemas.KlingMotionControlRequest.properties.video_url.description": "5721c0c2", + "components.schemas.KlingMotionControlRequest.properties.watermark_info.description": "a768050c", + "components.schemas.KlingMotionControlRequest.properties.watermark_info.properties.enabled.description": "755ad8ab", + "components.schemas.KlingMotionControlResponse.properties.code.description": "0570b384", + "components.schemas.KlingMotionControlResponse.properties.data.properties.created_at.description": "1754e5ec", + "components.schemas.KlingMotionControlResponse.properties.data.properties.final_unit_deduction.description": "a080e1a2", + "components.schemas.KlingMotionControlResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingMotionControlResponse.properties.data.properties.task_info.properties.external_task_id.description": "523ced72", + "components.schemas.KlingMotionControlResponse.properties.data.properties.task_status_msg.description": "9c4268b5", + "components.schemas.KlingMotionControlResponse.properties.data.properties.updated_at.description": "03349877", + "components.schemas.KlingMotionControlResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingMotionControlResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingMotionControlVideoResult.properties.duration.description": "571c9ed2", + "components.schemas.KlingMotionControlVideoResult.properties.id.description": "5ea6eadd", + "components.schemas.KlingMotionControlVideoResult.properties.url.description": "8a14b774", + "components.schemas.KlingMotionControlVideoResult.properties.watermark_url.description": "95f2aa97", + "components.schemas.KlingOmniImageRequest.properties.aspect_ratio.description": "0b010657", + "components.schemas.KlingOmniImageRequest.properties.callback_url.description": "bc5327da", + "components.schemas.KlingOmniImageRequest.properties.element_list.description": "e9859f59", + "components.schemas.KlingOmniImageRequest.properties.element_list.items.properties.element_id.description": "77509169", + "components.schemas.KlingOmniImageRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingOmniImageRequest.properties.image_list.description": "b5f268a9", + "components.schemas.KlingOmniImageRequest.properties.image_list.items.properties.image.description": "894920d1", + "components.schemas.KlingOmniImageRequest.properties.model_name.description": "a501a70a", + "components.schemas.KlingOmniImageRequest.properties.n.description": "70f7af7d", + "components.schemas.KlingOmniImageRequest.properties.prompt.description": "985fe223", + "components.schemas.KlingOmniImageRequest.properties.resolution.description": "5c1565fe", + "components.schemas.KlingOmniImageRequest.properties.result_type.description": "6f725b78", + "components.schemas.KlingOmniImageRequest.properties.series_amount.description": "09825ba9", + "components.schemas.KlingOmniImageResponse.properties.code.description": "0570b384", + "components.schemas.KlingOmniImageResponse.properties.data.properties.created_at.description": "34c09a78", + "components.schemas.KlingOmniImageResponse.properties.data.properties.final_unit_deduction.description": "a080e1a2", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_info.properties.external_task_id.description": "523ced72", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_result.properties.result_type.description": "0bda7c58", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_result.properties.series_images.description": "c1817fea", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_result.properties.series_images.items.properties.index.description": "c89e9185", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_result.properties.series_images.items.properties.url.description": "f8e5207c", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_status_msg.description": "baa63663", + "components.schemas.KlingOmniImageResponse.properties.data.properties.updated_at.description": "66a1376e", + "components.schemas.KlingOmniImageResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingOmniImageResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingOmniVideoRequest.properties.aspect_ratio.description": "efa92fd4", + "components.schemas.KlingOmniVideoRequest.properties.callback_url.description": "bc5327da", + "components.schemas.KlingOmniVideoRequest.properties.duration.description": "53d6a804", + "components.schemas.KlingOmniVideoRequest.properties.element_list.description": "e23cc470", + "components.schemas.KlingOmniVideoRequest.properties.element_list.items.properties.element_id.description": "77509169", + "components.schemas.KlingOmniVideoRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingOmniVideoRequest.properties.image_list.description": "7915f15e", + "components.schemas.KlingOmniVideoRequest.properties.image_list.items.properties.image_url.description": "f9b9fb19", + "components.schemas.KlingOmniVideoRequest.properties.image_list.items.properties.type.description": "e0e027c0", + "components.schemas.KlingOmniVideoRequest.properties.mode.description": "45655874", + "components.schemas.KlingOmniVideoRequest.properties.model_name.description": "a501a70a", + "components.schemas.KlingOmniVideoRequest.properties.multi_prompt.description": "cf2fc9cf", + "components.schemas.KlingOmniVideoRequest.properties.multi_prompt.items.properties.duration.description": "6aeaff72", + "components.schemas.KlingOmniVideoRequest.properties.multi_prompt.items.properties.index.description": "26fa0516", + "components.schemas.KlingOmniVideoRequest.properties.multi_prompt.items.properties.prompt.description": "d56d233a", + "components.schemas.KlingOmniVideoRequest.properties.multi_shot.description": "f86cb835", + "components.schemas.KlingOmniVideoRequest.properties.prompt.description": "383c64fd", + "components.schemas.KlingOmniVideoRequest.properties.shot_type.description": "6324f020", + "components.schemas.KlingOmniVideoRequest.properties.sound.description": "0b7d6480", + "components.schemas.KlingOmniVideoRequest.properties.video_list.description": "cc48aacc", + "components.schemas.KlingOmniVideoRequest.properties.video_list.items.properties.keep_original_sound.description": "8778a62f", + "components.schemas.KlingOmniVideoRequest.properties.video_list.items.properties.refer_type.description": "2b2d874f", + "components.schemas.KlingOmniVideoRequest.properties.video_list.items.properties.video_url.description": "bb1db105", + "components.schemas.KlingOmniVideoRequest.properties.watermark_info.description": "a768050c", + "components.schemas.KlingOmniVideoRequest.properties.watermark_info.properties.enabled.description": "755ad8ab", + "components.schemas.KlingPresetsElementTask.properties.created_at.description": "2db7b589", + "components.schemas.KlingPresetsElementTask.properties.updated_at.description": "fc336b8a", + "components.schemas.KlingQueryTaskResponse.properties.code.description": "0570b384", + "components.schemas.KlingQueryTaskResponse.properties.data.properties.created_at.description": "34c09a78", + "components.schemas.KlingQueryTaskResponse.properties.data.properties.final_unit_deduction.description": "a080e1a2", + "components.schemas.KlingQueryTaskResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingQueryTaskResponse.properties.data.properties.task_status_msg.description": "9c4268b5", + "components.schemas.KlingQueryTaskResponse.properties.data.properties.updated_at.description": "66a1376e", + "components.schemas.KlingQueryTaskResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingQueryTaskResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingResourcePackageResponse.properties.code.description": "d8378b01", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.code.description": "d8378b01", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.msg.description": "128c11ab", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.description": "f864d5a3", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.effective_time.description": "62f35649", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.invalid_time.description": "bddf2910", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.purchase_time.description": "f0e38499", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.remaining_quantity.description": "92ebd4f0", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.resource_pack_id.description": "6efffa2a", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.resource_pack_name.description": "9d56db0d", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.resource_pack_type.description": "73bc4327", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.status.description": "c8e1c4a6", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.total_quantity.description": "d9c71159", + "components.schemas.KlingResourcePackageResponse.properties.message.description": "128c11ab", + "components.schemas.KlingResourcePackageResponse.properties.request_id.description": "62d00656", + "components.schemas.KlingSingleImageEffectDuration.description": "236b95d5", + "components.schemas.KlingSingleImageEffectInput.properties.image.description": "8f3c19e6", + "components.schemas.KlingSingleImageEffectModelName.description": "214c4904", + "components.schemas.KlingSingleImageEffectsScene.description": "2cfee1b0", + "components.schemas.KlingTaskStatus.description": "63428ae5", + "components.schemas.KlingText2VideoRequest.properties.callback_url.description": "70bbd919", + "components.schemas.KlingText2VideoRequest.properties.external_task_id.description": "b13cb4aa", + "components.schemas.KlingText2VideoRequest.properties.multi_prompt.description": "cf2fc9cf", + "components.schemas.KlingText2VideoRequest.properties.multi_prompt.items.properties.duration.description": "6aeaff72", + "components.schemas.KlingText2VideoRequest.properties.multi_prompt.items.properties.index.description": "26fa0516", + "components.schemas.KlingText2VideoRequest.properties.multi_prompt.items.properties.prompt.description": "d56d233a", + "components.schemas.KlingText2VideoRequest.properties.multi_shot.description": "f86cb835", + "components.schemas.KlingText2VideoRequest.properties.negative_prompt.description": "463fe9af", + "components.schemas.KlingText2VideoRequest.properties.prompt.description": "b081ce99", + "components.schemas.KlingText2VideoRequest.properties.shot_type.description": "6324f020", + "components.schemas.KlingText2VideoRequest.properties.sound.description": "f83eda08", + "components.schemas.KlingText2VideoRequest.properties.watermark_info.description": "a768050c", + "components.schemas.KlingText2VideoRequest.properties.watermark_info.properties.enabled.description": "755ad8ab", + "components.schemas.KlingTextToVideoModelName.description": "a501a70a", + "components.schemas.KlingV2CreateTaskResponse.description": "cfe83d07", + "components.schemas.KlingV2CreateTaskResponse.properties.code.description": "b79bc486", + "components.schemas.KlingV2CreateTaskResponse.properties.data.properties.create_time.description": "4de40456", + "components.schemas.KlingV2CreateTaskResponse.properties.data.properties.external_id.description": "9b8d8c4a", + "components.schemas.KlingV2CreateTaskResponse.properties.data.properties.id.description": "68109191", + "components.schemas.KlingV2CreateTaskResponse.properties.data.properties.status.description": "4f63ad23", + "components.schemas.KlingV2CreateTaskResponse.properties.data.properties.update_time.description": "84bcd8d3", + "components.schemas.KlingV2CreateTaskResponse.properties.message.description": "d0e4554d", + "components.schemas.KlingV2CreateTaskResponse.properties.request_id.description": "42e56ac5", + "components.schemas.KlingV2Image2VideoRequest.properties.contents.description": "a83e77f5", + "components.schemas.KlingV2Image2VideoRequest.properties.contents.items.properties.text.description": "e574ecd2", + "components.schemas.KlingV2Image2VideoRequest.properties.contents.items.properties.type.description": "cfd2ddec", + "components.schemas.KlingV2Image2VideoRequest.properties.contents.items.properties.url.description": "4a0c917a", + "components.schemas.KlingV2Image2VideoRequest.properties.settings.description": "a2022c69", + "components.schemas.KlingV2Image2VideoRequest.properties.settings.properties.duration.description": "3cc2ffff", + "components.schemas.KlingV2Image2VideoRequest.properties.settings.properties.resolution.description": "c0f447b2", + "components.schemas.KlingV2Options.description": "cb7ef32a", + "components.schemas.KlingV2Options.properties.callback_url.description": "b003efb4", + "components.schemas.KlingV2Options.properties.external_task_id.description": "7bc26876", + "components.schemas.KlingV2Options.properties.watermark_info.description": "61a5d6a2", + "components.schemas.KlingV2Options.properties.watermark_info.properties.enabled.description": "3187212d", + "components.schemas.KlingV2Output.description": "6b8fd4b2", + "components.schemas.KlingV2Output.properties.duration.description": "5765cb86", + "components.schemas.KlingV2Output.properties.group_id.description": "a02eecd2", + "components.schemas.KlingV2Output.properties.id.description": "3a4dbf4a", + "components.schemas.KlingV2Output.properties.mp3_duration.description": "9e0f91e3", + "components.schemas.KlingV2Output.properties.mp3_url.description": "52dd1f77", + "components.schemas.KlingV2Output.properties.name.description": "81e7813e", + "components.schemas.KlingV2Output.properties.owned_by.description": "82bf267d", + "components.schemas.KlingV2Output.properties.status.description": "6cb7f1c7", + "components.schemas.KlingV2Output.properties.type.description": "2200ac61", + "components.schemas.KlingV2Output.properties.url.description": "94972c8d", + "components.schemas.KlingV2Output.properties.watermark_url.description": "a2b98aed", + "components.schemas.KlingV2Output.properties.wav_duration.description": "3192a43c", + "components.schemas.KlingV2Output.properties.wav_url.description": "544bd8a4", + "components.schemas.KlingV2QueryTaskResponse.description": "6f7b6060", + "components.schemas.KlingV2QueryTaskResponse.properties.code.description": "b79bc486", + "components.schemas.KlingV2QueryTaskResponse.properties.data.description": "79bc39d8", + "components.schemas.KlingV2QueryTaskResponse.properties.message.description": "d0e4554d", + "components.schemas.KlingV2QueryTaskResponse.properties.request_id.description": "42e56ac5", + "components.schemas.KlingV2Task.description": "e8bcc2c8", + "components.schemas.KlingV2Task.properties.billing.description": "86a75bb6", + "components.schemas.KlingV2Task.properties.billing.items.properties.amount.description": "9c8a1040", + "components.schemas.KlingV2Task.properties.billing.items.properties.charge_type.description": "4999e7f5", + "components.schemas.KlingV2Task.properties.billing.items.properties.package_type.description": "35af4dec", + "components.schemas.KlingV2Task.properties.create_time.description": "4de40456", + "components.schemas.KlingV2Task.properties.external_id.description": "9b8d8c4a", + "components.schemas.KlingV2Task.properties.id.description": "3db7c34e", + "components.schemas.KlingV2Task.properties.message.description": "bf416ceb", + "components.schemas.KlingV2Task.properties.outputs.description": "32069eb4", + "components.schemas.KlingV2Task.properties.status.description": "4f63ad23", + "components.schemas.KlingV2Task.properties.update_time.description": "84bcd8d3", + "components.schemas.KlingV2Text2VideoRequest.properties.prompt.description": "8af33dfb", + "components.schemas.KlingV2Text2VideoRequest.properties.settings.description": "801e2db1", + "components.schemas.KlingV2Text2VideoRequest.properties.settings.properties.aspect_ratio.description": "f88caede", + "components.schemas.KlingV2Text2VideoRequest.properties.settings.properties.duration.description": "3cc2ffff", + "components.schemas.KlingV2Text2VideoRequest.properties.settings.properties.resolution.description": "c0f447b2", + "components.schemas.KlingVideoEffectsRequest.properties.callback_url.description": "3c0657d9", + "components.schemas.KlingVideoEffectsRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingVideoEffectsResponse.properties.code.description": "0570b384", + "components.schemas.KlingVideoEffectsResponse.properties.data.properties.created_at.description": "5d77aa39", + "components.schemas.KlingVideoEffectsResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingVideoEffectsResponse.properties.data.properties.updated_at.description": "63ce5101", + "components.schemas.KlingVideoEffectsResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingVideoEffectsResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingVideoExtendRequest.properties.callback_url.description": "f95e5959", + "components.schemas.KlingVideoExtendRequest.properties.negative_prompt.description": "87de36e0", + "components.schemas.KlingVideoExtendRequest.properties.prompt.description": "f6bb7282", + "components.schemas.KlingVideoExtendRequest.properties.video_id.description": "04df9acd", + "components.schemas.KlingVideoExtendResponse.properties.code.description": "0570b384", + "components.schemas.KlingVideoExtendResponse.properties.data.properties.created_at.description": "5d77aa39", + "components.schemas.KlingVideoExtendResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingVideoExtendResponse.properties.data.properties.updated_at.description": "63ce5101", + "components.schemas.KlingVideoExtendResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingVideoExtendResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingVideoGenAspectRatio.description": "0369e1fa", + "components.schemas.KlingVideoGenCfgScale.description": "63efa46a", + "components.schemas.KlingVideoGenDuration.description": "d7ee3a61", + "components.schemas.KlingVideoGenMode.description": "00c2d33f", + "components.schemas.KlingVideoGenModelName.description": "a501a70a", + "components.schemas.KlingVideoResult.properties.duration.description": "fde7639a", + "components.schemas.KlingVideoResult.properties.id.description": "b7086e46", + "components.schemas.KlingVideoResult.properties.url.description": "07f2aaac", + "components.schemas.KlingVideoResult.properties.watermark_url.description": "95698e33", + "components.schemas.KlingVirtualTryOnModelName.description": "a501a70a", + "components.schemas.KlingVirtualTryOnRequest.properties.callback_url.description": "70bbd919", + "components.schemas.KlingVirtualTryOnRequest.properties.cloth_image.description": "b4e6dbd5", + "components.schemas.KlingVirtualTryOnRequest.properties.human_image.description": "0adf9d41", + "components.schemas.KlingVirtualTryOnResponse.properties.code.description": "0570b384", + "components.schemas.KlingVirtualTryOnResponse.properties.data.properties.created_at.description": "5d77aa39", + "components.schemas.KlingVirtualTryOnResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingVirtualTryOnResponse.properties.data.properties.task_status_msg.description": "e0565888", + "components.schemas.KlingVirtualTryOnResponse.properties.data.properties.updated_at.description": "63ce5101", + "components.schemas.KlingVirtualTryOnResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingVirtualTryOnResponse.properties.request_id.description": "d561f528", + "components.schemas.KreaAssetUploadRequest.properties.description.description": "29847c37", + "components.schemas.KreaAssetUploadRequest.properties.file.description": "091e8bfe", + "components.schemas.KreaGenerateImageRequest.properties.aspect_ratio.description": "deada7d2", + "components.schemas.KreaGenerateImageRequest.properties.creativity.description": "e81eaa77", + "components.schemas.KreaGenerateImageRequest.properties.image_style_references.description": "e75b343f", + "components.schemas.KreaGenerateImageRequest.properties.moodboards.description": "7dcd6af7", + "components.schemas.KreaGenerateImageRequest.properties.resolution.description": "bf8c583e", + "components.schemas.KreaGenerateImageRequest.properties.styles.description": "58c6d253", + "components.schemas.KreaJob.properties.status.description": "f116e6f9", + "components.schemas.LTXImage2VideoRequest.properties.duration.description": "de4fb026", + "components.schemas.LTXImage2VideoRequest.properties.fps.description": "6d1aab34", + "components.schemas.LTXImage2VideoRequest.properties.generate_audio.description": "5aa1d296", + "components.schemas.LTXImage2VideoRequest.properties.image_uri.description": "abeee955", + "components.schemas.LTXImage2VideoRequest.properties.model.description": "d2ad8216", + "components.schemas.LTXImage2VideoRequest.properties.prompt.description": "1ae8f5fc", + "components.schemas.LTXImage2VideoRequest.properties.resolution.description": "e5f00815", + "components.schemas.LTXText2VideoRequest.properties.duration.description": "de4fb026", + "components.schemas.LTXText2VideoRequest.properties.fps.description": "6d1aab34", + "components.schemas.LTXText2VideoRequest.properties.generate_audio.description": "5aa1d296", + "components.schemas.LTXText2VideoRequest.properties.model.description": "d2ad8216", + "components.schemas.LTXText2VideoRequest.properties.prompt.description": "42d0198e", + "components.schemas.LTXText2VideoRequest.properties.resolution.description": "e5f00815", + "components.schemas.LumaAgentsAspectRatio.description": "41f92a90", + "components.schemas.LumaAgentsError.description": "d49a0492", + "components.schemas.LumaAgentsError.properties.detail.description": "84e45725", + "components.schemas.LumaAgentsFailureCode.description": "0be4f0ae", + "components.schemas.LumaAgentsGeneration.description": "6ed283a2", + "components.schemas.LumaAgentsGeneration.properties.created_at.description": "377d1833", + "components.schemas.LumaAgentsGeneration.properties.failure_reason.description": "f0101539", + "components.schemas.LumaAgentsGeneration.properties.id.description": "03235f39", + "components.schemas.LumaAgentsGeneration.properties.model.description": "24a0459f", + "components.schemas.LumaAgentsGenerationOutput.description": "9c722f47", + "components.schemas.LumaAgentsGenerationOutput.properties.type.description": "cf7e03c2", + "components.schemas.LumaAgentsGenerationOutput.properties.url.description": "b0cd3a25", + "components.schemas.LumaAgentsGenerationRequest.description": "114786ae", + "components.schemas.LumaAgentsGenerationRequest.properties.image_ref.description": "eee33835", + "components.schemas.LumaAgentsGenerationRequest.properties.model.description": "4f5a50a5", + "components.schemas.LumaAgentsGenerationRequest.properties.prompt.description": "0588414e", + "components.schemas.LumaAgentsGenerationRequest.properties.web_search.description": "71eff12b", + "components.schemas.LumaAgentsGenerationType.description": "ed10d99f", + "components.schemas.LumaAgentsImageRef.description": "614d3f3e", + "components.schemas.LumaAgentsImageRef.properties.data.description": "459cdb19", + "components.schemas.LumaAgentsImageRef.properties.generation_id.description": "62923861", + "components.schemas.LumaAgentsImageRef.properties.media_type.description": "327a5548", + "components.schemas.LumaAgentsImageRef.properties.url.description": "d43b40ee", + "components.schemas.LumaAgentsOutputFormat.description": "ebb90ddf", + "components.schemas.LumaAgentsState.description": "96b3dc88", + "components.schemas.LumaAgentsStyle.description": "0ebd9d0f", + "components.schemas.LumaAgentsVideoDuration.description": "37b59319", + "components.schemas.LumaAgentsVideoOptions.description": "256348d5", + "components.schemas.LumaAgentsVideoOptions.properties.exr_export.description": "ec42834c", + "components.schemas.LumaAgentsVideoOptions.properties.hdr.description": "9714f0e9", + "components.schemas.LumaAgentsVideoOptions.properties.keyframes.description": "700e5fd9", + "components.schemas.LumaAgentsVideoOptions.properties.loop.description": "44c3f3d1", + "components.schemas.LumaAgentsVideoResolution.description": "b1a48eb5", + "components.schemas.LumaAspectRatio.description": "549259bf", + "components.schemas.LumaAssets.description": "b9ea723b", + "components.schemas.LumaAssets.properties.image.description": "d9839da6", + "components.schemas.LumaAssets.properties.progress_video.description": "2af611b5", + "components.schemas.LumaAssets.properties.video.description": "96fb87d9", + "components.schemas.LumaAudioGenerationRequest.description": "0e6ae858", + "components.schemas.LumaAudioGenerationRequest.properties.callback_url.description": "7b1cfb18", + "components.schemas.LumaAudioGenerationRequest.properties.negative_prompt.description": "77322dd8", + "components.schemas.LumaAudioGenerationRequest.properties.prompt.description": "c86bac31", + "components.schemas.LumaError.description": "d49a0492", + "components.schemas.LumaError.properties.detail.description": "84e45725", + "components.schemas.LumaGeneration.description": "31dd7d8c", + "components.schemas.LumaGeneration.properties.created_at.description": "60d4e8cf", + "components.schemas.LumaGeneration.properties.failure_reason.description": "df79bf4c", + "components.schemas.LumaGeneration.properties.id.description": "84f8c18e", + "components.schemas.LumaGeneration.properties.model.description": "24431f99", + "components.schemas.LumaGeneration.properties.request.description": "ad19405a", + "components.schemas.LumaGenerationReference.description": "1520f7be", + "components.schemas.LumaGenerationReference.properties.id.description": "84f8c18e", + "components.schemas.LumaGenerationRequest.description": "d1705797", + "components.schemas.LumaGenerationRequest.properties.callback_url.description": "3f93fff2", + "components.schemas.LumaGenerationRequest.properties.loop.description": "9c16759d", + "components.schemas.LumaGenerationRequest.properties.prompt.description": "54c9965b", + "components.schemas.LumaImageGenerationRequest.description": "2ec5636f", + "components.schemas.LumaImageGenerationRequest.properties.callback_url.description": "faf25a74", + "components.schemas.LumaImageGenerationRequest.properties.prompt.description": "54c9965b", + "components.schemas.LumaImageIdentity.description": "f680d145", + "components.schemas.LumaImageIdentity.properties.images.description": "a6a6c44b", + "components.schemas.LumaImageModel.description": "eae10126", + "components.schemas.LumaImageRef.description": "3d12543b", + "components.schemas.LumaImageRef.properties.url.description": "17b64161", + "components.schemas.LumaImageRef.properties.weight.description": "76ed7c3c", + "components.schemas.LumaImageReference.description": "8929cd80", + "components.schemas.LumaImageReference.properties.url.description": "d9839da6", + "components.schemas.LumaKeyframe.description": "b6bd7ad4", + "components.schemas.LumaKeyframes.description": "2514bff1", + "components.schemas.LumaModifyImageRef.description": "18428bb4", + "components.schemas.LumaModifyImageRef.properties.url.description": "17b64161", + "components.schemas.LumaModifyImageRef.properties.weight.description": "68c8c66a", + "components.schemas.LumaState.description": "17934f9b", + "components.schemas.LumaUpscaleVideoGenerationRequest.description": "bb4b2ce9", + "components.schemas.LumaUpscaleVideoGenerationRequest.properties.callback_url.description": "033b1cfc", + "components.schemas.LumaVideoModel.description": "7da67e38", + "components.schemas.MachineStats.properties.cpu_capacity.description": "b5431dab", + "components.schemas.MachineStats.properties.disk_capacity.description": "100dd8b1", + "components.schemas.MachineStats.properties.gpu_type.description": "b03d0d1d", + "components.schemas.MachineStats.properties.initial_cpu.description": "d10b9791", + "components.schemas.MachineStats.properties.initial_disk.description": "42c19c80", + "components.schemas.MachineStats.properties.initial_ram.description": "9188dbb1", + "components.schemas.MachineStats.properties.machine_name.description": "d386d457", + "components.schemas.MachineStats.properties.memory_capacity.description": "39cb936c", + "components.schemas.MachineStats.properties.os_version.description": "c1c53e2c", + "components.schemas.MachineStats.properties.pip_freeze.description": "22f82680", + "components.schemas.MachineStats.properties.vram_time_series.description": "a27916b1", + "components.schemas.MeshyAiModel.description": "acf507af", + "components.schemas.MeshyAnimationCreateResponse.properties.result.description": "fa49a86e", + "components.schemas.MeshyAnimationPostProcess.description": "6a1bd500", + "components.schemas.MeshyAnimationPostProcess.properties.fps.description": "aeb73f0a", + "components.schemas.MeshyAnimationPostProcess.properties.operation_type.description": "5090cebe", + "components.schemas.MeshyAnimationRequest.properties.action_id.description": "4cc8606d", + "components.schemas.MeshyAnimationRequest.properties.rig_task_id.description": "285ae47e", + "components.schemas.MeshyAnimationResult.description": "40a90e7c", + "components.schemas.MeshyAnimationResult.properties.animation_fbx_url.description": "dca8e5e0", + "components.schemas.MeshyAnimationResult.properties.animation_glb_url.description": "437349a3", + "components.schemas.MeshyAnimationResult.properties.processed_animation_fps_fbx_url.description": "6568267c", + "components.schemas.MeshyAnimationResult.properties.processed_armature_fbx_url.description": "0e6d8738", + "components.schemas.MeshyAnimationResult.properties.processed_usdz_url.description": "03899c05", + "components.schemas.MeshyAnimationTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyAnimationTask.properties.expires_at.description": "80d10a12", + "components.schemas.MeshyAnimationTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyAnimationTask.properties.id.description": "98bfade1", + "components.schemas.MeshyAnimationTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyAnimationTask.properties.progress.description": "4081a742", + "components.schemas.MeshyAnimationTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyAnimationTask.properties.type.description": "8238093d", + "components.schemas.MeshyArtStyle.description": "2da7a38a", + "components.schemas.MeshyImageTo3DCreateResponse.properties.result.description": "7124af44", + "components.schemas.MeshyImageTo3DModelUrls.description": "17b6a660", + "components.schemas.MeshyImageTo3DModelUrls.properties.fbx.description": "72d83dac", + "components.schemas.MeshyImageTo3DModelUrls.properties.glb.description": "ee6c296f", + "components.schemas.MeshyImageTo3DModelUrls.properties.mtl.description": "67b905a4", + "components.schemas.MeshyImageTo3DModelUrls.properties.obj.description": "91ac082b", + "components.schemas.MeshyImageTo3DModelUrls.properties.pre_remeshed_glb.description": "dbb8041c", + "components.schemas.MeshyImageTo3DModelUrls.properties.usdz.description": "10a6d5db", + "components.schemas.MeshyImageTo3DRequest.properties.enable_pbr.description": "026a457f", + "components.schemas.MeshyImageTo3DRequest.properties.image_url.description": "b78198ec", + "components.schemas.MeshyImageTo3DRequest.properties.is_a_t_pose.description": "f52e42da", + "components.schemas.MeshyImageTo3DRequest.properties.model_type.description": "bb4c331e", + "components.schemas.MeshyImageTo3DRequest.properties.moderation.description": "f91fb7f2", + "components.schemas.MeshyImageTo3DRequest.properties.save_pre_remeshed_model.description": "d7193d87", + "components.schemas.MeshyImageTo3DRequest.properties.should_remesh.description": "de59f43a", + "components.schemas.MeshyImageTo3DRequest.properties.should_texture.description": "57740dce", + "components.schemas.MeshyImageTo3DRequest.properties.target_polycount.description": "4fbdc431", + "components.schemas.MeshyImageTo3DRequest.properties.texture_image_url.description": "abd0d960", + "components.schemas.MeshyImageTo3DRequest.properties.texture_prompt.description": "6e254655", + "components.schemas.MeshyImageTo3DTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyImageTo3DTask.properties.expires_at.description": "80d10a12", + "components.schemas.MeshyImageTo3DTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyImageTo3DTask.properties.id.description": "98bfade1", + "components.schemas.MeshyImageTo3DTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyImageTo3DTask.properties.progress.description": "2474e077", + "components.schemas.MeshyImageTo3DTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyImageTo3DTask.properties.texture_image_url.description": "5605187c", + "components.schemas.MeshyImageTo3DTask.properties.texture_prompt.description": "4f74abde", + "components.schemas.MeshyImageTo3DTask.properties.texture_urls.description": "1fe6fe81", + "components.schemas.MeshyImageTo3DTask.properties.thumbnail_url.description": "5492457d", + "components.schemas.MeshyImageTo3DTask.properties.type.description": "be25e63b", + "components.schemas.MeshyModelUrls.description": "68a32190", + "components.schemas.MeshyModelUrls.properties.fbx.description": "72d83dac", + "components.schemas.MeshyModelUrls.properties.glb.description": "ee6c296f", + "components.schemas.MeshyModelUrls.properties.mtl.description": "67b905a4", + "components.schemas.MeshyModelUrls.properties.obj.description": "91ac082b", + "components.schemas.MeshyModelUrls.properties.usdz.description": "10a6d5db", + "components.schemas.MeshyMultiImageTo3DCreateResponse.properties.result.description": "5cec1f28", + "components.schemas.MeshyMultiImageTo3DRequest.properties.ai_model.description": "acf507af", + "components.schemas.MeshyMultiImageTo3DRequest.properties.enable_pbr.description": "026a457f", + "components.schemas.MeshyMultiImageTo3DRequest.properties.image_urls.description": "988c89d8", + "components.schemas.MeshyMultiImageTo3DRequest.properties.is_a_t_pose.description": "f52e42da", + "components.schemas.MeshyMultiImageTo3DRequest.properties.moderation.description": "f91fb7f2", + "components.schemas.MeshyMultiImageTo3DRequest.properties.save_pre_remeshed_model.description": "d7193d87", + "components.schemas.MeshyMultiImageTo3DRequest.properties.should_remesh.description": "de59f43a", + "components.schemas.MeshyMultiImageTo3DRequest.properties.should_texture.description": "462650b4", + "components.schemas.MeshyMultiImageTo3DRequest.properties.target_polycount.description": "4fbdc431", + "components.schemas.MeshyMultiImageTo3DRequest.properties.texture_image_url.description": "abd0d960", + "components.schemas.MeshyMultiImageTo3DRequest.properties.texture_prompt.description": "6e254655", + "components.schemas.MeshyMultiImageTo3DTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyMultiImageTo3DTask.properties.expires_at.description": "80d10a12", + "components.schemas.MeshyMultiImageTo3DTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyMultiImageTo3DTask.properties.id.description": "98bfade1", + "components.schemas.MeshyMultiImageTo3DTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyMultiImageTo3DTask.properties.progress.description": "2474e077", + "components.schemas.MeshyMultiImageTo3DTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyMultiImageTo3DTask.properties.texture_prompt.description": "4f74abde", + "components.schemas.MeshyMultiImageTo3DTask.properties.texture_urls.description": "1fe6fe81", + "components.schemas.MeshyMultiImageTo3DTask.properties.thumbnail_url.description": "5492457d", + "components.schemas.MeshyMultiImageTo3DTask.properties.type.description": "79ce249b", + "components.schemas.MeshyPoseMode.description": "e9cce28d", + "components.schemas.MeshyRemeshCreateResponse.properties.result.description": "58188e30", + "components.schemas.MeshyRemeshModelUrls.description": "fe054dcd", + "components.schemas.MeshyRemeshModelUrls.properties.blend.description": "1aed70c2", + "components.schemas.MeshyRemeshModelUrls.properties.fbx.description": "72d83dac", + "components.schemas.MeshyRemeshModelUrls.properties.glb.description": "ee6c296f", + "components.schemas.MeshyRemeshModelUrls.properties.obj.description": "91ac082b", + "components.schemas.MeshyRemeshModelUrls.properties.stl.description": "1ffdeaa6", + "components.schemas.MeshyRemeshModelUrls.properties.usdz.description": "10a6d5db", + "components.schemas.MeshyRemeshRequest.properties.convert_format_only.description": "333c063b", + "components.schemas.MeshyRemeshRequest.properties.input_task_id.description": "2ff3f538", + "components.schemas.MeshyRemeshRequest.properties.model_url.description": "600aa96a", + "components.schemas.MeshyRemeshRequest.properties.origin_at.description": "21f550c2", + "components.schemas.MeshyRemeshRequest.properties.resize_height.description": "2f5cc96e", + "components.schemas.MeshyRemeshRequest.properties.target_formats.description": "82bdc5d3", + "components.schemas.MeshyRemeshRequest.properties.target_polycount.description": "4fbdc431", + "components.schemas.MeshyRemeshTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyRemeshTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyRemeshTask.properties.id.description": "98bfade1", + "components.schemas.MeshyRemeshTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyRemeshTask.properties.progress.description": "2474e077", + "components.schemas.MeshyRemeshTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyRemeshTask.properties.type.description": "0e956405", + "components.schemas.MeshyRemeshTaskStatus.description": "64fb0037", + "components.schemas.MeshyRetextureCreateResponse.properties.result.description": "218841e4", + "components.schemas.MeshyRetextureModelUrls.description": "825a4590", + "components.schemas.MeshyRetextureModelUrls.properties.fbx.description": "72d83dac", + "components.schemas.MeshyRetextureModelUrls.properties.glb.description": "ee6c296f", + "components.schemas.MeshyRetextureModelUrls.properties.usdz.description": "10a6d5db", + "components.schemas.MeshyRetextureRequest.properties.enable_original_uv.description": "0c427b4e", + "components.schemas.MeshyRetextureRequest.properties.enable_pbr.description": "026a457f", + "components.schemas.MeshyRetextureRequest.properties.image_style_url.description": "e36ce617", + "components.schemas.MeshyRetextureRequest.properties.input_task_id.description": "d8971a01", + "components.schemas.MeshyRetextureRequest.properties.model_url.description": "b25c7156", + "components.schemas.MeshyRetextureRequest.properties.text_style_prompt.description": "9bf455ff", + "components.schemas.MeshyRetextureTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyRetextureTask.properties.expires_at.description": "80d10a12", + "components.schemas.MeshyRetextureTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyRetextureTask.properties.id.description": "98bfade1", + "components.schemas.MeshyRetextureTask.properties.image_style_url.description": "b2e403e3", + "components.schemas.MeshyRetextureTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyRetextureTask.properties.progress.description": "2474e077", + "components.schemas.MeshyRetextureTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyRetextureTask.properties.text_style_prompt.description": "0e0eda16", + "components.schemas.MeshyRetextureTask.properties.texture_urls.description": "1fe6fe81", + "components.schemas.MeshyRetextureTask.properties.thumbnail_url.description": "5492457d", + "components.schemas.MeshyRetextureTask.properties.type.description": "383ee410", + "components.schemas.MeshyRiggingBasicAnimations.description": "184e787a", + "components.schemas.MeshyRiggingBasicAnimations.properties.running_armature_glb_url.description": "7b1a5b33", + "components.schemas.MeshyRiggingBasicAnimations.properties.running_fbx_url.description": "eb39efa7", + "components.schemas.MeshyRiggingBasicAnimations.properties.running_glb_url.description": "090ac81e", + "components.schemas.MeshyRiggingBasicAnimations.properties.walking_armature_glb_url.description": "1a53b24e", + "components.schemas.MeshyRiggingBasicAnimations.properties.walking_fbx_url.description": "012b5118", + "components.schemas.MeshyRiggingBasicAnimations.properties.walking_glb_url.description": "0e97a05c", + "components.schemas.MeshyRiggingCreateResponse.properties.result.description": "41f6a6fa", + "components.schemas.MeshyRiggingRequest.properties.height_meters.description": "a4aa2f5a", + "components.schemas.MeshyRiggingRequest.properties.input_task_id.description": "2cdb526f", + "components.schemas.MeshyRiggingRequest.properties.model_url.description": "abbebd9d", + "components.schemas.MeshyRiggingRequest.properties.texture_image_url.description": "895dd6e1", + "components.schemas.MeshyRiggingResult.description": "85f3282e", + "components.schemas.MeshyRiggingResult.properties.rigged_character_fbx_url.description": "5df48720", + "components.schemas.MeshyRiggingResult.properties.rigged_character_glb_url.description": "6111191f", + "components.schemas.MeshyRiggingTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyRiggingTask.properties.expires_at.description": "80d10a12", + "components.schemas.MeshyRiggingTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyRiggingTask.properties.id.description": "98bfade1", + "components.schemas.MeshyRiggingTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyRiggingTask.properties.progress.description": "fb1d1e24", + "components.schemas.MeshyRiggingTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyRiggingTask.properties.type.description": "177be62d", + "components.schemas.MeshySymmetryMode.description": "64a05dac", + "components.schemas.MeshyTaskError.description": "410b2cc7", + "components.schemas.MeshyTaskError.properties.message.description": "1259fbc0", + "components.schemas.MeshyTaskStatus.description": "7defa597", + "components.schemas.MeshyTextTo3DCreateResponse.properties.result.description": "0f3430c5", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.is_a_t_pose.description": "f52e42da", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.mode.description": "3e450a2d", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.moderation.description": "f91fb7f2", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.prompt.description": "4a6e0eb0", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.should_remesh.description": "de59f43a", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.target_polycount.description": "4fbdc431", + "components.schemas.MeshyTextTo3DRefineRequest.properties.enable_pbr.description": "6c109d93", + "components.schemas.MeshyTextTo3DRefineRequest.properties.mode.description": "36ec2960", + "components.schemas.MeshyTextTo3DRefineRequest.properties.moderation.description": "f91fb7f2", + "components.schemas.MeshyTextTo3DRefineRequest.properties.preview_task_id.description": "56689f45", + "components.schemas.MeshyTextTo3DRefineRequest.properties.texture_image_url.description": "abd0d960", + "components.schemas.MeshyTextTo3DRefineRequest.properties.texture_prompt.description": "a94998a3", + "components.schemas.MeshyTextTo3DTask.properties.art_style.description": "0ad4fe68", + "components.schemas.MeshyTextTo3DTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyTextTo3DTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyTextTo3DTask.properties.id.description": "98bfade1", + "components.schemas.MeshyTextTo3DTask.properties.negative_prompt.description": "3de11737", + "components.schemas.MeshyTextTo3DTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyTextTo3DTask.properties.progress.description": "2474e077", + "components.schemas.MeshyTextTo3DTask.properties.prompt.description": "d47d55f4", + "components.schemas.MeshyTextTo3DTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyTextTo3DTask.properties.texture_image_url.description": "5605187c", + "components.schemas.MeshyTextTo3DTask.properties.texture_prompt.description": "7db699b8", + "components.schemas.MeshyTextTo3DTask.properties.texture_richness.description": "3de11737", + "components.schemas.MeshyTextTo3DTask.properties.texture_urls.description": "1fe6fe81", + "components.schemas.MeshyTextTo3DTask.properties.thumbnail_url.description": "5492457d", + "components.schemas.MeshyTextTo3DTask.properties.type.description": "e9526463", + "components.schemas.MeshyTextTo3DTask.properties.video_url.description": "80485fac", + "components.schemas.MeshyTextureUrls.description": "05150b8b", + "components.schemas.MeshyTextureUrls.properties.base_color.description": "8ebb4fc4", + "components.schemas.MeshyTextureUrls.properties.metallic.description": "e05b11ce", + "components.schemas.MeshyTextureUrls.properties.normal.description": "223a032e", + "components.schemas.MeshyTextureUrls.properties.roughness.description": "59b9aee4", + "components.schemas.MeshyTopology.description": "a3d7026d", + "components.schemas.MigrationAPIKey.description": "305b1f22", + "components.schemas.MinimaxBaseResponse.description": "e7a77540", + "components.schemas.MinimaxBaseResponse.properties.status_code.description": "834f26be", + "components.schemas.MinimaxBaseResponse.properties.status_msg.description": "707ffac7", + "components.schemas.MinimaxFileRetrieveResponse.description": "88beb806", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.bytes.description": "a8a1db04", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.created_at.description": "d0852956", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.download_url.description": "9abc4bde", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.file_id.description": "004d7871", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.filename.description": "95ce404f", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.purpose.description": "6dd4c542", + "components.schemas.MinimaxTaskResultResponse.description": "538ee2b0", + "components.schemas.MinimaxTaskResultResponse.properties.file_id.description": "eb9e950c", + "components.schemas.MinimaxTaskResultResponse.properties.status.description": "80b53998", + "components.schemas.MinimaxTaskResultResponse.properties.task_id.description": "e8fdb470", + "components.schemas.MinimaxVideoGenerationRequest.description": "d671fb30", + "components.schemas.MinimaxVideoGenerationRequest.properties.callback_url.description": "c94f5cb8", + "components.schemas.MinimaxVideoGenerationRequest.properties.duration.description": "aa99f88a", + "components.schemas.MinimaxVideoGenerationRequest.properties.first_frame_image.description": "58f54f5b", + "components.schemas.MinimaxVideoGenerationRequest.properties.model.description": "eae23619", + "components.schemas.MinimaxVideoGenerationRequest.properties.prompt.description": "5e439c63", + "components.schemas.MinimaxVideoGenerationRequest.properties.prompt_optimizer.description": "fdccabc0", + "components.schemas.MinimaxVideoGenerationRequest.properties.resolution.description": "92a77b74", + "components.schemas.MinimaxVideoGenerationRequest.properties.subject_reference.description": "9bd30202", + "components.schemas.MinimaxVideoGenerationRequest.properties.subject_reference.items.properties.image.description": "14c67a10", + "components.schemas.MinimaxVideoGenerationRequest.properties.subject_reference.items.properties.mask.description": "aba92885", + "components.schemas.MinimaxVideoGenerationResponse.description": "f59b227f", + "components.schemas.MinimaxVideoGenerationResponse.properties.task_id.description": "51e812c2", + "components.schemas.Modality.description": "9f5d6ee6", + "components.schemas.ModalityTokenCount.properties.tokenCount.description": "b03fd501", + "components.schemas.ModelClassification.properties.cost_cents.description": "bf51c0d8", + "components.schemas.ModelClassification.properties.effective_tier.description": "1956d163", + "components.schemas.ModelClassification.properties.override.description": "c46c5eb5", + "components.schemas.ModelClassification.properties.reason.description": "4a0e393a", + "components.schemas.ModelResponseProperties.description": "147677ad", + "components.schemas.ModelResponseProperties.properties.instructions.description": "e06d41d6", + "components.schemas.ModelResponseProperties.properties.max_output_tokens.description": "877bc91a", + "components.schemas.ModelResponseProperties.properties.model.description": "cf74118d", + "components.schemas.ModelResponseProperties.properties.temperature.description": "1153e2de", + "components.schemas.ModelResponseProperties.properties.top_p.description": "3c0ab569", + "components.schemas.ModelResponseProperties.properties.truncation.description": "0e57d1ed", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.guidance_scale.description": "4a840966", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.height.description": "c69ac5f6", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.negative_prompt.description": "87f8a8bb", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.seed.description": "e59d4294", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.steps.description": "d7bc1b6d", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.use_negative_prompts.description": "3e2f5420", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.width.description": "7f093622", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.control_params.properties.motion_intensity.description": "e4766e0a", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.guidance_scale.description": "4a840966", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.negative_prompt.description": "87f8a8bb", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.seed.description": "e59d4294", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.steps.description": "d7bc1b6d", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.use_negative_prompts.description": "3e2f5420", + "components.schemas.MoonvalleyVideoToVideoRequest.properties.control_type.description": "a713a5a7", + "components.schemas.MoonvalleyVideoToVideoRequest.properties.image_url.description": "0429e8c0", + "components.schemas.MoonvalleyVideoToVideoRequest.properties.prompt_text.description": "cf4b2f4d", + "components.schemas.MoonvalleyVideoToVideoRequest.properties.video_url.description": "61e974a4", + "components.schemas.MoonvalleyVideoToVideoRequest.properties.webhook_url.description": "5af599a0", + "components.schemas.Node.properties.banner_url.description": "b4afb85e", + "components.schemas.Node.properties.category.description": "f65e5591", + "components.schemas.Node.properties.created_at.description": "55266bbf", + "components.schemas.Node.properties.downloads.description": "02c640c2", + "components.schemas.Node.properties.github_stars.description": "7fd15716", + "components.schemas.Node.properties.icon.description": "85303563", + "components.schemas.Node.properties.id.description": "6cc84bef", + "components.schemas.Node.properties.license.description": "125ce0e3", + "components.schemas.Node.properties.name.description": "0c87b954", + "components.schemas.Node.properties.preempted_comfy_node_names.description": "0da0ae68", + "components.schemas.Node.properties.rating.description": "f8825d99", + "components.schemas.Node.properties.repository.description": "ebca0d93", + "components.schemas.Node.properties.search_ranking.description": "640b1936", + "components.schemas.Node.properties.status_detail.description": "3ceac554", + "components.schemas.Node.properties.supported_accelerators.description": "f9f8a16f", + "components.schemas.Node.properties.supported_comfyui_frontend_version.description": "aeaa3824", + "components.schemas.Node.properties.supported_comfyui_version.description": "30d0a237", + "components.schemas.Node.properties.supported_os.description": "951ad4c1", + "components.schemas.Node.properties.tags_admin.description": "fd8fe569", + "components.schemas.Node.properties.translations.description": "120513fb", + "components.schemas.NodeVersion.properties.changelog.description": "5a9f9e5e", + "components.schemas.NodeVersion.properties.comfy_node_extract_status.description": "4a90cf13", + "components.schemas.NodeVersion.properties.createdAt.description": "97a89278", + "components.schemas.NodeVersion.properties.dependencies.description": "b29e372e", + "components.schemas.NodeVersion.properties.deprecated.description": "78a52a28", + "components.schemas.NodeVersion.properties.downloadUrl.description": "0cf0e2a8", + "components.schemas.NodeVersion.properties.node_id.description": "6cc84bef", + "components.schemas.NodeVersion.properties.supported_accelerators.description": "f9f8a16f", + "components.schemas.NodeVersion.properties.supported_comfyui_frontend_version.description": "aeaa3824", + "components.schemas.NodeVersion.properties.supported_comfyui_version.description": "30d0a237", + "components.schemas.NodeVersion.properties.supported_os.description": "951ad4c1", + "components.schemas.NodeVersion.properties.tags_admin.description": "fd8fe569", + "components.schemas.NodeVersion.properties.version.description": "4b2231e9", + "components.schemas.NodeVersionIdentifier.properties.node_id.description": "8d181606", + "components.schemas.NodeVersionIdentifier.properties.version.description": "6c0c021c", + "components.schemas.NodeVersionUpdateRequest.properties.changelog.description": "6785bd2e", + "components.schemas.NodeVersionUpdateRequest.properties.deprecated.description": "d36bae5f", + "components.schemas.OpenAICreateResponse.allOf[2].properties.include.description": "cd9a54ed", + "components.schemas.OpenAICreateResponse.allOf[2].properties.input.description": "0fea5c5e", + "components.schemas.OpenAICreateResponse.allOf[2].properties.input.oneOf[0].description": "9b87e08d", + "components.schemas.OpenAICreateResponse.allOf[2].properties.input.oneOf[1].description": "009896cb", + "components.schemas.OpenAICreateResponse.allOf[2].properties.parallel_tool_calls.description": "9c6a880b", + "components.schemas.OpenAICreateResponse.allOf[2].properties.store.description": "6977bff8", + "components.schemas.OpenAICreateResponse.allOf[2].properties.stream.description": "2b7b9901", + "components.schemas.OpenAIImageEditRequest.properties.background.description": "d76b2b77", + "components.schemas.OpenAIImageEditRequest.properties.model.description": "1a7e244b", + "components.schemas.OpenAIImageEditRequest.properties.moderation.description": "559af91f", + "components.schemas.OpenAIImageEditRequest.properties.n.description": "dbe4dbb2", + "components.schemas.OpenAIImageEditRequest.properties.output_compression.description": "98f5f71b", + "components.schemas.OpenAIImageEditRequest.properties.output_format.description": "0d827e39", + "components.schemas.OpenAIImageEditRequest.properties.prompt.description": "658a1a2b", + "components.schemas.OpenAIImageEditRequest.properties.quality.description": "56e4ba14", + "components.schemas.OpenAIImageEditRequest.properties.size.description": "0cef06c7", + "components.schemas.OpenAIImageEditRequest.properties.user.description": "167a4ef1", + "components.schemas.OpenAIImageGenerationRequest.properties.background.description": "d76b2b77", + "components.schemas.OpenAIImageGenerationRequest.properties.model.description": "c972a079", + "components.schemas.OpenAIImageGenerationRequest.properties.moderation.description": "559af91f", + "components.schemas.OpenAIImageGenerationRequest.properties.n.description": "36d21eea", + "components.schemas.OpenAIImageGenerationRequest.properties.output_compression.description": "98f5f71b", + "components.schemas.OpenAIImageGenerationRequest.properties.output_format.description": "0d827e39", + "components.schemas.OpenAIImageGenerationRequest.properties.prompt.description": "c4e2d1e9", + "components.schemas.OpenAIImageGenerationRequest.properties.quality.description": "9dffa87b", + "components.schemas.OpenAIImageGenerationRequest.properties.response_format.description": "7e0e4877", + "components.schemas.OpenAIImageGenerationRequest.properties.size.description": "a380125e", + "components.schemas.OpenAIImageGenerationRequest.properties.style.description": "7a11e7c0", + "components.schemas.OpenAIImageGenerationRequest.properties.user.description": "167a4ef1", + "components.schemas.OpenAIImageGenerationResponse.properties.data.items.properties.b64_json.description": "23d8f4e3", + "components.schemas.OpenAIImageGenerationResponse.properties.data.items.properties.revised_prompt.description": "5424c782", + "components.schemas.OpenAIImageGenerationResponse.properties.data.items.properties.url.description": "c1cf625e", + "components.schemas.OpenAIResponse.allOf[2].properties.created_at.description": "7fecc7f7", + "components.schemas.OpenAIResponse.allOf[2].properties.id.description": "6466ec2a", + "components.schemas.OpenAIResponse.allOf[2].properties.incomplete_details.description": "5d3d4e6c", + "components.schemas.OpenAIResponse.allOf[2].properties.incomplete_details.properties.reason.description": "e199589f", + "components.schemas.OpenAIResponse.allOf[2].properties.object.description": "f6ba34d7", + "components.schemas.OpenAIResponse.allOf[2].properties.output.description": "394e3864", + "components.schemas.OpenAIResponse.allOf[2].properties.output_text.description": "273b6f37", + "components.schemas.OpenAIResponse.allOf[2].properties.parallel_tool_calls.description": "9c6a880b", + "components.schemas.OpenAIResponse.allOf[2].properties.status.description": "cd73198a", + "components.schemas.OpenAIResponse.description": "8d46ae7d", + "components.schemas.OpenAIResponseStreamEvent.description": "fbd4c6a4", + "components.schemas.OpenAIVideoCreateRequest.properties.input_reference.description": "79b2f8df", + "components.schemas.OpenAIVideoCreateRequest.properties.model.description": "8e8eb0e3", + "components.schemas.OpenAIVideoCreateRequest.properties.prompt.description": "52b84912", + "components.schemas.OpenAIVideoCreateRequest.properties.seconds.description": "40aeba88", + "components.schemas.OpenAIVideoCreateRequest.properties.size.description": "129d3d70", + "components.schemas.OpenAIVideoJob.properties.completed_at.description": "d37e4420", + "components.schemas.OpenAIVideoJob.properties.created_at.description": "5daeaf34", + "components.schemas.OpenAIVideoJob.properties.error.description": "0ef0cbc3", + "components.schemas.OpenAIVideoJob.properties.error.properties.code.description": "0570b384", + "components.schemas.OpenAIVideoJob.properties.error.properties.message.description": "52710385", + "components.schemas.OpenAIVideoJob.properties.expires_at.description": "8ce30771", + "components.schemas.OpenAIVideoJob.properties.id.description": "ce15ebd2", + "components.schemas.OpenAIVideoJob.properties.model.description": "6149392d", + "components.schemas.OpenAIVideoJob.properties.object.description": "f12ebe66", + "components.schemas.OpenAIVideoJob.properties.progress.description": "7565e24d", + "components.schemas.OpenAIVideoJob.properties.quality.description": "317678b7", + "components.schemas.OpenAIVideoJob.properties.remixed_from_video_id.description": "c611e832", + "components.schemas.OpenAIVideoJob.properties.seconds.description": "72466e85", + "components.schemas.OpenAIVideoJob.properties.size.description": "a6a90994", + "components.schemas.OpenAIVideoJob.properties.status.description": "8da9bfd1", + "components.schemas.OpenRouterAnthropicCacheControlDirective.description": "680a8359", + "components.schemas.OpenRouterBigNumberUnion.description": "7c821e8d", + "components.schemas.OpenRouterChatAssistantImages.description": "6a4a9ddb", + "components.schemas.OpenRouterChatAssistantImagesItemsImageUrl.properties.url.description": "68e117ed", + "components.schemas.OpenRouterChatAssistantMessage.description": "bb767c7f", + "components.schemas.OpenRouterChatAssistantMessage.properties.name.description": "97eb6394", + "components.schemas.OpenRouterChatAssistantMessage.properties.reasoning.description": "f85860ca", + "components.schemas.OpenRouterChatAssistantMessage.properties.refusal.description": "93ed6e23", + "components.schemas.OpenRouterChatAssistantMessage.properties.tool_calls.description": "f62f41f4", + "components.schemas.OpenRouterChatAudioOutput.description": "3bf490f1", + "components.schemas.OpenRouterChatAudioOutput.properties.data.description": "7c200c11", + "components.schemas.OpenRouterChatAudioOutput.properties.expires_at.description": "9aa821ba", + "components.schemas.OpenRouterChatAudioOutput.properties.id.description": "1fdd54d2", + "components.schemas.OpenRouterChatAudioOutput.properties.transcript.description": "7b65e858", + "components.schemas.OpenRouterChatChoice.description": "126473d9", + "components.schemas.OpenRouterChatChoice.properties.index.description": "13307f40", + "components.schemas.OpenRouterChatContentCacheControl.description": "013b31f5", + "components.schemas.OpenRouterChatContentItems.description": "8475990d", + "components.schemas.OpenRouterChatContentItems.oneOf[0].description": "3f927e9b", + "components.schemas.OpenRouterChatContentItems.oneOf[0].properties.type.description": "fd4f1156", + "components.schemas.OpenRouterChatContentItems.oneOf[1].description": "7da44e66", + "components.schemas.OpenRouterChatContentItems.oneOf[1].properties.type.description": "d7f2eeab", + "components.schemas.OpenRouterChatContentItems.oneOf[2].description": "5bb39323", + "components.schemas.OpenRouterChatContentItems.oneOf[2].properties.type.description": "8a046f75", + "components.schemas.OpenRouterChatContentItems.oneOf[3].description": "d71ff4bc", + "components.schemas.OpenRouterChatContentItems.oneOf[4].description": "9b578a3b", + "components.schemas.OpenRouterChatContentItems.oneOf[5].description": "d74433ae", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingFileFile.properties.file_data.description": "2c916d73", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingFileFile.properties.file_id.description": "6108dde5", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingFileFile.properties.filename.description": "3f57bc21", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrl.properties.url.description": "fa16ed72", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrlDetail.description": "af909e98", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingInputAudioInputAudio.properties.data.description": "7c200c11", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingInputAudioInputAudio.properties.format.description": "780d21e8", + "components.schemas.OpenRouterChatContentText.description": "9b578a3b", + "components.schemas.OpenRouterChatContentVideoInput.description": "9de1b424", + "components.schemas.OpenRouterChatContentVideoInput.properties.url.description": "9f58f6ab", + "components.schemas.OpenRouterChatDebugOptions.description": "fdbdcf57", + "components.schemas.OpenRouterChatDebugOptions.properties.echo_upstream_body.description": "9d9e2966", + "components.schemas.OpenRouterChatFunctionTool.description": "bd538ef2", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.description": "fe79b809", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.properties.description.description": "a859c669", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.properties.name.description": "6365ece5", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.properties.parameters.additionalProperties.description": "b05fc1fe", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.properties.parameters.description": "bd51a597", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.properties.strict.description": "cf38d1c3", + "components.schemas.OpenRouterChatJsonSchemaConfig.description": "fa3eb798", + "components.schemas.OpenRouterChatJsonSchemaConfig.properties.description.description": "67c8601a", + "components.schemas.OpenRouterChatJsonSchemaConfig.properties.name.description": "4649ed33", + "components.schemas.OpenRouterChatJsonSchemaConfig.properties.schema.additionalProperties.description": "b05fc1fe", + "components.schemas.OpenRouterChatJsonSchemaConfig.properties.schema.description": "5d898255", + "components.schemas.OpenRouterChatJsonSchemaConfig.properties.strict.description": "cf38d1c3", + "components.schemas.OpenRouterChatMessages.description": "2afe219c", + "components.schemas.OpenRouterChatMessages.oneOf[0].description": "bb767c7f", + "components.schemas.OpenRouterChatMessages.oneOf[0].properties.name.description": "97eb6394", + "components.schemas.OpenRouterChatMessages.oneOf[0].properties.reasoning.description": "f85860ca", + "components.schemas.OpenRouterChatMessages.oneOf[0].properties.refusal.description": "93ed6e23", + "components.schemas.OpenRouterChatMessages.oneOf[0].properties.role.description": "cb3ec495", + "components.schemas.OpenRouterChatMessages.oneOf[0].properties.tool_calls.description": "f62f41f4", + "components.schemas.OpenRouterChatMessages.oneOf[1].description": "5a2b1eb5", + "components.schemas.OpenRouterChatMessages.oneOf[1].properties.name.description": "5b6a94fe", + "components.schemas.OpenRouterChatMessages.oneOf[1].properties.role.description": "14120985", + "components.schemas.OpenRouterChatMessages.oneOf[2].description": "ba82b15d", + "components.schemas.OpenRouterChatMessages.oneOf[2].properties.name.description": "175334e6", + "components.schemas.OpenRouterChatMessages.oneOf[3].description": "a98ee7e5", + "components.schemas.OpenRouterChatMessages.oneOf[3].properties.tool_call_id.description": "c18e21c8", + "components.schemas.OpenRouterChatMessages.oneOf[4].description": "e3462c81", + "components.schemas.OpenRouterChatMessages.oneOf[4].properties.name.description": "43aa37c6", + "components.schemas.OpenRouterChatMessagesDiscriminatorMappingAssistantContent.description": "62d2f3ba", + "components.schemas.OpenRouterChatMessagesDiscriminatorMappingAssistantContent.oneOf[2].description": "b05fc1fe", + "components.schemas.OpenRouterChatMessagesDiscriminatorMappingDeveloperContent.description": "80d91f1c", + "components.schemas.OpenRouterChatModelNames.description": "bb30db48", + "components.schemas.OpenRouterChatNamedToolChoice.description": "a52e1037", + "components.schemas.OpenRouterChatNamedToolChoiceFunction.properties.name.description": "3e81c88d", + "components.schemas.OpenRouterChatReasoningDetails.description": "0a43efb8", + "components.schemas.OpenRouterChatRequest.description": "02a6e1c0", + "components.schemas.OpenRouterChatRequest.properties.frequency_penalty.description": "62fac28e", + "components.schemas.OpenRouterChatRequest.properties.logit_bias.description": "45c08300", + "components.schemas.OpenRouterChatRequest.properties.logprobs.description": "ede67e86", + "components.schemas.OpenRouterChatRequest.properties.max_completion_tokens.description": "edd6630f", + "components.schemas.OpenRouterChatRequest.properties.max_tokens.description": "08254ae8", + "components.schemas.OpenRouterChatRequest.properties.messages.description": "3201cb00", + "components.schemas.OpenRouterChatRequest.properties.metadata.description": "60f59bf3", + "components.schemas.OpenRouterChatRequest.properties.modalities.description": "950c013a", + "components.schemas.OpenRouterChatRequest.properties.parallel_tool_calls.description": "1e774692", + "components.schemas.OpenRouterChatRequest.properties.plugins.description": "8eff09ee", + "components.schemas.OpenRouterChatRequest.properties.presence_penalty.description": "39c0e5a9", + "components.schemas.OpenRouterChatRequest.properties.route.description": "b05fc1fe", + "components.schemas.OpenRouterChatRequest.properties.seed.description": "ea1aa27f", + "components.schemas.OpenRouterChatRequest.properties.service_tier.description": "c3d0e65d", + "components.schemas.OpenRouterChatRequest.properties.session_id.description": "ac888e9c", + "components.schemas.OpenRouterChatRequest.properties.stream.description": "242f08e3", + "components.schemas.OpenRouterChatRequest.properties.temperature.description": "72d5a02f", + "components.schemas.OpenRouterChatRequest.properties.tools.description": "cf46ce14", + "components.schemas.OpenRouterChatRequest.properties.top_logprobs.description": "0473fcd0", + "components.schemas.OpenRouterChatRequest.properties.top_p.description": "454eb2fe", + "components.schemas.OpenRouterChatRequest.properties.user.description": "8ebc1b4a", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[0].description": "1f093ca6", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[0].properties.allowed_models.description": "00cd446a", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[0].properties.enabled.description": "cb79193e", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[0].properties.id.description": "0b273855", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[1].description": "5da38fa7", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[1].properties.enabled.description": "4839c79d", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[1].properties.id.description": "68d75c36", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[2].description": "7a57a6c6", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[2].properties.enabled.description": "e2446150", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[2].properties.id.description": "7c652d21", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].description": "ae4f9820", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].properties.analysis_models.description": "040cafce", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].properties.enabled.description": "b794eaf2", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].properties.id.description": "c087daa6", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].properties.max_tool_calls.description": "92740e5f", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].properties.model.description": "1f500a55", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[4].description": "5fa42875", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[4].properties.id.description": "17843ed7", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[5].description": "df5ba701", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[5].properties.enabled.description": "71ca71aa", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[5].properties.id.description": "067a2753", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[5].properties.min_coding_score.description": "04c19d51", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[6].description": "f741afee", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[6].properties.enabled.description": "39385d7d", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[6].properties.id.description": "ecb9fd9c", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[7].description": "cbf47696", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[7].properties.enabled.description": "8ccae1c4", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[7].properties.exclude_domains.description": "dea6fe46", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[7].properties.include_domains.description": "83262c88", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[7].properties.max_uses.description": "08306d66", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[8].description": "6da9be78", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[8].properties.allowed_domains.description": "bc180fba", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[8].properties.blocked_domains.description": "51d26650", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[8].properties.max_content_tokens.description": "ad129adf", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[8].properties.max_uses.description": "264887ec", + "components.schemas.OpenRouterChatRequestReasoning.description": "3054a540", + "components.schemas.OpenRouterChatRequestReasoning.properties.effort.description": "bca384a1", + "components.schemas.OpenRouterChatRequestReasoningEffort.description": "bca384a1", + "components.schemas.OpenRouterChatRequestResponseFormat.description": "0f22d169", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[0].description": "84b8d962", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[0].properties.grammar.description": "8bf305a4", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[0].properties.type.description": "fd91ccb8", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[1].description": "485f9997", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[2].description": "8f889ade", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[2].properties.type.description": "b6a090ec", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[3].description": "1bdaafda", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[3].properties.type.description": "13cbd5c9", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[4].description": "b7624311", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[4].properties.type.description": "2333e0d2", + "components.schemas.OpenRouterChatRequestServiceTier.description": "c3d0e65d", + "components.schemas.OpenRouterChatRequestStop.description": "d539b768", + "components.schemas.OpenRouterChatRequestStop.oneOf[2].description": "b05fc1fe", + "components.schemas.OpenRouterChatResult.description": "42dd023f", + "components.schemas.OpenRouterChatResult.properties.choices.description": "b6fd4ef0", + "components.schemas.OpenRouterChatResult.properties.created.description": "2e566ad2", + "components.schemas.OpenRouterChatResult.properties.id.description": "540d04b6", + "components.schemas.OpenRouterChatResult.properties.model.description": "2a3a210f", + "components.schemas.OpenRouterChatResult.properties.service_tier.description": "b68a0a00", + "components.schemas.OpenRouterChatResult.properties.system_fingerprint.description": "f1b83674", + "components.schemas.OpenRouterChatSearchModelsServerTool.description": "7929ff46", + "components.schemas.OpenRouterChatStreamOptions.description": "ef9e8719", + "components.schemas.OpenRouterChatStreamOptions.properties.include_usage.description": "c2bd3936", + "components.schemas.OpenRouterChatSystemMessageContent.description": "f61d352e", + "components.schemas.OpenRouterChatTokenLogprob.description": "50debeed", + "components.schemas.OpenRouterChatTokenLogprob.properties.bytes.description": "500f20f7", + "components.schemas.OpenRouterChatTokenLogprob.properties.logprob.description": "a84f1d4f", + "components.schemas.OpenRouterChatTokenLogprob.properties.token.description": "d22bffce", + "components.schemas.OpenRouterChatTokenLogprob.properties.top_logprobs.description": "456f407b", + "components.schemas.OpenRouterChatTokenLogprobs.description": "467f1a52", + "components.schemas.OpenRouterChatTokenLogprobs.properties.content.description": "7dace0fb", + "components.schemas.OpenRouterChatTokenLogprobs.properties.refusal.description": "c634af84", + "components.schemas.OpenRouterChatToolCall.description": "d67f524c", + "components.schemas.OpenRouterChatToolCall.properties.id.description": "d0ed8ee4", + "components.schemas.OpenRouterChatToolCallFunction.properties.arguments.description": "3e0b8034", + "components.schemas.OpenRouterChatToolCallFunction.properties.name.description": "3e81c88d", + "components.schemas.OpenRouterChatToolChoice.description": "9ec37bbf", + "components.schemas.OpenRouterChatToolMessageContent.description": "9e2c40a1", + "components.schemas.OpenRouterChatUsage.description": "aeabfa87", + "components.schemas.OpenRouterChatUsage.properties.completion_tokens.description": "e0458a08", + "components.schemas.OpenRouterChatUsage.properties.completion_tokens_details.description": "e2ca0002", + "components.schemas.OpenRouterChatUsage.properties.cost.description": "e5fa64ca", + "components.schemas.OpenRouterChatUsage.properties.is_byok.description": "5de30d47", + "components.schemas.OpenRouterChatUsage.properties.prompt_tokens.description": "63cbfc6a", + "components.schemas.OpenRouterChatUsage.properties.prompt_tokens_details.description": "c0bb210d", + "components.schemas.OpenRouterChatUsage.properties.total_tokens.description": "2ecc5e36", + "components.schemas.OpenRouterChatUsageCompletionTokensDetails.description": "e2ca0002", + "components.schemas.OpenRouterChatUsageCompletionTokensDetails.properties.accepted_prediction_tokens.description": "ddb6ed05", + "components.schemas.OpenRouterChatUsageCompletionTokensDetails.properties.audio_tokens.description": "8b734c24", + "components.schemas.OpenRouterChatUsageCompletionTokensDetails.properties.reasoning_tokens.description": "6f78d894", + "components.schemas.OpenRouterChatUsageCompletionTokensDetails.properties.rejected_prediction_tokens.description": "809cf8f1", + "components.schemas.OpenRouterChatUsagePromptTokensDetails.description": "c0bb210d", + "components.schemas.OpenRouterChatUsagePromptTokensDetails.properties.audio_tokens.description": "749d120a", + "components.schemas.OpenRouterChatUsagePromptTokensDetails.properties.cache_write_tokens.description": "a1946f63", + "components.schemas.OpenRouterChatUsagePromptTokensDetails.properties.cached_tokens.description": "0a158c6c", + "components.schemas.OpenRouterChatUsagePromptTokensDetails.properties.video_tokens.description": "687d1a22", + "components.schemas.OpenRouterChatUserMessageContent.description": "fe78331d", + "components.schemas.OpenRouterChatWebSearchShorthand.description": "ebef2c45", + "components.schemas.OpenRouterChatWebSearchShorthand.properties.allowed_domains.description": "c6e96bda", + "components.schemas.OpenRouterChatWebSearchShorthand.properties.excluded_domains.description": "19e5acfa", + "components.schemas.OpenRouterChatWebSearchShorthand.properties.max_results.description": "76f577c2", + "components.schemas.OpenRouterChatWebSearchShorthand.properties.max_total_results.description": "61095a55", + "components.schemas.OpenRouterContextCompressionEngine.description": "4373d0d0", + "components.schemas.OpenRouterCostDetails.description": "fe318890", + "components.schemas.OpenRouterDatetimeServerTool.description": "21e7fa7a", + "components.schemas.OpenRouterDatetimeServerToolConfig.description": "3a3951da", + "components.schemas.OpenRouterDatetimeServerToolConfig.properties.timezone.description": "2050e63c", + "components.schemas.OpenRouterImageConfig.oneOf[2].items.description": "b05fc1fe", + "components.schemas.OpenRouterImageGenerationServerToolConfig.description": "e705cf0c", + "components.schemas.OpenRouterImageGenerationServerToolConfig.properties.model.description": "2370e716", + "components.schemas.OpenRouterModelName.description": "5ffb33d2", + "components.schemas.OpenRouterPDFParserEngine.description": "812bb1cc", + "components.schemas.OpenRouterPDFParserOptions.description": "033d18f8", + "components.schemas.OpenRouterPercentileLatencyCutoffs.description": "ccaf50a6", + "components.schemas.OpenRouterPercentileLatencyCutoffs.properties.p50.description": "fd0fe2a9", + "components.schemas.OpenRouterPercentileLatencyCutoffs.properties.p75.description": "b5433a0b", + "components.schemas.OpenRouterPercentileLatencyCutoffs.properties.p90.description": "a8a34206", + "components.schemas.OpenRouterPercentileLatencyCutoffs.properties.p99.description": "99fb6ff9", + "components.schemas.OpenRouterPercentileThroughputCutoffs.description": "91c007c5", + "components.schemas.OpenRouterPercentileThroughputCutoffs.properties.p50.description": "ff768fbf", + "components.schemas.OpenRouterPercentileThroughputCutoffs.properties.p75.description": "54337cae", + "components.schemas.OpenRouterPercentileThroughputCutoffs.properties.p90.description": "2181e08f", + "components.schemas.OpenRouterPercentileThroughputCutoffs.properties.p99.description": "a7b2a5f6", + "components.schemas.OpenRouterPipelineStage.properties.data.additionalProperties.description": "b05fc1fe", + "components.schemas.OpenRouterPipelineStageType.description": "ec3c620d", + "components.schemas.OpenRouterPreferredMaxLatency.description": "99478c8f", + "components.schemas.OpenRouterPreferredMaxLatency.oneOf[2].description": "b05fc1fe", + "components.schemas.OpenRouterPreferredMinThroughput.description": "9a3f5ba8", + "components.schemas.OpenRouterPreferredMinThroughput.oneOf[2].description": "b05fc1fe", + "components.schemas.OpenRouterProviderPreferences.description": "840eba80", + "components.schemas.OpenRouterProviderPreferences.properties.allow_fallbacks.description": "d4daa180", + "components.schemas.OpenRouterProviderPreferences.properties.data_collection.description": "dd76fe92", + "components.schemas.OpenRouterProviderPreferences.properties.enforce_distillable_text.description": "e09a1385", + "components.schemas.OpenRouterProviderPreferences.properties.ignore.description": "473edd17", + "components.schemas.OpenRouterProviderPreferences.properties.only.description": "484e45c6", + "components.schemas.OpenRouterProviderPreferences.properties.order.description": "de8a80ab", + "components.schemas.OpenRouterProviderPreferences.properties.quantizations.description": "e3e6fb29", + "components.schemas.OpenRouterProviderPreferences.properties.require_parameters.description": "6b6095a8", + "components.schemas.OpenRouterProviderPreferences.properties.zdr.description": "6bf6fed4", + "components.schemas.OpenRouterProviderPreferencesDataCollection.description": "dd76fe92", + "components.schemas.OpenRouterProviderPreferencesMaxPrice.description": "ab2d58e0", + "components.schemas.OpenRouterProviderPreferencesSort.description": "59d43321", + "components.schemas.OpenRouterProviderPreferencesSort.oneOf[2].description": "b05fc1fe", + "components.schemas.OpenRouterProviderSort.description": "8eabaddd", + "components.schemas.OpenRouterProviderSortConfig.description": "8eabaddd", + "components.schemas.OpenRouterProviderSortConfig.properties.by.description": "8eabaddd", + "components.schemas.OpenRouterProviderSortConfig.properties.partition.description": "d050e0f9", + "components.schemas.OpenRouterProviderSortConfigBy.description": "8eabaddd", + "components.schemas.OpenRouterProviderSortConfigPartition.description": "d050e0f9", + "components.schemas.OpenRouterReasoningDetailUnion.description": "a0d776e0", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[0].description": "248279d4", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[0].properties.type.description": "784dc131", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[1].description": "25ce0029", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[1].properties.type.description": "b0667270", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[2].description": "9caafca8", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[2].properties.type.description": "c0c67d5c", + "components.schemas.OpenRouterSearchModelsServerToolConfig.description": "9bcd6819", + "components.schemas.OpenRouterSearchModelsServerToolConfig.properties.max_results.description": "eea302f3", + "components.schemas.OpenRouterSearchQualityLevel.description": "ac6dd940", + "components.schemas.OpenRouterStopServerToolsWhen.description": "aed5c34d", + "components.schemas.OpenRouterStopServerToolsWhenCondition.description": "92c0facd", + "components.schemas.OpenRouterStopServerToolsWhenCondition.oneOf[0].description": "1a1ab806", + "components.schemas.OpenRouterStopServerToolsWhenCondition.oneOf[1].description": "84f92e3e", + "components.schemas.OpenRouterStopServerToolsWhenCondition.oneOf[2].description": "e6d63bb4", + "components.schemas.OpenRouterStopServerToolsWhenCondition.oneOf[3].description": "86d656e8", + "components.schemas.OpenRouterStopServerToolsWhenCondition.oneOf[4].description": "3a9e5471", + "components.schemas.OpenRouterTraceConfig.description": "54252342", + "components.schemas.OpenRouterWebFetchEngineEnum.description": "e48aed71", + "components.schemas.OpenRouterWebFetchServerTool.description": "5c5f1980", + "components.schemas.OpenRouterWebFetchServerToolConfig.description": "b09be011", + "components.schemas.OpenRouterWebFetchServerToolConfig.properties.allowed_domains.description": "bc180fba", + "components.schemas.OpenRouterWebFetchServerToolConfig.properties.blocked_domains.description": "51d26650", + "components.schemas.OpenRouterWebFetchServerToolConfig.properties.max_content_tokens.description": "ad129adf", + "components.schemas.OpenRouterWebFetchServerToolConfig.properties.max_uses.description": "264887ec", + "components.schemas.OpenRouterWebSearchConfig.properties.allowed_domains.description": "c6e96bda", + "components.schemas.OpenRouterWebSearchConfig.properties.excluded_domains.description": "19e5acfa", + "components.schemas.OpenRouterWebSearchConfig.properties.max_results.description": "76f577c2", + "components.schemas.OpenRouterWebSearchConfig.properties.max_total_results.description": "61095a55", + "components.schemas.OpenRouterWebSearchEngine.description": "34e8542d", + "components.schemas.OpenRouterWebSearchEngineEnum.description": "f0e22a7c", + "components.schemas.OpenRouterWebSearchPluginUserLocation.description": "80b0f08f", + "components.schemas.OpenRouterWebSearchServerTool.description": "5b617fdc", + "components.schemas.OpenRouterWebSearchUserLocationServerTool.description": "30bcf43c", + "components.schemas.OutputAudioContent.properties.data.description": "7830a88a", + "components.schemas.OutputAudioContent.properties.transcript.description": "c1c2f093", + "components.schemas.OutputAudioContent.properties.type.description": "7b68ba13", + "components.schemas.OutputMessage.properties.content.description": "6560fe96", + "components.schemas.OutputMessage.properties.role.description": "8d2c7fec", + "components.schemas.OutputMessage.properties.type.description": "24fb6ba6", + "components.schemas.OutputTextContent.properties.text.description": "23be5a69", + "components.schemas.OutputTextContent.properties.type.description": "7b68ba13", + "components.schemas.PersonalAccessToken.properties.createdAt.description": "beb448e6", + "components.schemas.PersonalAccessToken.properties.description.description": "ea415ec0", + "components.schemas.PersonalAccessToken.properties.id.description": "2770e66d", + "components.schemas.PersonalAccessToken.properties.name.description": "b8517d35", + "components.schemas.PersonalAccessToken.properties.token.description": "f0f0c592", + "components.schemas.PikaBody_generate_2_2_c2v_generate_2_2_pikascenes_post.properties.aspectRatio.description": "f4e63425", + "components.schemas.PikaBody_generate_2_2_keyframe_generate_2_2_pikaframes_post.properties.keyFrames.description": "50752229", + "components.schemas.PikaBody_generate_2_2_t2v_generate_2_2_t2v_post.properties.aspectRatio.description": "f4e63425", + "components.schemas.PikaBody_generate_pikaswaps_generate_pikaswaps_post.properties.modifyRegionMask.description": "54e429bc", + "components.schemas.PikaBody_generate_pikaswaps_generate_pikaswaps_post.properties.modifyRegionRoi.description": "b7d98a3d", + "components.schemas.PixverseVideoResultResponse.properties.Resp.properties.status.description": "03fa78cd", + "components.schemas.PromoCodeResponse.properties.active.description": "be3bb58e", + "components.schemas.PromoCodeResponse.properties.code.description": "9b5bcced", + "components.schemas.PromoCodeResponse.properties.coupon_id.description": "7cc99cb5", + "components.schemas.PromoCodeResponse.properties.expires_at.description": "3d7537c4", + "components.schemas.PromoCodeResponse.properties.id.description": "ad922f9c", + "components.schemas.PromoCodeResponse.properties.max_redemptions.description": "ef30da1d", + "components.schemas.PromoCodeResponse.properties.metadata.description": "10282a4b", + "components.schemas.PromoCodeResponse.properties.times_redeemed.description": "8336271b", + "components.schemas.Publisher.properties.createdAt.description": "da46736d", + "components.schemas.Publisher.properties.id.description": "68abdd65", + "components.schemas.Publisher.properties.logo.description": "708211ec", + "components.schemas.Publisher.properties.members.description": "9deae0e3", + "components.schemas.PublisherMember.properties.id.description": "03dfcab4", + "components.schemas.PublisherMember.properties.role.description": "896b93f6", + "components.schemas.PublisherUser.properties.email.description": "0b83b7bc", + "components.schemas.PublisherUser.properties.id.description": "1b856ced", + "components.schemas.PublisherUser.properties.name.description": "dc61ade2", + "components.schemas.QuiverImageObject.description": "e4a0f2ac", + "components.schemas.QuiverImageObject.properties.base64.description": "665f7e21", + "components.schemas.QuiverImageObject.properties.url.description": "36bcea64", + "components.schemas.QuiverImageToSVGRequest.description": "76c53fbd", + "components.schemas.QuiverImageToSVGRequest.properties.auto_crop.description": "d5f17b7a", + "components.schemas.QuiverImageToSVGRequest.properties.max_output_tokens.description": "b71fc1d2", + "components.schemas.QuiverImageToSVGRequest.properties.model.description": "c771a45e", + "components.schemas.QuiverImageToSVGRequest.properties.presence_penalty.description": "65570b9b", + "components.schemas.QuiverImageToSVGRequest.properties.stream.description": "12c220d8", + "components.schemas.QuiverImageToSVGRequest.properties.target_size.description": "bac5b995", + "components.schemas.QuiverImageToSVGRequest.properties.temperature.description": "fff8c2b8", + "components.schemas.QuiverImageToSVGRequest.properties.top_p.description": "95a1a133", + "components.schemas.QuiverSVGResponse.description": "f5ddcf72", + "components.schemas.QuiverSVGResponse.properties.created.description": "2e566ad2", + "components.schemas.QuiverSVGResponse.properties.credits.description": "87edc573", + "components.schemas.QuiverSVGResponse.properties.data.items.properties.mime_type.description": "f5e34cc5", + "components.schemas.QuiverSVGResponse.properties.data.items.properties.svg.description": "e6a3c5e7", + "components.schemas.QuiverSVGResponse.properties.id.description": "345becf3", + "components.schemas.QuiverSVGResponse.properties.usage.description": "ea5f0314", + "components.schemas.QuiverSVGResponse.properties.usage.properties.input_tokens.description": "15009292", + "components.schemas.QuiverSVGResponse.properties.usage.properties.output_tokens.description": "15009292", + "components.schemas.QuiverSVGResponse.properties.usage.properties.total_tokens.description": "15009292", + "components.schemas.QuiverTextToSVGRequest.description": "ec10e3d5", + "components.schemas.QuiverTextToSVGRequest.properties.instructions.description": "91560d48", + "components.schemas.QuiverTextToSVGRequest.properties.max_output_tokens.description": "b71fc1d2", + "components.schemas.QuiverTextToSVGRequest.properties.model.description": "7df06581", + "components.schemas.QuiverTextToSVGRequest.properties.n.description": "baac2a2d", + "components.schemas.QuiverTextToSVGRequest.properties.presence_penalty.description": "65570b9b", + "components.schemas.QuiverTextToSVGRequest.properties.prompt.description": "d182f349", + "components.schemas.QuiverTextToSVGRequest.properties.references.description": "3c6129b7", + "components.schemas.QuiverTextToSVGRequest.properties.references.items.oneOf[1].description": "e15edce8", + "components.schemas.QuiverTextToSVGRequest.properties.temperature.description": "fff8c2b8", + "components.schemas.QuiverTextToSVGRequest.properties.top_p.description": "95a1a133", + "components.schemas.RGBColor.description": "7c286492", + "components.schemas.Reasoning.description": "2b615ac4", + "components.schemas.Reasoning.properties.generate_summary.description": "a1351b60", + "components.schemas.Reasoning.properties.summary.description": "ffb137e8", + "components.schemas.ReasoningEffort.description": "78194d62", + "components.schemas.ReasoningItem.description": "c8af3943", + "components.schemas.ReasoningItem.properties.id.description": "27ca543d", + "components.schemas.ReasoningItem.properties.status.description": "d3371813", + "components.schemas.ReasoningItem.properties.summary.description": "4e902c9e", + "components.schemas.ReasoningItem.properties.summary.items.properties.text.description": "c806fff6", + "components.schemas.ReasoningItem.properties.summary.items.properties.type.description": "2053fbfe", + "components.schemas.ReasoningItem.properties.type.description": "69ffb623", + "components.schemas.RecraftCreateStyleRequest.description": "ee66c46b", + "components.schemas.RecraftCreateStyleRequest.properties.file1.description": "63fb8d5d", + "components.schemas.RecraftCreateStyleRequest.properties.file2.description": "2754ad1a", + "components.schemas.RecraftCreateStyleRequest.properties.file3.description": "66aa3b4c", + "components.schemas.RecraftCreateStyleRequest.properties.file4.description": "e6241e55", + "components.schemas.RecraftCreateStyleRequest.properties.file5.description": "dd15b0a6", + "components.schemas.RecraftCreateStyleRequest.properties.style.description": "bff74c4f", + "components.schemas.RecraftCreateStyleResponse.description": "1d647c3e", + "components.schemas.RecraftCreateStyleResponse.properties.id.description": "6653dd9a", + "components.schemas.RecraftImageGenerationRequest.description": "3f460ada", + "components.schemas.RecraftImageGenerationRequest.properties.controls.description": "697d2b9a", + "components.schemas.RecraftImageGenerationRequest.properties.controls.properties.artistic_level.description": "c7c0cfdd", + "components.schemas.RecraftImageGenerationRequest.properties.controls.properties.colors.description": "8589818a", + "components.schemas.RecraftImageGenerationRequest.properties.controls.properties.no_text.description": "aed4873d", + "components.schemas.RecraftImageGenerationRequest.properties.model.description": "26262f44", + "components.schemas.RecraftImageGenerationRequest.properties.n.description": "dbe4dbb2", + "components.schemas.RecraftImageGenerationRequest.properties.prompt.description": "6b20c1ee", + "components.schemas.RecraftImageGenerationRequest.properties.size.description": "0fb352f1", + "components.schemas.RecraftImageGenerationRequest.properties.style.description": "e61c60e6", + "components.schemas.RecraftImageGenerationRequest.properties.style_id.description": "915435af", + "components.schemas.RecraftImageGenerationResponse.description": "9aaf447d", + "components.schemas.RecraftImageGenerationResponse.properties.created.description": "6b8f3f77", + "components.schemas.RecraftImageGenerationResponse.properties.credits.description": "5df048a8", + "components.schemas.RecraftImageGenerationResponse.properties.data.description": "c6c5d006", + "components.schemas.RecraftImageGenerationResponse.properties.data.items.properties.image_id.description": "57a07e45", + "components.schemas.RecraftImageGenerationResponse.properties.data.items.properties.url.description": "92377eea", + "components.schemas.ReleaseNote.properties.attention.description": "63feef49", + "components.schemas.ReleaseNote.properties.content.description": "b9d1b944", + "components.schemas.ReleaseNote.properties.id.description": "7166ad85", + "components.schemas.ReleaseNote.properties.project.description": "32af4377", + "components.schemas.ReleaseNote.properties.published_at.description": "4e5ccca2", + "components.schemas.ReleaseNote.properties.version.description": "88d7f345", + "components.schemas.RenderingSpeed.description": "ad95b312", + "components.schemas.ResponseCompletedEvent.description": "16f2182d", + "components.schemas.ResponseCompletedEvent.properties.type.description": "e4440eb7", + "components.schemas.ResponseContentPartAddedEvent.description": "8f3692d4", + "components.schemas.ResponseContentPartAddedEvent.properties.content_index.description": "c229235c", + "components.schemas.ResponseContentPartAddedEvent.properties.item_id.description": "1883dbf1", + "components.schemas.ResponseContentPartAddedEvent.properties.output_index.description": "8ef4d157", + "components.schemas.ResponseContentPartAddedEvent.properties.type.description": "691d7ae6", + "components.schemas.ResponseContentPartDoneEvent.description": "63717634", + "components.schemas.ResponseContentPartDoneEvent.properties.content_index.description": "7d62fd94", + "components.schemas.ResponseContentPartDoneEvent.properties.item_id.description": "1883dbf1", + "components.schemas.ResponseContentPartDoneEvent.properties.output_index.description": "8ef4d157", + "components.schemas.ResponseContentPartDoneEvent.properties.type.description": "a4ded0bf", + "components.schemas.ResponseCreatedEvent.description": "32dfb2bf", + "components.schemas.ResponseCreatedEvent.properties.type.description": "0a2201d1", + "components.schemas.ResponseError.description": "e99aa79e", + "components.schemas.ResponseError.properties.message.description": "bb566ccd", + "components.schemas.ResponseErrorCode.description": "931e2933", + "components.schemas.ResponseErrorEvent.description": "76269e10", + "components.schemas.ResponseErrorEvent.properties.code.description": "4db46728", + "components.schemas.ResponseErrorEvent.properties.message.description": "4348690e", + "components.schemas.ResponseErrorEvent.properties.param.description": "dccfe3e5", + "components.schemas.ResponseErrorEvent.properties.type.description": "cdb13a90", + "components.schemas.ResponseFailedEvent.description": "a3a9cfcf", + "components.schemas.ResponseFailedEvent.properties.type.description": "895bb2f9", + "components.schemas.ResponseFormatJsonObject.description": "7b3a0c32", + "components.schemas.ResponseFormatJsonObject.properties.type.description": "bee28d32", + "components.schemas.ResponseFormatJsonSchemaSchema.description": "87f07d44", + "components.schemas.ResponseFormatText.description": "af866342", + "components.schemas.ResponseFormatText.properties.type.description": "a437f9c1", + "components.schemas.ResponseInProgressEvent.description": "06621d59", + "components.schemas.ResponseInProgressEvent.properties.type.description": "6fffdd61", + "components.schemas.ResponseIncompleteEvent.description": "63dc3613", + "components.schemas.ResponseIncompleteEvent.properties.type.description": "981e07ff", + "components.schemas.ResponseOutputItemAddedEvent.description": "4133cbbc", + "components.schemas.ResponseOutputItemAddedEvent.properties.output_index.description": "36ee9532", + "components.schemas.ResponseOutputItemAddedEvent.properties.type.description": "3f755dde", + "components.schemas.ResponseOutputItemDoneEvent.description": "eb9fdf3b", + "components.schemas.ResponseOutputItemDoneEvent.properties.output_index.description": "40457626", + "components.schemas.ResponseOutputItemDoneEvent.properties.type.description": "80b04542", + "components.schemas.ResponseProperties.properties.instructions.description": "a778c23a", + "components.schemas.ResponseProperties.properties.max_output_tokens.description": "df0fb0b4", + "components.schemas.ResponseProperties.properties.previous_response_id.description": "b580eaf6", + "components.schemas.ResponseProperties.properties.tool_choice.description": "3b35d9fb", + "components.schemas.ResponseProperties.properties.truncation.description": "ae703bfc", + "components.schemas.ResponseUsage.description": "4dea91ac", + "components.schemas.ResponseUsage.properties.input_tokens.description": "1a223172", + "components.schemas.ResponseUsage.properties.input_tokens_details.description": "b20c9c1c", + "components.schemas.ResponseUsage.properties.input_tokens_details.properties.cached_tokens.description": "344e294f", + "components.schemas.ResponseUsage.properties.output_tokens.description": "17322447", + "components.schemas.ResponseUsage.properties.output_tokens_details.description": "4cd70899", + "components.schemas.ResponseUsage.properties.output_tokens_details.properties.reasoning_tokens.description": "8f887b08", + "components.schemas.ResponseUsage.properties.total_tokens.description": "6f2f28a3", + "components.schemas.ReveImageCreateRequest.description": "25c3c011", + "components.schemas.ReveImageCreateRequest.properties.aspect_ratio.description": "22b9bb0f", + "components.schemas.ReveImageCreateRequest.properties.postprocessing.description": "8529198b", + "components.schemas.ReveImageCreateRequest.properties.prompt.description": "1d05a279", + "components.schemas.ReveImageCreateRequest.properties.test_time_scaling.description": "5a3d4f9d", + "components.schemas.ReveImageCreateRequest.properties.version.description": "ca67ff3a", + "components.schemas.ReveImageEditRequest.description": "e4366cec", + "components.schemas.ReveImageEditRequest.properties.aspect_ratio.description": "de56f1ae", + "components.schemas.ReveImageEditRequest.properties.edit_instruction.description": "67101fd5", + "components.schemas.ReveImageEditRequest.properties.postprocessing.description": "8529198b", + "components.schemas.ReveImageEditRequest.properties.reference_image.description": "1d94d17d", + "components.schemas.ReveImageEditRequest.properties.test_time_scaling.description": "5a3d4f9d", + "components.schemas.ReveImageEditRequest.properties.version.description": "2e967caa", + "components.schemas.ReveImageRemixRequest.description": "cb7ccd8e", + "components.schemas.ReveImageRemixRequest.properties.aspect_ratio.description": "f9dc9e04", + "components.schemas.ReveImageRemixRequest.properties.postprocessing.description": "8529198b", + "components.schemas.ReveImageRemixRequest.properties.prompt.description": "a504f7aa", + "components.schemas.ReveImageRemixRequest.properties.reference_images.description": "6e335911", + "components.schemas.ReveImageRemixRequest.properties.test_time_scaling.description": "5a3d4f9d", + "components.schemas.ReveImageRemixRequest.properties.version.description": "85dacf1e", + "components.schemas.ReveImageResponse.description": "6c6062e7", + "components.schemas.ReveImageResponse.properties.content_violation.description": "f46aadb9", + "components.schemas.ReveImageResponse.properties.credits_remaining.description": "e7376c0c", + "components.schemas.ReveImageResponse.properties.credits_used.description": "bcbf44b2", + "components.schemas.ReveImageResponse.properties.image.description": "ab061d89", + "components.schemas.ReveImageResponse.properties.request_id.description": "f8910590", + "components.schemas.ReveImageResponse.properties.version.description": "4a7e7ed5", + "components.schemas.RevePostprocessingOperation.description": "b06133dd", + "components.schemas.RevePostprocessingOperation.properties.effect_name.description": "00e63313", + "components.schemas.RevePostprocessingOperation.properties.effect_parameters.description": "382dcdc0", + "components.schemas.RevePostprocessingOperation.properties.max_dim.description": "97180032", + "components.schemas.RevePostprocessingOperation.properties.max_height.description": "0ffd5ae5", + "components.schemas.RevePostprocessingOperation.properties.max_width.description": "0b24b22a", + "components.schemas.RevePostprocessingOperation.properties.process.description": "3596dca2", + "components.schemas.RevePostprocessingOperation.properties.upscale_factor.description": "072efc24", + "components.schemas.Rodin3DCheckStatusRequest.properties.subscription_key.description": "1868fae2", + "components.schemas.Rodin3DCheckStatusResponse.properties.jobs.description": "c778d6de", + "components.schemas.Rodin3DDownloadRequest.properties.task_uuid.description": "b7b2d645", + "components.schemas.Rodin3DGenerateRequest.properties.TAPose.description": "1c13e054", + "components.schemas.Rodin3DGenerateRequest.properties.addons.description": "3b8d4d9d", + "components.schemas.Rodin3DGenerateRequest.properties.bbox_condition.description": "97899d53", + "components.schemas.Rodin3DGenerateRequest.properties.hd_texture.description": "048339d5", + "components.schemas.Rodin3DGenerateRequest.properties.images.description": "7ea54bf9", + "components.schemas.Rodin3DGenerateRequest.properties.is_micro.description": "bb302a42", + "components.schemas.Rodin3DGenerateRequest.properties.is_symmetric.description": "934dcd40", + "components.schemas.Rodin3DGenerateRequest.properties.mesh_simplify.description": "82c8ab53", + "components.schemas.Rodin3DGenerateRequest.properties.mesh_smooth.description": "d12a6fe9", + "components.schemas.Rodin3DGenerateRequest.properties.preview_render.description": "5a840d21", + "components.schemas.Rodin3DGenerateRequest.properties.prompt.description": "8e554fb1", + "components.schemas.Rodin3DGenerateRequest.properties.quality_override.description": "916b2660", + "components.schemas.Rodin3DGenerateRequest.properties.seed.description": "b1b20ed3", + "components.schemas.Rodin3DGenerateRequest.properties.texture_delight.description": "a3a9a459", + "components.schemas.Rodin3DGenerateRequest.properties.use_original_alpha.description": "30971398", + "components.schemas.Rodin3DGenerateResponse.properties.error.description": "c005fc23", + "components.schemas.Rodin3DGenerateResponse.properties.message.description": "9b226fb0", + "components.schemas.Rodin3DGenerateResponse.properties.prompt.description": "c779f11a", + "components.schemas.Rodin3DGenerateResponse.properties.submit_time.description": "28fab766", + "components.schemas.Rodin3DGenerateResponse.properties.uuid.description": "f7ed38bd", + "components.schemas.RodinAddonType.description": "d6648cf2", + "components.schemas.RodinCheckStatusJobItem.properties.uuid.description": "6b6a5f8c", + "components.schemas.RodinConditionModeType.description": "940b9c89", + "components.schemas.RodinGenerateJobsData.properties.subscription_key.description": "96a9f259", + "components.schemas.RodinGenerateJobsData.properties.uuids.description": "aa1e9b87", + "components.schemas.RodinGeometryFileFormatType.description": "5bf98a5c", + "components.schemas.RodinGeometryInstructModeType.description": "ab82e826", + "components.schemas.RodinMaterialType.description": "d5480e64", + "components.schemas.RodinMeshModeType.description": "12400ddb", + "components.schemas.RodinQualityType.description": "f897a479", + "components.schemas.RodinResourceItem.properties.name.description": "3efed3de", + "components.schemas.RodinResourceItem.properties.url.description": "48af528a", + "components.schemas.RodinTextureModeType.description": "4d4ca65a", + "components.schemas.RodinTierType.description": "e945adc6", + "components.schemas.RunwayContentModeration.description": "77a62ea5", + "components.schemas.RunwayContentModeration.properties.publicFigureThreshold.description": "52e03b95", + "components.schemas.RunwayImageToVideoRequest.properties.promptText.description": "7173ccdf", + "components.schemas.RunwayImageToVideoRequest.properties.seed.description": "150353d2", + "components.schemas.RunwayImageToVideoResponse.properties.id.description": "3e0cce3a", + "components.schemas.RunwayModelEnum.description": "67477ea6", + "components.schemas.RunwayPromptImageDetailedObject.description": "b142182c", + "components.schemas.RunwayPromptImageDetailedObject.properties.position.description": "1f3576a9", + "components.schemas.RunwayPromptImageDetailedObject.properties.uri.description": "2dcb70f8", + "components.schemas.RunwayPromptImageObject.description": "fed715b9", + "components.schemas.RunwayPromptImageObject.oneOf[0].description": "5e7ab798", + "components.schemas.RunwayPromptImageObject.oneOf[1].description": "9fd91e4a", + "components.schemas.RunwayTaskStatusEnum.description": "e63345ba", + "components.schemas.RunwayTaskStatusResponse.properties.createdAt.description": "81e2ca0b", + "components.schemas.RunwayTaskStatusResponse.properties.id.description": "3e0cce3a", + "components.schemas.RunwayTaskStatusResponse.properties.output.description": "1ca41c4a", + "components.schemas.RunwayTaskStatusResponse.properties.progress.description": "777154b2", + "components.schemas.RunwayTextToImageRequest.properties.model.description": "d2ad8216", + "components.schemas.RunwayTextToImageRequest.properties.promptText.description": "6c65ecef", + "components.schemas.RunwayTextToImageRequest.properties.referenceImages.description": "d81f7263", + "components.schemas.RunwayTextToImageRequest.properties.referenceImages.items.properties.uri.description": "04825174", + "components.schemas.RunwayTextToImageResponse.properties.id.description": "3e0cce3a", + "components.schemas.RunwayVideoToVideoKeyframe.description": "bcbc9788", + "components.schemas.RunwayVideoToVideoKeyframe.oneOf[0].properties.seconds.description": "ef99262b", + "components.schemas.RunwayVideoToVideoKeyframe.oneOf[0].properties.uri.description": "7ed2dd0c", + "components.schemas.RunwayVideoToVideoKeyframe.oneOf[1].properties.at.description": "40b8fb9b", + "components.schemas.RunwayVideoToVideoKeyframe.oneOf[1].properties.uri.description": "7ed2dd0c", + "components.schemas.RunwayVideoToVideoModelEnum.description": "32e2081b", + "components.schemas.RunwayVideoToVideoPromptImage.description": "405d1129", + "components.schemas.RunwayVideoToVideoPromptImage.properties.uri.description": "7ed2dd0c", + "components.schemas.RunwayVideoToVideoPromptImagePosition.description": "43379c94", + "components.schemas.RunwayVideoToVideoPromptImagePosition.oneOf[0].description": "0e6ca89d", + "components.schemas.RunwayVideoToVideoPromptImagePosition.oneOf[1].description": "bf7dd4e6", + "components.schemas.RunwayVideoToVideoPromptImagePosition.oneOf[1].properties.timestampSeconds.description": "3032ce97", + "components.schemas.RunwayVideoToVideoPromptImagePosition.oneOf[2].description": "31a2eedb", + "components.schemas.RunwayVideoToVideoPromptImagePosition.oneOf[2].properties.positionPercentage.description": "64e216b6", + "components.schemas.RunwayVideoToVideoRequest.description": "bf36b1a9", + "components.schemas.RunwayVideoToVideoRequest.properties.keyframes.description": "a9fea2ce", + "components.schemas.RunwayVideoToVideoRequest.properties.promptImage.description": "893bfb4f", + "components.schemas.RunwayVideoToVideoRequest.properties.promptText.description": "c891a370", + "components.schemas.RunwayVideoToVideoRequest.properties.seed.description": "51676443", + "components.schemas.RunwayVideoToVideoRequest.properties.videoUri.description": "4ca3d14d", + "components.schemas.RunwayVideoToVideoResponse.properties.id.description": "3e0cce3a", + "components.schemas.SeedanceAssetModeration.properties.strategy.description": "d038bd85", + "components.schemas.SeedanceCreateAssetRequest.properties.group_id.description": "7e5d8c7d", + "components.schemas.SeedanceCreateAssetRequest.properties.name.description": "ac330db2", + "components.schemas.SeedanceCreateAssetRequest.properties.project_name.description": "d30a8dc7", + "components.schemas.SeedanceCreateAssetRequest.properties.url.description": "dcf1731f", + "components.schemas.SeedanceCreateAssetResponse.properties.asset_id.description": "42bce9f9", + "components.schemas.SeedanceCreateVisualValidateSessionRequest.properties.name.description": "05c81766", + "components.schemas.SeedanceCreateVisualValidateSessionResponse.properties.h5_link.description": "2d69808f", + "components.schemas.SeedanceCreateVisualValidateSessionResponse.properties.session_id.description": "035b3e7d", + "components.schemas.SeedanceGetAssetResponse.properties.url.description": "b662dafd", + "components.schemas.SeedanceGetVisualValidateSessionResponse.properties.group_id.description": "8aec2fa0", + "components.schemas.SeedanceGetVisualValidateSessionResponse.properties.name.description": "58267097", + "components.schemas.SeedanceListUserAssetsResponse.properties.truncated.description": "421ca6a0", + "components.schemas.SeedanceUserAsset.properties.group_name.description": "75e23554", + "components.schemas.SeedanceUserAsset.properties.url.description": "b1c95ac5", + "components.schemas.SeedanceVirtualLibraryCreateAssetRequest.properties.asset_type.description": "60997314", + "components.schemas.SeedanceVirtualLibraryCreateAssetRequest.properties.hash.description": "e7237c10", + "components.schemas.SeedanceVirtualLibraryCreateAssetRequest.properties.url.description": "d7167587", + "components.schemas.SeedanceVirtualLibraryCreateAssetResponse.properties.asset_id.description": "42bce9f9", + "components.schemas.SeedanceVisualValidationGroup.properties.group_id.description": "f4319651", + "components.schemas.SeedanceVisualValidationGroup.properties.name.description": "38349b6b", + "components.schemas.SoniloErrorResponse.properties.detail.properties.code.description": "0570b384", + "components.schemas.SoniloErrorResponse.properties.detail.properties.message.description": "52710385", + "components.schemas.SoniloStreamEvent.description": "5b1c1d40", + "components.schemas.SoniloStreamEvent.oneOf[0].properties.summary.description": "f7bd49ed", + "components.schemas.SoniloStreamEvent.oneOf[1].properties.data.description": "e006b976", + "components.schemas.SoniloTextToMusicRequest.properties.duration.description": "e19fb73c", + "components.schemas.SoniloTextToMusicRequest.properties.prompt.description": "91f64608", + "components.schemas.SoniloVideoToMusicRequest.oneOf[0].properties.prompt.description": "46500ab2", + "components.schemas.SoniloVideoToMusicRequest.oneOf[0].properties.video.description": "a0669efc", + "components.schemas.SoniloVideoToMusicRequest.oneOf[1].properties.prompt.description": "46500ab2", + "components.schemas.SoniloVideoToMusicRequest.oneOf[1].properties.video_url.description": "84580c85", + "components.schemas.StorageFile.properties.file_path.description": "8f6f4f84", + "components.schemas.StorageFile.properties.id.description": "aa201f2c", + "components.schemas.StorageFile.properties.public_url.description": "f7b60b04", + "components.schemas.SubscriptionDuration.description": "7bcd6c52", + "components.schemas.SubscriptionTier.description": "8f16c35e", + "components.schemas.TencentErrorResponse.description": "39badb6a", + "components.schemas.TencentErrorResponse.properties.Response.properties.Error.properties.Code.description": "0570b384", + "components.schemas.TencentErrorResponse.properties.Response.properties.Error.properties.Message.description": "a5dc35f1", + "components.schemas.TencentErrorResponse.properties.Response.properties.RequestId.description": "9a0f8423", + "components.schemas.TencentFile3D.description": "f573e23f", + "components.schemas.TencentFile3D.properties.PreviewImageUrl.description": "be37bbe2", + "components.schemas.TencentFile3D.properties.Type.description": "db3e7569", + "components.schemas.TencentFile3D.properties.Url.description": "25f298d1", + "components.schemas.TencentHunyuan3DProRequest.description": "121967b2", + "components.schemas.TencentHunyuan3DProRequest.properties.EnablePBR.description": "db9c29a2", + "components.schemas.TencentHunyuan3DProRequest.properties.FaceCount.description": "6e291804", + "components.schemas.TencentHunyuan3DProRequest.properties.GenerateType.description": "bbb89efe", + "components.schemas.TencentHunyuan3DProRequest.properties.ImageBase64.description": "9e70ba61", + "components.schemas.TencentHunyuan3DProRequest.properties.ImageUrl.description": "5b0af767", + "components.schemas.TencentHunyuan3DProRequest.properties.Model.description": "3125c826", + "components.schemas.TencentHunyuan3DProRequest.properties.MultiViewImages.description": "d2b9d105", + "components.schemas.TencentHunyuan3DProRequest.properties.PolygonType.description": "5be0bcd3", + "components.schemas.TencentHunyuan3DProRequest.properties.Prompt.description": "ac28f960", + "components.schemas.TencentHunyuan3DProResponse.description": "075f5199", + "components.schemas.TencentHunyuan3DProResponse.properties.Response.properties.Error.description": "49a6745b", + "components.schemas.TencentHunyuan3DProResponse.properties.Response.properties.Error.properties.Code.description": "0570b384", + "components.schemas.TencentHunyuan3DProResponse.properties.Response.properties.Error.properties.Message.description": "a5dc35f1", + "components.schemas.TencentHunyuan3DProResponse.properties.Response.properties.JobId.description": "acdd1eb4", + "components.schemas.TencentHunyuan3DProResponse.properties.Response.properties.RequestId.description": "9a0f8423", + "components.schemas.TencentHunyuan3DQueryRequest.properties.JobId.description": "c40827de", + "components.schemas.TencentHunyuan3DQueryResponse.description": "4a21c0aa", + "components.schemas.TencentHunyuan3DQueryResponse.properties.Response.properties.ErrorCode.description": "6f5a03e1", + "components.schemas.TencentHunyuan3DQueryResponse.properties.Response.properties.ErrorMessage.description": "66871e88", + "components.schemas.TencentHunyuan3DQueryResponse.properties.Response.properties.RequestId.description": "9a0f8423", + "components.schemas.TencentHunyuan3DQueryResponse.properties.Response.properties.ResultFile3Ds.description": "7491283f", + "components.schemas.TencentHunyuan3DQueryResponse.properties.Response.properties.Status.description": "a2d43823", + "components.schemas.TencentHunyuan3DSmartTopologyRequest.description": "703bc635", + "components.schemas.TencentHunyuan3DSmartTopologyRequest.properties.FaceLevel.description": "36efddc6", + "components.schemas.TencentHunyuan3DSmartTopologyRequest.properties.PolygonType.description": "0276df96", + "components.schemas.TencentHunyuan3DTextureEditRequest.description": "13d39140", + "components.schemas.TencentHunyuan3DTextureEditRequest.properties.EnablePBR.description": "77b74e65", + "components.schemas.TencentHunyuan3DTextureEditRequest.properties.Prompt.description": "dbae51b4", + "components.schemas.TencentHunyuan3DUVRequest.description": "bbf4c68b", + "components.schemas.TencentHunyuan3DUVResponse.description": "ae944ee6", + "components.schemas.TencentHunyuan3DUVResponse.properties.Response.properties.Error.description": "49a6745b", + "components.schemas.TencentHunyuan3DUVResponse.properties.Response.properties.Error.properties.Code.description": "0570b384", + "components.schemas.TencentHunyuan3DUVResponse.properties.Response.properties.Error.properties.Message.description": "a5dc35f1", + "components.schemas.TencentHunyuan3DUVResponse.properties.Response.properties.JobId.description": "4eb2dd48", + "components.schemas.TencentHunyuan3DUVResponse.properties.Response.properties.RequestId.description": "9a0f8423", + "components.schemas.TencentImageInfo.description": "aa4dd984", + "components.schemas.TencentImageInfo.properties.ImageBase64.description": "830f830a", + "components.schemas.TencentImageInfo.properties.ImageUrl.description": "1f490f49", + "components.schemas.TencentInputFile3D.description": "a726e257", + "components.schemas.TencentInputFile3D.properties.Type.description": "f3107d2e", + "components.schemas.TencentInputFile3D.properties.Url.description": "4e40c00f", + "components.schemas.TencentViewImage.description": "e02a71ea", + "components.schemas.TencentViewImage.properties.ViewImageBase64.description": "a6b8504f", + "components.schemas.TencentViewImage.properties.ViewImageUrl.description": "d99f0e10", + "components.schemas.TencentViewImage.properties.ViewType.description": "2d2b66df", + "components.schemas.TextResponseFormatConfiguration.description": "01265447", + "components.schemas.TextResponseFormatJsonSchema.description": "3fd72045", + "components.schemas.TextResponseFormatJsonSchema.properties.description.description": "dbaeddc3", + "components.schemas.TextResponseFormatJsonSchema.properties.name.description": "c7f7e7e4", + "components.schemas.TextResponseFormatJsonSchema.properties.strict.description": "d71a08d1", + "components.schemas.TextResponseFormatJsonSchema.properties.type.description": "a481f850", + "components.schemas.ToolChoiceFunction.description": "00938a65", + "components.schemas.ToolChoiceFunction.properties.name.description": "5071f76f", + "components.schemas.ToolChoiceFunction.properties.type.description": "2e6ff905", + "components.schemas.ToolChoiceOptions.description": "f681129d", + "components.schemas.ToolChoiceTypes.description": "5925bc07", + "components.schemas.ToolChoiceTypes.properties.type.description": "ec9200cd", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.description": "39208bb6", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.container.description": "b396d61b", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.endNumber.description": "dbfd161f", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.frameCount.description": "ad78628b", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.frameRate.description": "04211c3e", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.resolution.description": "ae8244ab", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.resolution.properties.height.description": "6717d280", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.resolution.properties.width.description": "c10714c7", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.startNumber.description": "324d91b9", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.description": "39208bb6", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.container.description": "9199cc6e", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.duration.description": "9396e243", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.frameCount.description": "b9126dec", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.frameRate.description": "04211c3e", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.resolution.description": "69bdec5c", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.resolution.properties.height.description": "f9b8ffb6", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.resolution.properties.width.description": "b58a6599", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.size.description": "ca4b6f92", + "components.schemas.TopazCredentialsS3.properties.externalId.description": "092494ed", + "components.schemas.TopazCredentialsS3.properties.roleArn.description": "1b42e5bd", + "components.schemas.TopazDownloadResponse.properties.download_url.description": "9bae6022", + "components.schemas.TopazDownloadResponse.properties.expiry.description": "6cbc41c6", + "components.schemas.TopazDownloadResponse.properties.head_url.description": "04f62b74", + "components.schemas.TopazEnhanceGenRequest.properties.color_preservation.description": "d7881c96", + "components.schemas.TopazEnhanceGenRequest.properties.creativity.description": "3f44e2ee", + "components.schemas.TopazEnhanceGenRequest.properties.crop_to_fill.description": "6674805b", + "components.schemas.TopazEnhanceGenRequest.properties.face_enhancement.description": "1fe6e614", + "components.schemas.TopazEnhanceGenRequest.properties.face_enhancement_creativity.description": "8d1ed95b", + "components.schemas.TopazEnhanceGenRequest.properties.face_enhancement_strength.description": "d07d3124", + "components.schemas.TopazEnhanceGenRequest.properties.face_preservation.description": "1ba44d01", + "components.schemas.TopazEnhanceGenRequest.properties.image.description": "076815f6", + "components.schemas.TopazEnhanceGenRequest.properties.model.description": "d81d3b32", + "components.schemas.TopazEnhanceGenRequest.properties.output_format.description": "7355527b", + "components.schemas.TopazEnhanceGenRequest.properties.output_height.description": "4c50ab29", + "components.schemas.TopazEnhanceGenRequest.properties.output_width.description": "a04dd6ef", + "components.schemas.TopazEnhanceGenRequest.properties.prompt.description": "7089e651", + "components.schemas.TopazEnhanceGenRequest.properties.source_id.description": "91e25046", + "components.schemas.TopazEnhanceGenRequest.properties.source_url.description": "98d44db4", + "components.schemas.TopazEnhanceGenRequest.properties.subject_detection.description": "79019001", + "components.schemas.TopazEnhanceGenResponse.properties.eta.description": "aa2af218", + "components.schemas.TopazEnhanceGenResponse.properties.process_id.description": "40006c76", + "components.schemas.TopazEnhanceGenResponse.properties.source_id.description": "91e25046", + "components.schemas.TopazExternalStorage.properties.key.description": "423300a4", + "components.schemas.TopazInputFilters.description": "f352d720", + "components.schemas.TopazOutputInformationImageSequence.properties.codecId.description": "6c7ac797", + "components.schemas.TopazOutputInformationImageSequence.properties.container.description": "b9ffe4a3", + "components.schemas.TopazOutputInformationImageSequence.properties.cropToFit.description": "afaf8934", + "components.schemas.TopazOutputInformationImageSequence.properties.frameRate.description": "68e19e4c", + "components.schemas.TopazOutputInformationImageSequence.properties.resolution.description": "71f52c23", + "components.schemas.TopazOutputInformationImageSequence.properties.resolution.properties.height.description": "1d049c25", + "components.schemas.TopazOutputInformationImageSequence.properties.resolution.properties.width.description": "ea1b9b1c", + "components.schemas.TopazOutputInformationImageSequence.properties.videoProfile.description": "2722c9c0", + "components.schemas.TopazOutputInformationVideo.properties.audioBitrate.description": "d6557234", + "components.schemas.TopazOutputInformationVideo.properties.audioCodec.description": "d6336a8b", + "components.schemas.TopazOutputInformationVideo.properties.codecId.description": "6c7ac797", + "components.schemas.TopazOutputInformationVideo.properties.container.description": "cd5319c1", + "components.schemas.TopazOutputInformationVideo.properties.cropToFit.description": "afaf8934", + "components.schemas.TopazOutputInformationVideo.properties.dynamicCompressionLevel.description": "ce927818", + "components.schemas.TopazOutputInformationVideo.properties.frameRate.description": "68e19e4c", + "components.schemas.TopazOutputInformationVideo.properties.resolution.description": "71f52c23", + "components.schemas.TopazOutputInformationVideo.properties.resolution.properties.height.description": "1d049c25", + "components.schemas.TopazOutputInformationVideo.properties.resolution.properties.width.description": "ea1b9b1c", + "components.schemas.TopazOutputInformationVideo.properties.videoBitrate.description": "3211acf8", + "components.schemas.TopazOutputInformationVideo.properties.videoProfile.description": "cae22bbf", + "components.schemas.TopazStatusResponse.properties.category.description": "204e38ee", + "components.schemas.TopazStatusResponse.properties.creation_time.description": "79028bbc", + "components.schemas.TopazStatusResponse.properties.credits.description": "85ecf7a8", + "components.schemas.TopazStatusResponse.properties.crop_to_fill.description": "93c1756c", + "components.schemas.TopazStatusResponse.properties.eta.description": "aa2af218", + "components.schemas.TopazStatusResponse.properties.face_enhancement.description": "9ca90f63", + "components.schemas.TopazStatusResponse.properties.face_enhancement_creativity.description": "71e6bf4d", + "components.schemas.TopazStatusResponse.properties.face_enhancement_strength.description": "5a9de5ad", + "components.schemas.TopazStatusResponse.properties.filename.description": "e299ff7c", + "components.schemas.TopazStatusResponse.properties.input_format.description": "3a620e11", + "components.schemas.TopazStatusResponse.properties.input_height.description": "43843e50", + "components.schemas.TopazStatusResponse.properties.input_width.description": "fd7d459a", + "components.schemas.TopazStatusResponse.properties.model.description": "6763c9c0", + "components.schemas.TopazStatusResponse.properties.model_type.description": "fb5ca76f", + "components.schemas.TopazStatusResponse.properties.modification_time.description": "648c110c", + "components.schemas.TopazStatusResponse.properties.options_json.description": "90383038", + "components.schemas.TopazStatusResponse.properties.output_format.description": "0d827e39", + "components.schemas.TopazStatusResponse.properties.output_height.description": "a1e4f8e5", + "components.schemas.TopazStatusResponse.properties.output_width.description": "6d7254e9", + "components.schemas.TopazStatusResponse.properties.process_id.description": "40006c76", + "components.schemas.TopazStatusResponse.properties.progress.description": "d8433583", + "components.schemas.TopazStatusResponse.properties.source_id.description": "91e25046", + "components.schemas.TopazStatusResponse.properties.status.description": "16f26b03", + "components.schemas.TopazStatusResponse.properties.subject_detection.description": "0444b5f8", + "components.schemas.TopazStatusResponse.properties.sync.description": "92b198dd", + "components.schemas.TopazVideoAcceptResponse.properties.message.description": "575e8608", + "components.schemas.TopazVideoAcceptResponse.properties.uploadId.description": "fb4452b7", + "components.schemas.TopazVideoAcceptResponse.properties.urls.description": "3dbe28c3", + "components.schemas.TopazVideoCompleteUploadRequest.properties.md5Hash.description": "90954ac3", + "components.schemas.TopazVideoCompleteUploadRequest.properties.uploadResults.description": "014cbd9f", + "components.schemas.TopazVideoCompleteUploadRequest.properties.uploadResults.items.properties.eTag.description": "926c9050", + "components.schemas.TopazVideoCompleteUploadRequest.properties.uploadResults.items.properties.partNum.description": "5ff12662", + "components.schemas.TopazVideoCompleteUploadResponse.properties.message.description": "b736b1be", + "components.schemas.TopazVideoCreateResponse.properties.requestId.description": "911f0141", + "components.schemas.TopazVideoEnhancedDownload.description": "a50467c6", + "components.schemas.TopazVideoEnhancedDownload.properties.expiresAt.description": "0d6ad91c", + "components.schemas.TopazVideoEnhancedDownload.properties.expiresIn.description": "9c5947d4", + "components.schemas.TopazVideoEnhancementFilter.properties.auto.description": "67bd8238", + "components.schemas.TopazVideoEnhancementFilter.properties.blur.description": "2f243c8d", + "components.schemas.TopazVideoEnhancementFilter.properties.compression.description": "efcb6e17", + "components.schemas.TopazVideoEnhancementFilter.properties.creativity.description": "9f07bb49", + "components.schemas.TopazVideoEnhancementFilter.properties.details.description": "4581e373", + "components.schemas.TopazVideoEnhancementFilter.properties.fieldOrder.description": "c43fd071", + "components.schemas.TopazVideoEnhancementFilter.properties.focusFixLevel.description": "66665da0", + "components.schemas.TopazVideoEnhancementFilter.properties.grain.description": "2a869d72", + "components.schemas.TopazVideoEnhancementFilter.properties.grainSize.description": "a30cb85e", + "components.schemas.TopazVideoEnhancementFilter.properties.halo.description": "ba5e831b", + "components.schemas.TopazVideoEnhancementFilter.properties.isOptimizedMode.description": "4767e228", + "components.schemas.TopazVideoEnhancementFilter.properties.model.description": "0ec89a2d", + "components.schemas.TopazVideoEnhancementFilter.properties.noise.description": "8230ff21", + "components.schemas.TopazVideoEnhancementFilter.properties.preblur.description": "e72a3669", + "components.schemas.TopazVideoEnhancementFilter.properties.prenoise.description": "41d62ee6", + "components.schemas.TopazVideoEnhancementFilter.properties.recoverOriginalDetailValue.description": "d12e7922", + "components.schemas.TopazVideoEnhancementFilter.properties.videoType.description": "117fcb7d", + "components.schemas.TopazVideoFrameInterpolationFilter.properties.duplicate.description": "7991c315", + "components.schemas.TopazVideoFrameInterpolationFilter.properties.duplicateThreshold.description": "1e839a3f", + "components.schemas.TopazVideoFrameInterpolationFilter.properties.fps.description": "5767f121", + "components.schemas.TopazVideoFrameInterpolationFilter.properties.model.description": "0ec89a2d", + "components.schemas.TopazVideoFrameInterpolationFilter.properties.slowmo.description": "7d1a17eb", + "components.schemas.TopazVideoRequestEstimates.description": "78c0050d", + "components.schemas.TopazVideoRequestEstimates.properties.cost.description": "b06897ff", + "components.schemas.TopazVideoRequestEstimates.properties.time.description": "4475109b", + "components.schemas.TopazVideoStatusResponse.properties.averageFps.description": "a3464da4", + "components.schemas.TopazVideoStatusResponse.properties.combinedFps.description": "5f2006b7", + "components.schemas.TopazVideoStatusResponse.properties.outputSize.description": "9d9623e8", + "components.schemas.TopazVideoStatusResponse.properties.progress.description": "dd3399d7", + "components.schemas.TopazVideoStatusResponse.properties.status.description": "79c5e63e", + "components.schemas.TripoImageToModel.description": "d49b42de", + "components.schemas.TripoModelStyle.description": "6e5ee3b8", + "components.schemas.TripoModelVersion.description": "f5c4fc9c", + "components.schemas.TripoMultiviewMode.description": "89aa2335", + "components.schemas.TripoMultiviewToModel.description": "9ed7a9c9", + "components.schemas.TripoResponseSuccessCode.description": "f7e9065a", + "components.schemas.TripoSuccessTask.properties.data.properties.task_id.description": "d9020f5e", + "components.schemas.TripoTask.properties.consumed_credit.description": "746de6b2", + "components.schemas.TripoTextToModel.description": "2e07644c", + "components.schemas.UpdateCouponRequest.properties.metadata.description": "10282a4b", + "components.schemas.UpdateCouponRequest.properties.name.description": "c2c0afba", + "components.schemas.UpdatePromoCodeRequest.properties.active.description": "2a5d2ad7", + "components.schemas.UpdatePromoCodeRequest.properties.metadata.description": "10282a4b", + "components.schemas.UsageBalance.description": "282d4104", + "components.schemas.UsageBreakdownRow.properties.cost_micros.description": "dd5b88fb", + "components.schemas.UsageBreakdownRow.properties.share.description": "caaa8299", + "components.schemas.UsageBucket.properties.cost_micros.description": "09fb69ef", + "components.schemas.UsageBucket.properties.group_key.description": "057febdb", + "components.schemas.UsageBucket.properties.period_end.description": "a4adcfad", + "components.schemas.UsageBucket.properties.period_start.description": "c18a1998", + "components.schemas.UsageSummary.properties.spend_micros.description": "386bb7ca", + "components.schemas.User.properties.email.description": "0b83b7bc", + "components.schemas.User.properties.id.description": "1b856ced", + "components.schemas.User.properties.isAdmin.description": "868cc4c4", + "components.schemas.User.properties.isApproved.description": "428f5861", + "components.schemas.User.properties.name.description": "dc61ade2", + "components.schemas.Veo2GenVidPollRequest.properties.operationName.description": "3b6b90ac", + "components.schemas.Veo2GenVidPollResponse.properties.error.description": "9fae1f78", + "components.schemas.Veo2GenVidPollResponse.properties.error.properties.code.description": "0570b384", + "components.schemas.Veo2GenVidPollResponse.properties.error.properties.message.description": "a5dc35f1", + "components.schemas.Veo2GenVidPollResponse.properties.response.description": "12504f36", + "components.schemas.Veo2GenVidPollResponse.properties.response.properties.raiMediaFilteredCount.description": "b56f1ab7", + "components.schemas.Veo2GenVidPollResponse.properties.response.properties.raiMediaFilteredReasons.description": "67f0cd2a", + "components.schemas.Veo2GenVidPollResponse.properties.response.properties.videos.items.properties.bytesBase64Encoded.description": "b0990a76", + "components.schemas.Veo2GenVidPollResponse.properties.response.properties.videos.items.properties.gcsUri.description": "786e8121", + "components.schemas.Veo2GenVidPollResponse.properties.response.properties.videos.items.properties.mimeType.description": "b48c126a", + "components.schemas.Veo2GenVidRequest.properties.instances.items.properties.image.description": "7cab5bec", + "components.schemas.Veo2GenVidRequest.properties.instances.items.properties.prompt.description": "06f4cd2d", + "components.schemas.Veo2GenVidRequest.properties.parameters.properties.storageUri.description": "739993cc", + "components.schemas.Veo2GenVidResponse.properties.name.description": "cd793c1a", + "components.schemas.VeoGenVidPollRequest.properties.operationName.description": "e682a989", + "components.schemas.VeoGenVidPollResponse.description": "ff67741e", + "components.schemas.VeoGenVidPollResponse.properties.done.description": "42f1fccb", + "components.schemas.VeoGenVidPollResponse.properties.error.description": "e47e556e", + "components.schemas.VeoGenVidPollResponse.properties.error.properties.code.description": "c4116cde", + "components.schemas.VeoGenVidPollResponse.properties.error.properties.message.description": "a5dc35f1", + "components.schemas.VeoGenVidPollResponse.properties.name.description": "cd793c1a", + "components.schemas.VeoGenVidPollResponse.properties.response.description": "515b3f24", + "components.schemas.VeoGenVidPollResponse.properties.response.properties.raiMediaFilteredCount.description": "e826825a", + "components.schemas.VeoGenVidPollResponse.properties.response.properties.raiMediaFilteredReasons.description": "7b8c02ee", + "components.schemas.VeoGenVidPollResponse.properties.response.properties.videos.items.properties.bytesBase64Encoded.description": "b0990a76", + "components.schemas.VeoGenVidPollResponse.properties.response.properties.videos.items.properties.gcsUri.description": "ab9f01ec", + "components.schemas.VeoGenVidPollResponse.properties.response.properties.videos.items.properties.mimeType.description": "01acef1a", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.cameraControl.description": "204c094b", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.image.description": "02bbb8d0", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.image.properties.bytesBase64Encoded.description": "9692f763", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.image.properties.gcsUri.description": "c9506ea9", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.image.properties.mimeType.description": "6c2f9452", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.lastFrame.description": "39923b23", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.lastFrame.properties.bytesBase64Encoded.description": "9692f763", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.lastFrame.properties.gcsUri.description": "c9506ea9", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.lastFrame.properties.mimeType.description": "6c2f9452", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.mask.description": "4688c044", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.mask.properties.bytesBase64Encoded.description": "473cf281", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.mask.properties.gcsUri.description": "188c9a7c", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.mask.properties.maskMode.description": "f58a2ab1", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.mask.properties.mimeType.description": "15594e3f", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.prompt.description": "acaebf6a", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.description": "fd9551fe", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.items.properties.image.properties.bytesBase64Encoded.description": "9692f763", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.items.properties.image.properties.gcsUri.description": "c9506ea9", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.items.properties.image.properties.mimeType.description": "6c2f9452", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.items.properties.referenceId.description": "e288ee81", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.items.properties.referenceType.description": "e346d6c4", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.video.description": "17842681", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.video.properties.bytesBase64Encoded.description": "c4585ddf", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.video.properties.gcsUri.description": "ade773af", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.video.properties.mimeType.description": "d88e3258", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.aspectRatio.description": "b6440519", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.compressionQuality.description": "f9a6d58a", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.durationSeconds.description": "2340cd79", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.enhancePrompt.description": "9906ac4c", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.fps.description": "107696c7", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.generateAudio.description": "0169ca20", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.negativePrompt.description": "8fe758a2", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.personGeneration.description": "aca78527", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.pubsubTopic.description": "1a69a6ec", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.resizeMode.description": "5e57b43a", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.resolution.description": "7085da48", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.sampleCount.description": "20aae7fa", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.seed.description": "096b65d2", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.storageUri.description": "60be6b21", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.task.description": "119dd33e", + "components.schemas.VeoGenVidResponse.description": "5a79ef64", + "components.schemas.VeoGenVidResponse.properties.name.description": "bd6fb441", + "components.schemas.ViduExtendRequest.properties.callback_url.description": "29b68c59", + "components.schemas.ViduExtendRequest.properties.duration.description": "f05999e7", + "components.schemas.ViduExtendRequest.properties.images.description": "2c0632bc", + "components.schemas.ViduExtendRequest.properties.model.description": "689a58ce", + "components.schemas.ViduExtendRequest.properties.payload.description": "25286f22", + "components.schemas.ViduExtendRequest.properties.prompt.description": "624bb1b1", + "components.schemas.ViduExtendRequest.properties.resolution.description": "b09a06da", + "components.schemas.ViduExtendRequest.properties.video_creation_id.description": "bac00f62", + "components.schemas.ViduExtendRequest.properties.video_url.description": "f3f67f3a", + "components.schemas.ViduImageSetting.properties.duration.description": "7e64a4f5", + "components.schemas.ViduImageSetting.properties.key_image.description": "1664524a", + "components.schemas.ViduImageSetting.properties.prompt.description": "e4d31f4e", + "components.schemas.ViduMultiframeRequest.properties.callback_url.description": "29b68c59", + "components.schemas.ViduMultiframeRequest.properties.image_settings.description": "96df3473", + "components.schemas.ViduMultiframeRequest.properties.model.description": "689a58ce", + "components.schemas.ViduMultiframeRequest.properties.payload.description": "25286f22", + "components.schemas.ViduMultiframeRequest.properties.resolution.description": "ab5d9dce", + "components.schemas.ViduMultiframeRequest.properties.start_image.description": "c29a1edb", + "components.schemas.ViduTaskReply.properties.bgm.description": "b7242add", + "components.schemas.ViduTaskReply.properties.off_peak.description": "d2c7146c", + "components.schemas.ViduTaskReply.properties.payload.description": "b4427d50", + "components.schemas.ViduTaskReply.properties.watermark.description": "a5015dca", + "components.schemas.ViduTaskRequest.properties.audio.description": "972144eb", + "components.schemas.ViduTaskRequest.properties.audio_type.description": "7280f8da", + "components.schemas.ViduTaskRequest.properties.bgm.description": "01c31a7c", + "components.schemas.ViduTaskRequest.properties.callback_url.description": "29b68c59", + "components.schemas.ViduTaskRequest.properties.duration.description": "14423d1f", + "components.schemas.ViduTaskRequest.properties.images.description": "c07eece4", + "components.schemas.ViduTaskRequest.properties.is_rec.description": "cae6d584", + "components.schemas.ViduTaskRequest.properties.meta_data.description": "82a0ba01", + "components.schemas.ViduTaskRequest.properties.model.description": "b1c064f6", + "components.schemas.ViduTaskRequest.properties.movement_amplitude.description": "af7bab1e", + "components.schemas.ViduTaskRequest.properties.off_peak.description": "7b273970", + "components.schemas.ViduTaskRequest.properties.payload.description": "25286f22", + "components.schemas.ViduTaskRequest.properties.prompt.description": "624bb1b1", + "components.schemas.ViduTaskRequest.properties.resolution.description": "91f1b230", + "components.schemas.ViduTaskRequest.properties.seed.description": "5c4a1d85", + "components.schemas.ViduTaskRequest.properties.voice_id.description": "3c8a2660", + "components.schemas.ViduTaskRequest.properties.watermark.description": "8dd382ac", + "components.schemas.ViduTaskRequest.properties.wm_position.description": "54327260", + "components.schemas.ViduTaskRequest.properties.wm_url.description": "b579d9fd", + "components.schemas.WanImage2ImageGenerationRequest.properties.input.description": "c68c856c", + "components.schemas.WanImage2ImageGenerationRequest.properties.input.properties.images.description": "2700cdb2", + "components.schemas.WanImage2ImageGenerationRequest.properties.input.properties.images.items.description": "89994e4a", + "components.schemas.WanImage2ImageGenerationRequest.properties.input.properties.negative_prompt.description": "8d9fc0fc", + "components.schemas.WanImage2ImageGenerationRequest.properties.input.properties.prompt.description": "182c5f0a", + "components.schemas.WanImage2ImageGenerationRequest.properties.model.description": "9a203334", + "components.schemas.WanImage2ImageGenerationRequest.properties.parameters.description": "6ea04a4e", + "components.schemas.WanImage2ImageGenerationRequest.properties.parameters.properties.n.description": "b20094a7", + "components.schemas.WanImage2ImageGenerationRequest.properties.parameters.properties.seed.description": "9814a8a7", + "components.schemas.WanImage2ImageGenerationRequest.properties.parameters.properties.size.description": "54e62b26", + "components.schemas.WanImage2ImageGenerationRequest.properties.parameters.properties.watermark.description": "93f1edad", + "components.schemas.WanImage2ImageGenerationResponse.properties.code.description": "e8b013da", + "components.schemas.WanImage2ImageGenerationResponse.properties.message.description": "a2213eff", + "components.schemas.WanImage2ImageGenerationResponse.properties.output.properties.task_id.description": "3e0cce3a", + "components.schemas.WanImage2ImageGenerationResponse.properties.output.properties.task_status.description": "3fd71308", + "components.schemas.WanImage2ImageGenerationResponse.properties.request_id.description": "71ec0a25", + "components.schemas.WanImageGenerationRequest.properties.input.description": "6d493c89", + "components.schemas.WanImageGenerationRequest.properties.input.properties.negative_prompt.description": "8d9fc0fc", + "components.schemas.WanImageGenerationRequest.properties.input.properties.prompt.description": "00164cdb", + "components.schemas.WanImageGenerationRequest.properties.model.description": "2bf189b1", + "components.schemas.WanImageGenerationRequest.properties.parameters.description": "6ea04a4e", + "components.schemas.WanImageGenerationRequest.properties.parameters.properties.n.description": "401d4182", + "components.schemas.WanImageGenerationRequest.properties.parameters.properties.prompt_extend.description": "601cacaf", + "components.schemas.WanImageGenerationRequest.properties.parameters.properties.seed.description": "9814a8a7", + "components.schemas.WanImageGenerationRequest.properties.parameters.properties.size.description": "8b317ffe", + "components.schemas.WanImageGenerationRequest.properties.parameters.properties.watermark.description": "93f1edad", + "components.schemas.WanImageGenerationResponse.properties.code.description": "e8b013da", + "components.schemas.WanImageGenerationResponse.properties.message.description": "a2213eff", + "components.schemas.WanImageGenerationResponse.properties.output.properties.task_id.description": "3e0cce3a", + "components.schemas.WanImageGenerationResponse.properties.output.properties.task_status.description": "3fd71308", + "components.schemas.WanImageGenerationResponse.properties.request_id.description": "71ec0a25", + "components.schemas.WanTaskQueryResponse.properties.output.properties.actual_prompt.description": "db9476fa", + "components.schemas.WanTaskQueryResponse.properties.output.properties.check_audio.description": "b09802cf", + "components.schemas.WanTaskQueryResponse.properties.output.properties.code.description": "e8b013da", + "components.schemas.WanTaskQueryResponse.properties.output.properties.end_time.description": "74c4cef6", + "components.schemas.WanTaskQueryResponse.properties.output.properties.message.description": "a2213eff", + "components.schemas.WanTaskQueryResponse.properties.output.properties.orig_prompt.description": "24b4b37f", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.description": "04525eb4", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.items.properties.actual_prompt.description": "411fea98", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.items.properties.code.description": "11deb0a5", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.items.properties.message.description": "27e67b31", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.items.properties.orig_prompt.description": "a693cabd", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.items.properties.url.description": "55c82241", + "components.schemas.WanTaskQueryResponse.properties.output.properties.scheduled_time.description": "2c00380c", + "components.schemas.WanTaskQueryResponse.properties.output.properties.submit_time.description": "c39732d0", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_id.description": "3e0cce3a", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_metrics.description": "cd73bafd", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_metrics.properties.FAILED.description": "02847942", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_metrics.properties.SUCCEEDED.description": "5affd8e3", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_metrics.properties.TOTAL.description": "b53a4988", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_status.description": "3fd71308", + "components.schemas.WanTaskQueryResponse.properties.output.properties.video_url.description": "54ce5643", + "components.schemas.WanTaskQueryResponse.properties.request_id.description": "71ec0a25", + "components.schemas.WanTaskQueryResponse.properties.usage.description": "ac6b7bd9", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.SR.description": "9ab8b22e", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.duration.description": "454c1fa4", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.image_count.description": "bc2d470c", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.size.description": "84b92d30", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.video_count.description": "e14a08c0", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.video_duration.description": "df621ed4", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.video_ratio.description": "8ee697a0", + "components.schemas.WanVideoGenerationRequest.properties.input.description": "6d493c89", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.audio_url.description": "7dece319", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.img_url.description": "37ba3521", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.media.description": "ee11a595", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.media.items.properties.type.description": "99ac28a1", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.media.items.properties.url.description": "4199defc", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.negative_prompt.description": "b1aad208", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.prompt.description": "6f7f986e", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.reference_video_urls.description": "359b59af", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.template.description": "45d1e25b", + "components.schemas.WanVideoGenerationRequest.properties.model.description": "c5246297", + "components.schemas.WanVideoGenerationRequest.properties.parameters.description": "eada50cb", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.audio.description": "e8dff0cd", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.audio_setting.description": "61168c99", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.duration.description": "60d6781d", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.prompt_extend.description": "9675a7f7", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.ratio.description": "183da858", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.resolution.description": "57bb13e1", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.seed.description": "09f453b5", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.shot_type.description": "c2d51ef7", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.size.description": "482f866a", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.watermark.description": "ce3b790e", + "components.schemas.WanVideoGenerationResponse.properties.code.description": "e8b013da", + "components.schemas.WanVideoGenerationResponse.properties.message.description": "a2213eff", + "components.schemas.WanVideoGenerationResponse.properties.output.properties.task_id.description": "3e0cce3a", + "components.schemas.WanVideoGenerationResponse.properties.output.properties.task_status.description": "3fd71308", + "components.schemas.WanVideoGenerationResponse.properties.request_id.description": "71ec0a25", + "components.schemas.WavespeedFlashVSRRequest.description": "442c7b54", + "components.schemas.WavespeedFlashVSRRequest.properties.duration.description": "c30cf7f2", + "components.schemas.WavespeedFlashVSRRequest.properties.target_resolution.description": "99cc2a2f", + "components.schemas.WavespeedFlashVSRRequest.properties.video.description": "0e9123ae", + "components.schemas.WavespeedSeedVR2ImageRequest.description": "5de6061c", + "components.schemas.WavespeedSeedVR2ImageRequest.properties.enable_base64_output.description": "26632c66", + "components.schemas.WavespeedSeedVR2ImageRequest.properties.image.description": "dbf79ac3", + "components.schemas.WavespeedSeedVR2ImageRequest.properties.output_format.description": "33731010", + "components.schemas.WavespeedSeedVR2ImageRequest.properties.target_resolution.description": "c3210ade", + "components.schemas.WavespeedTaskResponse.description": "a6fe3a2b", + "components.schemas.WavespeedTaskResponse.properties.code.description": "29f3e57a", + "components.schemas.WavespeedTaskResponse.properties.data.properties.created_at.description": "2a37b19a", + "components.schemas.WavespeedTaskResponse.properties.data.properties.error.description": "4200ac8b", + "components.schemas.WavespeedTaskResponse.properties.data.properties.has_nsfw_contents.description": "6e223f2d", + "components.schemas.WavespeedTaskResponse.properties.data.properties.id.description": "540bc378", + "components.schemas.WavespeedTaskResponse.properties.data.properties.model.description": "dfeb1a15", + "components.schemas.WavespeedTaskResponse.properties.data.properties.outputs.description": "7092a667", + "components.schemas.WavespeedTaskResponse.properties.data.properties.status.description": "6adc8982", + "components.schemas.WavespeedTaskResponse.properties.data.properties.timings.properties.inference.description": "95b95885", + "components.schemas.WavespeedTaskResponse.properties.data.properties.urls.properties.get.description": "483369e1", + "components.schemas.WavespeedTaskResponse.properties.message.description": "a56a92ba", + "components.schemas.WavespeedTaskResultResponse.description": "d0f63c7a", + "components.schemas.WavespeedTaskResultResponse.properties.code.description": "29f3e57a", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.created_at.description": "2a37b19a", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.error.description": "4200ac8b", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.id.description": "540bc378", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.model.description": "dfeb1a15", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.outputs.description": "7092a667", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.status.description": "6adc8982", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.timings.properties.inference.description": "95b95885", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.urls.properties.get.description": "483369e1", + "components.schemas.WavespeedTaskResultResponse.properties.message.description": "a56a92ba", + "components.schemas.WebSearchPreviewTool.description": "b30519d3", + "components.schemas.WebSearchPreviewTool.properties.search_context_size.description": "34c4a0d0", + "components.schemas.WebSearchPreviewTool.properties.type.description": "6855d85e", + "components.schemas.WebSearchToolCall.description": "a5f46919", + "components.schemas.WebSearchToolCall.properties.id.description": "e8b58b85", + "components.schemas.WebSearchToolCall.properties.status.description": "10d194f8", + "components.schemas.WebSearchToolCall.properties.type.description": "4fcd071d", + "components.schemas.XAIGeneratedImage.description": "8b50f8cb", + "components.schemas.XAIGeneratedImage.properties.b64_json.description": "15a9e664", + "components.schemas.XAIGeneratedImage.properties.mime_type.description": "a36c75a5", + "components.schemas.XAIGeneratedImage.properties.url.description": "41c2775e", + "components.schemas.XAIGeneratedVideo.description": "8d330402", + "components.schemas.XAIGeneratedVideo.properties.duration.description": "f7a1d7dc", + "components.schemas.XAIGeneratedVideo.properties.respect_moderation.description": "41e21b3d", + "components.schemas.XAIGeneratedVideo.properties.url.description": "db09752b", + "components.schemas.XAIImageEditRequest.description": "00eb3b7e", + "components.schemas.XAIImageEditRequest.properties.aspect_ratio.description": "0aacb785", + "components.schemas.XAIImageEditRequest.properties.images.description": "295ae15e", + "components.schemas.XAIImageEditRequest.properties.model.description": "cd8e85f5", + "components.schemas.XAIImageEditRequest.properties.n.description": "497cf55e", + "components.schemas.XAIImageEditRequest.properties.prompt.description": "9d6bcfee", + "components.schemas.XAIImageEditRequest.properties.quality.description": "1963a340", + "components.schemas.XAIImageEditRequest.properties.resolution.description": "4e430a4f", + "components.schemas.XAIImageEditRequest.properties.response_format.description": "962489d4", + "components.schemas.XAIImageEditRequest.properties.size.description": "db09113e", + "components.schemas.XAIImageEditRequest.properties.style.description": "a2b3a051", + "components.schemas.XAIImageEditRequest.properties.user.description": "0f4193f3", + "components.schemas.XAIImageGenerationRequest.description": "f9a1ff60", + "components.schemas.XAIImageGenerationRequest.properties.aspect_ratio.description": "bb197640", + "components.schemas.XAIImageGenerationRequest.properties.model.description": "cd8e85f5", + "components.schemas.XAIImageGenerationRequest.properties.n.description": "05c56c74", + "components.schemas.XAIImageGenerationRequest.properties.prompt.description": "a01d81c1", + "components.schemas.XAIImageGenerationRequest.properties.quality.description": "1963a340", + "components.schemas.XAIImageGenerationRequest.properties.resolution.description": "4e430a4f", + "components.schemas.XAIImageGenerationRequest.properties.response_format.description": "962489d4", + "components.schemas.XAIImageGenerationRequest.properties.size.description": "db09113e", + "components.schemas.XAIImageGenerationRequest.properties.style.description": "a2b3a051", + "components.schemas.XAIImageGenerationRequest.properties.user.description": "0f4193f3", + "components.schemas.XAIImageGenerationResponse.description": "c6293016", + "components.schemas.XAIImageGenerationResponse.properties.block_reason.description": "03d5f247", + "components.schemas.XAIImageGenerationResponse.properties.data.description": "e19c6b77", + "components.schemas.XAIImageObject.description": "e2004b3c", + "components.schemas.XAIImageObject.properties.type.description": "cd49911b", + "components.schemas.XAIImageObject.properties.url.description": "86aaabd9", + "components.schemas.XAIImageUsage.description": "170ff274", + "components.schemas.XAIImageUsage.properties.cost_in_usd_ticks.description": "d4793320", + "components.schemas.XAIReferenceImageObject.description": "3ec7cdeb", + "components.schemas.XAIReferenceImageObject.properties.url.description": "631dcdc8", + "components.schemas.XAIVideoAsyncResponse.description": "887ccfba", + "components.schemas.XAIVideoAsyncResponse.properties.request_id.description": "e4c808ed", + "components.schemas.XAIVideoEditRequest.description": "f21d3cc2", + "components.schemas.XAIVideoEditRequest.properties.model.description": "cd8e85f5", + "components.schemas.XAIVideoEditRequest.properties.output.description": "f593af51", + "components.schemas.XAIVideoEditRequest.properties.prompt.description": "3ab2df17", + "components.schemas.XAIVideoEditRequest.properties.user.description": "3e4d0d47", + "components.schemas.XAIVideoExtensionRequest.description": "5f69e249", + "components.schemas.XAIVideoExtensionRequest.properties.duration.description": "5fc9e502", + "components.schemas.XAIVideoExtensionRequest.properties.model.description": "b056a505", + "components.schemas.XAIVideoExtensionRequest.properties.prompt.description": "936940e5", + "components.schemas.XAIVideoGenerationRequest.description": "a10d3e18", + "components.schemas.XAIVideoGenerationRequest.properties.aspect_ratio.description": "a10c8b81", + "components.schemas.XAIVideoGenerationRequest.properties.duration.description": "a6dfd588", + "components.schemas.XAIVideoGenerationRequest.properties.model.description": "cd8e85f5", + "components.schemas.XAIVideoGenerationRequest.properties.output.description": "f593af51", + "components.schemas.XAIVideoGenerationRequest.properties.prompt.description": "f04cb720", + "components.schemas.XAIVideoGenerationRequest.properties.reference_images.description": "3108f4b4", + "components.schemas.XAIVideoGenerationRequest.properties.resolution.description": "c25d9879", + "components.schemas.XAIVideoGenerationRequest.properties.size.description": "aa7f0dfe", + "components.schemas.XAIVideoGenerationRequest.properties.user.description": "3e4d0d47", + "components.schemas.XAIVideoObject.description": "a1d827d4", + "components.schemas.XAIVideoObject.properties.url.description": "1d1dabf2", + "components.schemas.XAIVideoResultResponse.description": "ef57cb7e", + "components.schemas.XAIVideoResultResponse.properties.block_reason.description": "03d5f247", + "components.schemas.XAIVideoResultResponse.properties.model.description": "8fe883d8", + "components.schemas.XAIVideoResultResponse.properties.status.description": "37be3173", + "components.schemas.XAIVideoUsage.description": "1345f5e1", + "components.schemas.XAIVideoUsage.properties.cost_in_usd_ticks.description": "e889a6d3", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.description": "773070ef", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.parameters[0].description": "5b95ab5d", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.parameters[1].description": "1ae8340e", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.200.content.application/json.schema.properties.message.description": "306f66dc", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.200.description": "890d8ac7", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.400.description": "06204192", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.401.description": "8cfddd2a", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.summary": "c5bcf60e", + "paths./admin/customers/{customer_id}/balance.get.description": "f7532a6d", + "paths./admin/customers/{customer_id}/balance.get.responses.200.description": "fd2756cb", + "paths./admin/customers/{customer_id}/balance.get.responses.401.description": "d089c8a9", + "paths./admin/customers/{customer_id}/balance.get.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/balance.get.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/balance.get.summary": "fd84b49b", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.description": "2bb7692d", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.parameters[0].description": "b0067f70", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.parameters[1].description": "1ae8340e", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.end_date.description": "6366a64e", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.has_fund.description": "d39628b2", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.is_active.description": "6c8493cf", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.renewal_date.description": "80a37068", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.subscription_id.description": "9b6918af", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.description": "823dcc58", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.401.description": "8cfddd2a", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.summary": "5bcf1941", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.description": "cafb9234", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.responses.200.description": "70535378", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.responses.401.description": "d089c8a9", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.summary": "e244bb7d", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.description": "fb49813a", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.200.content.application/json.schema.properties.effective_limit.description": "e333fa3d", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.200.content.application/json.schema.properties.engine_limit.description": "db7605df", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.200.content.application/json.schema.properties.lifetime_paid_spend_cents.description": "c86c6e74", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.200.content.application/json.schema.properties.override.description": "f0240649", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.200.description": "47d3a2a3", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.401.description": "d089c8a9", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.summary": "ef1f6575", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.description": "4164f5b6", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.requestBody.content.application/json.schema.properties.override.description": "56512d99", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.responses.200.description": "ae2dc1f1", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.responses.400.description": "50c88257", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.responses.401.description": "d089c8a9", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.summary": "a0e83515", + "paths./admin/customers/{customer_id}/stripe-data.delete.description": "8d19d27a", + "paths./admin/customers/{customer_id}/stripe-data.delete.parameters[0].description": "558a7ccc", + "paths./admin/customers/{customer_id}/stripe-data.delete.parameters[1].description": "1ae8340e", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.200.content.application/json.schema.properties.message.description": "306f66dc", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.200.description": "133c0638", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.400.description": "06204192", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.401.description": "8cfddd2a", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/stripe-data.delete.summary": "a5a394e2", + "paths./admin/generate-token.post.description": "be45b67f", + "paths./admin/generate-token.post.responses.200.content.application/json.schema.properties.expires_at.description": "cccab49f", + "paths./admin/generate-token.post.responses.200.content.application/json.schema.properties.token.description": "001256b0", + "paths./admin/generate-token.post.responses.200.description": "7e9711ff", + "paths./admin/generate-token.post.responses.401.description": "fd4a48dc", + "paths./admin/generate-token.post.responses.500.description": "f74d7444", + "paths./admin/generate-token.post.summary": "5e8288a8", + "paths./admin/nodes.post.responses.201.description": "aaaa9f70", + "paths./admin/nodes.post.responses.400.description": "6f1bff5c", + "paths./admin/nodes.post.responses.401.description": "d089c8a9", + "paths./admin/nodes.post.responses.409.description": "d27979bd", + "paths./admin/nodes.post.responses.500.description": "f74d7444", + "paths./admin/nodes.post.summary": "02595ac9", + "paths./admin/nodes/{nodeId}.put.description": "c3f1f45b", + "paths./admin/nodes/{nodeId}.put.responses.200.description": "eb81f62a", + "paths./admin/nodes/{nodeId}.put.responses.400.description": "6f1bff5c", + "paths./admin/nodes/{nodeId}.put.responses.401.description": "d089c8a9", + "paths./admin/nodes/{nodeId}.put.responses.403.description": "78342a09", + "paths./admin/nodes/{nodeId}.put.responses.404.description": "aa0a65c4", + "paths./admin/nodes/{nodeId}.put.responses.500.description": "f74d7444", + "paths./admin/nodes/{nodeId}.put.summary": "4a2ea61a", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.description": "25cc0fcf", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.requestBody.content.application/json.schema.properties.status_reason.description": "113a5d08", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.requestBody.content.application/json.schema.properties.supported_accelerators.description": "f9f8a16f", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.requestBody.content.application/json.schema.properties.supported_comfyui_frontend_version.description": "aeaa3824", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.requestBody.content.application/json.schema.properties.supported_comfyui_version.description": "30d0a237", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.requestBody.content.application/json.schema.properties.supported_os.description": "951ad4c1", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.200.description": "00fe4ff4", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.400.description": "6f1bff5c", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.401.description": "d089c8a9", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.403.description": "78342a09", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.404.description": "a8f65ec3", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.500.description": "f74d7444", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.summary": "e683d55b", + "paths./admin/nodeversions.get.description": "2514cf20", + "paths./admin/nodeversions.get.parameters[3].description": "6ec2b657", + "paths./admin/nodeversions.get.parameters[4].description": "ed00c158", + "paths./admin/nodeversions.get.parameters[5].description": "72d501b9", + "paths./admin/nodeversions.get.parameters[6].description": "cbaa791a", + "paths./admin/nodeversions.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./admin/nodeversions.get.responses.200.content.application/json.schema.properties.pageSize.description": "eef6d527", + "paths./admin/nodeversions.get.responses.200.content.application/json.schema.properties.total.description": "3f0069e4", + "paths./admin/nodeversions.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./admin/nodeversions.get.responses.200.description": "ef524454", + "paths./admin/nodeversions.get.responses.400.description": "46a3caa3", + "paths./admin/nodeversions.get.responses.401.description": "d089c8a9", + "paths./admin/nodeversions.get.responses.403.description": "78342a09", + "paths./admin/nodeversions.get.responses.500.description": "f74d7444", + "paths./admin/nodeversions.get.summary": "031b8375", + "paths./admin/partner-node-model-overrides.get.description": "4b8c6482", + "paths./admin/partner-node-model-overrides.get.responses.200.description": "ef7d829b", + "paths./admin/partner-node-model-overrides.get.responses.401.description": "d089c8a9", + "paths./admin/partner-node-model-overrides.get.responses.500.description": "f74d7444", + "paths./admin/partner-node-model-overrides.get.summary": "a68ce612", + "paths./admin/partner-node-model-overrides/{model}.delete.description": "d0e37930", + "paths./admin/partner-node-model-overrides/{model}.delete.responses.200.description": "70535378", + "paths./admin/partner-node-model-overrides/{model}.delete.responses.400.description": "330509ca", + "paths./admin/partner-node-model-overrides/{model}.delete.responses.401.description": "d089c8a9", + "paths./admin/partner-node-model-overrides/{model}.delete.responses.500.description": "f74d7444", + "paths./admin/partner-node-model-overrides/{model}.delete.summary": "dadff92a", + "paths./admin/partner-node-model-overrides/{model}.get.description": "fad517d5", + "paths./admin/partner-node-model-overrides/{model}.get.responses.200.description": "817ea1ee", + "paths./admin/partner-node-model-overrides/{model}.get.responses.400.description": "330509ca", + "paths./admin/partner-node-model-overrides/{model}.get.responses.401.description": "d089c8a9", + "paths./admin/partner-node-model-overrides/{model}.get.responses.500.description": "f74d7444", + "paths./admin/partner-node-model-overrides/{model}.get.summary": "16c7c9a4", + "paths./admin/partner-node-model-overrides/{model}.put.description": "a693744c", + "paths./admin/partner-node-model-overrides/{model}.put.requestBody.content.application/json.schema.properties.tier.description": "de551dd3", + "paths./admin/partner-node-model-overrides/{model}.put.responses.200.description": "ae2dc1f1", + "paths./admin/partner-node-model-overrides/{model}.put.responses.400.description": "dbc3a2c0", + "paths./admin/partner-node-model-overrides/{model}.put.responses.401.description": "d089c8a9", + "paths./admin/partner-node-model-overrides/{model}.put.responses.500.description": "f74d7444", + "paths./admin/partner-node-model-overrides/{model}.put.summary": "1868b04b", + "paths./admin/sync-api-key-deletion.post.description": "97f3e624", + "paths./admin/sync-api-key-deletion.post.parameters[0].description": "1ae8340e", + "paths./admin/sync-api-key-deletion.post.requestBody.content.application/json.schema.properties.customer_id.description": "a1bccbe2", + "paths./admin/sync-api-key-deletion.post.requestBody.content.application/json.schema.properties.event.description": "166327e4", + "paths./admin/sync-api-key-deletion.post.requestBody.content.application/json.schema.properties.key_hash.description": "0df08c0a", + "paths./admin/sync-api-key-deletion.post.responses.200.content.application/json.schema.properties.result.description": "78138ad9", + "paths./admin/sync-api-key-deletion.post.responses.200.description": "19ea92ec", + "paths./admin/sync-api-key-deletion.post.responses.400.description": "d253bd3f", + "paths./admin/sync-api-key-deletion.post.responses.401.description": "8cfddd2a", + "paths./admin/sync-api-key-deletion.post.responses.500.description": "f74d7444", + "paths./admin/sync-api-key-deletion.post.summary": "2921eba6", + "paths./admin/verify-api-key.post.description": "13c5aed4", + "paths./admin/verify-api-key.post.parameters[0].description": "1ae8340e", + "paths./admin/verify-api-key.post.requestBody.content.application/json.schema.properties.api_key.description": "9d881cc9", + "paths./admin/verify-api-key.post.requestBody.content.application/json.schema.properties.include_customer_keys.description": "628d12e7", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.customer_api_keys.description": "ad1a31ac", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.email.description": "567d15e7", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.firebase_uid.description": "0b35b8db", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.is_admin.description": "039ea9c7", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.key_description.description": "3e08d9dc", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.key_name.description": "238a2e1d", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.name.description": "7f42d4b6", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.valid.description": "50c7e891", + "paths./admin/verify-api-key.post.responses.200.description": "63b55e28", + "paths./admin/verify-api-key.post.responses.401.description": "8cfddd2a", + "paths./admin/verify-api-key.post.responses.403.description": "ea09494a", + "paths./admin/verify-api-key.post.responses.404.description": "ac67dac0", + "paths./admin/verify-api-key.post.responses.500.description": "f74d7444", + "paths./admin/verify-api-key.post.summary": "1d77639d", + "paths./branch.get.description": "1408a61a", + "paths./branch.get.parameters[0].description": "fe676c70", + "paths./branch.get.responses.200.description": "101fd1dc", + "paths./branch.get.responses.404.description": "d9070d1a", + "paths./branch.get.responses.500.description": "f74d7444", + "paths./branch.get.summary": "c8dbe6d9", + "paths./bulk/nodes/versions.post.responses.200.description": "5fa890b4", + "paths./bulk/nodes/versions.post.responses.400.description": "217a5233", + "paths./bulk/nodes/versions.post.responses.500.description": "f74d7444", + "paths./bulk/nodes/versions.post.summary": "dd5d31b9", + "paths./comfy-nodes.get.parameters[1].description": "e285661b", + "paths./comfy-nodes.get.parameters[2].description": "b002def9", + "paths./comfy-nodes.get.parameters[3].description": "0b4abb17", + "paths./comfy-nodes.get.parameters[4].description": "5fa96745", + "paths./comfy-nodes.get.responses.200.content.application/json.schema.properties.total.description": "c4a3f12c", + "paths./comfy-nodes.get.responses.200.description": "565339bc", + "paths./comfy-nodes.get.responses.400.description": "6f1bff5c", + "paths./comfy-nodes.get.responses.401.description": "d089c8a9", + "paths./comfy-nodes.get.responses.403.description": "78342a09", + "paths./comfy-nodes.get.responses.500.description": "f74d7444", + "paths./comfy-nodes.get.summary": "6ab0c8e7", + "paths./comfy-nodes/backfill.post.responses.204.description": "b07b5418", + "paths./comfy-nodes/backfill.post.responses.400.description": "6f1bff5c", + "paths./comfy-nodes/backfill.post.responses.401.description": "d089c8a9", + "paths./comfy-nodes/backfill.post.responses.403.description": "78342a09", + "paths./comfy-nodes/backfill.post.responses.500.description": "f74d7444", + "paths./comfy-nodes/backfill.post.summary": "2011e3e5", + "paths./comfy-nodes/{comfyNodeName}/node.get.description": "0f089a1b", + "paths./comfy-nodes/{comfyNodeName}/node.get.parameters[0].description": "9a7e1568", + "paths./comfy-nodes/{comfyNodeName}/node.get.responses.200.description": "835881a0", + "paths./comfy-nodes/{comfyNodeName}/node.get.responses.404.description": "60fa2cdc", + "paths./comfy-nodes/{comfyNodeName}/node.get.responses.500.description": "f74d7444", + "paths./comfy-nodes/{comfyNodeName}/node.get.summary": "3065be89", + "paths./customers.get.description": "72b594a6", + "paths./customers.get.parameters[0].description": "62da4015", + "paths./customers.get.parameters[1].description": "1b9baaa2", + "paths./customers.get.parameters[2].description": "2fcba01b", + "paths./customers.get.parameters[3].description": "c9b8ed67", + "paths./customers.get.parameters[4].description": "fdd2c4a9", + "paths./customers.get.parameters[5].description": "4e858bcf", + "paths./customers.get.responses.200.content.application/json.schema.properties.limit.description": "467fcd3c", + "paths./customers.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./customers.get.responses.200.content.application/json.schema.properties.total.description": "27f8edf2", + "paths./customers.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./customers.get.responses.200.description": "8681743c", + "paths./customers.get.responses.400.description": "51443a02", + "paths./customers.get.responses.401.description": "d089c8a9", + "paths./customers.get.responses.403.description": "c41200b8", + "paths./customers.get.responses.500.description": "f74d7444", + "paths./customers.get.summary": "fe00ede9", + "paths./customers.post.description": "2d401f22", + "paths./customers.post.responses.200.description": "d4c922e4", + "paths./customers.post.responses.201.description": "494c64b4", + "paths./customers.post.responses.400.description": "330509ca", + "paths./customers.post.responses.401.description": "d089c8a9", + "paths./customers.post.responses.500.description": "f74d7444", + "paths./customers.post.summary": "ef69805a", + "paths./customers/admin/coupons.get.description": "60179833", + "paths./customers/admin/coupons.get.parameters[0].description": "40672389", + "paths./customers/admin/coupons.get.responses.200.content.application/json.schema.properties.has_more.description": "1fd8e105", + "paths./customers/admin/coupons.get.responses.200.description": "1c84019d", + "paths./customers/admin/coupons.get.responses.401.description": "d089c8a9", + "paths./customers/admin/coupons.get.responses.403.description": "dd0b7dec", + "paths./customers/admin/coupons.get.responses.500.description": "f74d7444", + "paths./customers/admin/coupons.get.summary": "19bde767", + "paths./customers/admin/coupons.post.description": "dc8f5f16", + "paths./customers/admin/coupons.post.responses.201.description": "dbf25ca3", + "paths./customers/admin/coupons.post.responses.400.description": "917ef22f", + "paths./customers/admin/coupons.post.responses.401.description": "d089c8a9", + "paths./customers/admin/coupons.post.responses.403.description": "dd0b7dec", + "paths./customers/admin/coupons.post.responses.500.description": "f74d7444", + "paths./customers/admin/coupons.post.summary": "799e000e", + "paths./customers/admin/coupons/{coupon_id}.delete.description": "d5de8ac1", + "paths./customers/admin/coupons/{coupon_id}.delete.parameters[0].description": "b5b1562e", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.200.content.application/json.schema.properties.coupon_id.description": "c1713e6e", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.200.content.application/json.schema.properties.message.description": "306f66dc", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.200.description": "93e28f54", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.401.description": "d089c8a9", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.403.description": "dd0b7dec", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.404.description": "2e1f3f04", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.500.description": "f74d7444", + "paths./customers/admin/coupons/{coupon_id}.delete.summary": "55eaffa9", + "paths./customers/admin/coupons/{coupon_id}.get.description": "8dddf040", + "paths./customers/admin/coupons/{coupon_id}.get.parameters[0].description": "b5b1562e", + "paths./customers/admin/coupons/{coupon_id}.get.responses.200.description": "39207a07", + "paths./customers/admin/coupons/{coupon_id}.get.responses.401.description": "d089c8a9", + "paths./customers/admin/coupons/{coupon_id}.get.responses.403.description": "dd0b7dec", + "paths./customers/admin/coupons/{coupon_id}.get.responses.404.description": "2e1f3f04", + "paths./customers/admin/coupons/{coupon_id}.get.responses.500.description": "f74d7444", + "paths./customers/admin/coupons/{coupon_id}.get.summary": "f6cb6a17", + "paths./customers/admin/coupons/{coupon_id}.patch.description": "bd29488a", + "paths./customers/admin/coupons/{coupon_id}.patch.parameters[0].description": "b5b1562e", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.200.description": "a4af06bb", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.400.description": "917ef22f", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.401.description": "d089c8a9", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.403.description": "dd0b7dec", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.404.description": "2e1f3f04", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.500.description": "f74d7444", + "paths./customers/admin/coupons/{coupon_id}.patch.summary": "1acc3200", + "paths./customers/admin/promo-codes.get.description": "f6763805", + "paths./customers/admin/promo-codes.get.parameters[0].description": "5205799f", + "paths./customers/admin/promo-codes.get.parameters[1].description": "50326376", + "paths./customers/admin/promo-codes.get.responses.200.content.application/json.schema.properties.has_more.description": "1fd8e105", + "paths./customers/admin/promo-codes.get.responses.200.description": "fefd07fb", + "paths./customers/admin/promo-codes.get.responses.401.description": "d089c8a9", + "paths./customers/admin/promo-codes.get.responses.403.description": "dd0b7dec", + "paths./customers/admin/promo-codes.get.responses.500.description": "f74d7444", + "paths./customers/admin/promo-codes.get.summary": "cab7cb92", + "paths./customers/admin/promo-codes.post.description": "e794eb4a", + "paths./customers/admin/promo-codes.post.responses.201.description": "56ccaeed", + "paths./customers/admin/promo-codes.post.responses.400.description": "917ef22f", + "paths./customers/admin/promo-codes.post.responses.401.description": "d089c8a9", + "paths./customers/admin/promo-codes.post.responses.403.description": "dd0b7dec", + "paths./customers/admin/promo-codes.post.responses.500.description": "f74d7444", + "paths./customers/admin/promo-codes.post.summary": "bf180ec1", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.description": "b6a02e9c", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.parameters[0].description": "ad922f9c", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.200.content.application/json.schema.properties.message.description": "306f66dc", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.200.content.application/json.schema.properties.promo_code_id.description": "9dc58731", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.200.description": "a14751a0", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.401.description": "d089c8a9", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.403.description": "dd0b7dec", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.404.description": "7be63944", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.500.description": "f74d7444", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.summary": "0d4e3d8d", + "paths./customers/admin/promo-codes/{promo_code_id}.get.description": "e241f084", + "paths./customers/admin/promo-codes/{promo_code_id}.get.parameters[0].description": "ad922f9c", + "paths./customers/admin/promo-codes/{promo_code_id}.get.responses.200.description": "98efc371", + "paths./customers/admin/promo-codes/{promo_code_id}.get.responses.401.description": "d089c8a9", + "paths./customers/admin/promo-codes/{promo_code_id}.get.responses.403.description": "dd0b7dec", + "paths./customers/admin/promo-codes/{promo_code_id}.get.responses.404.description": "7be63944", + "paths./customers/admin/promo-codes/{promo_code_id}.get.responses.500.description": "f74d7444", + "paths./customers/admin/promo-codes/{promo_code_id}.get.summary": "3892cf96", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.description": "8ab44e25", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.parameters[0].description": "ad922f9c", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.200.description": "8086a97c", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.400.description": "917ef22f", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.401.description": "d089c8a9", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.403.description": "dd0b7dec", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.404.description": "7be63944", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.500.description": "f74d7444", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.summary": "953337e3", + "paths./customers/api-keys.get.responses.200.description": "83981de8", + "paths./customers/api-keys.get.responses.401.description": "d089c8a9", + "paths./customers/api-keys.get.responses.404.description": "5e3f5824", + "paths./customers/api-keys.get.responses.500.description": "f74d7444", + "paths./customers/api-keys.get.summary": "d141f9cc", + "paths./customers/api-keys.post.responses.201.description": "c8019ecb", + "paths./customers/api-keys.post.responses.400.description": "917ef22f", + "paths./customers/api-keys.post.responses.401.description": "d089c8a9", + "paths./customers/api-keys.post.responses.404.description": "3461cb54", + "paths./customers/api-keys.post.responses.500.description": "f74d7444", + "paths./customers/api-keys.post.summary": "c971d229", + "paths./customers/api-keys/{api_key_id}.delete.responses.204.description": "2a2e2a1a", + "paths./customers/api-keys/{api_key_id}.delete.responses.401.description": "d089c8a9", + "paths./customers/api-keys/{api_key_id}.delete.responses.404.description": "3461cb54", + "paths./customers/api-keys/{api_key_id}.delete.responses.500.description": "f74d7444", + "paths./customers/api-keys/{api_key_id}.delete.summary": "506e6a85", + "paths./customers/balance.get.description": "c12d574a", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.amount_micros.description": "1715e24e", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.cloud_credit_balance_micros.description": "7f605bd2", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.currency.description": "ef20d1f9", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.effective_balance_micros.description": "43ec3112", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.pending_charges_micros.description": "31b9c36e", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.prepaid_balance_micros.description": "c4a36482", + "paths./customers/balance.get.responses.200.description": "fd2756cb", + "paths./customers/balance.get.responses.401.description": "89f3b274", + "paths./customers/balance.get.responses.404.description": "5e3f5824", + "paths./customers/balance.get.responses.500.description": "f74d7444", + "paths./customers/balance.get.summary": "2148e04f", + "paths./customers/billing.post.description": "53bbd91a", + "paths./customers/billing.post.requestBody.content.application/json.schema.properties.return_url.description": "74a2c2c4", + "paths./customers/billing.post.requestBody.content.application/json.schema.properties.target_tier.description": "edc132c3", + "paths./customers/billing.post.responses.200.content.application/json.schema.properties.billing_portal_url.description": "78ffab8c", + "paths./customers/billing.post.responses.200.description": "ada48db6", + "paths./customers/billing.post.responses.400.description": "217a5233", + "paths./customers/billing.post.responses.401.description": "89f3b274", + "paths./customers/billing.post.responses.500.description": "f74d7444", + "paths./customers/billing.post.summary": "6e5dd863", + "paths./customers/cloud-subscription-checkout.post.description": "5a112f2f", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.ga_client_id.description": "e12a09fd", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.ga_session_id.description": "a4d4b676", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.ga_session_number.description": "d9e64aa6", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.gbraid.description": "b260db65", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.gclid.description": "82927423", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.im_ref.description": "9cdb2b29", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.rewardful_referral.description": "56682a4c", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.utm_campaign.description": "0000d871", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.utm_content.description": "f4c57124", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.utm_medium.description": "9938fc29", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.utm_source.description": "789f4d8c", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.utm_term.description": "7ceeb79a", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.wbraid.description": "ffe11333", + "paths./customers/cloud-subscription-checkout.post.responses.201.content.application/json.schema.properties.checkout_url.description": "068743e5", + "paths./customers/cloud-subscription-checkout.post.responses.201.description": "2569ab8b", + "paths./customers/cloud-subscription-checkout.post.responses.400.description": "217a5233", + "paths./customers/cloud-subscription-checkout.post.responses.401.description": "89f3b274", + "paths./customers/cloud-subscription-checkout.post.responses.500.description": "f74d7444", + "paths./customers/cloud-subscription-checkout.post.summary": "04e1f339", + "paths./customers/cloud-subscription-checkout/{tier}.post.description": "08fecca7", + "paths./customers/cloud-subscription-checkout/{tier}.post.parameters[0].description": "9269b667", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.ga_client_id.description": "e12a09fd", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.ga_session_id.description": "a4d4b676", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.ga_session_number.description": "d9e64aa6", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.gbraid.description": "b260db65", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.gclid.description": "82927423", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.im_ref.description": "9cdb2b29", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.rewardful_referral.description": "56682a4c", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.utm_campaign.description": "0000d871", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.utm_content.description": "f4c57124", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.utm_medium.description": "9938fc29", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.utm_source.description": "789f4d8c", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.utm_term.description": "7ceeb79a", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.wbraid.description": "ffe11333", + "paths./customers/cloud-subscription-checkout/{tier}.post.responses.201.content.application/json.schema.properties.checkout_url.description": "068743e5", + "paths./customers/cloud-subscription-checkout/{tier}.post.responses.201.description": "2569ab8b", + "paths./customers/cloud-subscription-checkout/{tier}.post.responses.400.description": "9bbc63d1", + "paths./customers/cloud-subscription-checkout/{tier}.post.responses.401.description": "89f3b274", + "paths./customers/cloud-subscription-checkout/{tier}.post.responses.500.description": "f74d7444", + "paths./customers/cloud-subscription-checkout/{tier}.post.summary": "0883a642", + "paths./customers/cloud-subscription-status.get.description": "c26dcb01", + "paths./customers/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.end_date.description": "6366a64e", + "paths./customers/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.has_fund.description": "d39628b2", + "paths./customers/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.is_active.description": "6c8493cf", + "paths./customers/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.renewal_date.description": "80a37068", + "paths./customers/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.subscription_id.description": "9b6918af", + "paths./customers/cloud-subscription-status.get.responses.200.description": "823dcc58", + "paths./customers/cloud-subscription-status.get.responses.401.description": "89f3b274", + "paths./customers/cloud-subscription-status.get.responses.500.description": "f74d7444", + "paths./customers/cloud-subscription-status.get.summary": "ca912de8", + "paths./customers/credit.post.requestBody.content.application/json.schema.properties.amount_micros.description": "2cdd182d", + "paths./customers/credit.post.requestBody.content.application/json.schema.properties.currency.description": "07727b75", + "paths./customers/credit.post.responses.201.content.application/json.schema.properties.checkout_url.description": "5d33b0a0", + "paths./customers/credit.post.responses.201.description": "e56003bd", + "paths./customers/credit.post.responses.400.description": "fe9bf60b", + "paths./customers/credit.post.responses.401.description": "89f3b274", + "paths./customers/credit.post.responses.500.description": "f74d7444", + "paths./customers/credit.post.summary": "eac2f1fd", + "paths./customers/events.get.parameters[0].description": "c4e7217e", + "paths./customers/events.get.parameters[1].description": "53a39ce1", + "paths./customers/events.get.parameters[2].description": "344ec03f", + "paths./customers/events.get.parameters[3].description": "15e88081", + "paths./customers/events.get.parameters[4].description": "a129551a", + "paths./customers/events.get.responses.200.content.application/json.schema.properties.limit.description": "fcc7d3ca", + "paths./customers/events.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./customers/events.get.responses.200.content.application/json.schema.properties.total.description": "08591fc8", + "paths./customers/events.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./customers/events.get.responses.200.description": "05394f8d", + "paths./customers/events.get.responses.400.description": "46a3caa3", + "paths./customers/events.get.responses.404.description": "e3ebaa16", + "paths./customers/events.get.responses.500.description": "f74d7444", + "paths./customers/events.get.summary": "713005cb", + "paths./customers/me.get.description": "3ce7cfc4", + "paths./customers/me.get.responses.200.description": "c078613b", + "paths./customers/me.get.responses.401.description": "89f3b274", + "paths./customers/me.get.responses.404.description": "5e3f5824", + "paths./customers/me.get.responses.500.description": "f74d7444", + "paths./customers/me.get.summary": "1e46a2ef", + "paths./customers/storage.post.description": "7686239e", + "paths./customers/storage.post.requestBody.content.application/json.schema.properties.content_type.description": "73107988", + "paths./customers/storage.post.requestBody.content.application/json.schema.properties.file_hash.description": "8c107f3a", + "paths./customers/storage.post.requestBody.content.application/json.schema.properties.file_name.description": "0a6fb428", + "paths./customers/storage.post.responses.200.description": "0dbb382d", + "paths./customers/storage.post.responses.400.description": "917ef22f", + "paths./customers/storage.post.responses.401.description": "d089c8a9", + "paths./customers/storage.post.responses.500.description": "f74d7444", + "paths./customers/storage.post.summary": "f20b7907", + "paths./customers/usage.post.description": "a65e00cc", + "paths./customers/usage.post.requestBody.content.application/json.schema.properties.color_overrides.description": "192cd9c5", + "paths./customers/usage.post.requestBody.content.application/json.schema.properties.color_overrides.items.properties.name.description": "15c16f2c", + "paths./customers/usage.post.requestBody.content.application/json.schema.properties.color_overrides.items.properties.value.description": "13c6443c", + "paths./customers/usage.post.requestBody.content.application/json.schema.properties.dashboard_type.description": "01981259", + "paths./customers/usage.post.responses.200.content.application/json.schema.properties.url.description": "ae23d1f1", + "paths./customers/usage.post.responses.200.description": "40c36e17", + "paths./customers/usage.post.responses.401.description": "89f3b274", + "paths./customers/usage.post.responses.404.description": "5e3f5824", + "paths./customers/usage.post.responses.500.description": "f74d7444", + "paths./customers/usage.post.summary": "2e15c28a", + "paths./customers/usage/timeseries.get.description": "f631c695", + "paths./customers/usage/timeseries.get.parameters[0].description": "c4280b62", + "paths./customers/usage/timeseries.get.parameters[1].description": "eaaca904", + "paths./customers/usage/timeseries.get.parameters[2].description": "e8105078", + "paths./customers/usage/timeseries.get.parameters[3].description": "6cae86f5", + "paths./customers/usage/timeseries.get.parameters[4].description": "4544fd01", + "paths./customers/usage/timeseries.get.responses.200.description": "f4bda3ae", + "paths./customers/usage/timeseries.get.responses.401.description": "89f3b274", + "paths./customers/usage/timeseries.get.responses.404.description": "5e3f5824", + "paths./customers/usage/timeseries.get.responses.500.description": "f74d7444", + "paths./customers/usage/timeseries.get.summary": "7e4bfca6", + "paths./customers/{customer_id}.get.description": "52a20a2f", + "paths./customers/{customer_id}.get.responses.200.description": "c078613b", + "paths./customers/{customer_id}.get.responses.401.description": "89f3b274", + "paths./customers/{customer_id}.get.responses.404.description": "5e3f5824", + "paths./customers/{customer_id}.get.responses.500.description": "f74d7444", + "paths./customers/{customer_id}.get.summary": "ba1a7e82", + "paths./customers/{customer_id}/balance.get.description": "415209cb", + "paths./customers/{customer_id}/balance.get.parameters[0].description": "d6957c80", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.amount_micros.description": "1715e24e", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.cloud_credit_balance_micros.description": "7f605bd2", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.currency.description": "ef20d1f9", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.effective_balance_micros.description": "43ec3112", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.pending_charges_micros.description": "31b9c36e", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.prepaid_balance_micros.description": "c4a36482", + "paths./customers/{customer_id}/balance.get.responses.200.description": "fd2756cb", + "paths./customers/{customer_id}/balance.get.responses.400.description": "917ef22f", + "paths./customers/{customer_id}/balance.get.responses.401.description": "89f3b274", + "paths./customers/{customer_id}/balance.get.responses.404.description": "5e3f5824", + "paths./customers/{customer_id}/balance.get.responses.500.description": "f74d7444", + "paths./customers/{customer_id}/balance.get.summary": "9fa305d3", + "paths./customers/{customer_id}/events.get.parameters[1].description": "c4e7217e", + "paths./customers/{customer_id}/events.get.parameters[2].description": "53a39ce1", + "paths./customers/{customer_id}/events.get.parameters[3].description": "344ec03f", + "paths./customers/{customer_id}/events.get.parameters[4].description": "15e88081", + "paths./customers/{customer_id}/events.get.parameters[5].description": "a129551a", + "paths./customers/{customer_id}/events.get.responses.200.content.application/json.schema.properties.limit.description": "fcc7d3ca", + "paths./customers/{customer_id}/events.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./customers/{customer_id}/events.get.responses.200.content.application/json.schema.properties.total.description": "08591fc8", + "paths./customers/{customer_id}/events.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./customers/{customer_id}/events.get.responses.200.description": "05394f8d", + "paths./customers/{customer_id}/events.get.responses.400.description": "46a3caa3", + "paths./customers/{customer_id}/events.get.responses.404.description": "e3ebaa16", + "paths./customers/{customer_id}/events.get.responses.500.description": "f74d7444", + "paths./customers/{customer_id}/events.get.summary": "713005cb", + "paths./customers/{customer_id}/usage.post.description": "8c9a08ba", + "paths./customers/{customer_id}/usage.post.parameters[0].description": "2a3cfd72", + "paths./customers/{customer_id}/usage.post.parameters[1].description": "1ae8340e", + "paths./customers/{customer_id}/usage.post.requestBody.content.application/json.schema.properties.params.description": "def2c3a8", + "paths./customers/{customer_id}/usage.post.requestBody.content.application/json.schema.properties.timestamp.description": "99d78eac", + "paths./customers/{customer_id}/usage.post.requestBody.content.application/json.schema.properties.transaction_id.description": "e44e9751", + "paths./customers/{customer_id}/usage.post.responses.200.content.application/json.schema.properties.message.description": "306f66dc", + "paths./customers/{customer_id}/usage.post.responses.200.description": "beb7848c", + "paths./customers/{customer_id}/usage.post.responses.400.description": "917ef22f", + "paths./customers/{customer_id}/usage.post.responses.401.description": "89f3b274", + "paths./customers/{customer_id}/usage.post.responses.404.description": "5e3f5824", + "paths./customers/{customer_id}/usage.post.responses.500.description": "f74d7444", + "paths./customers/{customer_id}/usage.post.summary": "8338156e", + "paths./features.get.description": "bad57340", + "paths./features.get.responses.200.description": "c88a0b90", + "paths./features.get.summary": "06d46bcb", + "paths./gitcommit.get.description": "d948022d", + "paths./gitcommit.get.parameters[0].description": "4fae9947", + "paths./gitcommit.get.parameters[1].description": "c4dae1c4", + "paths./gitcommit.get.parameters[2].description": "f5121d7f", + "paths./gitcommit.get.parameters[3].description": "da5cf3ff", + "paths./gitcommit.get.parameters[4].description": "6ec2b657", + "paths./gitcommit.get.parameters[5].description": "ed00c158", + "paths./gitcommit.get.parameters[6].description": "fe676c70", + "paths./gitcommit.get.responses.200.description": "c5c771d7", + "paths./gitcommit.get.responses.404.description": "54ff4f53", + "paths./gitcommit.get.responses.500.description": "f74d7444", + "paths./gitcommit.get.summary": "0587ac74", + "paths./gitcommitsummary.get.description": "6a82b747", + "paths./gitcommitsummary.get.parameters[0].description": "d9d568c2", + "paths./gitcommitsummary.get.parameters[1].description": "a0d90f3c", + "paths./gitcommitsummary.get.parameters[2].description": "6ec2b657", + "paths./gitcommitsummary.get.parameters[3].description": "ed00c158", + "paths./gitcommitsummary.get.responses.200.description": "7b32f102", + "paths./gitcommitsummary.get.responses.500.description": "f74d7444", + "paths./gitcommitsummary.get.summary": "d5930444", + "paths./nodes.get.description": "b28938da", + "paths./nodes.get.parameters[0].description": "c4e7217e", + "paths./nodes.get.parameters[1].description": "53a39ce1", + "paths./nodes.get.parameters[2].description": "72954caf", + "paths./nodes.get.parameters[3].description": "4d301ebe", + "paths./nodes.get.parameters[4].description": "53a39ce1", + "paths./nodes.get.parameters[5].description": "06c33129", + "paths./nodes.get.parameters[6].description": "f68b6bea", + "paths./nodes.get.parameters[7].description": "050df4dc", + "paths./nodes.get.parameters[8].description": "30a21c52", + "paths./nodes.get.parameters[9].description": "f6a03210", + "paths./nodes.get.parameters[10].description": "48771ec2", + "paths./nodes.get.responses.200.content.application/json.schema.properties.limit.description": "fcc7d3ca", + "paths./nodes.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./nodes.get.responses.200.content.application/json.schema.properties.total.description": "162e699d", + "paths./nodes.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./nodes.get.responses.200.description": "05394f8d", + "paths./nodes.get.responses.400.description": "46a3caa3", + "paths./nodes.get.responses.404.description": "e3ebaa16", + "paths./nodes.get.responses.500.description": "f74d7444", + "paths./nodes.get.summary": "963cf976", + "paths./nodes/reindex.post.parameters[0].description": "392d2432", + "paths./nodes/reindex.post.responses.200.description": "06639246", + "paths./nodes/reindex.post.responses.400.description": "0105d84e", + "paths./nodes/reindex.post.responses.500.description": "f74d7444", + "paths./nodes/reindex.post.summary": "74095660", + "paths./nodes/search.get.description": "b28938da", + "paths./nodes/search.get.parameters[0].description": "c4e7217e", + "paths./nodes/search.get.parameters[1].description": "53a39ce1", + "paths./nodes/search.get.parameters[2].description": "931f72df", + "paths./nodes/search.get.parameters[3].description": "655922f5", + "paths./nodes/search.get.parameters[4].description": "2a067c7d", + "paths./nodes/search.get.parameters[5].description": "72954caf", + "paths./nodes/search.get.parameters[6].description": "4d301ebe", + "paths./nodes/search.get.parameters[7].description": "53a39ce1", + "paths./nodes/search.get.responses.200.content.application/json.schema.properties.limit.description": "fcc7d3ca", + "paths./nodes/search.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./nodes/search.get.responses.200.content.application/json.schema.properties.total.description": "162e699d", + "paths./nodes/search.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./nodes/search.get.responses.200.description": "05394f8d", + "paths./nodes/search.get.responses.400.description": "46a3caa3", + "paths./nodes/search.get.responses.404.description": "e3ebaa16", + "paths./nodes/search.get.responses.500.description": "f74d7444", + "paths./nodes/search.get.summary": "963cf976", + "paths./nodes/update-github-stars.post.parameters[0].description": "c4edaf40", + "paths./nodes/update-github-stars.post.responses.200.description": "3c18c6c2", + "paths./nodes/update-github-stars.post.responses.400.description": "0105d84e", + "paths./nodes/update-github-stars.post.responses.401.description": "d089c8a9", + "paths./nodes/update-github-stars.post.responses.500.description": "f74d7444", + "paths./nodes/update-github-stars.post.summary": "0d8e1915", + "paths./nodes/{nodeId}.get.description": "0a60f4ee", + "paths./nodes/{nodeId}.get.parameters[1].description": "381803b4", + "paths./nodes/{nodeId}.get.responses.200.description": "835881a0", + "paths./nodes/{nodeId}.get.responses.302.description": "f7acfe11", + "paths./nodes/{nodeId}.get.responses.302.headers.Location.description": "ce63a150", + "paths./nodes/{nodeId}.get.responses.403.description": "78342a09", + "paths./nodes/{nodeId}.get.responses.404.description": "aa0a65c4", + "paths./nodes/{nodeId}.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}.get.summary": "06f64199", + "paths./nodes/{nodeId}/install.get.description": "03269adc", + "paths./nodes/{nodeId}/install.get.parameters[0].description": "6cc84bef", + "paths./nodes/{nodeId}/install.get.parameters[1].description": "32b9d424", + "paths./nodes/{nodeId}/install.get.responses.200.description": "06ceff4a", + "paths./nodes/{nodeId}/install.get.responses.400.description": "3119d9d6", + "paths./nodes/{nodeId}/install.get.responses.403.description": "78342a09", + "paths./nodes/{nodeId}/install.get.responses.404.description": "5e503038", + "paths./nodes/{nodeId}/install.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/install.get.summary": "0bb50904", + "paths./nodes/{nodeId}/reviews.post.parameters[1].description": "c19a43ce", + "paths./nodes/{nodeId}/reviews.post.responses.200.description": "c36cc3bf", + "paths./nodes/{nodeId}/reviews.post.responses.400.description": "7c41b898", + "paths./nodes/{nodeId}/reviews.post.responses.404.description": "b0bacd91", + "paths./nodes/{nodeId}/reviews.post.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/reviews.post.summary": "1b2f93c0", + "paths./nodes/{nodeId}/translations.post.parameters[0].description": "6cc84bef", + "paths./nodes/{nodeId}/translations.post.responses.201.description": "c36cc3bf", + "paths./nodes/{nodeId}/translations.post.responses.400.description": "7c41b898", + "paths./nodes/{nodeId}/translations.post.responses.404.description": "b0bacd91", + "paths./nodes/{nodeId}/translations.post.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/translations.post.summary": "6f772d03", + "paths./nodes/{nodeId}/versions.get.responses.200.description": "ef524454", + "paths./nodes/{nodeId}/versions.get.responses.403.description": "5f496730", + "paths./nodes/{nodeId}/versions.get.responses.404.description": "aa0a65c4", + "paths./nodes/{nodeId}/versions.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions.get.summary": "288bb03d", + "paths./nodes/{nodeId}/versions/{versionId}.get.parameters[1].description": "875e2c39", + "paths./nodes/{nodeId}/versions/{versionId}.get.responses.200.description": "b9652819", + "paths./nodes/{nodeId}/versions/{versionId}.get.responses.404.description": "b0bacd91", + "paths./nodes/{nodeId}/versions/{versionId}.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions/{versionId}.get.summary": "d087ffc4", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.parameters[0].description": "6ec2b657", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.parameters[1].description": "ed00c158", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.responses.200.description": "e103eeb9", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.responses.401.description": "d089c8a9", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.responses.403.description": "78342a09", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.responses.404.description": "a8f65ec3", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.summary": "ab97f806", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.204.description": "29286d32", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.401.description": "d089c8a9", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.403.description": "78342a09", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.404.description": "a8f65ec3", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.409.description": "850654aa", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.summary": "9184bb08", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.responses.200.description": "29286d32", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.responses.401.description": "d089c8a9", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.responses.403.description": "78342a09", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.responses.404.description": "a8f65ec3", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.summary": "d9bc2157", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.200.description": "62058370", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.400.description": "dba61b63", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.401.description": "d089c8a9", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.403.description": "78342a09", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.404.description": "4db76366", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.summary": "afca5476", + "paths./proxy/anthropic/v1/messages.post.description": "399901f2", + "paths./proxy/anthropic/v1/messages.post.responses.200.content.text/event-stream.schema.description": "8aa1c9b2", + "paths./proxy/anthropic/v1/messages.post.responses.200.description": "418e81b3", + "paths./proxy/anthropic/v1/messages.post.responses.400.description": "917ef22f", + "paths./proxy/anthropic/v1/messages.post.responses.401.description": "d089c8a9", + "paths./proxy/anthropic/v1/messages.post.responses.402.description": "7248dc26", + "paths./proxy/anthropic/v1/messages.post.responses.429.description": "edfc871b", + "paths./proxy/anthropic/v1/messages.post.responses.500.description": "f74d7444", + "paths./proxy/anthropic/v1/messages.post.summary": "89d488a2", + "paths./proxy/beeble/v1/switchx/generations.post.description": "ece908e0", + "paths./proxy/beeble/v1/switchx/generations.post.responses.200.description": "61471ce7", + "paths./proxy/beeble/v1/switchx/generations.post.responses.400.description": "917ef22f", + "paths./proxy/beeble/v1/switchx/generations.post.responses.401.description": "d089c8a9", + "paths./proxy/beeble/v1/switchx/generations.post.responses.402.description": "7248dc26", + "paths./proxy/beeble/v1/switchx/generations.post.responses.429.description": "edfc871b", + "paths./proxy/beeble/v1/switchx/generations.post.responses.500.description": "f74d7444", + "paths./proxy/beeble/v1/switchx/generations.post.summary": "aeca4e9e", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.description": "3e7b12c4", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.parameters[0].description": "c8adadc7", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.responses.200.description": "3bd14415", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.responses.404.description": "56930ecf", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.responses.500.description": "f74d7444", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.summary": "11fe1290", + "paths./proxy/beeble/v1/uploads.post.description": "e6375eb2", + "paths./proxy/beeble/v1/uploads.post.responses.200.description": "72982a20", + "paths./proxy/beeble/v1/uploads.post.responses.400.description": "917ef22f", + "paths./proxy/beeble/v1/uploads.post.responses.401.description": "d089c8a9", + "paths./proxy/beeble/v1/uploads.post.responses.500.description": "f74d7444", + "paths./proxy/beeble/v1/uploads.post.summary": "66b0aa4d", + "paths./proxy/bfl/flux-2-max/generate.post.description": "1f300a1e", + "paths./proxy/bfl/flux-2-max/generate.post.responses.200.description": "0b25e60a", + "paths./proxy/bfl/flux-2-max/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-2-max/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-2-max/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-2-max/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-2-max/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-2-max/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-2-max/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-2-max/generate.post.summary": "e43e5258", + "paths./proxy/bfl/flux-2-pro/generate.post.description": "76326726", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.200.description": "89edd73c", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-2-pro/generate.post.summary": "15af7272", + "paths./proxy/bfl/flux-kontext-max/generate.post.description": "2016e5b3", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.200.description": "1bd85494", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-kontext-max/generate.post.summary": "ae531409", + "paths./proxy/bfl/flux-kontext-pro/generate.post.description": "ce78020e", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.200.description": "fcb96430", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-kontext-pro/generate.post.summary": "c7f3d786", + "paths./proxy/bfl/flux-pro-1.0-canny/generate.post.description": "34ea0061", + "paths./proxy/bfl/flux-pro-1.0-canny/generate.post.responses.200.description": "25123ce6", + "paths./proxy/bfl/flux-pro-1.0-canny/generate.post.responses.422.description": "142762b3", + "paths./proxy/bfl/flux-pro-1.0-canny/generate.post.summary": "44b453cf", + "paths./proxy/bfl/flux-pro-1.0-depth/generate.post.description": "b5fbe356", + "paths./proxy/bfl/flux-pro-1.0-depth/generate.post.responses.200.description": "25123ce6", + "paths./proxy/bfl/flux-pro-1.0-depth/generate.post.responses.422.description": "142762b3", + "paths./proxy/bfl/flux-pro-1.0-depth/generate.post.summary": "29395241", + "paths./proxy/bfl/flux-pro-1.0-expand/generate.post.description": "c0e84930", + "paths./proxy/bfl/flux-pro-1.0-expand/generate.post.responses.200.description": "25123ce6", + "paths./proxy/bfl/flux-pro-1.0-expand/generate.post.responses.422.description": "142762b3", + "paths./proxy/bfl/flux-pro-1.0-expand/generate.post.summary": "6669ce35", + "paths./proxy/bfl/flux-pro-1.0-fill/generate.post.description": "3c77ffd5", + "paths./proxy/bfl/flux-pro-1.0-fill/generate.post.responses.200.description": "25123ce6", + "paths./proxy/bfl/flux-pro-1.0-fill/generate.post.responses.422.description": "142762b3", + "paths./proxy/bfl/flux-pro-1.0-fill/generate.post.summary": "2a5faf4d", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.description": "16576941", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.200.description": "d6629988", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.summary": "89455990", + "paths./proxy/bfl/flux-pro-1.1/generate.post.description": "760f7418", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.200.description": "d6629988", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-pro-1.1/generate.post.summary": "95582171", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.description": "32789913", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.200.description": "ec0cb634", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.summary": "47dfa2ef", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.description": "b6bf6bff", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.200.description": "9c8d08e1", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.summary": "6a55e17e", + "paths./proxy/bria/v2/image/edit.post.description": "830d889d", + "paths./proxy/bria/v2/image/edit.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/image/edit.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/image/edit.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/image/edit.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/image/edit.post.responses.422.description": "640a245a", + "paths./proxy/bria/v2/image/edit.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/image/edit.post.summary": "172299f3", + "paths./proxy/bria/v2/image/edit/remove_background.post.description": "60e259a8", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.422.description": "640a245a", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/image/edit/remove_background.post.summary": "306ee41b", + "paths./proxy/bria/v2/status/{request_id}.get.description": "6183e679", + "paths./proxy/bria/v2/status/{request_id}.get.parameters[0].description": "76fb04f1", + "paths./proxy/bria/v2/status/{request_id}.get.responses.200.description": "be1404b0", + "paths./proxy/bria/v2/status/{request_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/status/{request_id}.get.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/status/{request_id}.get.responses.404.description": "d0b5d9ad", + "paths./proxy/bria/v2/status/{request_id}.get.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/status/{request_id}.get.summary": "9b0a4ab3", + "paths./proxy/bria/v2/structured_instruction/generate.post.description": "74eb1c3d", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.422.description": "640a245a", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/structured_instruction/generate.post.summary": "a46d2e84", + "paths./proxy/bria/v2/video/edit/green_screen.post.description": "a7310bee", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.422.description": "9dc5d1e9", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/video/edit/green_screen.post.summary": "f0c56b81", + "paths./proxy/bria/v2/video/edit/remove_background.post.description": "73c90a70", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.422.description": "9dc5d1e9", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/video/edit/remove_background.post.summary": "b4b90626", + "paths./proxy/bria/v2/video/edit/replace_background.post.description": "8608c110", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.422.description": "9dc5d1e9", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/video/edit/replace_background.post.summary": "4e776fa3", + "paths./proxy/byteplus-seedance2/api/v3/contents/generations/tasks/{task_id}.get.parameters[0].description": "5512c236", + "paths./proxy/byteplus-seedance2/api/v3/contents/generations/tasks/{task_id}.get.responses.200.description": "149612f9", + "paths./proxy/byteplus-seedance2/api/v3/contents/generations/tasks/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/contents/generations/tasks.post.responses.200.description": "dbfebbe0", + "paths./proxy/byteplus/api/v3/contents/generations/tasks.post.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/contents/generations/tasks/{task_id}.get.parameters[0].description": "f5ebb3e7", + "paths./proxy/byteplus/api/v3/contents/generations/tasks/{task_id}.get.responses.200.description": "149612f9", + "paths./proxy/byteplus/api/v3/contents/generations/tasks/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/files.post.description": "e86aafc5", + "paths./proxy/byteplus/api/v3/files.post.responses.200.description": "2cd92465", + "paths./proxy/byteplus/api/v3/files.post.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/files.post.summary": "1c76adbe", + "paths./proxy/byteplus/api/v3/files/{id}.get.description": "ad8fa55c", + "paths./proxy/byteplus/api/v3/files/{id}.get.parameters[0].description": "72b9418e", + "paths./proxy/byteplus/api/v3/files/{id}.get.responses.200.description": "b7fdc1ab", + "paths./proxy/byteplus/api/v3/files/{id}.get.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/files/{id}.get.summary": "bc592ef8", + "paths./proxy/byteplus/api/v3/images/generations.post.responses.200.description": "cb1a49c9", + "paths./proxy/byteplus/api/v3/images/generations.post.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/responses.post.description": "6a7999de", + "paths./proxy/byteplus/api/v3/responses.post.responses.200.description": "5db68f86", + "paths./proxy/byteplus/api/v3/responses.post.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/responses.post.summary": "5ca165ed", + "paths./proxy/byteplus/api/v3/tts/create.post.description": "aac88273", + "paths./proxy/byteplus/api/v3/tts/create.post.responses.200.description": "9ef16735", + "paths./proxy/byteplus/api/v3/tts/create.post.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/tts/create.post.summary": "e9d1a6cc", + "paths./proxy/dummy.post.description": "d7836ef7", + "paths./proxy/dummy.post.responses.200.description": "06639246", + "paths./proxy/dummy.post.summary": "213c0f6c", + "paths./proxy/elevenlabs/v1/audio-isolation.post.description": "d6e2df3e", + "paths./proxy/elevenlabs/v1/audio-isolation.post.responses.200.description": "2f420f54", + "paths./proxy/elevenlabs/v1/audio-isolation.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/audio-isolation.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/audio-isolation.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/audio-isolation.post.summary": "64d39763", + "paths./proxy/elevenlabs/v1/shared-voices.get.description": "9a36c52b", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[0].description": "092882bd", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[1].description": "aa2e3ee3", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[2].description": "85d626d4", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[3].description": "ff1269b3", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[4].description": "1edef563", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[5].description": "3a80dab8", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[6].description": "051dcd59", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[7].description": "8d4bb287", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[8].description": "8db28899", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[9].description": "963b9a24", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[10].description": "706fee66", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[11].description": "1526fff5", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[12].description": "0090f6de", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[13].description": "a9c2d62f", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[14].description": "19ccc4c2", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[15].description": "64225d23", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[16].description": "c4fa4695", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[17].description": "05fa2e3b", + "paths./proxy/elevenlabs/v1/shared-voices.get.responses.200.description": "553d2366", + "paths./proxy/elevenlabs/v1/shared-voices.get.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/shared-voices.get.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/shared-voices.get.summary": "03e68be6", + "paths./proxy/elevenlabs/v1/sound-generation.post.description": "c25a222d", + "paths./proxy/elevenlabs/v1/sound-generation.post.parameters[0].description": "8ae5950c", + "paths./proxy/elevenlabs/v1/sound-generation.post.responses.200.description": "3dfb32b6", + "paths./proxy/elevenlabs/v1/sound-generation.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/sound-generation.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/sound-generation.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/sound-generation.post.summary": "ffc294ce", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.description": "ecbaf19b", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.parameters[0].description": "857e9fc9", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.parameters[1].description": "a1fd11cf", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.parameters[2].description": "3c9ecc2b", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.parameters[3].description": "8ae5950c", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.responses.200.description": "1d301dc9", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.summary": "d6580d01", + "paths./proxy/elevenlabs/v1/speech-to-text.post.description": "41478334", + "paths./proxy/elevenlabs/v1/speech-to-text.post.parameters[0].description": "2f7477ad", + "paths./proxy/elevenlabs/v1/speech-to-text.post.responses.200.description": "21ba308b", + "paths./proxy/elevenlabs/v1/speech-to-text.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/speech-to-text.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/speech-to-text.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/speech-to-text.post.summary": "2cad879e", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.description": "43c68938", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.parameters[0].description": "8ae5950c", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.responses.200.description": "1d301dc9", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.summary": "044d3939", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.description": "c96e7167", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.parameters[0].description": "24910c62", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.parameters[1].description": "7617db29", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.parameters[2].description": "565cef24", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.parameters[3].description": "7a6f8049", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.responses.200.description": "1d301dc9", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.summary": "71507dfe", + "paths./proxy/elevenlabs/v1/voices/add.post.description": "700d9a46", + "paths./proxy/elevenlabs/v1/voices/add.post.responses.200.description": "2d833ec4", + "paths./proxy/elevenlabs/v1/voices/add.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/voices/add.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/voices/add.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/voices/add.post.summary": "f81ce6eb", + "paths./proxy/elevenlabs/v2/voices.get.description": "04a1fa0d", + "paths./proxy/elevenlabs/v2/voices.get.parameters[0].description": "dccd3c6d", + "paths./proxy/elevenlabs/v2/voices.get.parameters[1].description": "8faa875b", + "paths./proxy/elevenlabs/v2/voices.get.parameters[2].description": "31f8a4a4", + "paths./proxy/elevenlabs/v2/voices.get.responses.200.description": "2f41e6c7", + "paths./proxy/elevenlabs/v2/voices.get.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v2/voices.get.summary": "761d4746", + "paths./proxy/fal/fal-ai/patina.post.description": "bb78a71d", + "paths./proxy/fal/fal-ai/patina.post.responses.200.description": "340fb696", + "paths./proxy/fal/fal-ai/patina.post.responses.400.description": "7c41b898", + "paths./proxy/fal/fal-ai/patina.post.responses.401.description": "d089c8a9", + "paths./proxy/fal/fal-ai/patina.post.responses.402.description": "a117c80b", + "paths./proxy/fal/fal-ai/patina.post.responses.429.description": "95a111e3", + "paths./proxy/fal/fal-ai/patina.post.responses.500.description": "e41656eb", + "paths./proxy/fal/fal-ai/patina.post.summary": "47e30ab1", + "paths./proxy/fal/fal-ai/patina/material.post.description": "41e5e062", + "paths./proxy/fal/fal-ai/patina/material.post.responses.200.description": "340fb696", + "paths./proxy/fal/fal-ai/patina/material.post.responses.400.description": "7c41b898", + "paths./proxy/fal/fal-ai/patina/material.post.responses.401.description": "d089c8a9", + "paths./proxy/fal/fal-ai/patina/material.post.responses.402.description": "a117c80b", + "paths./proxy/fal/fal-ai/patina/material.post.responses.429.description": "95a111e3", + "paths./proxy/fal/fal-ai/patina/material.post.responses.500.description": "e41656eb", + "paths./proxy/fal/fal-ai/patina/material.post.summary": "2945c576", + "paths./proxy/fal/fal-ai/patina/material/extract.post.description": "cbfcfe15", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.200.description": "340fb696", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.400.description": "7c41b898", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.401.description": "d089c8a9", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.402.description": "a117c80b", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.429.description": "95a111e3", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.500.description": "e41656eb", + "paths./proxy/fal/fal-ai/patina/material/extract.post.summary": "e54eda11", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.description": "c3db636e", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.parameters[0].description": "ed268f7e", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.responses.200.description": "288a7b6d", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.responses.404.description": "bb08e040", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.responses.500.description": "e41656eb", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.summary": "640f095b", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.description": "ea92e919", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.parameters[0].description": "ed268f7e", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.responses.200.description": "f78f8c98", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.responses.401.description": "d089c8a9", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.responses.404.description": "bb08e040", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.responses.500.description": "e41656eb", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.summary": "a34cbf81", + "paths./proxy/freepik/v1/ai/image-relight.post.description": "18d859d1", + "paths./proxy/freepik/v1/ai/image-relight.post.responses.200.description": "abe856cf", + "paths./proxy/freepik/v1/ai/image-relight.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/image-relight.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-relight.post.summary": "ba224310", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.description": "e02307dd", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.parameters[0].description": "05f6132e", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.responses.200.description": "7713f971", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.summary": "e02307dd", + "paths./proxy/freepik/v1/ai/image-style-transfer.post.description": "03a2111b", + "paths./proxy/freepik/v1/ai/image-style-transfer.post.responses.200.description": "0564f0bc", + "paths./proxy/freepik/v1/ai/image-style-transfer.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/image-style-transfer.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-style-transfer.post.summary": "94a8ca5e", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.description": "7a105cb8", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.parameters[0].description": "05f6132e", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.responses.200.description": "7713f971", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.summary": "7a105cb8", + "paths./proxy/freepik/v1/ai/image-upscaler.post.description": "ea01f025", + "paths./proxy/freepik/v1/ai/image-upscaler.post.responses.200.description": "b6824795", + "paths./proxy/freepik/v1/ai/image-upscaler.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/image-upscaler.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-upscaler.post.summary": "893e4ca4", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2.post.description": "b21ea8fe", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2.post.responses.200.description": "b6824795", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2.post.summary": "0a83b28c", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.description": "a1e39207", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.parameters[0].description": "05f6132e", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.responses.200.description": "7713f971", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.summary": "756713da", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.description": "6d0fb33f", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.parameters[0].description": "05f6132e", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.responses.200.description": "7713f971", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.summary": "6d0fb33f", + "paths./proxy/freepik/v1/ai/skin-enhancer/creative.post.description": "6ca28952", + "paths./proxy/freepik/v1/ai/skin-enhancer/creative.post.responses.200.description": "df6e48be", + "paths./proxy/freepik/v1/ai/skin-enhancer/creative.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/skin-enhancer/creative.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/skin-enhancer/creative.post.summary": "8dd16700", + "paths./proxy/freepik/v1/ai/skin-enhancer/faithful.post.description": "4fdfe7a6", + "paths./proxy/freepik/v1/ai/skin-enhancer/faithful.post.responses.200.description": "df6e48be", + "paths./proxy/freepik/v1/ai/skin-enhancer/faithful.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/skin-enhancer/faithful.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/skin-enhancer/faithful.post.summary": "42064736", + "paths./proxy/freepik/v1/ai/skin-enhancer/flexible.post.description": "8040e4da", + "paths./proxy/freepik/v1/ai/skin-enhancer/flexible.post.responses.200.description": "df6e48be", + "paths./proxy/freepik/v1/ai/skin-enhancer/flexible.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/skin-enhancer/flexible.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/skin-enhancer/flexible.post.summary": "8a0610ca", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.description": "abe18786", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.parameters[0].description": "05f6132e", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.responses.200.description": "7713f971", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.summary": "5c070745", + "paths./proxy/hitpaw/api/photo-enhancer.post.description": "e492b571", + "paths./proxy/hitpaw/api/photo-enhancer.post.responses.200.description": "8edcb694", + "paths./proxy/hitpaw/api/photo-enhancer.post.responses.400.description": "7c41b898", + "paths./proxy/hitpaw/api/photo-enhancer.post.responses.401.description": "d089c8a9", + "paths./proxy/hitpaw/api/photo-enhancer.post.responses.402.description": "a117c80b", + "paths./proxy/hitpaw/api/photo-enhancer.post.responses.500.description": "e41656eb", + "paths./proxy/hitpaw/api/photo-enhancer.post.summary": "b8877b7f", + "paths./proxy/hitpaw/api/task-status.post.description": "b5d6381a", + "paths./proxy/hitpaw/api/task-status.post.responses.200.description": "582b91c5", + "paths./proxy/hitpaw/api/task-status.post.responses.400.description": "7c41b898", + "paths./proxy/hitpaw/api/task-status.post.responses.401.description": "d089c8a9", + "paths./proxy/hitpaw/api/task-status.post.responses.500.description": "e41656eb", + "paths./proxy/hitpaw/api/task-status.post.summary": "5d5ece88", + "paths./proxy/hitpaw/api/video-enhancer.post.description": "3fe2e735", + "paths./proxy/hitpaw/api/video-enhancer.post.responses.200.description": "8edcb694", + "paths./proxy/hitpaw/api/video-enhancer.post.responses.400.description": "7c41b898", + "paths./proxy/hitpaw/api/video-enhancer.post.responses.401.description": "d089c8a9", + "paths./proxy/hitpaw/api/video-enhancer.post.responses.402.description": "7248dc26", + "paths./proxy/hitpaw/api/video-enhancer.post.responses.500.description": "e41656eb", + "paths./proxy/hitpaw/api/video-enhancer.post.summary": "a63b5217", + "paths./proxy/ideogram/generate.post.description": "1e9d6c21", + "paths./proxy/ideogram/generate.post.responses.200.description": "dc4fd3ef", + "paths./proxy/ideogram/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/ideogram/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/ideogram/generate.post.responses.402.description": "a117c80b", + "paths./proxy/ideogram/generate.post.responses.429.description": "f0e25a11", + "paths./proxy/ideogram/generate.post.responses.500.description": "ee066afe", + "paths./proxy/ideogram/generate.post.responses.502.description": "5fc7ad99", + "paths./proxy/ideogram/generate.post.responses.504.description": "55199507", + "paths./proxy/ideogram/generate.post.summary": "55533837", + "paths./proxy/ideogram/ideogram-v3/edit.post.description": "3cb32af3", + "paths./proxy/ideogram/ideogram-v3/edit.post.requestBody.description": "745b0e68", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.200.description": "dc4fd3ef", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.400.description": "9f7eaca8", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.401.description": "d089c8a9", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.422.description": "65a30886", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.429.description": "f0e25a11", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.500.description": "ee066afe", + "paths./proxy/ideogram/ideogram-v3/edit.post.summary": "ee732ede", + "paths./proxy/ideogram/ideogram-v3/generate.post.description": "1e9d6c21", + "paths./proxy/ideogram/ideogram-v3/generate.post.requestBody.description": "9db3c32e", + "paths./proxy/ideogram/ideogram-v3/generate.post.responses.200.description": "dc4fd3ef", + "paths./proxy/ideogram/ideogram-v3/generate.post.responses.500.description": "ee066afe", + "paths./proxy/ideogram/ideogram-v3/generate.post.summary": "55533837", + "paths./proxy/ideogram/ideogram-v3/reframe.post.responses.200.description": "663079d5", + "paths./proxy/ideogram/ideogram-v3/reframe.post.responses.400.description": "7c41b898", + "paths./proxy/ideogram/ideogram-v3/reframe.post.responses.401.description": "d089c8a9", + "paths./proxy/ideogram/ideogram-v3/reframe.post.responses.422.description": "9dc5d1e9", + "paths./proxy/ideogram/ideogram-v3/reframe.post.responses.429.description": "3850dfdb", + "paths./proxy/ideogram/ideogram-v3/reframe.post.summary": "79ade7b9", + "paths./proxy/ideogram/ideogram-v3/remix.post.responses.200.description": "d06367b6", + "paths./proxy/ideogram/ideogram-v3/remix.post.responses.400.description": "7c41b898", + "paths./proxy/ideogram/ideogram-v3/remix.post.responses.403.description": "78342a09", + "paths./proxy/ideogram/ideogram-v3/remix.post.responses.422.description": "9dc5d1e9", + "paths./proxy/ideogram/ideogram-v3/remix.post.responses.429.description": "3850dfdb", + "paths./proxy/ideogram/ideogram-v3/remix.post.summary": "56c68ec5", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.responses.200.description": "5c49474f", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.responses.400.description": "7c41b898", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.responses.401.description": "d089c8a9", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.responses.422.description": "9dc5d1e9", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.responses.429.description": "3850dfdb", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.summary": "1750c8da", + "paths./proxy/ideogram/ideogram-v4/generate.post.description": "8ce4ae42", + "paths./proxy/ideogram/ideogram-v4/generate.post.requestBody.description": "ab44be7e", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.200.description": "dc4fd3ef", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.402.description": "a117c80b", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.429.description": "f0e25a11", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.500.description": "ee066afe", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.502.description": "5fc7ad99", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.504.description": "55199507", + "paths./proxy/ideogram/ideogram-v4/generate.post.summary": "3f9945df", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.requestBody.description": "808b67bb", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.200.description": "3151586d", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.400.description": "51443a02", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.401.description": "93821eb7", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.429.description": "266777a4", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.500.description": "f74d7444", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.summary": "91585161", + "paths./proxy/kling/tasks.get.parameters[0].description": "2bebc1bb", + "paths./proxy/kling/tasks.get.parameters[1].description": "c7c70fd9", + "paths./proxy/kling/tasks.get.responses.200.description": "3151586d", + "paths./proxy/kling/tasks.get.responses.400.description": "51443a02", + "paths./proxy/kling/tasks.get.responses.401.description": "93821eb7", + "paths./proxy/kling/tasks.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/tasks.get.responses.429.description": "266777a4", + "paths./proxy/kling/tasks.get.responses.500.description": "f74d7444", + "paths./proxy/kling/tasks.get.summary": "d3ff06b1", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.requestBody.description": "76a7d9af", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.200.description": "3151586d", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.400.description": "51443a02", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.401.description": "93821eb7", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.429.description": "266777a4", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.500.description": "f74d7444", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.summary": "4635ab36", + "paths./proxy/kling/v1/account/costs.get.parameters[0].schema.description": "2050c75b", + "paths./proxy/kling/v1/account/costs.get.parameters[1].schema.description": "da97d8e5", + "paths./proxy/kling/v1/account/costs.get.parameters[2].schema.description": "961f504c", + "paths./proxy/kling/v1/account/costs.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/account/costs.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/account/costs.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/account/costs.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/account/costs.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/account/costs.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/account/costs.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/account/costs.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/account/costs.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/account/costs.get.summary": "54906b8b", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.description": "9f72f15e", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.parameters[0].description": "f0129c23", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.parameters[1].description": "fbd81520", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.responses.200.description": "0570a75b", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.responses.400.description": "7c41b898", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.responses.429.description": "95a111e3", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.summary": "94ca544c", + "paths./proxy/kling/v1/images/generations.get.parameters[0].description": "05fa2e3b", + "paths./proxy/kling/v1/images/generations.get.parameters[1].description": "a8748dc9", + "paths./proxy/kling/v1/images/generations.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/generations.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/generations.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/generations.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/generations.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/generations.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/generations.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/generations.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/generations.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/generations.get.summary": "64217a63", + "paths./proxy/kling/v1/images/generations.post.requestBody.description": "c2782b1f", + "paths./proxy/kling/v1/images/generations.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/generations.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/generations.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/generations.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/generations.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/generations.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/generations.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/generations.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/generations.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/generations.post.summary": "68cd404c", + "paths./proxy/kling/v1/images/generations/{id}.get.parameters[0].description": "3e0cce3a", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/generations/{id}.get.summary": "dcc3baa4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.parameters[0].description": "05fa2e3b", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.parameters[1].description": "a8748dc9", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.summary": "1b251b13", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.requestBody.description": "1dbce76f", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.summary": "f7ce06b8", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.parameters[0].description": "3e0cce3a", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.summary": "7970aef8", + "paths./proxy/kling/v1/images/omni-image.post.requestBody.description": "c96dc3d6", + "paths./proxy/kling/v1/images/omni-image.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/omni-image.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/omni-image.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/omni-image.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/omni-image.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/omni-image.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/omni-image.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/omni-image.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/omni-image.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/omni-image.post.summary": "25934527", + "paths./proxy/kling/v1/images/omni-image/{id}.get.parameters[0].description": "b7ed2f0c", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/omni-image/{id}.get.summary": "dc5d1a55", + "paths./proxy/kling/v1/videos/avatar/image2video.post.requestBody.description": "62da81d0", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/avatar/image2video.post.summary": "373edb31", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.summary": "53727b91", + "paths./proxy/kling/v1/videos/effects.get.parameters[0].description": "05fa2e3b", + "paths./proxy/kling/v1/videos/effects.get.parameters[1].description": "a8748dc9", + "paths./proxy/kling/v1/videos/effects.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/effects.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/effects.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/effects.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/effects.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/effects.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/effects.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/effects.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/effects.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/effects.get.summary": "3d29cea9", + "paths./proxy/kling/v1/videos/effects.post.requestBody.description": "6c758b87", + "paths./proxy/kling/v1/videos/effects.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/effects.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/effects.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/effects.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/effects.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/effects.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/effects.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/effects.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/effects.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/effects.post.summary": "d39a1fdb", + "paths./proxy/kling/v1/videos/effects/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/effects/{id}.get.summary": "d5d4fcb2", + "paths./proxy/kling/v1/videos/image2video.post.requestBody.description": "74a34b41", + "paths./proxy/kling/v1/videos/image2video.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/image2video.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/image2video.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/image2video.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/image2video.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/image2video.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/image2video.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/image2video.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/image2video.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/image2video.post.summary": "c459c8e8", + "paths./proxy/kling/v1/videos/image2video/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/image2video/{id}.get.summary": "798c2063", + "paths./proxy/kling/v1/videos/lip-sync.get.parameters[0].description": "05fa2e3b", + "paths./proxy/kling/v1/videos/lip-sync.get.parameters[1].description": "a8748dc9", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/lip-sync.get.summary": "bbab27e0", + "paths./proxy/kling/v1/videos/lip-sync.post.requestBody.description": "1b2945d3", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/lip-sync.post.summary": "d64ec2ad", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.summary": "71d1303c", + "paths./proxy/kling/v1/videos/motion-control.post.requestBody.description": "ad4e0a95", + "paths./proxy/kling/v1/videos/motion-control.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/motion-control.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/motion-control.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/motion-control.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/motion-control.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/motion-control.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/motion-control.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/motion-control.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/motion-control.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/motion-control.post.summary": "655da70e", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.summary": "69cb191d", + "paths./proxy/kling/v1/videos/omni-video.post.requestBody.description": "87376aa8", + "paths./proxy/kling/v1/videos/omni-video.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/omni-video.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/omni-video.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/omni-video.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/omni-video.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/omni-video.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/omni-video.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/omni-video.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/omni-video.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/omni-video.post.summary": "3165e049", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.parameters[0].description": "b7ed2f0c", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.summary": "2d39a204", + "paths./proxy/kling/v1/videos/text2video.post.requestBody.description": "eaec02db", + "paths./proxy/kling/v1/videos/text2video.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/text2video.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/text2video.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/text2video.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/text2video.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/text2video.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/text2video.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/text2video.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/text2video.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/text2video.post.summary": "af31d9a5", + "paths./proxy/kling/v1/videos/text2video/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/text2video/{id}.get.summary": "97fd14ff", + "paths./proxy/kling/v1/videos/video-extend.get.parameters[0].description": "05fa2e3b", + "paths./proxy/kling/v1/videos/video-extend.get.parameters[1].description": "a8748dc9", + "paths./proxy/kling/v1/videos/video-extend.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/video-extend.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/video-extend.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/video-extend.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/video-extend.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/video-extend.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/video-extend.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/video-extend.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/video-extend.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/video-extend.get.summary": "4822c43d", + "paths./proxy/kling/v1/videos/video-extend.post.requestBody.description": "7e251954", + "paths./proxy/kling/v1/videos/video-extend.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/video-extend.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/video-extend.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/video-extend.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/video-extend.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/video-extend.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/video-extend.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/video-extend.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/video-extend.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/video-extend.post.summary": "ede8a6fd", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.parameters[0].description": "3e0cce3a", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.summary": "6d248620", + "paths./proxy/krea/assets.post.description": "a7372e9a", + "paths./proxy/krea/assets.post.responses.200.description": "e8eb6327", + "paths./proxy/krea/assets.post.responses.400.description": "60d5619a", + "paths./proxy/krea/assets.post.responses.401.description": "d089c8a9", + "paths./proxy/krea/assets.post.responses.500.description": "f74d7444", + "paths./proxy/krea/assets.post.summary": "a7372e9a", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.description": "634f3f95", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.200.description": "eaad669e", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.400.description": "917ef22f", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.401.description": "d089c8a9", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.402.description": "7248dc26", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.429.description": "edfc871b", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.500.description": "f74d7444", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.summary": "341e5867", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.description": "f989e6d4", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.200.description": "eaad669e", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.400.description": "917ef22f", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.401.description": "d089c8a9", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.402.description": "7248dc26", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.429.description": "edfc871b", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.500.description": "f74d7444", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.summary": "c8e412f1", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.description": "557852e7", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.200.description": "eaad669e", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.400.description": "917ef22f", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.401.description": "d089c8a9", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.402.description": "7248dc26", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.429.description": "edfc871b", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.500.description": "f74d7444", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.summary": "7a3dda22", + "paths./proxy/krea/jobs/{job_id}.get.description": "0e49db7e", + "paths./proxy/krea/jobs/{job_id}.get.parameters[0].description": "b58ddbc0", + "paths./proxy/krea/jobs/{job_id}.get.responses.200.description": "c664992b", + "paths./proxy/krea/jobs/{job_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/krea/jobs/{job_id}.get.responses.404.description": "56930ecf", + "paths./proxy/krea/jobs/{job_id}.get.responses.500.description": "f74d7444", + "paths./proxy/krea/jobs/{job_id}.get.summary": "0e49db7e", + "paths./proxy/ltx/v1/image-to-video.post.description": "02bda9d2", + "paths./proxy/ltx/v1/image-to-video.post.requestBody.description": "50f7dcaf", + "paths./proxy/ltx/v1/image-to-video.post.responses.200.description": "82f60389", + "paths./proxy/ltx/v1/image-to-video.post.responses.default.description": "8409f13c", + "paths./proxy/ltx/v1/image-to-video.post.summary": "b081389c", + "paths./proxy/ltx/v1/text-to-video.post.description": "52b0c009", + "paths./proxy/ltx/v1/text-to-video.post.requestBody.description": "9b48e782", + "paths./proxy/ltx/v1/text-to-video.post.responses.200.description": "82f60389", + "paths./proxy/ltx/v1/text-to-video.post.responses.default.description": "8409f13c", + "paths./proxy/ltx/v1/text-to-video.post.summary": "c557754e", + "paths./proxy/luma/generations.post.description": "9383995b", + "paths./proxy/luma/generations.post.requestBody.description": "d1705797", + "paths./proxy/luma/generations.post.responses.201.description": "ec40d5dc", + "paths./proxy/luma/generations.post.responses.default.description": "54a0e8c1", + "paths./proxy/luma/generations.post.summary": "efc51802", + "paths./proxy/luma/generations/image.post.description": "2da8402c", + "paths./proxy/luma/generations/image.post.requestBody.description": "2ec5636f", + "paths./proxy/luma/generations/image.post.responses.201.description": "516ee055", + "paths./proxy/luma/generations/image.post.responses.default.description": "54a0e8c1", + "paths./proxy/luma/generations/image.post.summary": "88daee9e", + "paths./proxy/luma/generations/{id}.get.description": "df38d257", + "paths./proxy/luma/generations/{id}.get.parameters[0].description": "84f8c18e", + "paths./proxy/luma/generations/{id}.get.responses.200.description": "26e8948a", + "paths./proxy/luma/generations/{id}.get.responses.default.description": "54a0e8c1", + "paths./proxy/luma/generations/{id}.get.summary": "5bef2699", + "paths./proxy/luma_2/generations.post.description": "2a003401", + "paths./proxy/luma_2/generations.post.requestBody.description": "d1705797", + "paths./proxy/luma_2/generations.post.responses.200.description": "d8f2125c", + "paths./proxy/luma_2/generations.post.responses.default.description": "54a0e8c1", + "paths./proxy/luma_2/generations.post.summary": "37fe0075", + "paths./proxy/luma_2/generations/{generation_id}.get.description": "fdae40f5", + "paths./proxy/luma_2/generations/{generation_id}.get.parameters[0].description": "84f8c18e", + "paths./proxy/luma_2/generations/{generation_id}.get.responses.200.description": "26e8948a", + "paths./proxy/luma_2/generations/{generation_id}.get.responses.default.description": "54a0e8c1", + "paths./proxy/luma_2/generations/{generation_id}.get.summary": "be1c6af3", + "paths./proxy/meshy/openapi/v1/animations.post.description": "bb726ebb", + "paths./proxy/meshy/openapi/v1/animations.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/animations.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/animations.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/animations.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/animations.post.summary": "359f4688", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.description": "b09c15b0", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.summary": "ecbf3486", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.description": "a8c5fe9b", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.summary": "de3da996", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.description": "868dd46a", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.summary": "d119028a", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.description": "8a12c3ce", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.summary": "f947167a", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.description": "5b59b06d", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.summary": "f12ef76f", + "paths./proxy/meshy/openapi/v1/remesh.post.description": "e4d9dc40", + "paths./proxy/meshy/openapi/v1/remesh.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/remesh.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/remesh.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/remesh.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/remesh.post.summary": "4fb74976", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.description": "e41adb7d", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.summary": "772c6c12", + "paths./proxy/meshy/openapi/v1/retexture.post.description": "81d79c58", + "paths./proxy/meshy/openapi/v1/retexture.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/retexture.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/retexture.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/retexture.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/retexture.post.summary": "047a385b", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.description": "cfef01b1", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.summary": "201ff2f9", + "paths./proxy/meshy/openapi/v1/rigging.post.description": "dbb22bff", + "paths./proxy/meshy/openapi/v1/rigging.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/rigging.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/rigging.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/rigging.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/rigging.post.summary": "4567a698", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.description": "4727e7ee", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.summary": "11131548", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.description": "9994d0cd", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.summary": "d7428b44", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.description": "49328002", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.summary": "04283cf1", + "paths./proxy/minimax/files/retrieve.post.description": "a6aad64f", + "paths./proxy/minimax/files/retrieve.post.parameters[0].description": "30a8d795", + "paths./proxy/minimax/files/retrieve.post.responses.200.description": "829c8932", + "paths./proxy/minimax/files/retrieve.post.responses.400.description": "9f7eaca8", + "paths./proxy/minimax/files/retrieve.post.responses.401.description": "d089c8a9", + "paths./proxy/minimax/files/retrieve.post.responses.402.description": "a117c80b", + "paths./proxy/minimax/files/retrieve.post.responses.429.description": "a3d8ecdd", + "paths./proxy/minimax/files/retrieve.post.responses.500.description": "ee066afe", + "paths./proxy/minimax/files/retrieve.post.responses.502.description": "0a1ecf1e", + "paths./proxy/minimax/files/retrieve.post.responses.504.description": "45a94bcd", + "paths./proxy/minimax/files/retrieve.post.summary": "ba963a34", + "paths./proxy/minimax/query/video_generation.get.description": "4627658b", + "paths./proxy/minimax/query/video_generation.get.parameters[0].description": "d405b05a", + "paths./proxy/minimax/query/video_generation.get.responses.200.description": "abb958e6", + "paths./proxy/minimax/query/video_generation.get.responses.400.description": "9f7eaca8", + "paths./proxy/minimax/query/video_generation.get.responses.401.description": "d089c8a9", + "paths./proxy/minimax/query/video_generation.get.responses.402.description": "a117c80b", + "paths./proxy/minimax/query/video_generation.get.responses.429.description": "a3d8ecdd", + "paths./proxy/minimax/query/video_generation.get.responses.500.description": "ee066afe", + "paths./proxy/minimax/query/video_generation.get.responses.502.description": "0a1ecf1e", + "paths./proxy/minimax/query/video_generation.get.responses.504.description": "45a94bcd", + "paths./proxy/minimax/query/video_generation.get.summary": "c6534f27", + "paths./proxy/minimax/video_generation.post.description": "0624bc36", + "paths./proxy/minimax/video_generation.post.responses.200.description": "38982e91", + "paths./proxy/minimax/video_generation.post.responses.400.description": "9f7eaca8", + "paths./proxy/minimax/video_generation.post.responses.401.description": "d089c8a9", + "paths./proxy/minimax/video_generation.post.responses.402.description": "a117c80b", + "paths./proxy/minimax/video_generation.post.responses.429.description": "a3d8ecdd", + "paths./proxy/minimax/video_generation.post.responses.500.description": "ee066afe", + "paths./proxy/minimax/video_generation.post.responses.502.description": "0a1ecf1e", + "paths./proxy/minimax/video_generation.post.responses.504.description": "45a94bcd", + "paths./proxy/minimax/video_generation.post.summary": "7749af3b", + "paths./proxy/moonvalley/prompts/image-to-video.post.responses.201.description": "8ce11e7a", + "paths./proxy/moonvalley/prompts/image-to-video.post.summary": "5e6c2517", + "paths./proxy/moonvalley/prompts/text-to-image.post.responses.201.description": "8ce11e7a", + "paths./proxy/moonvalley/prompts/text-to-image.post.summary": "f2ec4321", + "paths./proxy/moonvalley/prompts/text-to-video.post.responses.201.description": "8ce11e7a", + "paths./proxy/moonvalley/prompts/text-to-video.post.summary": "aa1720c6", + "paths./proxy/moonvalley/prompts/video-to-video.post.responses.201.description": "8ce11e7a", + "paths./proxy/moonvalley/prompts/video-to-video.post.summary": "1e7c7acb", + "paths./proxy/moonvalley/prompts/video-to-video/resize.post.responses.201.description": "8ce11e7a", + "paths./proxy/moonvalley/prompts/video-to-video/resize.post.summary": "29850f5d", + "paths./proxy/moonvalley/prompts/{prompt_id}.get.responses.200.description": "a0780488", + "paths./proxy/moonvalley/prompts/{prompt_id}.get.summary": "5377c875", + "paths./proxy/moonvalley/uploads.post.responses.200.description": "2cd92465", + "paths./proxy/moonvalley/uploads.post.summary": "990578cf", + "paths./proxy/openai/images/edits.post.responses.200.description": "8015e228", + "paths./proxy/openai/images/edits.post.responses.400.description": "917ef22f", + "paths./proxy/openai/images/edits.post.responses.401.description": "d089c8a9", + "paths./proxy/openai/images/edits.post.responses.402.description": "a117c80b", + "paths./proxy/openai/images/edits.post.responses.500.description": "f74d7444", + "paths./proxy/openai/images/edits.post.summary": "c4ed8ce8", + "paths./proxy/openai/images/generations.post.responses.200.description": "7f6d431b", + "paths./proxy/openai/images/generations.post.responses.400.description": "917ef22f", + "paths./proxy/openai/images/generations.post.responses.401.description": "d089c8a9", + "paths./proxy/openai/images/generations.post.responses.402.description": "a117c80b", + "paths./proxy/openai/images/generations.post.responses.500.description": "f74d7444", + "paths./proxy/openai/images/generations.post.summary": "2b192a1e", + "paths./proxy/openai/v1/responses.post.responses.200.description": "565339bc", + "paths./proxy/openai/v1/responses/{id}.get.parameters[0].description": "c81a80ff", + "paths./proxy/openai/v1/responses/{id}.get.parameters[1].description": "4a3accaa", + "paths./proxy/openai/v1/responses/{id}.get.responses.200.description": "565339bc", + "paths./proxy/openai/v1/responses/{id}.get.summary": "3eee92e9", + "paths./proxy/openai/v1/videos.post.responses.200.description": "3389c1a2", + "paths./proxy/openai/v1/videos.post.responses.400.description": "917ef22f", + "paths./proxy/openai/v1/videos.post.responses.401.description": "d089c8a9", + "paths./proxy/openai/v1/videos.post.responses.402.description": "a117c80b", + "paths./proxy/openai/v1/videos.post.responses.500.description": "f74d7444", + "paths./proxy/openai/v1/videos.post.summary": "610578c2", + "paths./proxy/openai/v1/videos/{video_id}.get.parameters[0].description": "9242ad06", + "paths./proxy/openai/v1/videos/{video_id}.get.responses.200.description": "c4ea6adf", + "paths./proxy/openai/v1/videos/{video_id}.get.responses.400.description": "917ef22f", + "paths./proxy/openai/v1/videos/{video_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/openai/v1/videos/{video_id}.get.responses.404.description": "e861519b", + "paths./proxy/openai/v1/videos/{video_id}.get.responses.500.description": "f74d7444", + "paths./proxy/openai/v1/videos/{video_id}.get.summary": "f4be1828", + "paths./proxy/openai/v1/videos/{video_id}/content.get.parameters[0].description": "171b2f67", + "paths./proxy/openai/v1/videos/{video_id}/content.get.parameters[1].description": "c30d1fd5", + "paths./proxy/openai/v1/videos/{video_id}/content.get.responses.200.description": "4dd1cbc6", + "paths./proxy/openai/v1/videos/{video_id}/content.get.responses.400.description": "917ef22f", + "paths./proxy/openai/v1/videos/{video_id}/content.get.responses.401.description": "d089c8a9", + "paths./proxy/openai/v1/videos/{video_id}/content.get.responses.404.description": "e861519b", + "paths./proxy/openai/v1/videos/{video_id}/content.get.responses.500.description": "f74d7444", + "paths./proxy/openai/v1/videos/{video_id}/content.get.summary": "810ad783", + "paths./proxy/openrouter/api/v1/chat/completions.post.description": "efb060f1", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.200.description": "8bd7b8f6", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.400.description": "917ef22f", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.401.description": "d089c8a9", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.402.description": "7248dc26", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.429.description": "edfc871b", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.500.description": "f74d7444", + "paths./proxy/openrouter/api/v1/chat/completions.post.summary": "1c116908", + "paths./proxy/pika/generate/2.2/i2v.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/2.2/i2v.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/2.2/i2v.post.summary": "b62e82c9", + "paths./proxy/pika/generate/2.2/pikaframes.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/2.2/pikaframes.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/2.2/pikaframes.post.summary": "76d046c5", + "paths./proxy/pika/generate/2.2/pikascenes.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/2.2/pikascenes.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/2.2/pikascenes.post.summary": "ed656bb0", + "paths./proxy/pika/generate/2.2/t2v.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/2.2/t2v.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/2.2/t2v.post.summary": "3c32812f", + "paths./proxy/pika/generate/pikadditions.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/pikadditions.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/pikadditions.post.summary": "daf5c8d3", + "paths./proxy/pika/generate/pikaffects.post.description": "7f67a800", + "paths./proxy/pika/generate/pikaffects.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/pikaffects.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/pikaffects.post.summary": "6e97852b", + "paths./proxy/pika/generate/pikaswaps.post.description": "15b42812", + "paths./proxy/pika/generate/pikaswaps.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/pikaswaps.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/pikaswaps.post.summary": "00054f9c", + "paths./proxy/pika/videos/{video_id}.get.responses.200.description": "25123ce6", + "paths./proxy/pika/videos/{video_id}.get.responses.422.description": "142762b3", + "paths./proxy/pika/videos/{video_id}.get.summary": "d11c0f6f", + "paths./proxy/pixverse/image/upload.post.responses.200.description": "6c3ba36c", + "paths./proxy/pixverse/image/upload.post.responses.400.description": "9f7eaca8", + "paths./proxy/pixverse/image/upload.post.responses.401.description": "d089c8a9", + "paths./proxy/pixverse/image/upload.post.responses.402.description": "a117c80b", + "paths./proxy/pixverse/image/upload.post.responses.429.description": "95a111e3", + "paths./proxy/pixverse/image/upload.post.responses.500.description": "ee066afe", + "paths./proxy/pixverse/image/upload.post.summary": "91152fda", + "paths./proxy/pixverse/video/img/generate.post.responses.200.description": "c88a0b90", + "paths./proxy/pixverse/video/img/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/pixverse/video/img/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/pixverse/video/img/generate.post.responses.402.description": "a117c80b", + "paths./proxy/pixverse/video/img/generate.post.responses.429.description": "95a111e3", + "paths./proxy/pixverse/video/img/generate.post.responses.500.description": "ee066afe", + "paths./proxy/pixverse/video/img/generate.post.summary": "a7ea32bc", + "paths./proxy/pixverse/video/result/{id}.get.responses.200.description": "4178f684", + "paths./proxy/pixverse/video/result/{id}.get.summary": "824a25cb", + "paths./proxy/pixverse/video/text/generate.post.responses.200.description": "c88a0b90", + "paths./proxy/pixverse/video/text/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/pixverse/video/text/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/pixverse/video/text/generate.post.responses.402.description": "a117c80b", + "paths./proxy/pixverse/video/text/generate.post.responses.429.description": "95a111e3", + "paths./proxy/pixverse/video/text/generate.post.responses.500.description": "ee066afe", + "paths./proxy/pixverse/video/text/generate.post.summary": "6211da87", + "paths./proxy/pixverse/video/transition/generate.post.responses.200.description": "c88a0b90", + "paths./proxy/pixverse/video/transition/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/pixverse/video/transition/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/pixverse/video/transition/generate.post.responses.402.description": "a117c80b", + "paths./proxy/pixverse/video/transition/generate.post.responses.429.description": "95a111e3", + "paths./proxy/pixverse/video/transition/generate.post.responses.500.description": "ee066afe", + "paths./proxy/pixverse/video/transition/generate.post.summary": "077f2628", + "paths./proxy/quiver/v1/svgs/generations.post.description": "06f40dad", + "paths./proxy/quiver/v1/svgs/generations.post.responses.200.description": "45d1da63", + "paths./proxy/quiver/v1/svgs/generations.post.responses.400.description": "917ef22f", + "paths./proxy/quiver/v1/svgs/generations.post.responses.401.description": "d089c8a9", + "paths./proxy/quiver/v1/svgs/generations.post.responses.402.description": "7248dc26", + "paths./proxy/quiver/v1/svgs/generations.post.responses.429.description": "edfc871b", + "paths./proxy/quiver/v1/svgs/generations.post.responses.500.description": "f74d7444", + "paths./proxy/quiver/v1/svgs/generations.post.summary": "2bec578e", + "paths./proxy/quiver/v1/svgs/vectorizations.post.description": "b3f62a10", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.200.description": "5da364f5", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.400.description": "917ef22f", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.401.description": "d089c8a9", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.402.description": "7248dc26", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.429.description": "edfc871b", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.500.description": "f74d7444", + "paths./proxy/quiver/v1/svgs/vectorizations.post.summary": "e3d69581", + "paths./proxy/recraft/image_generation.post.description": "03ecc8f2", + "paths./proxy/recraft/image_generation.post.responses.200.description": "27e36b45", + "paths./proxy/recraft/image_generation.post.responses.400.description": "9f7eaca8", + "paths./proxy/recraft/image_generation.post.responses.401.description": "d089c8a9", + "paths./proxy/recraft/image_generation.post.responses.402.description": "a117c80b", + "paths./proxy/recraft/image_generation.post.responses.429.description": "95a111e3", + "paths./proxy/recraft/image_generation.post.responses.500.description": "ee066afe", + "paths./proxy/recraft/image_generation.post.responses.502.description": "54ad0adf", + "paths./proxy/recraft/image_generation.post.responses.504.description": "85156865", + "paths./proxy/recraft/image_generation.post.summary": "999597e2", + "paths./proxy/recraft/images/creativeUpscale.post.responses.200.description": "565339bc", + "paths./proxy/recraft/images/creativeUpscale.post.summary": "187af255", + "paths./proxy/recraft/images/crispUpscale.post.requestBody.content.multipart/form-data.schema.properties.file.description": "98a38389", + "paths./proxy/recraft/images/crispUpscale.post.responses.200.description": "f97a8651", + "paths./proxy/recraft/images/crispUpscale.post.responses.400.description": "62f8b967", + "paths./proxy/recraft/images/crispUpscale.post.responses.401.description": "41e101c9", + "paths./proxy/recraft/images/crispUpscale.post.summary": "c5809fb1", + "paths./proxy/recraft/images/imageToImage.post.responses.200.description": "565339bc", + "paths./proxy/recraft/images/imageToImage.post.summary": "5092afb8", + "paths./proxy/recraft/images/inpaint.post.responses.200.description": "565339bc", + "paths./proxy/recraft/images/inpaint.post.summary": "cec3a1df", + "paths./proxy/recraft/images/removeBackground.post.requestBody.content.multipart/form-data.schema.properties.file.description": "98a38389", + "paths./proxy/recraft/images/removeBackground.post.responses.200.content.application/json.schema.properties.image.properties.url.description": "5f5e6224", + "paths./proxy/recraft/images/removeBackground.post.responses.200.description": "f97a8651", + "paths./proxy/recraft/images/removeBackground.post.responses.400.description": "62f8b967", + "paths./proxy/recraft/images/removeBackground.post.responses.401.description": "41e101c9", + "paths./proxy/recraft/images/removeBackground.post.summary": "571a4d0e", + "paths./proxy/recraft/images/replaceBackground.post.responses.200.description": "565339bc", + "paths./proxy/recraft/images/replaceBackground.post.summary": "6098f769", + "paths./proxy/recraft/images/vectorize.post.requestBody.content.multipart/form-data.schema.properties.file.description": "98a38389", + "paths./proxy/recraft/images/vectorize.post.responses.200.description": "f97a8651", + "paths./proxy/recraft/images/vectorize.post.responses.400.description": "62f8b967", + "paths./proxy/recraft/images/vectorize.post.responses.401.description": "41e101c9", + "paths./proxy/recraft/images/vectorize.post.summary": "ba1c724e", + "paths./proxy/recraft/styles.post.description": "f6c5ddee", + "paths./proxy/recraft/styles.post.responses.200.description": "565339bc", + "paths./proxy/recraft/styles.post.summary": "5c02b638", + "paths./proxy/reve/v1/image/create.post.description": "c1717cbd", + "paths./proxy/reve/v1/image/create.post.responses.200.description": "645f32e9", + "paths./proxy/reve/v1/image/create.post.responses.400.description": "7c41b898", + "paths./proxy/reve/v1/image/create.post.responses.401.description": "d089c8a9", + "paths./proxy/reve/v1/image/create.post.responses.402.description": "a117c80b", + "paths./proxy/reve/v1/image/create.post.responses.429.description": "95a111e3", + "paths./proxy/reve/v1/image/create.post.responses.500.description": "e41656eb", + "paths./proxy/reve/v1/image/create.post.summary": "d5fee69e", + "paths./proxy/reve/v1/image/edit.post.description": "ee796760", + "paths./proxy/reve/v1/image/edit.post.responses.200.description": "645f32e9", + "paths./proxy/reve/v1/image/edit.post.responses.400.description": "7c41b898", + "paths./proxy/reve/v1/image/edit.post.responses.401.description": "d089c8a9", + "paths./proxy/reve/v1/image/edit.post.responses.402.description": "a117c80b", + "paths./proxy/reve/v1/image/edit.post.responses.429.description": "95a111e3", + "paths./proxy/reve/v1/image/edit.post.responses.500.description": "e41656eb", + "paths./proxy/reve/v1/image/edit.post.summary": "6b8353ce", + "paths./proxy/reve/v1/image/remix.post.description": "ee68bd2c", + "paths./proxy/reve/v1/image/remix.post.responses.200.description": "645f32e9", + "paths./proxy/reve/v1/image/remix.post.responses.400.description": "7c41b898", + "paths./proxy/reve/v1/image/remix.post.responses.401.description": "d089c8a9", + "paths./proxy/reve/v1/image/remix.post.responses.402.description": "a117c80b", + "paths./proxy/reve/v1/image/remix.post.responses.429.description": "95a111e3", + "paths./proxy/reve/v1/image/remix.post.responses.500.description": "e41656eb", + "paths./proxy/reve/v1/image/remix.post.summary": "cddde1cc", + "paths./proxy/rodin/api/v2/download.post.responses.200.description": "3999aec8", + "paths./proxy/rodin/api/v2/download.post.responses.400.description": "7c41b898", + "paths./proxy/rodin/api/v2/download.post.responses.401.description": "d089c8a9", + "paths./proxy/rodin/api/v2/download.post.responses.403.description": "78342a09", + "paths./proxy/rodin/api/v2/download.post.responses.404.description": "0019dfc4", + "paths./proxy/rodin/api/v2/download.post.responses.500.description": "e41656eb", + "paths./proxy/rodin/api/v2/download.post.summary": "095ff59e", + "paths./proxy/rodin/api/v2/rodin.post.responses.200.description": "0116fd55", + "paths./proxy/rodin/api/v2/rodin.post.responses.400.description": "7c41b898", + "paths./proxy/rodin/api/v2/rodin.post.responses.401.description": "d089c8a9", + "paths./proxy/rodin/api/v2/rodin.post.responses.403.description": "78342a09", + "paths./proxy/rodin/api/v2/rodin.post.responses.404.description": "0019dfc4", + "paths./proxy/rodin/api/v2/rodin.post.responses.500.description": "e41656eb", + "paths./proxy/rodin/api/v2/rodin.post.summary": "b2fc7293", + "paths./proxy/rodin/api/v2/status.post.responses.200.description": "27024051", + "paths./proxy/rodin/api/v2/status.post.responses.400.description": "7c41b898", + "paths./proxy/rodin/api/v2/status.post.responses.401.description": "d089c8a9", + "paths./proxy/rodin/api/v2/status.post.responses.403.description": "78342a09", + "paths./proxy/rodin/api/v2/status.post.responses.404.description": "0019dfc4", + "paths./proxy/rodin/api/v2/status.post.responses.500.description": "e41656eb", + "paths./proxy/rodin/api/v2/status.post.summary": "9e6ccafe", + "paths./proxy/runway/image_to_video.post.description": "673810c4", + "paths./proxy/runway/image_to_video.post.responses.200.description": "40c36e17", + "paths./proxy/runway/image_to_video.post.responses.400.description": "917ef22f", + "paths./proxy/runway/image_to_video.post.responses.401.description": "d089c8a9", + "paths./proxy/runway/image_to_video.post.responses.402.description": "a117c80b", + "paths./proxy/runway/image_to_video.post.responses.500.description": "f74d7444", + "paths./proxy/runway/image_to_video.post.summary": "2d4970b1", + "paths./proxy/runway/tasks/{task_id}.get.description": "3c1df576", + "paths./proxy/runway/tasks/{task_id}.get.parameters[0].description": "fbda5257", + "paths./proxy/runway/tasks/{task_id}.get.responses.200.description": "40c36e17", + "paths./proxy/runway/tasks/{task_id}.get.responses.400.description": "917ef22f", + "paths./proxy/runway/tasks/{task_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/runway/tasks/{task_id}.get.responses.402.description": "a117c80b", + "paths./proxy/runway/tasks/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/runway/tasks/{task_id}.get.responses.500.description": "f74d7444", + "paths./proxy/runway/tasks/{task_id}.get.summary": "fb4c354d", + "paths./proxy/runway/text_to_image.post.description": "d0865efe", + "paths./proxy/runway/text_to_image.post.responses.200.description": "40c36e17", + "paths./proxy/runway/text_to_image.post.responses.400.description": "917ef22f", + "paths./proxy/runway/text_to_image.post.responses.401.description": "d089c8a9", + "paths./proxy/runway/text_to_image.post.responses.402.description": "a117c80b", + "paths./proxy/runway/text_to_image.post.responses.500.description": "f74d7444", + "paths./proxy/runway/text_to_image.post.summary": "d8c5983e", + "paths./proxy/runway/video_to_video.post.description": "a0a979c4", + "paths./proxy/runway/video_to_video.post.responses.200.description": "40c36e17", + "paths./proxy/runway/video_to_video.post.responses.400.description": "917ef22f", + "paths./proxy/runway/video_to_video.post.responses.401.description": "d089c8a9", + "paths./proxy/runway/video_to_video.post.responses.402.description": "a117c80b", + "paths./proxy/runway/video_to_video.post.responses.500.description": "f74d7444", + "paths./proxy/runway/video_to_video.post.summary": "ca19c74e", + "paths./proxy/seedance/assets.get.description": "b049439b", + "paths./proxy/seedance/assets.get.parameters[0].description": "2f0314bb", + "paths./proxy/seedance/assets.get.parameters[1].description": "0a5e90eb", + "paths./proxy/seedance/assets.get.responses.200.description": "e5631ebc", + "paths./proxy/seedance/assets.get.responses.default.description": "8409f13c", + "paths./proxy/seedance/assets.get.summary": "ff3dc0f1", + "paths./proxy/seedance/assets.post.responses.201.description": "b4371a21", + "paths./proxy/seedance/assets.post.responses.default.description": "8409f13c", + "paths./proxy/seedance/assets/{asset_id}.get.parameters[0].description": "0e67095f", + "paths./proxy/seedance/assets/{asset_id}.get.responses.200.description": "f77dd9dc", + "paths./proxy/seedance/assets/{asset_id}.get.responses.default.description": "8409f13c", + "paths./proxy/seedance/virtual-library/assets.post.responses.201.description": "b4371a21", + "paths./proxy/seedance/virtual-library/assets.post.responses.default.description": "8409f13c", + "paths./proxy/seedance/visual-validate/groups.get.description": "9d094e0e", + "paths./proxy/seedance/visual-validate/groups.get.responses.200.description": "a8237a93", + "paths./proxy/seedance/visual-validate/groups.get.responses.default.description": "8409f13c", + "paths./proxy/seedance/visual-validate/groups.get.summary": "d8060470", + "paths./proxy/seedance/visual-validate/sessions.post.responses.201.description": "d9eee2c8", + "paths./proxy/seedance/visual-validate/sessions.post.responses.default.description": "8409f13c", + "paths./proxy/seedance/visual-validate/sessions/{session_id}.get.parameters[0].description": "b4bdc3e9", + "paths./proxy/seedance/visual-validate/sessions/{session_id}.get.responses.200.description": "8b90128f", + "paths./proxy/seedance/visual-validate/sessions/{session_id}.get.responses.default.description": "8409f13c", + "paths./proxy/sonilo/t2m/generate.post.description": "f83aff50", + "paths./proxy/sonilo/t2m/generate.post.responses.200.description": "1965c62d", + "paths./proxy/sonilo/t2m/generate.post.responses.400.description": "7c41b898", + "paths./proxy/sonilo/t2m/generate.post.responses.401.description": "068db6e7", + "paths./proxy/sonilo/t2m/generate.post.responses.402.description": "97da4d58", + "paths./proxy/sonilo/t2m/generate.post.responses.422.description": "ecc1b371", + "paths./proxy/sonilo/t2m/generate.post.responses.429.description": "0711f0be", + "paths./proxy/sonilo/t2m/generate.post.responses.502.description": "fafda5e3", + "paths./proxy/sonilo/t2m/generate.post.summary": "9ad5f20f", + "paths./proxy/sonilo/v2m/generate.post.description": "205222dc", + "paths./proxy/sonilo/v2m/generate.post.responses.200.description": "1965c62d", + "paths./proxy/sonilo/v2m/generate.post.responses.400.description": "7c41b898", + "paths./proxy/sonilo/v2m/generate.post.responses.401.description": "068db6e7", + "paths./proxy/sonilo/v2m/generate.post.responses.402.description": "97da4d58", + "paths./proxy/sonilo/v2m/generate.post.responses.422.description": "ecc1b371", + "paths./proxy/sonilo/v2m/generate.post.responses.429.description": "0711f0be", + "paths./proxy/sonilo/v2m/generate.post.responses.502.description": "fafda5e3", + "paths./proxy/sonilo/v2m/generate.post.summary": "95239527", + "paths./proxy/tencent/hunyuan/3d-part.post.description": "bb702811", + "paths./proxy/tencent/hunyuan/3d-part.post.responses.200.description": "8edcb694", + "paths./proxy/tencent/hunyuan/3d-part.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-part.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-part.post.responses.402.description": "a117c80b", + "paths./proxy/tencent/hunyuan/3d-part.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-part.post.summary": "209a1ed2", + "paths./proxy/tencent/hunyuan/3d-part/query.post.description": "d080a90b", + "paths./proxy/tencent/hunyuan/3d-part/query.post.responses.200.description": "582b91c5", + "paths./proxy/tencent/hunyuan/3d-part/query.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-part/query.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-part/query.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-part/query.post.summary": "54c17887", + "paths./proxy/tencent/hunyuan/3d-pro.post.description": "1964bc92", + "paths./proxy/tencent/hunyuan/3d-pro.post.responses.200.description": "8edcb694", + "paths./proxy/tencent/hunyuan/3d-pro.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-pro.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-pro.post.responses.402.description": "a117c80b", + "paths./proxy/tencent/hunyuan/3d-pro.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-pro.post.summary": "153ad499", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.description": "3bcc3781", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.responses.200.description": "582b91c5", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.summary": "114bfd7b", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.description": "0371fb60", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.responses.200.description": "8edcb694", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.responses.402.description": "a117c80b", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.summary": "3987286a", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.description": "559eeeb7", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.responses.200.description": "582b91c5", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.summary": "1aaa7644", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.description": "d084e935", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.responses.200.description": "8edcb694", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.responses.402.description": "a117c80b", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.summary": "e434d87f", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.description": "c12a07af", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.responses.200.description": "582b91c5", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.summary": "8c65d72a", + "paths./proxy/tencent/hunyuan/3d-uv.post.description": "8ef12ed5", + "paths./proxy/tencent/hunyuan/3d-uv.post.responses.200.description": "8edcb694", + "paths./proxy/tencent/hunyuan/3d-uv.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-uv.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-uv.post.responses.402.description": "a117c80b", + "paths./proxy/tencent/hunyuan/3d-uv.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-uv.post.summary": "5f33c0a3", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.description": "b8fcadf8", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.responses.200.description": "582b91c5", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.summary": "f7a9b0a1", + "paths./proxy/topaz/image/v1/download/{process_id}.get.parameters[0].description": "13f93401", + "paths./proxy/topaz/image/v1/download/{process_id}.get.responses.200.description": "f0838b5b", + "paths./proxy/topaz/image/v1/download/{process_id}.get.responses.default.description": "8409f13c", + "paths./proxy/topaz/image/v1/enhance-gen/async.post.responses.200.description": "30c9dfa3", + "paths./proxy/topaz/image/v1/enhance-gen/async.post.responses.default.description": "8409f13c", + "paths./proxy/topaz/image/v1/status/{process_id}.get.parameters[0].description": "13f93401", + "paths./proxy/topaz/image/v1/status/{process_id}.get.responses.200.description": "be1404b0", + "paths./proxy/topaz/image/v1/status/{process_id}.get.responses.default.description": "8409f13c", + "paths./proxy/topaz/video/.post.responses.200.description": "13b1332e", + "paths./proxy/topaz/video/.post.responses.default.description": "8409f13c", + "paths./proxy/topaz/video/{request_id}/accept.patch.parameters[0].description": "f963f77b", + "paths./proxy/topaz/video/{request_id}/accept.patch.responses.200.description": "4cd90302", + "paths./proxy/topaz/video/{request_id}/accept.patch.responses.default.description": "8409f13c", + "paths./proxy/topaz/video/{request_id}/complete-upload.patch.description": "4e83212b", + "paths./proxy/topaz/video/{request_id}/complete-upload.patch.parameters[0].description": "f963f77b", + "paths./proxy/topaz/video/{request_id}/complete-upload.patch.responses.202.description": "b63264af", + "paths./proxy/topaz/video/{request_id}/complete-upload.patch.responses.default.description": "8409f13c", + "paths./proxy/topaz/video/{request_id}/complete-upload.patch.summary": "e33d6cfb", + "paths./proxy/topaz/video/{request_id}/status.get.parameters[0].description": "f963f77b", + "paths./proxy/topaz/video/{request_id}/status.get.responses.200.description": "7d9d3e9a", + "paths./proxy/topaz/video/{request_id}/status.get.responses.default.description": "8409f13c", + "paths./proxy/tripo/v2/openapi/import.post.description": "3838102b", + "paths./proxy/tripo/v2/openapi/import.post.requestBody.content.application/json.schema.properties.format.description": "87dc40d2", + "paths./proxy/tripo/v2/openapi/import.post.requestBody.content.application/json.schema.properties.url.description": "59c448b7", + "paths./proxy/tripo/v2/openapi/import.post.responses.200.description": "64628cb3", + "paths./proxy/tripo/v2/openapi/import.post.responses.400.description": "51443a02", + "paths./proxy/tripo/v2/openapi/import.post.responses.401.description": "93821eb7", + "paths./proxy/tripo/v2/openapi/import.post.responses.403.description": "4ffc2105", + "paths./proxy/tripo/v2/openapi/import.post.responses.413.description": "ada8587c", + "paths./proxy/tripo/v2/openapi/import.post.responses.429.description": "266777a4", + "paths./proxy/tripo/v2/openapi/import.post.responses.500.description": "f74d7444", + "paths./proxy/tripo/v2/openapi/import.post.responses.502.description": "ec3813b3", + "paths./proxy/tripo/v2/openapi/import.post.responses.503.description": "461b88ea", + "paths./proxy/tripo/v2/openapi/import.post.responses.504.description": "1f208284", + "paths./proxy/tripo/v2/openapi/import.post.summary": "85d09df8", + "paths./proxy/tripo/v2/openapi/task.post.responses.200.description": "cea40f4f", + "paths./proxy/tripo/v2/openapi/task.post.responses.400.description": "51443a02", + "paths./proxy/tripo/v2/openapi/task.post.responses.401.description": "93821eb7", + "paths./proxy/tripo/v2/openapi/task.post.responses.403.description": "4ffc2105", + "paths./proxy/tripo/v2/openapi/task.post.responses.404.description": "739e3da4", + "paths./proxy/tripo/v2/openapi/task.post.responses.429.description": "266777a4", + "paths./proxy/tripo/v2/openapi/task.post.responses.500.description": "f74d7444", + "paths./proxy/tripo/v2/openapi/task.post.responses.503.description": "461b88ea", + "paths./proxy/tripo/v2/openapi/task.post.responses.504.description": "1f208284", + "paths./proxy/tripo/v2/openapi/task.post.summary": "4c901ae7", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.200.description": "cea40f4f", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.400.description": "51443a02", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.401.description": "93821eb7", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.403.description": "4ffc2105", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.404.description": "739e3da4", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.429.description": "266777a4", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.500.description": "f74d7444", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.503.description": "461b88ea", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.504.description": "1f208284", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.summary": "e12523e1", + "paths./proxy/tripo/v2/openapi/upload.post.responses.200.description": "cea40f4f", + "paths./proxy/tripo/v2/openapi/upload.post.responses.400.description": "51443a02", + "paths./proxy/tripo/v2/openapi/upload.post.responses.401.description": "93821eb7", + "paths./proxy/tripo/v2/openapi/upload.post.responses.403.description": "4ffc2105", + "paths./proxy/tripo/v2/openapi/upload.post.responses.404.description": "739e3da4", + "paths./proxy/tripo/v2/openapi/upload.post.responses.429.description": "266777a4", + "paths./proxy/tripo/v2/openapi/upload.post.responses.500.description": "f74d7444", + "paths./proxy/tripo/v2/openapi/upload.post.responses.503.description": "461b88ea", + "paths./proxy/tripo/v2/openapi/upload.post.responses.504.description": "1f208284", + "paths./proxy/tripo/v2/openapi/upload.post.summary": "f7727c20", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.200.description": "cea40f4f", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.400.description": "51443a02", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.401.description": "93821eb7", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.403.description": "4ffc2105", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.404.description": "739e3da4", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.429.description": "266777a4", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.500.description": "f74d7444", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.503.description": "461b88ea", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.504.description": "1f208284", + "paths./proxy/tripo/v2/openapi/user/balance.get.summary": "6b09d03d", + "paths./proxy/veo/generate.post.responses.200.description": "dee1245c", + "paths./proxy/veo/generate.post.responses.400.description": "917ef22f", + "paths./proxy/veo/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/veo/generate.post.responses.403.description": "78342a09", + "paths./proxy/veo/generate.post.responses.500.description": "f74d7444", + "paths./proxy/veo/generate.post.summary": "9af18243", + "paths./proxy/veo/poll.post.responses.200.description": "7e41c698", + "paths./proxy/veo/poll.post.responses.400.description": "917ef22f", + "paths./proxy/veo/poll.post.responses.401.description": "d089c8a9", + "paths./proxy/veo/poll.post.responses.404.description": "3f88a5a0", + "paths./proxy/veo/poll.post.responses.500.description": "1dac8dea", + "paths./proxy/veo/poll.post.summary": "6055ef82", + "paths./proxy/veo/{modelId}/generate.post.parameters[0].description": "afb4b9e5", + "paths./proxy/veo/{modelId}/generate.post.responses.200.description": "dee1245c", + "paths./proxy/veo/{modelId}/generate.post.responses.400.description": "917ef22f", + "paths./proxy/veo/{modelId}/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/veo/{modelId}/generate.post.responses.403.description": "78342a09", + "paths./proxy/veo/{modelId}/generate.post.responses.500.description": "f74d7444", + "paths./proxy/veo/{modelId}/generate.post.summary": "6acf95a2", + "paths./proxy/veo/{modelId}/poll.post.parameters[0].description": "a590ba10", + "paths./proxy/veo/{modelId}/poll.post.responses.200.description": "7e41c698", + "paths./proxy/veo/{modelId}/poll.post.responses.400.description": "917ef22f", + "paths./proxy/veo/{modelId}/poll.post.responses.401.description": "d089c8a9", + "paths./proxy/veo/{modelId}/poll.post.responses.404.description": "3f88a5a0", + "paths./proxy/veo/{modelId}/poll.post.responses.500.description": "1dac8dea", + "paths./proxy/veo/{modelId}/poll.post.summary": "3f5973fa", + "paths./proxy/vertexai/gemini/{model}.post.parameters[0].description": "586e9303", + "paths./proxy/vertexai/gemini/{model}.post.responses.200.description": "515d9b5f", + "paths./proxy/vertexai/gemini/{model}.post.responses.400.description": "7c41b898", + "paths./proxy/vertexai/gemini/{model}.post.responses.401.description": "d089c8a9", + "paths./proxy/vertexai/gemini/{model}.post.responses.403.description": "78342a09", + "paths./proxy/vertexai/gemini/{model}.post.responses.404.description": "0019dfc4", + "paths./proxy/vertexai/gemini/{model}.post.responses.500.description": "e41656eb", + "paths./proxy/vertexai/gemini/{model}.post.summary": "abf33cc6", + "paths./proxy/vertexai/imagen/{model}.parameters[0].description": "d5a70290", + "paths./proxy/vertexai/imagen/{model}.post.responses.200.description": "f192b5ee", + "paths./proxy/vertexai/imagen/{model}.post.responses.4XX.description": "bc19cec2", + "paths./proxy/vertexai/imagen/{model}.post.responses.5XX.description": "dfe0c2e8", + "paths./proxy/vertexai/imagen/{model}.post.summary": "cd30b88b", + "paths./proxy/vidu/extend.post.responses.200.description": "565339bc", + "paths./proxy/vidu/extend.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/extend.post.responses.default.description": "8409f13c", + "paths./proxy/vidu/img2video.post.responses.200.description": "565339bc", + "paths./proxy/vidu/img2video.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/img2video.post.responses.default.description": "8409f13c", + "paths./proxy/vidu/multiframe.post.responses.200.description": "565339bc", + "paths./proxy/vidu/multiframe.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/multiframe.post.responses.default.description": "8409f13c", + "paths./proxy/vidu/reference2video.post.responses.200.description": "565339bc", + "paths./proxy/vidu/reference2video.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/reference2video.post.responses.default.description": "8409f13c", + "paths./proxy/vidu/start-end2video.post.responses.200.description": "565339bc", + "paths./proxy/vidu/start-end2video.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/start-end2video.post.responses.default.description": "8409f13c", + "paths./proxy/vidu/tasks/{id}/creations.get.responses.200.description": "565339bc", + "paths./proxy/vidu/tasks/{id}/creations.get.responses.400.description": "8409f13c", + "paths./proxy/vidu/tasks/{id}/creations.get.responses.default.description": "8409f13c", + "paths./proxy/vidu/text2video.post.responses.200.description": "565339bc", + "paths./proxy/vidu/text2video.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/text2video.post.responses.default.description": "8409f13c", + "paths./proxy/wan/api/v1/services/aigc/image2image/image-synthesis.post.responses.200.description": "54f0e9cc", + "paths./proxy/wan/api/v1/services/aigc/image2image/image-synthesis.post.responses.default.description": "8409f13c", + "paths./proxy/wan/api/v1/services/aigc/text2image/image-synthesis.post.responses.200.description": "9625b5ed", + "paths./proxy/wan/api/v1/services/aigc/text2image/image-synthesis.post.responses.default.description": "8409f13c", + "paths./proxy/wan/api/v1/services/aigc/video-generation/video-synthesis.post.responses.200.description": "dbfebbe0", + "paths./proxy/wan/api/v1/services/aigc/video-generation/video-synthesis.post.responses.default.description": "8409f13c", + "paths./proxy/wan/api/v1/tasks/{task_id}.get.parameters[0].description": "fd7b5d77", + "paths./proxy/wan/api/v1/tasks/{task_id}.get.responses.200.description": "047d6c18", + "paths./proxy/wan/api/v1/tasks/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.description": "d7bca488", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.parameters[0].description": "d94ca2ca", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.responses.200.description": "f5e1abbd", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.responses.401.description": "d089c8a9", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.responses.402.description": "a117c80b", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.responses.404.description": "b19fa293", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.responses.500.description": "e41656eb", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.summary": "cedc78a0", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.description": "7343b2c9", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.responses.200.description": "8edcb694", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.responses.400.description": "7c41b898", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.responses.401.description": "d089c8a9", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.responses.402.description": "a117c80b", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.responses.500.description": "e41656eb", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.summary": "5f2feac6", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.description": "4e43c396", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.responses.200.description": "8edcb694", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.responses.400.description": "7c41b898", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.responses.401.description": "d089c8a9", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.responses.402.description": "a117c80b", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.responses.500.description": "e41656eb", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.summary": "7e17a689", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.description": "060c79fd", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.responses.200.description": "8edcb694", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.responses.400.description": "7c41b898", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.responses.401.description": "d089c8a9", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.responses.402.description": "a117c80b", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.responses.500.description": "e41656eb", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.summary": "483a37e2", + "paths./proxy/xai/v1/images/edits.post.description": "59791ab2", + "paths./proxy/xai/v1/images/edits.post.responses.200.description": "8015e228", + "paths./proxy/xai/v1/images/edits.post.responses.400.description": "917ef22f", + "paths./proxy/xai/v1/images/edits.post.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/images/edits.post.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/images/edits.post.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/images/edits.post.summary": "02d84c09", + "paths./proxy/xai/v1/images/generations.post.description": "79cd9503", + "paths./proxy/xai/v1/images/generations.post.responses.200.description": "9d3c2d5e", + "paths./proxy/xai/v1/images/generations.post.responses.400.description": "917ef22f", + "paths./proxy/xai/v1/images/generations.post.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/images/generations.post.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/images/generations.post.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/images/generations.post.summary": "bc48f4ec", + "paths./proxy/xai/v1/videos/edits.post.description": "18969ba2", + "paths./proxy/xai/v1/videos/edits.post.responses.200.description": "ab0ff3a6", + "paths./proxy/xai/v1/videos/edits.post.responses.400.description": "917ef22f", + "paths./proxy/xai/v1/videos/edits.post.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/videos/edits.post.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/videos/edits.post.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/videos/edits.post.summary": "65a921b5", + "paths./proxy/xai/v1/videos/extensions.post.description": "c327279c", + "paths./proxy/xai/v1/videos/extensions.post.responses.200.description": "9e151d0e", + "paths./proxy/xai/v1/videos/extensions.post.responses.400.description": "917ef22f", + "paths./proxy/xai/v1/videos/extensions.post.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/videos/extensions.post.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/videos/extensions.post.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/videos/extensions.post.summary": "d1540c9d", + "paths./proxy/xai/v1/videos/generations.post.description": "38349c93", + "paths./proxy/xai/v1/videos/generations.post.responses.200.description": "3389c1a2", + "paths./proxy/xai/v1/videos/generations.post.responses.400.description": "917ef22f", + "paths./proxy/xai/v1/videos/generations.post.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/videos/generations.post.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/videos/generations.post.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/videos/generations.post.summary": "55d69e67", + "paths./proxy/xai/v1/videos/{request_id}.get.description": "08deaa6a", + "paths./proxy/xai/v1/videos/{request_id}.get.parameters[0].description": "e79e7873", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.200.description": "74c07da7", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.202.description": "5e4c4ba0", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.404.description": "9a0d564f", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/videos/{request_id}.get.summary": "97cfedc8", + "paths./publishers.get.responses.200.description": "92c8ac11", + "paths./publishers.get.responses.400.description": "dba61b63", + "paths./publishers.get.responses.500.description": "f74d7444", + "paths./publishers.get.summary": "cbb17385", + "paths./publishers.post.responses.201.description": "16c98905", + "paths./publishers.post.responses.400.description": "dba61b63", + "paths./publishers.post.responses.401.description": "d089c8a9", + "paths./publishers.post.responses.403.description": "78342a09", + "paths./publishers.post.responses.500.description": "f74d7444", + "paths./publishers.post.summary": "7c7459d7", + "paths./publishers/validate.get.description": "cf5aad52", + "paths./publishers/validate.get.parameters[0].description": "78cd7279", + "paths./publishers/validate.get.responses.200.content.application/json.schema.properties.isAvailable.description": "309380c7", + "paths./publishers/validate.get.responses.200.description": "640549fb", + "paths./publishers/validate.get.responses.400.description": "a9dfb554", + "paths./publishers/validate.get.responses.500.description": "f74d7444", + "paths./publishers/validate.get.summary": "d3ca8f05", + "paths./publishers/{publisherId}.delete.responses.204.description": "02837f17", + "paths./publishers/{publisherId}.delete.responses.404.description": "0740d653", + "paths./publishers/{publisherId}.delete.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}.delete.summary": "0d83f1bf", + "paths./publishers/{publisherId}.get.responses.200.description": "42694dd0", + "paths./publishers/{publisherId}.get.responses.404.description": "0740d653", + "paths./publishers/{publisherId}.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}.get.summary": "0cc04d7e", + "paths./publishers/{publisherId}.put.responses.200.description": "13ec6c24", + "paths./publishers/{publisherId}.put.responses.400.description": "dba61b63", + "paths./publishers/{publisherId}.put.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}.put.responses.404.description": "0740d653", + "paths./publishers/{publisherId}.put.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}.put.summary": "3644cd04", + "paths./publishers/{publisherId}/ban.post.responses.204.description": "370ecd5b", + "paths./publishers/{publisherId}/ban.post.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/ban.post.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/ban.post.responses.404.description": "0740d653", + "paths./publishers/{publisherId}/ban.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/ban.post.summary": "fa5408b8", + "paths./publishers/{publisherId}/nodes.get.parameters[1].description": "53a39ce1", + "paths./publishers/{publisherId}/nodes.get.responses.200.description": "5ff08fd0", + "paths./publishers/{publisherId}/nodes.get.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/nodes.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes.get.summary": "8bdb5301", + "paths./publishers/{publisherId}/nodes.post.responses.201.description": "aaaa9f70", + "paths./publishers/{publisherId}/nodes.post.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/nodes.post.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/nodes.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes.post.summary": "32db20d9", + "paths./publishers/{publisherId}/nodes/v2.get.parameters[1].description": "53a39ce1", + "paths./publishers/{publisherId}/nodes/v2.get.parameters[2].description": "c4e7217e", + "paths./publishers/{publisherId}/nodes/v2.get.parameters[3].description": "53a39ce1", + "paths./publishers/{publisherId}/nodes/v2.get.responses.200.content.application/json.schema.properties.limit.description": "fcc7d3ca", + "paths./publishers/{publisherId}/nodes/v2.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./publishers/{publisherId}/nodes/v2.get.responses.200.content.application/json.schema.properties.total.description": "162e699d", + "paths./publishers/{publisherId}/nodes/v2.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./publishers/{publisherId}/nodes/v2.get.responses.200.description": "5ff08fd0", + "paths./publishers/{publisherId}/nodes/v2.get.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/nodes/v2.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/v2.get.summary": "8bdb5301", + "paths./publishers/{publisherId}/nodes/{nodeId}.delete.responses.204.description": "39592c31", + "paths./publishers/{publisherId}/nodes/{nodeId}.delete.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/nodes/{nodeId}.delete.responses.404.description": "aa0a65c4", + "paths./publishers/{publisherId}/nodes/{nodeId}.delete.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}.delete.summary": "2bc562ee", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.200.description": "eb81f62a", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.400.description": "dba61b63", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.404.description": "aa0a65c4", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.summary": "b4d0f8c2", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.responses.204.description": "79d047c9", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.responses.404.description": "3093d590", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.summary": "ff7cfa17", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.description": "86917fc1", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.204.description": "6fe8773e", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.400.description": "dba61b63", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.403.description": "7fc9087a", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.429.description": "2eb6f985", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.503.description": "3c612faf", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.summary": "e0526ff8", + "paths./publishers/{publisherId}/nodes/{nodeId}/permissions.get.responses.200.description": "eb1f0160", + "paths./publishers/{publisherId}/nodes/{nodeId}/permissions.get.responses.400.description": "dba61b63", + "paths./publishers/{publisherId}/nodes/{nodeId}/permissions.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}/permissions.get.summary": "3b639104", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.responses.201.content.application/json.schema.properties.signedUrl.description": "c4a7b0b5", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.responses.201.description": "2df9fda5", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.summary": "900d25f4", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.delete.responses.204.description": "dd1290c7", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.delete.responses.403.description": "13e5a8c8", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.delete.responses.404.description": "a8f65ec3", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.delete.responses.500.description": "a8f65ec3", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.delete.summary": "5dbbce05", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.description": "4253d9fe", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.200.description": "00fe4ff4", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.404.description": "a8f65ec3", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.summary": "09c2b0bc", + "paths./publishers/{publisherId}/permissions.get.responses.200.description": "eb1f0160", + "paths./publishers/{publisherId}/permissions.get.responses.400.description": "dba61b63", + "paths./publishers/{publisherId}/permissions.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/permissions.get.summary": "3b639104", + "paths./publishers/{publisherId}/tokens.get.responses.200.description": "f787f537", + "paths./publishers/{publisherId}/tokens.get.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/tokens.get.responses.404.description": "6cd980a3", + "paths./publishers/{publisherId}/tokens.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/tokens.get.summary": "3411df77", + "paths./publishers/{publisherId}/tokens.post.responses.201.content.application/json.schema.properties.token.description": "be34f017", + "paths./publishers/{publisherId}/tokens.post.responses.201.description": "8a862b19", + "paths./publishers/{publisherId}/tokens.post.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/tokens.post.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/tokens.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/tokens.post.summary": "8e826869", + "paths./publishers/{publisherId}/tokens/{tokenId}.delete.responses.204.description": "b6f640d3", + "paths./publishers/{publisherId}/tokens/{tokenId}.delete.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/tokens/{tokenId}.delete.responses.404.description": "4441b4b4", + "paths./publishers/{publisherId}/tokens/{tokenId}.delete.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/tokens/{tokenId}.delete.summary": "1624a59d", + "paths./releases.get.description": "e4fdf90d", + "paths./releases.get.parameters[0].description": "dd278d62", + "paths./releases.get.parameters[1].description": "e4d775ea", + "paths./releases.get.parameters[2].description": "a8c58a4f", + "paths./releases.get.parameters[3].description": "bb2e76a5", + "paths./releases.get.responses.200.description": "a4dd7cb8", + "paths./releases.get.responses.400.description": "917ef22f", + "paths./releases.get.responses.500.description": "f74d7444", + "paths./releases.get.summary": "14ada97f", + "paths./releases.post.description": "a842ef47", + "paths./releases.post.parameters[0].description": "909174b6", + "paths./releases.post.parameters[1].description": "d27e14a5", + "paths./releases.post.parameters[2].description": "c92d1bb8", + "paths./releases.post.parameters[3].description": "c94ce32a", + "paths./releases.post.parameters[4].description": "c8a554f1", + "paths./releases.post.parameters[5].description": "c0dc262a", + "paths./releases.post.responses.200.description": "95fdc4a3", + "paths./releases.post.responses.400.description": "917ef22f", + "paths./releases.post.responses.422.description": "e776259f", + "paths./releases.post.responses.500.description": "f74d7444", + "paths./releases.post.summary": "48f8f918", + "paths./security-scan.get.description": "c629b4bf", + "paths./security-scan.get.responses.200.description": "650ff67b", + "paths./security-scan.get.responses.400.description": "6f1bff5c", + "paths./security-scan.get.responses.401.description": "d089c8a9", + "paths./security-scan.get.responses.403.description": "78342a09", + "paths./security-scan.get.responses.500.description": "f74d7444", + "paths./security-scan.get.summary": "b34e683f", + "paths./seedance/complete.get.description": "33e9f874", + "paths./seedance/complete.get.responses.200.description": "73c25803", + "paths./seedance/complete.get.summary": "6d558167", + "paths./upload-artifact.post.description": "576e4b72", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.author.description": "ca8d53a3", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.avg_vram.description": "2ebb156c", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.bucket_name.description": "4f3266dc", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.comfy_logs_gcs_path.description": "1fb83c3b", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.comfy_run_flags.description": "d7ab2c4d", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.commit_message.description": "a9b3aa3b", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.commit_time.description": "e258160b", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.cuda_version.description": "33847c50", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.end_time.description": "3c8b1181", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.job_id.description": "1a700aa1", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.job_trigger_user.description": "23f77367", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.os.description": "cbb04682", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.output_files_gcs_paths.description": "782da257", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.peak_vram.description": "0e440b9d", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.pr_number.description": "4a1cf9cc", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.python_version.description": "47f1f629", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.pytorch_version.description": "177e7017", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.repo.description": "a2b1b3f2", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.run_id.description": "b2b34376", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.start_time.description": "df9e2884", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.workflow_name.description": "53cac216", + "paths./upload-artifact.post.responses.200.description": "02a61c62", + "paths./upload-artifact.post.responses.400.description": "330509ca", + "paths./upload-artifact.post.responses.500.description": "f74d7444", + "paths./upload-artifact.post.summary": "576e4b72", + "paths./users.get.responses.200.description": "565339bc", + "paths./users.get.responses.401.description": "d089c8a9", + "paths./users.get.responses.404.description": "0019dfc4", + "paths./users.get.summary": "d22fc11c", + "paths./users/publishers/.get.responses.200.description": "92c8ac11", + "paths./users/publishers/.get.responses.400.description": "dba61b63", + "paths./users/publishers/.get.responses.500.description": "f74d7444", + "paths./users/publishers/.get.summary": "4149b709", + "paths./versions.get.parameters[3].description": "6ec2b657", + "paths./versions.get.parameters[4].description": "ed00c158", + "paths./versions.get.parameters[5].description": "72d501b9", + "paths./versions.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./versions.get.responses.200.content.application/json.schema.properties.pageSize.description": "eef6d527", + "paths./versions.get.responses.200.content.application/json.schema.properties.total.description": "3f0069e4", + "paths./versions.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./versions.get.responses.200.description": "ef524454", + "paths./versions.get.responses.400.description": "46a3caa3", + "paths./versions.get.responses.403.description": "5f496730", + "paths./versions.get.responses.500.description": "f74d7444", + "paths./versions.get.summary": "e44646cd", + "paths./webhook/metronome/zero-balance.post.requestBody.content.application/json.schema.properties.id.description": "71afb603", + "paths./webhook/metronome/zero-balance.post.requestBody.content.application/json.schema.properties.properties.properties.customer_id.description": "b39746e6", + "paths./webhook/metronome/zero-balance.post.requestBody.content.application/json.schema.properties.properties.properties.remaining_balance.description": "a3c74503", + "paths./webhook/metronome/zero-balance.post.requestBody.content.application/json.schema.properties.type.description": "f064ab97", + "paths./webhook/metronome/zero-balance.post.responses.200.description": "8834908a", + "paths./webhook/metronome/zero-balance.post.responses.400.description": "7c41b898", + "paths./webhook/metronome/zero-balance.post.responses.401.description": "d089c8a9", + "paths./webhook/metronome/zero-balance.post.responses.500.description": "ee066afe", + "paths./webhook/metronome/zero-balance.post.summary": "6c390474", + "paths./webhook/stripe/invoice-status.post.responses.200.description": "95fdc4a3", + "paths./webhook/stripe/invoice-status.post.responses.400.description": "7c41b898", + "paths./webhook/stripe/invoice-status.post.responses.401.description": "d089c8a9", + "paths./webhook/stripe/invoice-status.post.responses.500.description": "ee066afe", + "paths./webhook/stripe/invoice-status.post.summary": "4b2a25cc", + "paths./webhook/stripe/subscription.post.requestBody.content.application/json.schema.description": "e4f2fe17", + "paths./webhook/stripe/subscription.post.responses.200.description": "95fdc4a3", + "paths./webhook/stripe/subscription.post.responses.400.description": "7c41b898", + "paths./webhook/stripe/subscription.post.responses.401.description": "d089c8a9", + "paths./webhook/stripe/subscription.post.responses.500.description": "ee066afe", + "paths./webhook/stripe/subscription.post.summary": "9fb29d41", + "paths./workflowresult/{workflowResultId}.get.responses.200.description": "6e5e5410", + "paths./workflowresult/{workflowResultId}.get.responses.404.description": "54ff4f53", + "paths./workflowresult/{workflowResultId}.get.responses.500.description": "f74d7444", + "paths./workflowresult/{workflowResultId}.get.summary": "19ff5513" + } +} diff --git a/openapi/.i18n/registry.ko.json b/openapi/.i18n/registry.ko.json new file mode 100644 index 000000000..303170f64 --- /dev/null +++ b/openapi/.i18n/registry.ko.json @@ -0,0 +1,5462 @@ +{ + "translationSourceHash": "f7e0ff5a", + "translationFrom": "openapi/registry.en.yaml", + "blockHashes": { + "components.parameters.PixverseAiTraceId.description": "d0e75bc6", + "components.schemas.APIKeyWithPlaintext.allOf[1].properties.plaintext_key.description": "6ddb56d5", + "components.schemas.ActionJobResult.properties.action_job_id.description": "daef6d2e", + "components.schemas.ActionJobResult.properties.action_run_id.description": "e793b185", + "components.schemas.ActionJobResult.properties.author.description": "ca8d53a3", + "components.schemas.ActionJobResult.properties.avg_vram.description": "e3020151", + "components.schemas.ActionJobResult.properties.branch_name.description": "8a98b89f", + "components.schemas.ActionJobResult.properties.comfy_run_flags.description": "749d26e1", + "components.schemas.ActionJobResult.properties.commit_hash.description": "5d73c6d8", + "components.schemas.ActionJobResult.properties.commit_id.description": "3908dd37", + "components.schemas.ActionJobResult.properties.commit_message.description": "4db956a2", + "components.schemas.ActionJobResult.properties.commit_time.description": "9a8b6a6c", + "components.schemas.ActionJobResult.properties.cuda_version.description": "fd9fdd17", + "components.schemas.ActionJobResult.properties.end_time.description": "3c8b1181", + "components.schemas.ActionJobResult.properties.git_repo.description": "921f3564", + "components.schemas.ActionJobResult.properties.id.description": "f7170612", + "components.schemas.ActionJobResult.properties.job_trigger_user.description": "ae3f4f9b", + "components.schemas.ActionJobResult.properties.operating_system.description": "0c210883", + "components.schemas.ActionJobResult.properties.peak_vram.description": "97291f7c", + "components.schemas.ActionJobResult.properties.pr_number.description": "4a1cf9cc", + "components.schemas.ActionJobResult.properties.python_version.description": "baae61e6", + "components.schemas.ActionJobResult.properties.pytorch_version.description": "baae61e6", + "components.schemas.ActionJobResult.properties.start_time.description": "df9e2884", + "components.schemas.ActionJobResult.properties.workflow_name.description": "c3ec1b65", + "components.schemas.AnthropicCacheCreationUsage.description": "19775c6a", + "components.schemas.AnthropicCreateMessageRequest.description": "fdb8999b", + "components.schemas.AnthropicCreateMessageRequest.properties.max_tokens.description": "ff6bb043", + "components.schemas.AnthropicCreateMessageRequest.properties.messages.description": "434935e9", + "components.schemas.AnthropicCreateMessageRequest.properties.model.description": "d23996fe", + "components.schemas.AnthropicCreateMessageRequest.properties.stream.description": "35425c62", + "components.schemas.AnthropicCreateMessageRequest.properties.system.description": "71314cd6", + "components.schemas.AnthropicCreateMessageResponse.description": "bbbc4c19", + "components.schemas.AnthropicMessageParam.description": "5d21dee7", + "components.schemas.AnthropicMessageParam.properties.content.description": "1fc73a17", + "components.schemas.AnthropicMessagesUsage.description": "26a61cdf", + "components.schemas.AuditLog.properties.createdAt.description": "2e240dfe", + "components.schemas.AuditLog.properties.event_id.description": "16361c3c", + "components.schemas.AuditLog.properties.event_type.description": "710c7cce", + "components.schemas.AuditLog.properties.params.description": "9ee7be5d", + "components.schemas.BFLCannyInputs.properties.canny_high_threshold.description": "7b3cc51e", + "components.schemas.BFLCannyInputs.properties.canny_low_threshold.description": "0e343825", + "components.schemas.BFLCannyInputs.properties.control_image.description": "551169bc", + "components.schemas.BFLCannyInputs.properties.guidance.description": "25be3f6c", + "components.schemas.BFLCannyInputs.properties.output_format.description": "024c37ce", + "components.schemas.BFLCannyInputs.properties.preprocessed_image.description": "d0c836b6", + "components.schemas.BFLCannyInputs.properties.prompt.description": "80e0d34a", + "components.schemas.BFLCannyInputs.properties.prompt_upsampling.description": "45115ff8", + "components.schemas.BFLCannyInputs.properties.safety_tolerance.description": "30884eb3", + "components.schemas.BFLCannyInputs.properties.seed.description": "5efb4870", + "components.schemas.BFLCannyInputs.properties.steps.description": "db9e6222", + "components.schemas.BFLCannyInputs.properties.webhook_secret.description": "6666be04", + "components.schemas.BFLCannyInputs.properties.webhook_url.description": "a421e9a7", + "components.schemas.BFLDepthInputs.properties.control_image.description": "e83048ef", + "components.schemas.BFLDepthInputs.properties.guidance.description": "25be3f6c", + "components.schemas.BFLDepthInputs.properties.output_format.description": "024c37ce", + "components.schemas.BFLDepthInputs.properties.preprocessed_image.description": "d0c836b6", + "components.schemas.BFLDepthInputs.properties.prompt.description": "80e0d34a", + "components.schemas.BFLDepthInputs.properties.prompt_upsampling.description": "45115ff8", + "components.schemas.BFLDepthInputs.properties.safety_tolerance.description": "30884eb3", + "components.schemas.BFLDepthInputs.properties.seed.description": "5efb4870", + "components.schemas.BFLDepthInputs.properties.steps.description": "db9e6222", + "components.schemas.BFLDepthInputs.properties.webhook_secret.description": "6666be04", + "components.schemas.BFLDepthInputs.properties.webhook_url.description": "a421e9a7", + "components.schemas.BFLEraseV1Request.description": "b86118a5", + "components.schemas.BFLEraseV1Request.properties.dilate_pixels.description": "bb705848", + "components.schemas.BFLEraseV1Request.properties.image.description": "beed3eb4", + "components.schemas.BFLEraseV1Request.properties.mask.description": "1db35db3", + "components.schemas.BFLEraseV1Request.properties.safety_tolerance.description": "9759db77", + "components.schemas.BFLEraseV1Request.properties.seed.description": "00512dbf", + "components.schemas.BFLEraseV1Request.properties.webhook_secret.description": "7535eb93", + "components.schemas.BFLEraseV1Request.properties.webhook_url.description": "ab936c6b", + "components.schemas.BFLFlux2ProGenerateRequest.description": "7a3d4121", + "components.schemas.BFLFlux2ProGenerateRequest.properties.height.description": "c7eee913", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_2.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_3.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_4.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_5.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_6.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_7.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_8.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_9.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.output_format.description": "8e5447a3", + "components.schemas.BFLFlux2ProGenerateRequest.properties.prompt.description": "cc7ceb3a", + "components.schemas.BFLFlux2ProGenerateRequest.properties.prompt_upsampling.description": "c8855729", + "components.schemas.BFLFlux2ProGenerateRequest.properties.safety_tolerance.description": "7afeee5f", + "components.schemas.BFLFlux2ProGenerateRequest.properties.seed.description": "83baff8c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.width.description": "d193c292", + "components.schemas.BFLFluxKontextMaxGenerateRequest.properties.guidance.description": "878d4a1e", + "components.schemas.BFLFluxKontextMaxGenerateRequest.properties.input_image.description": "08095ed0", + "components.schemas.BFLFluxKontextMaxGenerateRequest.properties.prompt.description": "02a16457", + "components.schemas.BFLFluxKontextMaxGenerateRequest.properties.steps.description": "9738299f", + "components.schemas.BFLFluxKontextMaxGenerateResponse.properties.id.description": "663380ea", + "components.schemas.BFLFluxKontextMaxGenerateResponse.properties.polling_url.description": "f719be1b", + "components.schemas.BFLFluxKontextProGenerateRequest.properties.guidance.description": "878d4a1e", + "components.schemas.BFLFluxKontextProGenerateRequest.properties.input_image.description": "08095ed0", + "components.schemas.BFLFluxKontextProGenerateRequest.properties.prompt.description": "02a16457", + "components.schemas.BFLFluxKontextProGenerateRequest.properties.steps.description": "9738299f", + "components.schemas.BFLFluxKontextProGenerateResponse.properties.id.description": "663380ea", + "components.schemas.BFLFluxKontextProGenerateResponse.properties.polling_url.description": "f719be1b", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.height.description": "5b105659", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.image_prompt.description": "b8130025", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.output_format.description": "ebb90ddf", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.prompt.description": "bd498b60", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.prompt_upsampling.description": "15678a13", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.safety_tolerance.description": "e837a919", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.seed.description": "92b1d65d", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.webhook_secret.description": "19b34e1a", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.webhook_url.description": "8f50f2ae", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.width.description": "396ef2bd", + "components.schemas.BFLFluxPro1_1GenerateResponse.properties.id.description": "663380ea", + "components.schemas.BFLFluxPro1_1GenerateResponse.properties.polling_url.description": "f719be1b", + "components.schemas.BFLFluxProExpandInputs.properties.bottom.description": "1d502329", + "components.schemas.BFLFluxProExpandInputs.properties.guidance.description": "25be3f6c", + "components.schemas.BFLFluxProExpandInputs.properties.image.description": "19ad8e9b", + "components.schemas.BFLFluxProExpandInputs.properties.left.description": "85f66e6d", + "components.schemas.BFLFluxProExpandInputs.properties.output_format.description": "024c37ce", + "components.schemas.BFLFluxProExpandInputs.properties.prompt.description": "1a3cc2b7", + "components.schemas.BFLFluxProExpandInputs.properties.prompt_upsampling.description": "010ead89", + "components.schemas.BFLFluxProExpandInputs.properties.right.description": "2d73d428", + "components.schemas.BFLFluxProExpandInputs.properties.safety_tolerance.description": "30884eb3", + "components.schemas.BFLFluxProExpandInputs.properties.seed.description": "5efb4870", + "components.schemas.BFLFluxProExpandInputs.properties.steps.description": "db9e6222", + "components.schemas.BFLFluxProExpandInputs.properties.top.description": "22511d07", + "components.schemas.BFLFluxProExpandInputs.properties.webhook_secret.description": "6666be04", + "components.schemas.BFLFluxProExpandInputs.properties.webhook_url.description": "a421e9a7", + "components.schemas.BFLFluxProFillInputs.properties.guidance.description": "25be3f6c", + "components.schemas.BFLFluxProFillInputs.properties.image.description": "5fbf6fd9", + "components.schemas.BFLFluxProFillInputs.properties.mask.description": "0d4c1744", + "components.schemas.BFLFluxProFillInputs.properties.output_format.description": "024c37ce", + "components.schemas.BFLFluxProFillInputs.properties.prompt.description": "b3452b93", + "components.schemas.BFLFluxProFillInputs.properties.prompt_upsampling.description": "010ead89", + "components.schemas.BFLFluxProFillInputs.properties.safety_tolerance.description": "30884eb3", + "components.schemas.BFLFluxProFillInputs.properties.seed.description": "5efb4870", + "components.schemas.BFLFluxProFillInputs.properties.steps.description": "db9e6222", + "components.schemas.BFLFluxProFillInputs.properties.webhook_secret.description": "6666be04", + "components.schemas.BFLFluxProFillInputs.properties.webhook_url.description": "a421e9a7", + "components.schemas.BFLFluxProGenerateRequest.description": "53bbc5c5", + "components.schemas.BFLFluxProGenerateRequest.properties.guidance_scale.description": "28069e51", + "components.schemas.BFLFluxProGenerateRequest.properties.height.description": "cec942d6", + "components.schemas.BFLFluxProGenerateRequest.properties.negative_prompt.description": "d3185df1", + "components.schemas.BFLFluxProGenerateRequest.properties.num_images.description": "4b673228", + "components.schemas.BFLFluxProGenerateRequest.properties.num_inference_steps.description": "dd1abe86", + "components.schemas.BFLFluxProGenerateRequest.properties.prompt.description": "f1416aa5", + "components.schemas.BFLFluxProGenerateRequest.properties.seed.description": "2ea650a9", + "components.schemas.BFLFluxProGenerateRequest.properties.width.description": "ebc37ae7", + "components.schemas.BFLFluxProGenerateResponse.description": "fe818853", + "components.schemas.BFLFluxProGenerateResponse.properties.cost.description": "76c7ac53", + "components.schemas.BFLFluxProGenerateResponse.properties.id.description": "c932383d", + "components.schemas.BFLFluxProGenerateResponse.properties.input_mp.description": "c888b0b5", + "components.schemas.BFLFluxProGenerateResponse.properties.output_mp.description": "e2725759", + "components.schemas.BFLFluxProGenerateResponse.properties.polling_url.description": "c6006f2c", + "components.schemas.BFLVtoV1Request.description": "0a8deea8", + "components.schemas.BFLVtoV1Request.properties.garment.description": "653b8dc3", + "components.schemas.BFLVtoV1Request.properties.person.description": "a78e9043", + "components.schemas.BFLVtoV1Request.properties.prompt.description": "5875e01e", + "components.schemas.BFLVtoV1Request.properties.safety_tolerance.description": "b53d1af0", + "components.schemas.BFLVtoV1Request.properties.seed.description": "00512dbf", + "components.schemas.BFLVtoV1Request.properties.webhook_secret.description": "7535eb93", + "components.schemas.BFLVtoV1Request.properties.webhook_url.description": "ab936c6b", + "components.schemas.BeebleAlphaMode.description": "76af500f", + "components.schemas.BeebleCreateSwitchXRequest.description": "f202cc17", + "components.schemas.BeebleCreateSwitchXRequest.properties.alpha_uri.description": "5339d42d", + "components.schemas.BeebleCreateSwitchXRequest.properties.callback_url.description": "edefe34b", + "components.schemas.BeebleCreateSwitchXRequest.properties.idempotency_key.description": "56fd73c6", + "components.schemas.BeebleCreateSwitchXRequest.properties.max_resolution.description": "71467e7c", + "components.schemas.BeebleCreateSwitchXRequest.properties.prompt.description": "8b32a4d1", + "components.schemas.BeebleCreateSwitchXRequest.properties.reference_image_uri.description": "fa798ae1", + "components.schemas.BeebleCreateSwitchXRequest.properties.source_uri.description": "c29a8863", + "components.schemas.BeebleGenerationType.description": "0fcd33bb", + "components.schemas.BeebleSwitchXOutputUrls.description": "6ebb4862", + "components.schemas.BeebleSwitchXOutputUrls.properties.alpha.description": "c0109dc4", + "components.schemas.BeebleSwitchXOutputUrls.properties.render.description": "9c19881a", + "components.schemas.BeebleSwitchXOutputUrls.properties.source.description": "3f05b55e", + "components.schemas.BeebleSwitchXStatusResponse.description": "c99a04e8", + "components.schemas.BeebleSwitchXStatusResponse.properties.alpha_mode.description": "e050ea0f", + "components.schemas.BeebleSwitchXStatusResponse.properties.completed_at.description": "9ad53e82", + "components.schemas.BeebleSwitchXStatusResponse.properties.created_at.description": "956de41a", + "components.schemas.BeebleSwitchXStatusResponse.properties.error.description": "be838a66", + "components.schemas.BeebleSwitchXStatusResponse.properties.generation_type.description": "de19e25c", + "components.schemas.BeebleSwitchXStatusResponse.properties.id.description": "c8adadc7", + "components.schemas.BeebleSwitchXStatusResponse.properties.modified_at.description": "d0c43a8f", + "components.schemas.BeebleSwitchXStatusResponse.properties.output.description": "ca06c135", + "components.schemas.BeebleSwitchXStatusResponse.properties.progress.description": "07ef3e6a", + "components.schemas.BeebleSwitchXStatusResponse.properties.status.description": "ed399377", + "components.schemas.BeebleSwitchXStatusResponse.properties.webhook.description": "3034e5a2", + "components.schemas.BeebleUploadRequest.description": "3c73d4b5", + "components.schemas.BeebleUploadRequest.properties.filename.description": "3c2f852d", + "components.schemas.BeebleUploadResponse.description": "1583b2c9", + "components.schemas.BeebleUploadResponse.properties.beeble_uri.description": "40e3256a", + "components.schemas.BeebleUploadResponse.properties.id.description": "82426d10", + "components.schemas.BeebleUploadResponse.properties.upload_url.description": "28a7d80a", + "components.schemas.BeebleWebhookStatus.description": "cab210b2", + "components.schemas.BeebleWebhookStatus.properties.attempts.description": "549b632e", + "components.schemas.BeebleWebhookStatus.properties.last_error.description": "b95f2fbe", + "components.schemas.BeebleWebhookStatus.properties.status.description": "7e26782c", + "components.schemas.BriaAsyncResponse.description": "b241d044", + "components.schemas.BriaAsyncResponse.properties.request_id.description": "b113d99c", + "components.schemas.BriaAsyncResponse.properties.status_url.description": "75187147", + "components.schemas.BriaAsyncResponse.properties.warning.description": "167dca56", + "components.schemas.BriaErrorResponse.description": "b0bb76c6", + "components.schemas.BriaErrorResponse.properties.error.properties.code.description": "a148e2a1", + "components.schemas.BriaErrorResponse.properties.error.properties.details.description": "add98b42", + "components.schemas.BriaErrorResponse.properties.error.properties.message.description": "d0e4554d", + "components.schemas.BriaErrorResponse.properties.request_id.description": "b113d99c", + "components.schemas.BriaFiboEditRequest.description": "ec0093c0", + "components.schemas.BriaFiboEditRequest.properties.guidance_scale.description": "d7057805", + "components.schemas.BriaFiboEditRequest.properties.images.description": "ab2ecd3f", + "components.schemas.BriaFiboEditRequest.properties.instruction.description": "d7dc59e5", + "components.schemas.BriaFiboEditRequest.properties.ip_signal.description": "8efb502e", + "components.schemas.BriaFiboEditRequest.properties.mask.description": "c47e22bd", + "components.schemas.BriaFiboEditRequest.properties.model_version.description": "796582a3", + "components.schemas.BriaFiboEditRequest.properties.negative_prompt.description": "860767b9", + "components.schemas.BriaFiboEditRequest.properties.prompt_content_moderation.description": "8d552f1a", + "components.schemas.BriaFiboEditRequest.properties.seed.description": "2b29ee4d", + "components.schemas.BriaFiboEditRequest.properties.steps_num.description": "97723e83", + "components.schemas.BriaFiboEditRequest.properties.structured_instruction.description": "abae2e88", + "components.schemas.BriaFiboEditRequest.properties.visual_input_content_moderation.description": "cbe35d19", + "components.schemas.BriaFiboEditRequest.properties.visual_output_content_moderation.description": "435dc252", + "components.schemas.BriaImageRemoveBackgroundRequest.description": "45477053", + "components.schemas.BriaImageRemoveBackgroundRequest.properties.image.description": "604d546c", + "components.schemas.BriaImageRemoveBackgroundRequest.properties.preserve_alpha.description": "d9e37591", + "components.schemas.BriaImageRemoveBackgroundRequest.properties.sync.description": "8cab0293", + "components.schemas.BriaImageRemoveBackgroundRequest.properties.visual_input_content_moderation.description": "d4f43c8d", + "components.schemas.BriaImageRemoveBackgroundRequest.properties.visual_output_content_moderation.description": "1dd1c2b5", + "components.schemas.BriaStatusNotFoundResponse.description": "38f58cd5", + "components.schemas.BriaStatusResponse.description": "b160872f", + "components.schemas.BriaStatusResponse.properties.error.description": "673ac8e3", + "components.schemas.BriaStatusResponse.properties.error.properties.code.description": "a148e2a1", + "components.schemas.BriaStatusResponse.properties.error.properties.details.description": "add98b42", + "components.schemas.BriaStatusResponse.properties.error.properties.message.description": "d0e4554d", + "components.schemas.BriaStatusResponse.properties.request_id.description": "b113d99c", + "components.schemas.BriaStatusResponse.properties.result.description": "bb8ae65a", + "components.schemas.BriaStatusResponse.properties.result.properties.image_url.description": "0d6f292f", + "components.schemas.BriaStatusResponse.properties.result.properties.prompt.description": "32df02db", + "components.schemas.BriaStatusResponse.properties.result.properties.refined_prompt.description": "f65f85bd", + "components.schemas.BriaStatusResponse.properties.result.properties.seed.description": "05ae5139", + "components.schemas.BriaStatusResponse.properties.result.properties.structured_prompt.description": "5ae65eb7", + "components.schemas.BriaStatusResponse.properties.result.properties.video_url.description": "d14bb11d", + "components.schemas.BriaStatusResponse.properties.status.description": "d7cf3a1e", + "components.schemas.BriaStructuredInstructionRequest.description": "3b99b4d0", + "components.schemas.BriaStructuredInstructionRequest.properties.images.description": "16c040f9", + "components.schemas.BriaStructuredInstructionRequest.properties.instruction.description": "5325adc2", + "components.schemas.BriaStructuredInstructionRequest.properties.ip_signal.description": "8efb502e", + "components.schemas.BriaStructuredInstructionRequest.properties.mask.description": "c47e22bd", + "components.schemas.BriaStructuredInstructionRequest.properties.prompt_content_moderation.description": "8d552f1a", + "components.schemas.BriaStructuredInstructionRequest.properties.seed.description": "2b29ee4d", + "components.schemas.BriaStructuredInstructionRequest.properties.visual_input_content_moderation.description": "cbe35d19", + "components.schemas.BriaVideoGreenScreenRequest.description": "46705fe5", + "components.schemas.BriaVideoGreenScreenRequest.properties.green_shade.description": "ed3a779f", + "components.schemas.BriaVideoGreenScreenRequest.properties.output_container_and_codec.description": "37f2d2e1", + "components.schemas.BriaVideoGreenScreenRequest.properties.preserve_audio.description": "487118bd", + "components.schemas.BriaVideoGreenScreenRequest.properties.video.description": "ea578bac", + "components.schemas.BriaVideoRemoveBackgroundRequest.description": "68f87c30", + "components.schemas.BriaVideoRemoveBackgroundRequest.properties.background_color.description": "77420966", + "components.schemas.BriaVideoRemoveBackgroundRequest.properties.output_container_and_codec.description": "37f2d2e1", + "components.schemas.BriaVideoRemoveBackgroundRequest.properties.preserve_audio.description": "487118bd", + "components.schemas.BriaVideoRemoveBackgroundRequest.properties.video.description": "ea578bac", + "components.schemas.BriaVideoReplaceBackgroundRequest.description": "1b3a195e", + "components.schemas.BriaVideoReplaceBackgroundRequest.properties.background_url.description": "a7ce7d45", + "components.schemas.BriaVideoReplaceBackgroundRequest.properties.output_container_and_codec.description": "37f2d2e1", + "components.schemas.BriaVideoReplaceBackgroundRequest.properties.preserve_audio.description": "059c4087", + "components.schemas.BriaVideoReplaceBackgroundRequest.properties.video.description": "2c8588b9", + "components.schemas.BulkNodeVersionResult.properties.error_message.description": "15860572", + "components.schemas.BulkNodeVersionResult.properties.status.description": "9e24ea2a", + "components.schemas.BulkNodeVersionsRequest.properties.node_versions.description": "a7356a2d", + "components.schemas.BulkNodeVersionsResponse.properties.node_versions.description": "5592cc6d", + "components.schemas.BytePlusFile.description": "983aadb6", + "components.schemas.BytePlusFile.properties.bytes.description": "f005c966", + "components.schemas.BytePlusFile.properties.created_at.description": "f600f964", + "components.schemas.BytePlusFile.properties.error.description": "33574cdb", + "components.schemas.BytePlusFile.properties.error.properties.code.description": "a148e2a1", + "components.schemas.BytePlusFile.properties.error.properties.message.description": "3537af57", + "components.schemas.BytePlusFile.properties.expire_at.description": "029714f4", + "components.schemas.BytePlusFile.properties.id.description": "5bb2d03f", + "components.schemas.BytePlusFile.properties.mime_type.description": "8249f1da", + "components.schemas.BytePlusFile.properties.object.description": "27b5832e", + "components.schemas.BytePlusFile.properties.purpose.description": "61fbd531", + "components.schemas.BytePlusFile.properties.status.description": "f3878f1a", + "components.schemas.BytePlusFilePreprocessConfigs.description": "953e00e6", + "components.schemas.BytePlusFilePreprocessConfigs.properties.video.properties.fps.description": "7374dd9b", + "components.schemas.BytePlusFilePreprocessConfigs.properties.video.properties.model.description": "312f13a9", + "components.schemas.BytePlusFileUploadRequest.description": "1bdfbca3", + "components.schemas.BytePlusFileUploadRequest.properties.expire_at.description": "a653bdee", + "components.schemas.BytePlusFileUploadRequest.properties.file.description": "e1664afd", + "components.schemas.BytePlusFileUploadRequest.properties.purpose.description": "31139c3a", + "components.schemas.BytePlusImageGenerationRequest.properties.guidance_scale.description": "119d5d77", + "components.schemas.BytePlusImageGenerationRequest.properties.image.description": "dd718c72", + "components.schemas.BytePlusImageGenerationRequest.properties.image.oneOf[0].description": "3297ad6f", + "components.schemas.BytePlusImageGenerationRequest.properties.image.oneOf[1].description": "9f09326d", + "components.schemas.BytePlusImageGenerationRequest.properties.optimize_prompt_options.description": "fc5a9a04", + "components.schemas.BytePlusImageGenerationRequest.properties.optimize_prompt_options.properties.mode.description": "5b25a681", + "components.schemas.BytePlusImageGenerationRequest.properties.output_format.description": "c5bbdff4", + "components.schemas.BytePlusImageGenerationRequest.properties.prompt.description": "51d8162c", + "components.schemas.BytePlusImageGenerationRequest.properties.response_format.description": "bc222daa", + "components.schemas.BytePlusImageGenerationRequest.properties.seed.description": "69ce4a52", + "components.schemas.BytePlusImageGenerationRequest.properties.sequential_image_generation.description": "c10a9df3", + "components.schemas.BytePlusImageGenerationRequest.properties.sequential_image_generation_options.description": "be70b5ae", + "components.schemas.BytePlusImageGenerationRequest.properties.sequential_image_generation_options.properties.max_images.description": "62d0ffdf", + "components.schemas.BytePlusImageGenerationRequest.properties.size.description": "e5b7d62d", + "components.schemas.BytePlusImageGenerationRequest.properties.stream.description": "75f646dd", + "components.schemas.BytePlusImageGenerationRequest.properties.watermark.description": "92574fab", + "components.schemas.BytePlusImageGenerationResponse.properties.created.description": "ccda61af", + "components.schemas.BytePlusImageGenerationResponse.properties.data.description": "1d46812f", + "components.schemas.BytePlusImageGenerationResponse.properties.data.items.properties.b64_json.description": "62ddd4ea", + "components.schemas.BytePlusImageGenerationResponse.properties.data.items.properties.output_format.description": "c200cd26", + "components.schemas.BytePlusImageGenerationResponse.properties.data.items.properties.size.description": "82079d73", + "components.schemas.BytePlusImageGenerationResponse.properties.data.items.properties.url.description": "40fa247f", + "components.schemas.BytePlusImageGenerationResponse.properties.error.description": "ede07331", + "components.schemas.BytePlusImageGenerationResponse.properties.error.properties.code.description": "0570b384", + "components.schemas.BytePlusImageGenerationResponse.properties.error.properties.message.description": "a5dc35f1", + "components.schemas.BytePlusImageGenerationResponse.properties.model.description": "1a7fa237", + "components.schemas.BytePlusImageGenerationResponse.properties.usage.properties.generated_images.description": "8b956927", + "components.schemas.BytePlusImageGenerationResponse.properties.usage.properties.input_images.description": "18ef6504", + "components.schemas.BytePlusImageGenerationResponse.properties.usage.properties.output_tokens.description": "53d392f5", + "components.schemas.BytePlusImageGenerationResponse.properties.usage.properties.total_tokens.description": "3645a87f", + "components.schemas.BytePlusResponseAppliedContextEdit.description": "277d20fb", + "components.schemas.BytePlusResponseAppliedContextEditClearThinking.properties.cleared_thinking_turns.description": "769cfd9c", + "components.schemas.BytePlusResponseAppliedContextEditClearToolUses.properties.cleared_tool_uses.description": "af2c0f43", + "components.schemas.BytePlusResponseAppliedContextManagement.description": "f22fa851", + "components.schemas.BytePlusResponseContextEdit.description": "752f45d9", + "components.schemas.BytePlusResponseContextEditClearThinking.description": "3cce4bcc", + "components.schemas.BytePlusResponseContextEditClearThinking.properties.keep.oneOf[0].properties.value.description": "d4ac6f73", + "components.schemas.BytePlusResponseContextEditClearThinking.properties.keep.oneOf[1].description": "596784bc", + "components.schemas.BytePlusResponseContextEditClearToolUses.description": "c2c6ede2", + "components.schemas.BytePlusResponseContextEditClearToolUses.properties.clear_tool_input.description": "b008713b", + "components.schemas.BytePlusResponseContextEditClearToolUses.properties.exclude_tools.description": "0ae85f69", + "components.schemas.BytePlusResponseContextEditClearToolUses.properties.keep.properties.value.description": "08fe1149", + "components.schemas.BytePlusResponseContextEditClearToolUses.properties.trigger.properties.value.description": "4190d2be", + "components.schemas.BytePlusResponseContextManagement.description": "2aa55aaf", + "components.schemas.BytePlusResponseCreateRequest.properties.caching.description": "3915f08a", + "components.schemas.BytePlusResponseCreateRequest.properties.caching.properties.prefix.description": "3fa6393a", + "components.schemas.BytePlusResponseCreateRequest.properties.expire_at.description": "d07320a2", + "components.schemas.BytePlusResponseCreateRequest.properties.include.description": "464a5cba", + "components.schemas.BytePlusResponseCreateRequest.properties.input.description": "c3e61329", + "components.schemas.BytePlusResponseCreateRequest.properties.input.oneOf[0].description": "65dd90ce", + "components.schemas.BytePlusResponseCreateRequest.properties.instructions.description": "e96e933f", + "components.schemas.BytePlusResponseCreateRequest.properties.max_output_tokens.description": "0d06c571", + "components.schemas.BytePlusResponseCreateRequest.properties.model.description": "82a906cb", + "components.schemas.BytePlusResponseCreateRequest.properties.previous_response_id.description": "1bed25a7", + "components.schemas.BytePlusResponseCreateRequest.properties.reasoning.description": "abe1bfaa", + "components.schemas.BytePlusResponseCreateRequest.properties.reasoning.properties.effort.description": "a13b1f23", + "components.schemas.BytePlusResponseCreateRequest.properties.store.description": "355c2603", + "components.schemas.BytePlusResponseCreateRequest.properties.text.description": "db5c8c84", + "components.schemas.BytePlusResponseCreateRequest.properties.thinking.description": "812f3a98", + "components.schemas.BytePlusResponseCreateRequest.properties.thinking.properties.type.description": "64eeec65", + "components.schemas.BytePlusResponseCreateRequest.properties.tool_choice.description": "5b531e83", + "components.schemas.BytePlusResponseError.description": "60ec7027", + "components.schemas.BytePlusResponseInputFile.description": "991477c7", + "components.schemas.BytePlusResponseInputFile.properties.file_data.description": "b982c887", + "components.schemas.BytePlusResponseInputFile.properties.file_id.description": "757bb036", + "components.schemas.BytePlusResponseInputFile.properties.file_url.description": "8b98d878", + "components.schemas.BytePlusResponseInputFile.properties.filename.description": "8f3ec9c5", + "components.schemas.BytePlusResponseInputFunctionCall.description": "997e4a6d", + "components.schemas.BytePlusResponseInputFunctionCall.properties.arguments.description": "f3fc2f88", + "components.schemas.BytePlusResponseInputFunctionCall.properties.call_id.description": "5fee99f5", + "components.schemas.BytePlusResponseInputFunctionCallOutput.description": "f8dbaf3b", + "components.schemas.BytePlusResponseInputImage.properties.file_id.description": "757bb036", + "components.schemas.BytePlusResponseInputImage.properties.image_pixel_limit.description": "c83af3ad", + "components.schemas.BytePlusResponseInputImage.properties.image_url.description": "893b7599", + "components.schemas.BytePlusResponseInputItem.description": "9807a2de", + "components.schemas.BytePlusResponseInputMessage.description": "0e12ef79", + "components.schemas.BytePlusResponseInputMessage.properties.content.oneOf[0].description": "5635d530", + "components.schemas.BytePlusResponseInputMessage.properties.partial.description": "4d5381ae", + "components.schemas.BytePlusResponseInputMessage.properties.status.description": "e45076ab", + "components.schemas.BytePlusResponseInputReasoning.description": "ce23b48f", + "components.schemas.BytePlusResponseInputReasoning.properties.content.description": "13735310", + "components.schemas.BytePlusResponseInputReasoning.properties.encrypted_content.description": "18415321", + "components.schemas.BytePlusResponseInputText.properties.translation_options.description": "d19ccde9", + "components.schemas.BytePlusResponseInputVideo.properties.file_id.description": "757bb036", + "components.schemas.BytePlusResponseInputVideo.properties.fps.description": "dbdc3f69", + "components.schemas.BytePlusResponseInputVideo.properties.video_url.description": "4d7151f5", + "components.schemas.BytePlusResponseMessageContent.description": "33103eca", + "components.schemas.BytePlusResponseObject.description": "24534a34", + "components.schemas.BytePlusResponseObject.properties.created_at.description": "40f8aff2", + "components.schemas.BytePlusResponseObject.properties.expire_at.description": "28a012c4", + "components.schemas.BytePlusResponseObject.properties.id.description": "9551bbb9", + "components.schemas.BytePlusResponseObject.properties.incomplete_details.description": "553300d1", + "components.schemas.BytePlusResponseObject.properties.incomplete_details.properties.reason.description": "ec4245f0", + "components.schemas.BytePlusResponseObject.properties.instructions.description": "5e81d3d9", + "components.schemas.BytePlusResponseObject.properties.model.description": "d82dfc81", + "components.schemas.BytePlusResponseObject.properties.output.description": "48cbdb23", + "components.schemas.BytePlusResponseObject.properties.service_tier.description": "caf4bbcd", + "components.schemas.BytePlusResponseObject.properties.text.description": "6f130787", + "components.schemas.BytePlusResponseOutputContent.description": "1b8f3b99", + "components.schemas.BytePlusResponseOutputItem.description": "540baca0", + "components.schemas.BytePlusResponseOutputMessage.description": "0c115da0", + "components.schemas.BytePlusResponseOutputMessage.properties.partial.description": "754e5758", + "components.schemas.BytePlusResponseTextFormat.description": "7ffeb47e", + "components.schemas.BytePlusResponseTextFormatJSONSchema.properties.description.description": "3aeac6ad", + "components.schemas.BytePlusResponseTextFormatJSONSchema.properties.name.description": "b92e02d3", + "components.schemas.BytePlusResponseTextFormatJSONSchema.properties.schema.description": "5a1916ec", + "components.schemas.BytePlusResponseTool.description": "6713a31f", + "components.schemas.BytePlusResponseTool.properties.parameters.description": "6cd490b5", + "components.schemas.BytePlusResponseToolChoiceObject.description": "74feb2d5", + "components.schemas.BytePlusResponseUsage.description": "ef0d7a50", + "components.schemas.BytePlusResponseUsage.properties.input_tokens.description": "9705bb67", + "components.schemas.BytePlusResponseUsage.properties.input_tokens_details.description": "046baa07", + "components.schemas.BytePlusResponseUsage.properties.input_tokens_details.properties.cached_tokens.description": "48e59421", + "components.schemas.BytePlusResponseUsage.properties.output_tokens.description": "c454d0f0", + "components.schemas.BytePlusResponseUsage.properties.output_tokens_details.description": "4ebdf7a0", + "components.schemas.BytePlusResponseUsage.properties.output_tokens_details.properties.reasoning_tokens.description": "40bf0d51", + "components.schemas.BytePlusResponseUsage.properties.tool_usage.description": "f9f5d14e", + "components.schemas.BytePlusResponseUsage.properties.tool_usage.properties.image_process.description": "0d06a5c5", + "components.schemas.BytePlusResponseUsage.properties.tool_usage.properties.mcp.description": "890e72b3", + "components.schemas.BytePlusResponseUsage.properties.tool_usage.properties.web_search.description": "0a674985", + "components.schemas.BytePlusResponseUsage.properties.tool_usage_details.description": "6c55d251", + "components.schemas.BytePlusResponseUsage.properties.tool_usage_details.properties.image_process.description": "f355d450", + "components.schemas.BytePlusResponseUsage.properties.tool_usage_details.properties.mcp.description": "be163fa6", + "components.schemas.BytePlusResponseUsage.properties.tool_usage_details.properties.web_search.description": "47a8d13b", + "components.schemas.BytePlusResponseUsage.properties.total_tokens.description": "ad7b6f4f", + "components.schemas.BytePlusTTSAudioConfig.description": "179a5e07", + "components.schemas.BytePlusTTSAudioConfig.properties.format.description": "a354c3e4", + "components.schemas.BytePlusTTSAudioConfig.properties.loudness_rate.description": "29bd9f93", + "components.schemas.BytePlusTTSAudioConfig.properties.pitch_rate.description": "a3b0a0cf", + "components.schemas.BytePlusTTSAudioConfig.properties.sample_rate.description": "ae93a18d", + "components.schemas.BytePlusTTSAudioConfig.properties.speech_rate.description": "4e646747", + "components.schemas.BytePlusTTSCreateRequest.description": "6c57a6a7", + "components.schemas.BytePlusTTSCreateRequest.properties.model.description": "cc1ea085", + "components.schemas.BytePlusTTSCreateRequest.properties.references.description": "be37eb47", + "components.schemas.BytePlusTTSCreateRequest.properties.text_prompt.description": "5f09d3e2", + "components.schemas.BytePlusTTSCreateRequest.properties.watermark.description": "d235abfc", + "components.schemas.BytePlusTTSCreateResponse.description": "b70c2e1e", + "components.schemas.BytePlusTTSCreateResponse.properties.audio.description": "0c8bbce9", + "components.schemas.BytePlusTTSCreateResponse.properties.code.description": "a2ee14ab", + "components.schemas.BytePlusTTSCreateResponse.properties.duration.description": "98e96573", + "components.schemas.BytePlusTTSCreateResponse.properties.message.description": "5164c210", + "components.schemas.BytePlusTTSCreateResponse.properties.original_duration.description": "ae658fb0", + "components.schemas.BytePlusTTSCreateResponse.properties.url.description": "da28036a", + "components.schemas.BytePlusTTSReference.description": "1f4ebd9e", + "components.schemas.BytePlusTTSReference.properties.audio_data.description": "62ec1de0", + "components.schemas.BytePlusTTSReference.properties.audio_url.description": "8323c035", + "components.schemas.BytePlusTTSReference.properties.image_data.description": "82ee5e04", + "components.schemas.BytePlusTTSReference.properties.image_url.description": "5290a854", + "components.schemas.BytePlusTTSReference.properties.speaker.description": "420297d6", + "components.schemas.BytePlusVideoGenerationContent.properties.audio_url.description": "b41837bf", + "components.schemas.BytePlusVideoGenerationContent.properties.audio_url.properties.url.description": "a4335192", + "components.schemas.BytePlusVideoGenerationContent.properties.image_url.properties.url.description": "d919fcbe", + "components.schemas.BytePlusVideoGenerationContent.properties.role.description": "1b44ac17", + "components.schemas.BytePlusVideoGenerationContent.properties.text.description": "f553210d", + "components.schemas.BytePlusVideoGenerationContent.properties.type.description": "736c34e7", + "components.schemas.BytePlusVideoGenerationContent.properties.video_url.description": "c32daad4", + "components.schemas.BytePlusVideoGenerationContent.properties.video_url.properties.url.description": "ad4d0bbc", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.content.description": "a99d9c6b", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.content.properties.video_url.description": "b6c60e1c", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.created_at.description": "509d9011", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.error.description": "effcbdf1", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.error.properties.code.description": "8f235976", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.error.properties.message.description": "84e45725", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.id.description": "ca6aca62", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.model.description": "af150e3d", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.status.description": "25728060", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.updated_at.description": "15a2437d", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.usage.description": "bf5065ae", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.usage.properties.completion_tokens.description": "5e37b2f9", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.usage.properties.total_tokens.description": "50f27a04", + "components.schemas.BytePlusVideoGenerationRequest.properties.callback_url.description": "4f196f3a", + "components.schemas.BytePlusVideoGenerationRequest.properties.content.description": "9ebabbe0", + "components.schemas.BytePlusVideoGenerationRequest.properties.duration.description": "8c63ec20", + "components.schemas.BytePlusVideoGenerationRequest.properties.execution_expires_after.description": "0f0c4cc3", + "components.schemas.BytePlusVideoGenerationRequest.properties.generate_audio.description": "a68b940a", + "components.schemas.BytePlusVideoGenerationRequest.properties.model.description": "3ce54ab0", + "components.schemas.BytePlusVideoGenerationRequest.properties.ratio.description": "23273a64", + "components.schemas.BytePlusVideoGenerationRequest.properties.resolution.description": "da569252", + "components.schemas.BytePlusVideoGenerationRequest.properties.return_last_frame.description": "3588617d", + "components.schemas.BytePlusVideoGenerationRequest.properties.seed.description": "e7b1cc28", + "components.schemas.BytePlusVideoGenerationRequest.properties.service_tier.description": "b88ec940", + "components.schemas.BytePlusVideoGenerationRequest.properties.watermark.description": "ec216a5b", + "components.schemas.BytePlusVideoGenerationResponse.properties.id.description": "ca6aca62", + "components.schemas.ClaimMyNodeRequest.properties.GH_TOKEN.description": "5aaff1ef", + "components.schemas.ComfyNode.properties.category.description": "594b83bd", + "components.schemas.ComfyNode.properties.comfy_node_name.description": "d7f0cf4f", + "components.schemas.ComfyNode.properties.deprecated.description": "c2255d77", + "components.schemas.ComfyNode.properties.description.description": "a01c6cba", + "components.schemas.ComfyNode.properties.experimental.description": "f35ac526", + "components.schemas.ComfyNode.properties.function.description": "0b700511", + "components.schemas.ComfyNode.properties.input_types.description": "fb95f2dc", + "components.schemas.ComfyNode.properties.output_is_list.description": "bc9287eb", + "components.schemas.ComfyNode.properties.return_names.description": "6c2f6fad", + "components.schemas.ComfyNode.properties.return_types.description": "c91c4339", + "components.schemas.ComfyNodeUpdateRequest.properties.category.description": "594b83bd", + "components.schemas.ComfyNodeUpdateRequest.properties.deprecated.description": "c2255d77", + "components.schemas.ComfyNodeUpdateRequest.properties.description.description": "a01c6cba", + "components.schemas.ComfyNodeUpdateRequest.properties.experimental.description": "f35ac526", + "components.schemas.ComfyNodeUpdateRequest.properties.function.description": "0b700511", + "components.schemas.ComfyNodeUpdateRequest.properties.input_types.description": "fb95f2dc", + "components.schemas.ComfyNodeUpdateRequest.properties.output_is_list.description": "bc9287eb", + "components.schemas.ComfyNodeUpdateRequest.properties.return_names.description": "6c2f6fad", + "components.schemas.ComfyNodeUpdateRequest.properties.return_types.description": "c91c4339", + "components.schemas.ComputerToolCall.description": "3fa6caed", + "components.schemas.ComputerToolCall.properties.call_id.description": "11127a13", + "components.schemas.ComputerToolCall.properties.id.description": "908e9f0e", + "components.schemas.ComputerToolCall.properties.status.description": "d3371813", + "components.schemas.ComputerToolCall.properties.type.description": "27b0e5a4", + "components.schemas.ComputerUsePreviewTool.description": "a8b45c39", + "components.schemas.ComputerUsePreviewTool.properties.display_height.description": "d768c7d7", + "components.schemas.ComputerUsePreviewTool.properties.display_width.description": "448cfd11", + "components.schemas.ComputerUsePreviewTool.properties.environment.description": "91255585", + "components.schemas.ComputerUsePreviewTool.properties.type.description": "9dbf7b10", + "components.schemas.CouponResponse.properties.amount_off.description": "ccfde3e7", + "components.schemas.CouponResponse.properties.currency.description": "5ad3fb3e", + "components.schemas.CouponResponse.properties.duration.description": "881bbaff", + "components.schemas.CouponResponse.properties.duration_in_months.description": "e02e20a5", + "components.schemas.CouponResponse.properties.id.description": "b5b1562e", + "components.schemas.CouponResponse.properties.max_redemptions.description": "9ef57c4c", + "components.schemas.CouponResponse.properties.metadata.description": "10282a4b", + "components.schemas.CouponResponse.properties.name.description": "c2c0afba", + "components.schemas.CouponResponse.properties.percent_off.description": "6023a10e", + "components.schemas.CouponResponse.properties.redeem_by.description": "917a4b89", + "components.schemas.CouponResponse.properties.times_redeemed.description": "bba735ff", + "components.schemas.CouponResponse.properties.valid.description": "80462e9c", + "components.schemas.CreateCouponRequest.properties.amount_off.description": "ccfde3e7", + "components.schemas.CreateCouponRequest.properties.currency.description": "aae971c9", + "components.schemas.CreateCouponRequest.properties.duration.description": "881bbaff", + "components.schemas.CreateCouponRequest.properties.duration_in_months.description": "dd8a447d", + "components.schemas.CreateCouponRequest.properties.max_redemptions.description": "9ef57c4c", + "components.schemas.CreateCouponRequest.properties.metadata.description": "10282a4b", + "components.schemas.CreateCouponRequest.properties.name.description": "c2c0afba", + "components.schemas.CreateCouponRequest.properties.percent_off.description": "6023a10e", + "components.schemas.CreateCouponRequest.properties.redeem_by.description": "917a4b89", + "components.schemas.CreateCustomerRequest.description": "3db54668", + "components.schemas.CreateCustomerRequest.properties.turnstile_token.description": "7d411475", + "components.schemas.CreatePromoCodeRequest.properties.coupon_id.description": "78bcb7c5", + "components.schemas.CreatePromoCodeRequest.properties.expire_days.description": "4ee9e6be", + "components.schemas.CreatePromoCodeRequest.properties.max_redemptions.description": "ef30da1d", + "components.schemas.Customer.properties.createdAt.description": "6a35627e", + "components.schemas.Customer.properties.email.description": "a25e24f8", + "components.schemas.Customer.properties.has_fund.description": "694d3a19", + "components.schemas.Customer.properties.id.description": "315161ca", + "components.schemas.Customer.properties.is_admin.description": "e513ac66", + "components.schemas.Customer.properties.metronome_id.description": "f5e5f16a", + "components.schemas.Customer.properties.name.description": "ed0322a4", + "components.schemas.Customer.properties.stripe_id.description": "3ce48c0d", + "components.schemas.Customer.properties.subscription_tier.description": "e03f42a8", + "components.schemas.Customer.properties.updatedAt.description": "e5cce94f", + "components.schemas.CustomerAdmin.properties.cloud_subscription_end_date.description": "6366a64e", + "components.schemas.CustomerAdmin.properties.cloud_subscription_is_active.description": "6c8493cf", + "components.schemas.CustomerAdmin.properties.cloud_subscription_renewal_date.description": "80a37068", + "components.schemas.CustomerAdmin.properties.cloud_subscription_subscription_id.description": "9b6918af", + "components.schemas.CustomerAdmin.properties.createdAt.description": "6a35627e", + "components.schemas.CustomerAdmin.properties.email.description": "a25e24f8", + "components.schemas.CustomerAdmin.properties.has_fund.description": "694d3a19", + "components.schemas.CustomerAdmin.properties.id.description": "315161ca", + "components.schemas.CustomerAdmin.properties.is_admin.description": "e513ac66", + "components.schemas.CustomerAdmin.properties.metronome_id.description": "f5e5f16a", + "components.schemas.CustomerAdmin.properties.name.description": "ed0322a4", + "components.schemas.CustomerAdmin.properties.stripe_id.description": "3ce48c0d", + "components.schemas.CustomerAdmin.properties.subscription_tier.description": "0768210d", + "components.schemas.CustomerAdmin.properties.updatedAt.description": "e5cce94f", + "components.schemas.CustomerStorageResourceResponse.properties.download_url.description": "c06ab5e1", + "components.schemas.CustomerStorageResourceResponse.properties.existing_file.description": "71ef49b1", + "components.schemas.CustomerStorageResourceResponse.properties.expires_at.description": "e1b16229", + "components.schemas.CustomerStorageResourceResponse.properties.upload_url.description": "e1160c82", + "components.schemas.CustomerUsageTimeSeries.description": "e92ca240", + "components.schemas.CustomerUsageTimeSeries.properties.breakdown.description": "b387d81c", + "components.schemas.CustomerUsageTimeSeries.properties.buckets.description": "86b1af5c", + "components.schemas.CustomerUsageTimeSeries.properties.ending_before.description": "45f6d8c4", + "components.schemas.CustomerUsageTimeSeries.properties.granularity.description": "7f608b42", + "components.schemas.CustomerUsageTimeSeries.properties.group_by.description": "3734471e", + "components.schemas.CustomerUsageTimeSeries.properties.groups.description": "b2ba50fd", + "components.schemas.CustomerUsageTimeSeries.properties.starting_on.description": "70fdb37d", + "components.schemas.EasyInputMessage.description": "7db749d9", + "components.schemas.EasyInputMessage.properties.content.description": "2d9878df", + "components.schemas.EasyInputMessage.properties.content.oneOf[0].description": "df5bc3f5", + "components.schemas.EasyInputMessage.properties.role.description": "d643460e", + "components.schemas.EasyInputMessage.properties.type.description": "61c11960", + "components.schemas.ElevenLabsAudioIsolationRequest.description": "d0051f00", + "components.schemas.ElevenLabsAudioIsolationRequest.properties.audio.description": "0a248375", + "components.schemas.ElevenLabsAudioIsolationRequest.properties.file_format.description": "d59327f0", + "components.schemas.ElevenLabsAudioIsolationRequest.properties.preview_b64.description": "c67953f6", + "components.schemas.ElevenLabsCreateVoiceRequest.description": "aba6a350", + "components.schemas.ElevenLabsCreateVoiceRequest.properties.description.description": "9cbdefee", + "components.schemas.ElevenLabsCreateVoiceRequest.properties.files.description": "cf1a8b5e", + "components.schemas.ElevenLabsCreateVoiceRequest.properties.labels.description": "a6677587", + "components.schemas.ElevenLabsCreateVoiceRequest.properties.name.description": "77f4ae29", + "components.schemas.ElevenLabsCreateVoiceRequest.properties.remove_background_noise.description": "e11bff10", + "components.schemas.ElevenLabsDialogueInput.description": "0b488b4b", + "components.schemas.ElevenLabsDialogueInput.properties.text.description": "0ca63e7d", + "components.schemas.ElevenLabsDialogueInput.properties.voice_id.description": "6427aa19", + "components.schemas.ElevenLabsDialogueSettings.description": "05b8340a", + "components.schemas.ElevenLabsDialogueSettings.properties.stability.description": "8d679ac6", + "components.schemas.ElevenLabsPronunciationDictionaryLocator.description": "7629dbe4", + "components.schemas.ElevenLabsPronunciationDictionaryLocator.properties.pronunciation_dictionary_id.description": "05d52083", + "components.schemas.ElevenLabsPronunciationDictionaryLocator.properties.version_id.description": "00fe41c5", + "components.schemas.ElevenLabsSTTAdditionalFormat.description": "d5db518c", + "components.schemas.ElevenLabsSTTAdditionalFormat.properties.content.description": "87c94b0e", + "components.schemas.ElevenLabsSTTAdditionalFormat.properties.content_type.description": "6ea0f0a8", + "components.schemas.ElevenLabsSTTAdditionalFormat.properties.file_extension.description": "9b326c36", + "components.schemas.ElevenLabsSTTAdditionalFormat.properties.is_base64_encoded.description": "437d9ac9", + "components.schemas.ElevenLabsSTTAdditionalFormat.properties.requested_format.description": "d1b2c16c", + "components.schemas.ElevenLabsSTTCharacter.description": "326a2ef7", + "components.schemas.ElevenLabsSTTCharacter.properties.end.description": "f8e7f771", + "components.schemas.ElevenLabsSTTCharacter.properties.start.description": "7a9a4266", + "components.schemas.ElevenLabsSTTCharacter.properties.text.description": "c86bee36", + "components.schemas.ElevenLabsSTTDetectedEntity.description": "4c0ba642", + "components.schemas.ElevenLabsSTTDetectedEntity.properties.end_char.description": "83da2112", + "components.schemas.ElevenLabsSTTDetectedEntity.properties.entity_type.description": "5317c89c", + "components.schemas.ElevenLabsSTTDetectedEntity.properties.start_char.description": "7ad1393e", + "components.schemas.ElevenLabsSTTDetectedEntity.properties.text.description": "a9a3b48b", + "components.schemas.ElevenLabsSTTExportOptions.description": "af91dd6d", + "components.schemas.ElevenLabsSTTExportOptions.properties.format.description": "bf726cef", + "components.schemas.ElevenLabsSTTExportOptions.properties.include_speakers.description": "df5f82bd", + "components.schemas.ElevenLabsSTTExportOptions.properties.include_timestamps.description": "99cab81d", + "components.schemas.ElevenLabsSTTExportOptions.properties.max_characters_per_line.description": "bb6e45b0", + "components.schemas.ElevenLabsSTTExportOptions.properties.max_segment_chars.description": "861a9225", + "components.schemas.ElevenLabsSTTExportOptions.properties.max_segment_duration_s.description": "f1b20317", + "components.schemas.ElevenLabsSTTExportOptions.properties.segment_on_silence_longer_than_s.description": "51fa3719", + "components.schemas.ElevenLabsSTTRequest.description": "2b99da48", + "components.schemas.ElevenLabsSTTRequest.properties.additional_formats.description": "e1f0328f", + "components.schemas.ElevenLabsSTTRequest.properties.cloud_storage_url.description": "a2960aee", + "components.schemas.ElevenLabsSTTRequest.properties.diarization_threshold.description": "78a05772", + "components.schemas.ElevenLabsSTTRequest.properties.diarize.description": "90d75a45", + "components.schemas.ElevenLabsSTTRequest.properties.entity_detection.description": "e92e728c", + "components.schemas.ElevenLabsSTTRequest.properties.file.description": "6d6ef081", + "components.schemas.ElevenLabsSTTRequest.properties.file_format.description": "25e2d946", + "components.schemas.ElevenLabsSTTRequest.properties.keyterms.description": "97c40cea", + "components.schemas.ElevenLabsSTTRequest.properties.language_code.description": "7493a534", + "components.schemas.ElevenLabsSTTRequest.properties.model_id.description": "3b494168", + "components.schemas.ElevenLabsSTTRequest.properties.num_speakers.description": "cfc29668", + "components.schemas.ElevenLabsSTTRequest.properties.seed.description": "4040c111", + "components.schemas.ElevenLabsSTTRequest.properties.tag_audio_events.description": "1871ce50", + "components.schemas.ElevenLabsSTTRequest.properties.temperature.description": "52cbd37d", + "components.schemas.ElevenLabsSTTRequest.properties.timestamps_granularity.description": "babb739d", + "components.schemas.ElevenLabsSTTRequest.properties.use_multi_channel.description": "f6010010", + "components.schemas.ElevenLabsSTTRequest.properties.webhook.description": "d40b00b1", + "components.schemas.ElevenLabsSTTRequest.properties.webhook_id.description": "7e92ff23", + "components.schemas.ElevenLabsSTTRequest.properties.webhook_metadata.description": "aa829590", + "components.schemas.ElevenLabsSTTResponse.description": "93829b9a", + "components.schemas.ElevenLabsSTTResponse.properties.additional_formats.description": "4d601c81", + "components.schemas.ElevenLabsSTTResponse.properties.channel_index.description": "e2115570", + "components.schemas.ElevenLabsSTTResponse.properties.entities.description": "59559c38", + "components.schemas.ElevenLabsSTTResponse.properties.language_code.description": "517510df", + "components.schemas.ElevenLabsSTTResponse.properties.language_probability.description": "25b644c2", + "components.schemas.ElevenLabsSTTResponse.properties.message.description": "84f991e5", + "components.schemas.ElevenLabsSTTResponse.properties.request_id.description": "99321f0a", + "components.schemas.ElevenLabsSTTResponse.properties.text.description": "4436753b", + "components.schemas.ElevenLabsSTTResponse.properties.transcription_id.description": "e397b546", + "components.schemas.ElevenLabsSTTResponse.properties.transcripts.description": "b3acf340", + "components.schemas.ElevenLabsSTTResponse.properties.words.description": "a12b2452", + "components.schemas.ElevenLabsSTTTranscript.description": "ac4a687e", + "components.schemas.ElevenLabsSTTTranscript.properties.additional_formats.description": "08762e4d", + "components.schemas.ElevenLabsSTTTranscript.properties.channel_index.description": "ef4dbf03", + "components.schemas.ElevenLabsSTTTranscript.properties.entities.description": "f9e99b8c", + "components.schemas.ElevenLabsSTTTranscript.properties.language_code.description": "1b82990e", + "components.schemas.ElevenLabsSTTTranscript.properties.language_probability.description": "6809c7c0", + "components.schemas.ElevenLabsSTTTranscript.properties.text.description": "4436753b", + "components.schemas.ElevenLabsSTTTranscript.properties.words.description": "a12b2452", + "components.schemas.ElevenLabsSTTWord.description": "dd938872", + "components.schemas.ElevenLabsSTTWord.properties.characters.description": "19ff9964", + "components.schemas.ElevenLabsSTTWord.properties.end.description": "e850c283", + "components.schemas.ElevenLabsSTTWord.properties.logprob.description": "e3b8a1f5", + "components.schemas.ElevenLabsSTTWord.properties.speaker_id.description": "a233fff3", + "components.schemas.ElevenLabsSTTWord.properties.start.description": "d3ac8637", + "components.schemas.ElevenLabsSTTWord.properties.text.description": "4dfce431", + "components.schemas.ElevenLabsSTTWord.properties.type.description": "33e7e9d4", + "components.schemas.ElevenLabsSharedVoice.properties.fiat_rate.description": "39ed0154", + "components.schemas.ElevenLabsSharedVoice.properties.verified_languages.description": "0f397d1c", + "components.schemas.ElevenLabsSharedVoicesPaginatedResponse.description": "5d4a3ee3", + "components.schemas.ElevenLabsSharedVoicesPaginatedResponse.properties.has_more.description": "998df11e", + "components.schemas.ElevenLabsSharedVoicesPaginatedResponse.properties.items.description": "2e2759e6", + "components.schemas.ElevenLabsSoundGenerationRequest.description": "34115d4a", + "components.schemas.ElevenLabsSoundGenerationRequest.properties.duration_seconds.description": "956b8c0c", + "components.schemas.ElevenLabsSoundGenerationRequest.properties.loop.description": "9a8fa559", + "components.schemas.ElevenLabsSoundGenerationRequest.properties.model_id.description": "365dc4bc", + "components.schemas.ElevenLabsSoundGenerationRequest.properties.prompt_influence.description": "69fd7daf", + "components.schemas.ElevenLabsSoundGenerationRequest.properties.text.description": "2f9d29d3", + "components.schemas.ElevenLabsSpeechToSpeechRequest.description": "5de9a797", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.audio.description": "70a74235", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.file_format.description": "25e2d946", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.model_id.description": "00222de2", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.remove_background_noise.description": "573b4b9a", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.seed.description": "2cf5b26d", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.voice_settings.description": "adb18b3f", + "components.schemas.ElevenLabsTTSRequest.description": "dfe763d1", + "components.schemas.ElevenLabsTTSRequest.properties.apply_language_text_normalization.description": "53532c84", + "components.schemas.ElevenLabsTTSRequest.properties.apply_text_normalization.description": "5f03ef59", + "components.schemas.ElevenLabsTTSRequest.properties.language_code.description": "62fed9a4", + "components.schemas.ElevenLabsTTSRequest.properties.model_id.description": "b98e4fde", + "components.schemas.ElevenLabsTTSRequest.properties.next_request_ids.description": "180a37e8", + "components.schemas.ElevenLabsTTSRequest.properties.next_text.description": "f30c0dc3", + "components.schemas.ElevenLabsTTSRequest.properties.previous_request_ids.description": "c1143446", + "components.schemas.ElevenLabsTTSRequest.properties.previous_text.description": "8820b076", + "components.schemas.ElevenLabsTTSRequest.properties.pronunciation_dictionary_locators.description": "65f08720", + "components.schemas.ElevenLabsTTSRequest.properties.seed.description": "50f1afe9", + "components.schemas.ElevenLabsTTSRequest.properties.text.description": "698cf9bb", + "components.schemas.ElevenLabsTTSRequest.properties.use_pvc_as_ivc.description": "6a9a3ffe", + "components.schemas.ElevenLabsTextToDialogueRequest.description": "be374b6c", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.apply_text_normalization.description": "c52b83c1", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.inputs.description": "8f1e91c5", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.language_code.description": "5c013990", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.model_id.description": "57c38f67", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.pronunciation_dictionary_locators.description": "6e5864d3", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.seed.description": "2cf5b26d", + "components.schemas.ElevenLabsValidationError.description": "08ecec1d", + "components.schemas.ElevenLabsValidationError.properties.detail.description": "75c58c3b", + "components.schemas.ElevenLabsValidationError.properties.detail.properties.message.description": "a5dc35f1", + "components.schemas.ElevenLabsValidationError.properties.detail.properties.status.description": "eafa4401", + "components.schemas.ElevenLabsVerifiedVoiceLanguage.properties.accent.description": "015e274d", + "components.schemas.ElevenLabsVerifiedVoiceLanguage.properties.language.description": "4e9943d5", + "components.schemas.ElevenLabsVerifiedVoiceLanguage.properties.locale.description": "07549bdd", + "components.schemas.ElevenLabsVerifiedVoiceLanguage.properties.model_id.description": "604f4e7c", + "components.schemas.ElevenLabsVerifiedVoiceLanguage.properties.preview_url.description": "e5754f97", + "components.schemas.ElevenLabsVoice.description": "717f5b57", + "components.schemas.ElevenLabsVoice.properties.category.description": "29bdcc75", + "components.schemas.ElevenLabsVoice.properties.labels.description": "c6fdf71f", + "components.schemas.ElevenLabsVoice.properties.verified_languages.description": "0f397d1c", + "components.schemas.ElevenLabsVoiceSettings.description": "ea7ad062", + "components.schemas.ElevenLabsVoiceSettings.properties.similarity_boost.description": "bc316515", + "components.schemas.ElevenLabsVoiceSettings.properties.speed.description": "9f956b6f", + "components.schemas.ElevenLabsVoiceSettings.properties.stability.description": "5784eb59", + "components.schemas.ElevenLabsVoiceSettings.properties.style.description": "6586a26b", + "components.schemas.ElevenLabsVoiceSettings.properties.use_speaker_boost.description": "a77a6bf2", + "components.schemas.ElevenLabsVoicesPaginatedResponse.description": "a0ba6be3", + "components.schemas.ElevenLabsVoicesPaginatedResponse.properties.has_more.description": "bc639ead", + "components.schemas.ElevenLabsVoicesPaginatedResponse.properties.items.description": "1a3ece98", + "components.schemas.ElevenLabsVoicesPaginatedResponse.properties.next_page_token.description": "720ba291", + "components.schemas.Error.properties.details.description": "ec60a618", + "components.schemas.Error.properties.message.description": "2ff29892", + "components.schemas.FalPatinaMaterialExtractRequest.description": "f8c3bc5f", + "components.schemas.FalPatinaMaterialExtractRequest.properties.enable_prompt_expansion.description": "83491200", + "components.schemas.FalPatinaMaterialExtractRequest.properties.enable_safety_checker.description": "2a829228", + "components.schemas.FalPatinaMaterialExtractRequest.properties.image_size.description": "91303ba2", + "components.schemas.FalPatinaMaterialExtractRequest.properties.image_url.description": "33437c88", + "components.schemas.FalPatinaMaterialExtractRequest.properties.maps.description": "1001eba1", + "components.schemas.FalPatinaMaterialExtractRequest.properties.num_images.description": "64b3e9e3", + "components.schemas.FalPatinaMaterialExtractRequest.properties.num_inference_steps.description": "14f3ad24", + "components.schemas.FalPatinaMaterialExtractRequest.properties.output_format.description": "31b8dc72", + "components.schemas.FalPatinaMaterialExtractRequest.properties.prompt.description": "cd2696b5", + "components.schemas.FalPatinaMaterialExtractRequest.properties.seed.description": "706cfbdd", + "components.schemas.FalPatinaMaterialExtractRequest.properties.strength.description": "89c8565e", + "components.schemas.FalPatinaMaterialExtractRequest.properties.tile_size.description": "e14ffa90", + "components.schemas.FalPatinaMaterialExtractRequest.properties.tile_stride.description": "912826be", + "components.schemas.FalPatinaMaterialExtractRequest.properties.tiling_mode.description": "af4b6100", + "components.schemas.FalPatinaMaterialExtractRequest.properties.upscale_factor.description": "9abf62cd", + "components.schemas.FalPatinaMaterialImage.description": "493dbf4d", + "components.schemas.FalPatinaMaterialImage.properties.map_type.description": "ca4b7c82", + "components.schemas.FalPatinaMaterialImage.properties.url.description": "ddb55997", + "components.schemas.FalPatinaMaterialRequest.description": "118170aa", + "components.schemas.FalPatinaMaterialRequest.properties.enable_prompt_expansion.description": "83491200", + "components.schemas.FalPatinaMaterialRequest.properties.enable_safety_checker.description": "2a829228", + "components.schemas.FalPatinaMaterialRequest.properties.image_size.description": "f9d1b04a", + "components.schemas.FalPatinaMaterialRequest.properties.image_url.description": "e4d07927", + "components.schemas.FalPatinaMaterialRequest.properties.maps.description": "6240dcf2", + "components.schemas.FalPatinaMaterialRequest.properties.mask_url.description": "d20e5f42", + "components.schemas.FalPatinaMaterialRequest.properties.num_images.description": "64b3e9e3", + "components.schemas.FalPatinaMaterialRequest.properties.num_inference_steps.description": "14f3ad24", + "components.schemas.FalPatinaMaterialRequest.properties.output_format.description": "31b8dc72", + "components.schemas.FalPatinaMaterialRequest.properties.prompt.description": "a7c44f59", + "components.schemas.FalPatinaMaterialRequest.properties.seed.description": "706cfbdd", + "components.schemas.FalPatinaMaterialRequest.properties.strength.description": "42879b3e", + "components.schemas.FalPatinaMaterialRequest.properties.tile_size.description": "e14ffa90", + "components.schemas.FalPatinaMaterialRequest.properties.tile_stride.description": "912826be", + "components.schemas.FalPatinaMaterialRequest.properties.tiling_mode.description": "af4b6100", + "components.schemas.FalPatinaMaterialRequest.properties.upscale_factor.description": "098359ea", + "components.schemas.FalPatinaMaterialResponse.description": "4ec6da1e", + "components.schemas.FalPatinaMaterialResponse.properties.images.description": "d70a5205", + "components.schemas.FalPatinaMaterialResponse.properties.prompt.description": "061bc3ea", + "components.schemas.FalPatinaMaterialResponse.properties.seed.description": "46615a68", + "components.schemas.FalPatinaMaterialResponse.properties.timings.description": "466f6009", + "components.schemas.FalPatinaRequest.description": "8f31dc28", + "components.schemas.FalPatinaRequest.properties.enable_safety_checker.description": "bc8b8bd1", + "components.schemas.FalPatinaRequest.properties.image_url.description": "9a4fdec9", + "components.schemas.FalPatinaRequest.properties.maps.description": "1001eba1", + "components.schemas.FalPatinaRequest.properties.output_format.description": "e7756131", + "components.schemas.FalPatinaRequest.properties.seed.description": "0ccdb5ac", + "components.schemas.FalPatinaRequest.properties.sync_mode.description": "f6e68164", + "components.schemas.FalQueueStatus.description": "4208e145", + "components.schemas.FalQueueStatus.properties.queue_position.description": "39f19be6", + "components.schemas.FalQueueStatus.properties.request_id.description": "f6386d74", + "components.schemas.FalQueueStatus.properties.status.description": "b093094f", + "components.schemas.FeaturesResponse.properties.partner_node_conversion_rate.description": "cbbce998", + "components.schemas.FileSearchTool.properties.type.description": "1201b87a", + "components.schemas.FileSearchTool.properties.vector_store_ids.description": "0bd09eb9", + "components.schemas.FileSearchToolCall.description": "bc942fd0", + "components.schemas.FileSearchToolCall.properties.id.description": "c82f7934", + "components.schemas.FileSearchToolCall.properties.queries.description": "83596062", + "components.schemas.FileSearchToolCall.properties.results.description": "3db73b84", + "components.schemas.FileSearchToolCall.properties.results.items.properties.file_id.description": "4c17f5c4", + "components.schemas.FileSearchToolCall.properties.results.items.properties.filename.description": "21724504", + "components.schemas.FileSearchToolCall.properties.results.items.properties.score.description": "f3fa221a", + "components.schemas.FileSearchToolCall.properties.results.items.properties.text.description": "e3842e23", + "components.schemas.FileSearchToolCall.properties.status.description": "4ef38826", + "components.schemas.FileSearchToolCall.properties.type.description": "59ab7e3d", + "components.schemas.FreeTierGrantState.description": "2f5648d1", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.blacks.description": "53d73778", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.brightness.description": "9af7f276", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.contrast.description": "528bfb7b", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.engine.description": "a1a2ff99", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.fixed_generation.description": "b91d1723", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.saturation.description": "dec4de2d", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.transfer_light_a.description": "ac1329b6", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.transfer_light_b.description": "8bffbaea", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.whites.description": "0aeae12b", + "components.schemas.FreepikMagnificRelightRequest.properties.change_background.description": "53236f58", + "components.schemas.FreepikMagnificRelightRequest.properties.image.description": "44a68bd9", + "components.schemas.FreepikMagnificRelightRequest.properties.interpolate_from_original.description": "ed1206fc", + "components.schemas.FreepikMagnificRelightRequest.properties.light_transfer_strength.description": "8ea323b8", + "components.schemas.FreepikMagnificRelightRequest.properties.preserve_details.description": "e5986288", + "components.schemas.FreepikMagnificRelightRequest.properties.prompt.description": "e3fd4a46", + "components.schemas.FreepikMagnificRelightRequest.properties.style.description": "7ac9c0ee", + "components.schemas.FreepikMagnificRelightRequest.properties.transfer_light_from_lightmap.description": "6ae4ea4c", + "components.schemas.FreepikMagnificRelightRequest.properties.transfer_light_from_reference_image.description": "e1db9d56", + "components.schemas.FreepikMagnificRelightRequest.properties.webhook_url.description": "05e5a4f8", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.engine.description": "6406f181", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.fixed_generation.description": "b91d1723", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.flavor.description": "6c950c4c", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.image.description": "255aa1fc", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.is_portrait.description": "3ec5fc64", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.portrait_beautifier.description": "479fcd5e", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.portrait_style.description": "5ee59ede", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.prompt.description": "3a98e9d7", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.reference_image.description": "b6e1dd3f", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.structure_strength.description": "ad6eefca", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.style_strength.description": "0a28533d", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.webhook_url.description": "479383a5", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.creativity.description": "061b807f", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.engine.description": "4597b593", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.fractality.description": "1a029460", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.hdr.description": "70ae846b", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.image.description": "2e11ac1b", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.optimized_for.description": "f7ec56f3", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.prompt.description": "04f34c7f", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.resemblance.description": "71359848", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.scale_factor.description": "e6808154", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.webhook_url.description": "05e5a4f8", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.flavor.description": "bdbd7347", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.image.description": "18b312d7", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.scale_factor.description": "69216a86", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.sharpen.description": "807cec6c", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.smart_grain.description": "261d4404", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.ultra_detail.description": "0002a973", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.webhook_url.description": "81525e46", + "components.schemas.FreepikSkinEnhancerCreativeRequest.properties.image.description": "8c5f48b2", + "components.schemas.FreepikSkinEnhancerCreativeRequest.properties.sharpen.description": "5caac155", + "components.schemas.FreepikSkinEnhancerCreativeRequest.properties.smart_grain.description": "6619a40a", + "components.schemas.FreepikSkinEnhancerCreativeRequest.properties.webhook_url.description": "479383a5", + "components.schemas.FreepikSkinEnhancerFaithfulRequest.properties.image.description": "8c5f48b2", + "components.schemas.FreepikSkinEnhancerFaithfulRequest.properties.sharpen.description": "5caac155", + "components.schemas.FreepikSkinEnhancerFaithfulRequest.properties.skin_detail.description": "288840e2", + "components.schemas.FreepikSkinEnhancerFaithfulRequest.properties.smart_grain.description": "6619a40a", + "components.schemas.FreepikSkinEnhancerFaithfulRequest.properties.webhook_url.description": "479383a5", + "components.schemas.FreepikSkinEnhancerFlexibleRequest.properties.image.description": "8c5f48b2", + "components.schemas.FreepikSkinEnhancerFlexibleRequest.properties.optimized_for.description": "dbc1b3fb", + "components.schemas.FreepikSkinEnhancerFlexibleRequest.properties.sharpen.description": "5caac155", + "components.schemas.FreepikSkinEnhancerFlexibleRequest.properties.smart_grain.description": "6619a40a", + "components.schemas.FreepikSkinEnhancerFlexibleRequest.properties.webhook_url.description": "479383a5", + "components.schemas.FreepikTaskData.properties.generated.description": "0fc39b0b", + "components.schemas.FunctionTool.properties.description.description": "ee0d5f90", + "components.schemas.FunctionTool.properties.name.description": "dbb1b999", + "components.schemas.FunctionTool.properties.parameters.description": "b4fc330d", + "components.schemas.FunctionTool.properties.type.description": "1201b87a", + "components.schemas.FunctionToolCall.description": "820a743f", + "components.schemas.FunctionToolCall.properties.arguments.description": "2eb2cacc", + "components.schemas.FunctionToolCall.properties.call_id.description": "2042f931", + "components.schemas.FunctionToolCall.properties.id.description": "b73764ab", + "components.schemas.FunctionToolCall.properties.name.description": "f6fc1363", + "components.schemas.FunctionToolCall.properties.status.description": "d3371813", + "components.schemas.FunctionToolCall.properties.type.description": "4a5936ac", + "components.schemas.GeminiContent.description": "6d190ca4", + "components.schemas.GeminiFileData.description": "385be319", + "components.schemas.GeminiFileData.properties.fileUri.description": "d70fbad8", + "components.schemas.GeminiFunctionDeclaration.properties.parameters.description": "8ff3bfe9", + "components.schemas.GeminiGenerateContentRequest.properties.uploadImagesToStorage.description": "4c64e456", + "components.schemas.GeminiGenerateContentResponse.properties.createTime.description": "e66293ab", + "components.schemas.GeminiGenerateContentResponse.properties.modelVersion.description": "1aba9833", + "components.schemas.GeminiGenerateContentResponse.properties.responseId.description": "bdf46c32", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.description": "7e4e8956", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.properties.aspectRatio.description": "526ba40b", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.properties.imageOutputOptions.description": "3b20cbc5", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.properties.imageOutputOptions.properties.compressionQuality.description": "7021514a", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.properties.imageOutputOptions.properties.mimeType.description": "cf8c7d85", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.properties.imageSize.description": "2233b3b7", + "components.schemas.GeminiGenerationConfig.properties.maxOutputTokens.description": "b089d858", + "components.schemas.GeminiGenerationConfig.properties.seed.description": "f26fd4f5", + "components.schemas.GeminiGenerationConfig.properties.temperature.description": "2f473098", + "components.schemas.GeminiGenerationConfig.properties.thinkingConfig.description": "ad1e24f0", + "components.schemas.GeminiGenerationConfig.properties.thinkingConfig.properties.includeThoughts.description": "f4edc661", + "components.schemas.GeminiGenerationConfig.properties.thinkingConfig.properties.thinkingBudget.description": "16af7ed2", + "components.schemas.GeminiGenerationConfig.properties.thinkingConfig.properties.thinkingLevel.description": "b30cfcc8", + "components.schemas.GeminiGenerationConfig.properties.topK.description": "541ee31f", + "components.schemas.GeminiGenerationConfig.properties.topP.description": "ce833ada", + "components.schemas.GeminiInlineData.description": "cee2a496", + "components.schemas.GeminiInlineData.properties.data.description": "7492ede9", + "components.schemas.GeminiMimeType.description": "4969583c", + "components.schemas.GeminiOffset.description": "13e32e3d", + "components.schemas.GeminiOffset.properties.nanos.description": "4629fa64", + "components.schemas.GeminiOffset.properties.seconds.description": "ff66926e", + "components.schemas.GeminiPart.properties.text.description": "8191792f", + "components.schemas.GeminiPart.properties.thought.description": "a827eac8", + "components.schemas.GeminiSafetyRating.properties.probability.description": "2965cf1b", + "components.schemas.GeminiSafetySetting.description": "97e849fd", + "components.schemas.GeminiSystemInstructionContent.description": "6ce6d661", + "components.schemas.GeminiSystemInstructionContent.properties.parts.description": "f3c5afea", + "components.schemas.GeminiSystemInstructionContent.properties.role.description": "186fdbb2", + "components.schemas.GeminiTextPart.properties.text.description": "8191792f", + "components.schemas.GeminiTool.description": "92056849", + "components.schemas.GeminiUsageMetadata.properties.cachedContentTokenCount.description": "9420b1e6", + "components.schemas.GeminiUsageMetadata.properties.candidatesTokenCount.description": "845030ca", + "components.schemas.GeminiUsageMetadata.properties.candidatesTokensDetails.description": "6f32ca49", + "components.schemas.GeminiUsageMetadata.properties.promptTokenCount.description": "c4bc7c7c", + "components.schemas.GeminiUsageMetadata.properties.promptTokensDetails.description": "0d5785a5", + "components.schemas.GeminiUsageMetadata.properties.thoughtsTokenCount.description": "a8b398e6", + "components.schemas.GeminiUsageMetadata.properties.toolUsePromptTokenCount.description": "51dba92b", + "components.schemas.GeminiUsageMetadata.properties.totalTokenCount.description": "cb0e21e2", + "components.schemas.GeminiUsageMetadata.properties.trafficType.description": "b1b3549f", + "components.schemas.GeminiVideoMetadata.description": "a75d40d7", + "components.schemas.GitCommitSummary.properties.author.description": "ca8d53a3", + "components.schemas.GitCommitSummary.properties.branch_name.description": "61a7a588", + "components.schemas.GitCommitSummary.properties.commit_hash.description": "5d73c6d8", + "components.schemas.GitCommitSummary.properties.commit_name.description": "c00c5cec", + "components.schemas.GitCommitSummary.properties.status_summary.description": "dc10b47e", + "components.schemas.GitCommitSummary.properties.timestamp.description": "625a8d83", + "components.schemas.GithubEnterprise.description": "cd23322b", + "components.schemas.GithubEnterprise.properties.avatar_url.description": "5987d8de", + "components.schemas.GithubEnterprise.properties.created_at.description": "abd58fff", + "components.schemas.GithubEnterprise.properties.description.description": "47e2cd96", + "components.schemas.GithubEnterprise.properties.html_url.description": "7cf25068", + "components.schemas.GithubEnterprise.properties.id.description": "21a23a8e", + "components.schemas.GithubEnterprise.properties.name.description": "e20f1f26", + "components.schemas.GithubEnterprise.properties.node_id.description": "3fd6b24a", + "components.schemas.GithubEnterprise.properties.slug.description": "07c5dc40", + "components.schemas.GithubEnterprise.properties.updated_at.description": "7580fd4b", + "components.schemas.GithubEnterprise.properties.website_url.description": "ba798ad2", + "components.schemas.GithubInstallation.description": "9f09d41a", + "components.schemas.GithubInstallation.properties.access_tokens_url.description": "65294e30", + "components.schemas.GithubInstallation.properties.app_id.description": "0cfd4fa8", + "components.schemas.GithubInstallation.properties.created_at.description": "a136a691", + "components.schemas.GithubInstallation.properties.events.description": "094c77b6", + "components.schemas.GithubInstallation.properties.html_url.description": "9e9bce92", + "components.schemas.GithubInstallation.properties.id.description": "6755bd24", + "components.schemas.GithubInstallation.properties.permissions.description": "fcb8712d", + "components.schemas.GithubInstallation.properties.repositories_url.description": "945fa0c3", + "components.schemas.GithubInstallation.properties.repository_selection.description": "a159055e", + "components.schemas.GithubInstallation.properties.single_file_name.description": "50a448c0", + "components.schemas.GithubInstallation.properties.target_id.description": "beab32d2", + "components.schemas.GithubInstallation.properties.target_type.description": "4ff96532", + "components.schemas.GithubInstallation.properties.updated_at.description": "dab24551", + "components.schemas.GithubOrganization.description": "d69d397d", + "components.schemas.GithubOrganization.properties.avatar_url.description": "09711234", + "components.schemas.GithubOrganization.properties.description.description": "f7f28225", + "components.schemas.GithubOrganization.properties.events_url.description": "86f3decf", + "components.schemas.GithubOrganization.properties.hooks_url.description": "73d46b25", + "components.schemas.GithubOrganization.properties.id.description": "38592c32", + "components.schemas.GithubOrganization.properties.issues_url.description": "b55cc0a7", + "components.schemas.GithubOrganization.properties.login.description": "41b36792", + "components.schemas.GithubOrganization.properties.members_url.description": "a47d83fb", + "components.schemas.GithubOrganization.properties.node_id.description": "a9640ad9", + "components.schemas.GithubOrganization.properties.public_members_url.description": "806874e6", + "components.schemas.GithubOrganization.properties.repos_url.description": "8e46c242", + "components.schemas.GithubOrganization.properties.url.description": "afb3b9c6", + "components.schemas.GithubReleaseAsset.description": "75329d6e", + "components.schemas.GithubReleaseAsset.properties.browser_download_url.description": "7f422fa3", + "components.schemas.GithubReleaseAsset.properties.content_type.description": "598e95fc", + "components.schemas.GithubReleaseAsset.properties.created_at.description": "20b975c7", + "components.schemas.GithubReleaseAsset.properties.download_count.description": "80fd4cdf", + "components.schemas.GithubReleaseAsset.properties.id.description": "df635067", + "components.schemas.GithubReleaseAsset.properties.label.description": "4d76cb60", + "components.schemas.GithubReleaseAsset.properties.name.description": "b1dac04b", + "components.schemas.GithubReleaseAsset.properties.node_id.description": "a324219b", + "components.schemas.GithubReleaseAsset.properties.size.description": "ce8d87f8", + "components.schemas.GithubReleaseAsset.properties.state.description": "8b30f12f", + "components.schemas.GithubReleaseAsset.properties.updated_at.description": "3f1e16a5", + "components.schemas.GithubReleaseWebhook.description": "a142618e", + "components.schemas.GithubReleaseWebhook.properties.action.description": "8f85b59b", + "components.schemas.GithubReleaseWebhook.properties.release.description": "9c6d762d", + "components.schemas.GithubReleaseWebhook.properties.release.properties.assets.description": "59bc9d75", + "components.schemas.GithubReleaseWebhook.properties.release.properties.assets_url.description": "ecca9ff0", + "components.schemas.GithubReleaseWebhook.properties.release.properties.body.description": "4a243ab5", + "components.schemas.GithubReleaseWebhook.properties.release.properties.created_at.description": "8127b843", + "components.schemas.GithubReleaseWebhook.properties.release.properties.draft.description": "aa4cc6cc", + "components.schemas.GithubReleaseWebhook.properties.release.properties.html_url.description": "dd650a65", + "components.schemas.GithubReleaseWebhook.properties.release.properties.id.description": "ca58ef4f", + "components.schemas.GithubReleaseWebhook.properties.release.properties.name.description": "f28ae12d", + "components.schemas.GithubReleaseWebhook.properties.release.properties.node_id.description": "1a99803e", + "components.schemas.GithubReleaseWebhook.properties.release.properties.prerelease.description": "44165d44", + "components.schemas.GithubReleaseWebhook.properties.release.properties.published_at.description": "c1977317", + "components.schemas.GithubReleaseWebhook.properties.release.properties.tag_name.description": "b2ed3bef", + "components.schemas.GithubReleaseWebhook.properties.release.properties.tarball_url.description": "be2e2d57", + "components.schemas.GithubReleaseWebhook.properties.release.properties.target_commitish.description": "ea6703dd", + "components.schemas.GithubReleaseWebhook.properties.release.properties.upload_url.description": "52ff0c0f", + "components.schemas.GithubReleaseWebhook.properties.release.properties.url.description": "74046c7a", + "components.schemas.GithubReleaseWebhook.properties.release.properties.zipball_url.description": "51ebf767", + "components.schemas.GithubRepository.description": "10a88a02", + "components.schemas.GithubRepository.properties.clone_url.description": "b82e5385", + "components.schemas.GithubRepository.properties.created_at.description": "fa2ab0a2", + "components.schemas.GithubRepository.properties.default_branch.description": "7426c264", + "components.schemas.GithubRepository.properties.description.description": "3a7a9358", + "components.schemas.GithubRepository.properties.fork.description": "0a441526", + "components.schemas.GithubRepository.properties.full_name.description": "d1fc238b", + "components.schemas.GithubRepository.properties.git_url.description": "73182b72", + "components.schemas.GithubRepository.properties.html_url.description": "63bccf71", + "components.schemas.GithubRepository.properties.id.description": "411151e9", + "components.schemas.GithubRepository.properties.name.description": "707cdfc2", + "components.schemas.GithubRepository.properties.node_id.description": "edc425a8", + "components.schemas.GithubRepository.properties.private.description": "c6f93e3e", + "components.schemas.GithubRepository.properties.pushed_at.description": "e50b29ec", + "components.schemas.GithubRepository.properties.ssh_url.description": "68dde328", + "components.schemas.GithubRepository.properties.updated_at.description": "03b08b7d", + "components.schemas.GithubRepository.properties.url.description": "3343e6bd", + "components.schemas.GithubUser.description": "ee01fde2", + "components.schemas.GithubUser.properties.avatar_url.description": "dc5af4e1", + "components.schemas.GithubUser.properties.gravatar_id.description": "19d92dee", + "components.schemas.GithubUser.properties.html_url.description": "8230f5cc", + "components.schemas.GithubUser.properties.id.description": "d865a85f", + "components.schemas.GithubUser.properties.login.description": "3dbfdff7", + "components.schemas.GithubUser.properties.node_id.description": "d561dc8b", + "components.schemas.GithubUser.properties.site_admin.description": "3c23d6ab", + "components.schemas.GithubUser.properties.type.description": "dedcdac1", + "components.schemas.GithubUser.properties.url.description": "ad27a3e1", + "components.schemas.HitPawErrorResponse.description": "a38f8202", + "components.schemas.HitPawErrorResponse.properties.error_code.description": "0570b384", + "components.schemas.HitPawErrorResponse.properties.message.description": "a5dc35f1", + "components.schemas.HitPawJobResponse.description": "fbf98d13", + "components.schemas.HitPawJobResponse.properties.code.description": "b5e3f7b0", + "components.schemas.HitPawJobResponse.properties.data.properties.consume_coins.description": "9b4fa755", + "components.schemas.HitPawJobResponse.properties.data.properties.job_id.description": "cd49bf8f", + "components.schemas.HitPawJobResponse.properties.message.description": "575e8608", + "components.schemas.HitPawPhotoEnhancerRequest.description": "020f636c", + "components.schemas.HitPawPhotoEnhancerRequest.properties.DPI.description": "78c001fb", + "components.schemas.HitPawPhotoEnhancerRequest.properties.exif.description": "69edfa45", + "components.schemas.HitPawPhotoEnhancerRequest.properties.extension.description": "88ef4a49", + "components.schemas.HitPawPhotoEnhancerRequest.properties.img_url.description": "f45a855e", + "components.schemas.HitPawPhotoEnhancerRequest.properties.model_name.description": "83a54d63", + "components.schemas.HitPawTaskStatusRequest.description": "75ca6594", + "components.schemas.HitPawTaskStatusRequest.properties.job_id.description": "7f28c87b", + "components.schemas.HitPawTaskStatusResponse.description": "b971ade8", + "components.schemas.HitPawTaskStatusResponse.properties.code.description": "b5e3f7b0", + "components.schemas.HitPawTaskStatusResponse.properties.data.properties.job_id.description": "3e0cce3a", + "components.schemas.HitPawTaskStatusResponse.properties.data.properties.original_url.description": "be5e61ce", + "components.schemas.HitPawTaskStatusResponse.properties.data.properties.res_url.description": "dfecef5c", + "components.schemas.HitPawTaskStatusResponse.properties.data.properties.status.description": "4785e775", + "components.schemas.HitPawTaskStatusResponse.properties.message.description": "575e8608", + "components.schemas.HitPawVideoEnhancerRequest.description": "71f9162c", + "components.schemas.HitPawVideoEnhancerRequest.properties.extension.description": "51c80a25", + "components.schemas.HitPawVideoEnhancerRequest.properties.model_name.description": "a946ce05", + "components.schemas.HitPawVideoEnhancerRequest.properties.original_resolution.description": "6dd78e7a", + "components.schemas.HitPawVideoEnhancerRequest.properties.resolution.description": "4e559b3e", + "components.schemas.HitPawVideoEnhancerRequest.properties.video_url.description": "cf2cc7b6", + "components.schemas.IdeogramColorPalette.description": "cbed8244", + "components.schemas.IdeogramColorPalette.oneOf[0].properties.name.description": "7306eb37", + "components.schemas.IdeogramColorPalette.oneOf[1].properties.members.description": "f8a0032e", + "components.schemas.IdeogramColorPalette.oneOf[1].properties.members.items.properties.color.description": "65448a27", + "components.schemas.IdeogramColorPalette.oneOf[1].properties.members.items.properties.weight.description": "56eecd01", + "components.schemas.IdeogramGenerateRequest.description": "50e63a69", + "components.schemas.IdeogramGenerateRequest.properties.image_request.description": "092952fa", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.aspect_ratio.description": "245b6284", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.color_palette.description": "3f4e60c4", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.magic_prompt_option.description": "5705d27e", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.model.description": "671a2dcc", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.negative_prompt.description": "1758790e", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.num_images.description": "1c02782e", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.prompt.description": "049acdf6", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.resolution.description": "8ccbb2f1", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.seed.description": "b8ab5b5f", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.style_type.description": "4afe6df2", + "components.schemas.IdeogramGenerateResponse.description": "d24bef27", + "components.schemas.IdeogramGenerateResponse.properties.created.description": "4a5ccef2", + "components.schemas.IdeogramGenerateResponse.properties.data.description": "806a2ee8", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.is_image_safe.description": "9f0681b9", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.prompt.description": "47813ab6", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.resolution.description": "09b3d8cb", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.seed.description": "72ca88f8", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.style_type.description": "77a5decc", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.url.description": "4058ecad", + "components.schemas.IdeogramV3EditRequest.properties.character_reference_images.description": "e4424e85", + "components.schemas.IdeogramV3EditRequest.properties.character_reference_images_mask.description": "3109c4a8", + "components.schemas.IdeogramV3EditRequest.properties.image.description": "ad402569", + "components.schemas.IdeogramV3EditRequest.properties.magic_prompt.description": "fbc52e9b", + "components.schemas.IdeogramV3EditRequest.properties.mask.description": "a4e8ea3c", + "components.schemas.IdeogramV3EditRequest.properties.num_images.description": "4b673228", + "components.schemas.IdeogramV3EditRequest.properties.prompt.description": "8ddd5832", + "components.schemas.IdeogramV3EditRequest.properties.seed.description": "96e94f94", + "components.schemas.IdeogramV3EditRequest.properties.style_codes.description": "9b3506cf", + "components.schemas.IdeogramV3EditRequest.properties.style_reference_images.description": "d4fcf08c", + "components.schemas.IdeogramV3RemixRequest.properties.character_reference_images.description": "e4424e85", + "components.schemas.IdeogramV3RemixRequest.properties.character_reference_images_mask.description": "3109c4a8", + "components.schemas.IdeogramV3Request.properties.aspect_ratio.description": "ea09d583", + "components.schemas.IdeogramV3Request.properties.character_reference_images.description": "e4424e85", + "components.schemas.IdeogramV3Request.properties.character_reference_images_mask.description": "3109c4a8", + "components.schemas.IdeogramV3Request.properties.color_palette.properties.name.description": "3eaf95a9", + "components.schemas.IdeogramV3Request.properties.magic_prompt.description": "7f00ecee", + "components.schemas.IdeogramV3Request.properties.negative_prompt.description": "ac9daf8f", + "components.schemas.IdeogramV3Request.properties.num_images.description": "1fb366eb", + "components.schemas.IdeogramV3Request.properties.prompt.description": "7f1a3d35", + "components.schemas.IdeogramV3Request.properties.resolution.description": "c3eb2021", + "components.schemas.IdeogramV3Request.properties.seed.description": "1e0448c3", + "components.schemas.IdeogramV3Request.properties.style_codes.description": "aa625598", + "components.schemas.IdeogramV3Request.properties.style_reference_images.description": "46fee1de", + "components.schemas.IdeogramV4Request.description": "00d82b06", + "components.schemas.IdeogramV4Request.properties.enable_copyright_detection.description": "78523439", + "components.schemas.IdeogramV4Request.properties.json_prompt.description": "e7a9aa86", + "components.schemas.IdeogramV4Request.properties.resolution.description": "98a28498", + "components.schemas.IdeogramV4Request.properties.text_prompt.description": "219b7175", + "components.schemas.ImageGenerationServerTool_OpenRouter.description": "629fb7b3", + "components.schemas.ImagenImageGenerationInstance.properties.prompt.description": "80e0d34a", + "components.schemas.ImagenImagePrediction.properties.bytesBase64Encoded.description": "faaabc4e", + "components.schemas.ImagenImagePrediction.properties.mimeType.description": "c8af3a36", + "components.schemas.ImagenImagePrediction.properties.prompt.description": "b0c86d8a", + "components.schemas.Includable.description": "cd9a54ed", + "components.schemas.InputFileContent.description": "85622d1d", + "components.schemas.InputFileContent.properties.file_data.description": "689eaa2f", + "components.schemas.InputFileContent.properties.file_id.description": "85d64188", + "components.schemas.InputFileContent.properties.filename.description": "852ff03c", + "components.schemas.InputFileContent.properties.type.description": "86f01c25", + "components.schemas.InputImageContent.description": "7bf06972", + "components.schemas.InputImageContent.properties.detail.description": "4a94d1be", + "components.schemas.InputImageContent.properties.file_id.description": "85d64188", + "components.schemas.InputImageContent.properties.image_url.description": "7e548e34", + "components.schemas.InputImageContent.properties.type.description": "6b728f27", + "components.schemas.InputMessageContentList.description": "02ac12e9", + "components.schemas.InputTextContent.description": "c3b01a4b", + "components.schemas.InputTextContent.properties.text.description": "c092ca65", + "components.schemas.InputTextContent.properties.type.description": "96af07d2", + "components.schemas.Item.description": "75773418", + "components.schemas.KlingAudioUploadType.description": "c1f431e5", + "components.schemas.KlingAvatarMode.description": "87222c5b", + "components.schemas.KlingAvatarRequest.properties.audio_id.description": "ff86c9dd", + "components.schemas.KlingAvatarRequest.properties.callback_url.description": "3c0657d9", + "components.schemas.KlingAvatarRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingAvatarRequest.properties.image.description": "066360df", + "components.schemas.KlingAvatarRequest.properties.prompt.description": "b7ef46c2", + "components.schemas.KlingAvatarRequest.properties.sound_file.description": "a27c4c53", + "components.schemas.KlingAvatarRequest.properties.watermark_info.properties.enabled.description": "2c530c23", + "components.schemas.KlingAvatarResponse.properties.code.description": "0570b384", + "components.schemas.KlingAvatarResponse.properties.data.properties.created_at.description": "5d77aa39", + "components.schemas.KlingAvatarResponse.properties.data.properties.final_unit_deduction.description": "a080e1a2", + "components.schemas.KlingAvatarResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingAvatarResponse.properties.data.properties.task_status_msg.description": "e0565888", + "components.schemas.KlingAvatarResponse.properties.data.properties.updated_at.description": "63ce5101", + "components.schemas.KlingAvatarResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingAvatarResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingCameraConfig.properties.horizontal.description": "a9f00ccc", + "components.schemas.KlingCameraConfig.properties.pan.description": "708dd250", + "components.schemas.KlingCameraConfig.properties.roll.description": "4f6df63c", + "components.schemas.KlingCameraConfig.properties.tilt.description": "7bb9188d", + "components.schemas.KlingCameraConfig.properties.vertical.description": "99d85f29", + "components.schemas.KlingCameraConfig.properties.zoom.description": "fcb5265d", + "components.schemas.KlingCameraControlType.description": "95ade433", + "components.schemas.KlingCharacterEffectModelName.description": "fe48ebef", + "components.schemas.KlingDualCharacterEffectsScene.description": "60253259", + "components.schemas.KlingDualCharacterImages.items.description": "aef244d3", + "components.schemas.KlingErrorResponse.properties.code.description": "ffb72142", + "components.schemas.KlingErrorResponse.properties.message.description": "52710385", + "components.schemas.KlingErrorResponse.properties.request_id.description": "cd1b3a95", + "components.schemas.KlingImage2VideoRequest.properties.callback_url.description": "f95e5959", + "components.schemas.KlingImage2VideoRequest.properties.dynamic_masks.description": "81f4d628", + "components.schemas.KlingImage2VideoRequest.properties.dynamic_masks.items.properties.mask.description": "47664ada", + "components.schemas.KlingImage2VideoRequest.properties.dynamic_masks.items.properties.trajectories.items.properties.x.description": "1be27cf9", + "components.schemas.KlingImage2VideoRequest.properties.dynamic_masks.items.properties.trajectories.items.properties.y.description": "6f1924a5", + "components.schemas.KlingImage2VideoRequest.properties.element_list.description": "a2d90fff", + "components.schemas.KlingImage2VideoRequest.properties.element_list.items.properties.element_id.description": "77509169", + "components.schemas.KlingImage2VideoRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingImage2VideoRequest.properties.image.description": "b4f435da", + "components.schemas.KlingImage2VideoRequest.properties.image_tail.description": "fcc00d76", + "components.schemas.KlingImage2VideoRequest.properties.multi_prompt.description": "cf2fc9cf", + "components.schemas.KlingImage2VideoRequest.properties.multi_prompt.items.properties.duration.description": "6aeaff72", + "components.schemas.KlingImage2VideoRequest.properties.multi_prompt.items.properties.index.description": "26fa0516", + "components.schemas.KlingImage2VideoRequest.properties.multi_prompt.items.properties.prompt.description": "d56d233a", + "components.schemas.KlingImage2VideoRequest.properties.multi_shot.description": "f86cb835", + "components.schemas.KlingImage2VideoRequest.properties.negative_prompt.description": "463fe9af", + "components.schemas.KlingImage2VideoRequest.properties.prompt.description": "b081ce99", + "components.schemas.KlingImage2VideoRequest.properties.shot_type.description": "6324f020", + "components.schemas.KlingImage2VideoRequest.properties.sound.description": "f83eda08", + "components.schemas.KlingImage2VideoRequest.properties.static_mask.description": "98468045", + "components.schemas.KlingImage2VideoRequest.properties.voice_list.description": "802ae668", + "components.schemas.KlingImage2VideoRequest.properties.voice_list.items.properties.voice_id.description": "e84c097a", + "components.schemas.KlingImage2VideoRequest.properties.watermark_info.description": "a768050c", + "components.schemas.KlingImage2VideoRequest.properties.watermark_info.properties.enabled.description": "755ad8ab", + "components.schemas.KlingImageGenAspectRatio.description": "7e44e5e3", + "components.schemas.KlingImageGenImageReferenceType.description": "53a4c1aa", + "components.schemas.KlingImageGenModelName.description": "a501a70a", + "components.schemas.KlingImageGenerationsRequest.properties.callback_url.description": "70bbd919", + "components.schemas.KlingImageGenerationsRequest.properties.element_list.description": "e9859f59", + "components.schemas.KlingImageGenerationsRequest.properties.element_list.items.properties.element_id.description": "77509169", + "components.schemas.KlingImageGenerationsRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingImageGenerationsRequest.properties.human_fidelity.description": "0c3cb6ed", + "components.schemas.KlingImageGenerationsRequest.properties.image.description": "7e7e2111", + "components.schemas.KlingImageGenerationsRequest.properties.image_fidelity.description": "92c84603", + "components.schemas.KlingImageGenerationsRequest.properties.n.description": "70f7af7d", + "components.schemas.KlingImageGenerationsRequest.properties.negative_prompt.description": "6268b46e", + "components.schemas.KlingImageGenerationsRequest.properties.prompt.description": "f65ec204", + "components.schemas.KlingImageGenerationsRequest.properties.resolution.description": "80e7a807", + "components.schemas.KlingImageGenerationsResponse.properties.code.description": "0570b384", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.created_at.description": "34c09a78", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.final_unit_deduction.description": "a080e1a2", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.task_info.properties.external_task_id.description": "523ced72", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.task_status_msg.description": "9c4268b5", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.updated_at.description": "66a1376e", + "components.schemas.KlingImageGenerationsResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingImageGenerationsResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingImageResult.properties.index.description": "e79576a5", + "components.schemas.KlingImageResult.properties.url.description": "f8e5207c", + "components.schemas.KlingLipSyncInputObject.properties.audio_file.description": "88aa2adf", + "components.schemas.KlingLipSyncInputObject.properties.audio_url.description": "62b4f244", + "components.schemas.KlingLipSyncInputObject.properties.text.description": "c2c7055f", + "components.schemas.KlingLipSyncInputObject.properties.video_id.description": "cc706bec", + "components.schemas.KlingLipSyncInputObject.properties.video_url.description": "4ac56d45", + "components.schemas.KlingLipSyncInputObject.properties.voice_id.description": "b1e8b822", + "components.schemas.KlingLipSyncInputObject.properties.voice_speed.description": "4a7553ba", + "components.schemas.KlingLipSyncMode.description": "a1e88026", + "components.schemas.KlingLipSyncRequest.properties.callback_url.description": "f95e5959", + "components.schemas.KlingLipSyncResponse.properties.code.description": "0570b384", + "components.schemas.KlingLipSyncResponse.properties.data.properties.created_at.description": "5d77aa39", + "components.schemas.KlingLipSyncResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingLipSyncResponse.properties.data.properties.updated_at.description": "63ce5101", + "components.schemas.KlingLipSyncResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingLipSyncResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingLipSyncVoiceLanguage.description": "0aede926", + "components.schemas.KlingMotionControlRequest.properties.callback_url.description": "bc5327da", + "components.schemas.KlingMotionControlRequest.properties.character_orientation.description": "44cec623", + "components.schemas.KlingMotionControlRequest.properties.element_list.description": "fde0cb37", + "components.schemas.KlingMotionControlRequest.properties.element_list.items.properties.element_id.description": "77509169", + "components.schemas.KlingMotionControlRequest.properties.external_task_id.description": "5afede4c", + "components.schemas.KlingMotionControlRequest.properties.image_url.description": "e05669af", + "components.schemas.KlingMotionControlRequest.properties.keep_original_sound.description": "d5db1242", + "components.schemas.KlingMotionControlRequest.properties.mode.description": "137955a6", + "components.schemas.KlingMotionControlRequest.properties.model_name.description": "4996115a", + "components.schemas.KlingMotionControlRequest.properties.prompt.description": "548ff7e0", + "components.schemas.KlingMotionControlRequest.properties.video_url.description": "5721c0c2", + "components.schemas.KlingMotionControlRequest.properties.watermark_info.description": "a768050c", + "components.schemas.KlingMotionControlRequest.properties.watermark_info.properties.enabled.description": "755ad8ab", + "components.schemas.KlingMotionControlResponse.properties.code.description": "0570b384", + "components.schemas.KlingMotionControlResponse.properties.data.properties.created_at.description": "1754e5ec", + "components.schemas.KlingMotionControlResponse.properties.data.properties.final_unit_deduction.description": "a080e1a2", + "components.schemas.KlingMotionControlResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingMotionControlResponse.properties.data.properties.task_info.properties.external_task_id.description": "523ced72", + "components.schemas.KlingMotionControlResponse.properties.data.properties.task_status_msg.description": "9c4268b5", + "components.schemas.KlingMotionControlResponse.properties.data.properties.updated_at.description": "03349877", + "components.schemas.KlingMotionControlResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingMotionControlResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingMotionControlVideoResult.properties.duration.description": "571c9ed2", + "components.schemas.KlingMotionControlVideoResult.properties.id.description": "5ea6eadd", + "components.schemas.KlingMotionControlVideoResult.properties.url.description": "8a14b774", + "components.schemas.KlingMotionControlVideoResult.properties.watermark_url.description": "95f2aa97", + "components.schemas.KlingOmniImageRequest.properties.aspect_ratio.description": "0b010657", + "components.schemas.KlingOmniImageRequest.properties.callback_url.description": "bc5327da", + "components.schemas.KlingOmniImageRequest.properties.element_list.description": "e9859f59", + "components.schemas.KlingOmniImageRequest.properties.element_list.items.properties.element_id.description": "77509169", + "components.schemas.KlingOmniImageRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingOmniImageRequest.properties.image_list.description": "b5f268a9", + "components.schemas.KlingOmniImageRequest.properties.image_list.items.properties.image.description": "894920d1", + "components.schemas.KlingOmniImageRequest.properties.model_name.description": "a501a70a", + "components.schemas.KlingOmniImageRequest.properties.n.description": "70f7af7d", + "components.schemas.KlingOmniImageRequest.properties.prompt.description": "985fe223", + "components.schemas.KlingOmniImageRequest.properties.resolution.description": "5c1565fe", + "components.schemas.KlingOmniImageRequest.properties.result_type.description": "6f725b78", + "components.schemas.KlingOmniImageRequest.properties.series_amount.description": "09825ba9", + "components.schemas.KlingOmniImageResponse.properties.code.description": "0570b384", + "components.schemas.KlingOmniImageResponse.properties.data.properties.created_at.description": "34c09a78", + "components.schemas.KlingOmniImageResponse.properties.data.properties.final_unit_deduction.description": "a080e1a2", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_info.properties.external_task_id.description": "523ced72", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_result.properties.result_type.description": "0bda7c58", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_result.properties.series_images.description": "c1817fea", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_result.properties.series_images.items.properties.index.description": "c89e9185", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_result.properties.series_images.items.properties.url.description": "f8e5207c", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_status_msg.description": "baa63663", + "components.schemas.KlingOmniImageResponse.properties.data.properties.updated_at.description": "66a1376e", + "components.schemas.KlingOmniImageResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingOmniImageResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingOmniVideoRequest.properties.aspect_ratio.description": "efa92fd4", + "components.schemas.KlingOmniVideoRequest.properties.callback_url.description": "bc5327da", + "components.schemas.KlingOmniVideoRequest.properties.duration.description": "53d6a804", + "components.schemas.KlingOmniVideoRequest.properties.element_list.description": "e23cc470", + "components.schemas.KlingOmniVideoRequest.properties.element_list.items.properties.element_id.description": "77509169", + "components.schemas.KlingOmniVideoRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingOmniVideoRequest.properties.image_list.description": "7915f15e", + "components.schemas.KlingOmniVideoRequest.properties.image_list.items.properties.image_url.description": "f9b9fb19", + "components.schemas.KlingOmniVideoRequest.properties.image_list.items.properties.type.description": "e0e027c0", + "components.schemas.KlingOmniVideoRequest.properties.mode.description": "45655874", + "components.schemas.KlingOmniVideoRequest.properties.model_name.description": "a501a70a", + "components.schemas.KlingOmniVideoRequest.properties.multi_prompt.description": "cf2fc9cf", + "components.schemas.KlingOmniVideoRequest.properties.multi_prompt.items.properties.duration.description": "6aeaff72", + "components.schemas.KlingOmniVideoRequest.properties.multi_prompt.items.properties.index.description": "26fa0516", + "components.schemas.KlingOmniVideoRequest.properties.multi_prompt.items.properties.prompt.description": "d56d233a", + "components.schemas.KlingOmniVideoRequest.properties.multi_shot.description": "f86cb835", + "components.schemas.KlingOmniVideoRequest.properties.prompt.description": "383c64fd", + "components.schemas.KlingOmniVideoRequest.properties.shot_type.description": "6324f020", + "components.schemas.KlingOmniVideoRequest.properties.sound.description": "0b7d6480", + "components.schemas.KlingOmniVideoRequest.properties.video_list.description": "cc48aacc", + "components.schemas.KlingOmniVideoRequest.properties.video_list.items.properties.keep_original_sound.description": "8778a62f", + "components.schemas.KlingOmniVideoRequest.properties.video_list.items.properties.refer_type.description": "2b2d874f", + "components.schemas.KlingOmniVideoRequest.properties.video_list.items.properties.video_url.description": "bb1db105", + "components.schemas.KlingOmniVideoRequest.properties.watermark_info.description": "a768050c", + "components.schemas.KlingOmniVideoRequest.properties.watermark_info.properties.enabled.description": "755ad8ab", + "components.schemas.KlingPresetsElementTask.properties.created_at.description": "2db7b589", + "components.schemas.KlingPresetsElementTask.properties.updated_at.description": "fc336b8a", + "components.schemas.KlingQueryTaskResponse.properties.code.description": "0570b384", + "components.schemas.KlingQueryTaskResponse.properties.data.properties.created_at.description": "34c09a78", + "components.schemas.KlingQueryTaskResponse.properties.data.properties.final_unit_deduction.description": "a080e1a2", + "components.schemas.KlingQueryTaskResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingQueryTaskResponse.properties.data.properties.task_status_msg.description": "9c4268b5", + "components.schemas.KlingQueryTaskResponse.properties.data.properties.updated_at.description": "66a1376e", + "components.schemas.KlingQueryTaskResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingQueryTaskResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingResourcePackageResponse.properties.code.description": "d8378b01", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.code.description": "d8378b01", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.msg.description": "128c11ab", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.description": "f864d5a3", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.effective_time.description": "62f35649", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.invalid_time.description": "bddf2910", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.purchase_time.description": "f0e38499", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.remaining_quantity.description": "92ebd4f0", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.resource_pack_id.description": "6efffa2a", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.resource_pack_name.description": "9d56db0d", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.resource_pack_type.description": "73bc4327", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.status.description": "c8e1c4a6", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.total_quantity.description": "d9c71159", + "components.schemas.KlingResourcePackageResponse.properties.message.description": "128c11ab", + "components.schemas.KlingResourcePackageResponse.properties.request_id.description": "62d00656", + "components.schemas.KlingSingleImageEffectDuration.description": "236b95d5", + "components.schemas.KlingSingleImageEffectInput.properties.image.description": "8f3c19e6", + "components.schemas.KlingSingleImageEffectModelName.description": "214c4904", + "components.schemas.KlingSingleImageEffectsScene.description": "2cfee1b0", + "components.schemas.KlingTaskStatus.description": "63428ae5", + "components.schemas.KlingText2VideoRequest.properties.callback_url.description": "70bbd919", + "components.schemas.KlingText2VideoRequest.properties.external_task_id.description": "b13cb4aa", + "components.schemas.KlingText2VideoRequest.properties.multi_prompt.description": "cf2fc9cf", + "components.schemas.KlingText2VideoRequest.properties.multi_prompt.items.properties.duration.description": "6aeaff72", + "components.schemas.KlingText2VideoRequest.properties.multi_prompt.items.properties.index.description": "26fa0516", + "components.schemas.KlingText2VideoRequest.properties.multi_prompt.items.properties.prompt.description": "d56d233a", + "components.schemas.KlingText2VideoRequest.properties.multi_shot.description": "f86cb835", + "components.schemas.KlingText2VideoRequest.properties.negative_prompt.description": "463fe9af", + "components.schemas.KlingText2VideoRequest.properties.prompt.description": "b081ce99", + "components.schemas.KlingText2VideoRequest.properties.shot_type.description": "6324f020", + "components.schemas.KlingText2VideoRequest.properties.sound.description": "f83eda08", + "components.schemas.KlingText2VideoRequest.properties.watermark_info.description": "a768050c", + "components.schemas.KlingText2VideoRequest.properties.watermark_info.properties.enabled.description": "755ad8ab", + "components.schemas.KlingTextToVideoModelName.description": "a501a70a", + "components.schemas.KlingV2CreateTaskResponse.description": "cfe83d07", + "components.schemas.KlingV2CreateTaskResponse.properties.code.description": "b79bc486", + "components.schemas.KlingV2CreateTaskResponse.properties.data.properties.create_time.description": "4de40456", + "components.schemas.KlingV2CreateTaskResponse.properties.data.properties.external_id.description": "9b8d8c4a", + "components.schemas.KlingV2CreateTaskResponse.properties.data.properties.id.description": "68109191", + "components.schemas.KlingV2CreateTaskResponse.properties.data.properties.status.description": "4f63ad23", + "components.schemas.KlingV2CreateTaskResponse.properties.data.properties.update_time.description": "84bcd8d3", + "components.schemas.KlingV2CreateTaskResponse.properties.message.description": "d0e4554d", + "components.schemas.KlingV2CreateTaskResponse.properties.request_id.description": "42e56ac5", + "components.schemas.KlingV2Image2VideoRequest.properties.contents.description": "a83e77f5", + "components.schemas.KlingV2Image2VideoRequest.properties.contents.items.properties.text.description": "e574ecd2", + "components.schemas.KlingV2Image2VideoRequest.properties.contents.items.properties.type.description": "cfd2ddec", + "components.schemas.KlingV2Image2VideoRequest.properties.contents.items.properties.url.description": "4a0c917a", + "components.schemas.KlingV2Image2VideoRequest.properties.settings.description": "a2022c69", + "components.schemas.KlingV2Image2VideoRequest.properties.settings.properties.duration.description": "3cc2ffff", + "components.schemas.KlingV2Image2VideoRequest.properties.settings.properties.resolution.description": "c0f447b2", + "components.schemas.KlingV2Options.description": "cb7ef32a", + "components.schemas.KlingV2Options.properties.callback_url.description": "b003efb4", + "components.schemas.KlingV2Options.properties.external_task_id.description": "7bc26876", + "components.schemas.KlingV2Options.properties.watermark_info.description": "61a5d6a2", + "components.schemas.KlingV2Options.properties.watermark_info.properties.enabled.description": "3187212d", + "components.schemas.KlingV2Output.description": "6b8fd4b2", + "components.schemas.KlingV2Output.properties.duration.description": "5765cb86", + "components.schemas.KlingV2Output.properties.group_id.description": "a02eecd2", + "components.schemas.KlingV2Output.properties.id.description": "3a4dbf4a", + "components.schemas.KlingV2Output.properties.mp3_duration.description": "9e0f91e3", + "components.schemas.KlingV2Output.properties.mp3_url.description": "52dd1f77", + "components.schemas.KlingV2Output.properties.name.description": "81e7813e", + "components.schemas.KlingV2Output.properties.owned_by.description": "82bf267d", + "components.schemas.KlingV2Output.properties.status.description": "6cb7f1c7", + "components.schemas.KlingV2Output.properties.type.description": "2200ac61", + "components.schemas.KlingV2Output.properties.url.description": "94972c8d", + "components.schemas.KlingV2Output.properties.watermark_url.description": "a2b98aed", + "components.schemas.KlingV2Output.properties.wav_duration.description": "3192a43c", + "components.schemas.KlingV2Output.properties.wav_url.description": "544bd8a4", + "components.schemas.KlingV2QueryTaskResponse.description": "6f7b6060", + "components.schemas.KlingV2QueryTaskResponse.properties.code.description": "b79bc486", + "components.schemas.KlingV2QueryTaskResponse.properties.data.description": "79bc39d8", + "components.schemas.KlingV2QueryTaskResponse.properties.message.description": "d0e4554d", + "components.schemas.KlingV2QueryTaskResponse.properties.request_id.description": "42e56ac5", + "components.schemas.KlingV2Task.description": "e8bcc2c8", + "components.schemas.KlingV2Task.properties.billing.description": "86a75bb6", + "components.schemas.KlingV2Task.properties.billing.items.properties.amount.description": "9c8a1040", + "components.schemas.KlingV2Task.properties.billing.items.properties.charge_type.description": "4999e7f5", + "components.schemas.KlingV2Task.properties.billing.items.properties.package_type.description": "35af4dec", + "components.schemas.KlingV2Task.properties.create_time.description": "4de40456", + "components.schemas.KlingV2Task.properties.external_id.description": "9b8d8c4a", + "components.schemas.KlingV2Task.properties.id.description": "3db7c34e", + "components.schemas.KlingV2Task.properties.message.description": "bf416ceb", + "components.schemas.KlingV2Task.properties.outputs.description": "32069eb4", + "components.schemas.KlingV2Task.properties.status.description": "4f63ad23", + "components.schemas.KlingV2Task.properties.update_time.description": "84bcd8d3", + "components.schemas.KlingV2Text2VideoRequest.properties.prompt.description": "8af33dfb", + "components.schemas.KlingV2Text2VideoRequest.properties.settings.description": "801e2db1", + "components.schemas.KlingV2Text2VideoRequest.properties.settings.properties.aspect_ratio.description": "f88caede", + "components.schemas.KlingV2Text2VideoRequest.properties.settings.properties.duration.description": "3cc2ffff", + "components.schemas.KlingV2Text2VideoRequest.properties.settings.properties.resolution.description": "c0f447b2", + "components.schemas.KlingVideoEffectsRequest.properties.callback_url.description": "3c0657d9", + "components.schemas.KlingVideoEffectsRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingVideoEffectsResponse.properties.code.description": "0570b384", + "components.schemas.KlingVideoEffectsResponse.properties.data.properties.created_at.description": "5d77aa39", + "components.schemas.KlingVideoEffectsResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingVideoEffectsResponse.properties.data.properties.updated_at.description": "63ce5101", + "components.schemas.KlingVideoEffectsResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingVideoEffectsResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingVideoExtendRequest.properties.callback_url.description": "f95e5959", + "components.schemas.KlingVideoExtendRequest.properties.negative_prompt.description": "87de36e0", + "components.schemas.KlingVideoExtendRequest.properties.prompt.description": "f6bb7282", + "components.schemas.KlingVideoExtendRequest.properties.video_id.description": "04df9acd", + "components.schemas.KlingVideoExtendResponse.properties.code.description": "0570b384", + "components.schemas.KlingVideoExtendResponse.properties.data.properties.created_at.description": "5d77aa39", + "components.schemas.KlingVideoExtendResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingVideoExtendResponse.properties.data.properties.updated_at.description": "63ce5101", + "components.schemas.KlingVideoExtendResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingVideoExtendResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingVideoGenAspectRatio.description": "0369e1fa", + "components.schemas.KlingVideoGenCfgScale.description": "63efa46a", + "components.schemas.KlingVideoGenDuration.description": "d7ee3a61", + "components.schemas.KlingVideoGenMode.description": "00c2d33f", + "components.schemas.KlingVideoGenModelName.description": "a501a70a", + "components.schemas.KlingVideoResult.properties.duration.description": "fde7639a", + "components.schemas.KlingVideoResult.properties.id.description": "b7086e46", + "components.schemas.KlingVideoResult.properties.url.description": "07f2aaac", + "components.schemas.KlingVideoResult.properties.watermark_url.description": "95698e33", + "components.schemas.KlingVirtualTryOnModelName.description": "a501a70a", + "components.schemas.KlingVirtualTryOnRequest.properties.callback_url.description": "70bbd919", + "components.schemas.KlingVirtualTryOnRequest.properties.cloth_image.description": "b4e6dbd5", + "components.schemas.KlingVirtualTryOnRequest.properties.human_image.description": "0adf9d41", + "components.schemas.KlingVirtualTryOnResponse.properties.code.description": "0570b384", + "components.schemas.KlingVirtualTryOnResponse.properties.data.properties.created_at.description": "5d77aa39", + "components.schemas.KlingVirtualTryOnResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingVirtualTryOnResponse.properties.data.properties.task_status_msg.description": "e0565888", + "components.schemas.KlingVirtualTryOnResponse.properties.data.properties.updated_at.description": "63ce5101", + "components.schemas.KlingVirtualTryOnResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingVirtualTryOnResponse.properties.request_id.description": "d561f528", + "components.schemas.KreaAssetUploadRequest.properties.description.description": "29847c37", + "components.schemas.KreaAssetUploadRequest.properties.file.description": "091e8bfe", + "components.schemas.KreaGenerateImageRequest.properties.aspect_ratio.description": "deada7d2", + "components.schemas.KreaGenerateImageRequest.properties.creativity.description": "e81eaa77", + "components.schemas.KreaGenerateImageRequest.properties.image_style_references.description": "e75b343f", + "components.schemas.KreaGenerateImageRequest.properties.moodboards.description": "7dcd6af7", + "components.schemas.KreaGenerateImageRequest.properties.resolution.description": "bf8c583e", + "components.schemas.KreaGenerateImageRequest.properties.styles.description": "58c6d253", + "components.schemas.KreaJob.properties.status.description": "f116e6f9", + "components.schemas.LTXImage2VideoRequest.properties.duration.description": "de4fb026", + "components.schemas.LTXImage2VideoRequest.properties.fps.description": "6d1aab34", + "components.schemas.LTXImage2VideoRequest.properties.generate_audio.description": "5aa1d296", + "components.schemas.LTXImage2VideoRequest.properties.image_uri.description": "abeee955", + "components.schemas.LTXImage2VideoRequest.properties.model.description": "d2ad8216", + "components.schemas.LTXImage2VideoRequest.properties.prompt.description": "1ae8f5fc", + "components.schemas.LTXImage2VideoRequest.properties.resolution.description": "e5f00815", + "components.schemas.LTXText2VideoRequest.properties.duration.description": "de4fb026", + "components.schemas.LTXText2VideoRequest.properties.fps.description": "6d1aab34", + "components.schemas.LTXText2VideoRequest.properties.generate_audio.description": "5aa1d296", + "components.schemas.LTXText2VideoRequest.properties.model.description": "d2ad8216", + "components.schemas.LTXText2VideoRequest.properties.prompt.description": "42d0198e", + "components.schemas.LTXText2VideoRequest.properties.resolution.description": "e5f00815", + "components.schemas.LumaAgentsAspectRatio.description": "41f92a90", + "components.schemas.LumaAgentsError.description": "d49a0492", + "components.schemas.LumaAgentsError.properties.detail.description": "84e45725", + "components.schemas.LumaAgentsFailureCode.description": "0be4f0ae", + "components.schemas.LumaAgentsGeneration.description": "6ed283a2", + "components.schemas.LumaAgentsGeneration.properties.created_at.description": "377d1833", + "components.schemas.LumaAgentsGeneration.properties.failure_reason.description": "f0101539", + "components.schemas.LumaAgentsGeneration.properties.id.description": "03235f39", + "components.schemas.LumaAgentsGeneration.properties.model.description": "24a0459f", + "components.schemas.LumaAgentsGenerationOutput.description": "9c722f47", + "components.schemas.LumaAgentsGenerationOutput.properties.type.description": "cf7e03c2", + "components.schemas.LumaAgentsGenerationOutput.properties.url.description": "b0cd3a25", + "components.schemas.LumaAgentsGenerationRequest.description": "114786ae", + "components.schemas.LumaAgentsGenerationRequest.properties.image_ref.description": "eee33835", + "components.schemas.LumaAgentsGenerationRequest.properties.model.description": "4f5a50a5", + "components.schemas.LumaAgentsGenerationRequest.properties.prompt.description": "0588414e", + "components.schemas.LumaAgentsGenerationRequest.properties.web_search.description": "71eff12b", + "components.schemas.LumaAgentsGenerationType.description": "ed10d99f", + "components.schemas.LumaAgentsImageRef.description": "614d3f3e", + "components.schemas.LumaAgentsImageRef.properties.data.description": "459cdb19", + "components.schemas.LumaAgentsImageRef.properties.generation_id.description": "62923861", + "components.schemas.LumaAgentsImageRef.properties.media_type.description": "327a5548", + "components.schemas.LumaAgentsImageRef.properties.url.description": "d43b40ee", + "components.schemas.LumaAgentsOutputFormat.description": "ebb90ddf", + "components.schemas.LumaAgentsState.description": "96b3dc88", + "components.schemas.LumaAgentsStyle.description": "0ebd9d0f", + "components.schemas.LumaAgentsVideoDuration.description": "37b59319", + "components.schemas.LumaAgentsVideoOptions.description": "256348d5", + "components.schemas.LumaAgentsVideoOptions.properties.exr_export.description": "ec42834c", + "components.schemas.LumaAgentsVideoOptions.properties.hdr.description": "9714f0e9", + "components.schemas.LumaAgentsVideoOptions.properties.keyframes.description": "700e5fd9", + "components.schemas.LumaAgentsVideoOptions.properties.loop.description": "44c3f3d1", + "components.schemas.LumaAgentsVideoResolution.description": "b1a48eb5", + "components.schemas.LumaAspectRatio.description": "549259bf", + "components.schemas.LumaAssets.description": "b9ea723b", + "components.schemas.LumaAssets.properties.image.description": "d9839da6", + "components.schemas.LumaAssets.properties.progress_video.description": "2af611b5", + "components.schemas.LumaAssets.properties.video.description": "96fb87d9", + "components.schemas.LumaAudioGenerationRequest.description": "0e6ae858", + "components.schemas.LumaAudioGenerationRequest.properties.callback_url.description": "7b1cfb18", + "components.schemas.LumaAudioGenerationRequest.properties.negative_prompt.description": "77322dd8", + "components.schemas.LumaAudioGenerationRequest.properties.prompt.description": "c86bac31", + "components.schemas.LumaError.description": "d49a0492", + "components.schemas.LumaError.properties.detail.description": "84e45725", + "components.schemas.LumaGeneration.description": "31dd7d8c", + "components.schemas.LumaGeneration.properties.created_at.description": "60d4e8cf", + "components.schemas.LumaGeneration.properties.failure_reason.description": "df79bf4c", + "components.schemas.LumaGeneration.properties.id.description": "84f8c18e", + "components.schemas.LumaGeneration.properties.model.description": "24431f99", + "components.schemas.LumaGeneration.properties.request.description": "ad19405a", + "components.schemas.LumaGenerationReference.description": "1520f7be", + "components.schemas.LumaGenerationReference.properties.id.description": "84f8c18e", + "components.schemas.LumaGenerationRequest.description": "d1705797", + "components.schemas.LumaGenerationRequest.properties.callback_url.description": "3f93fff2", + "components.schemas.LumaGenerationRequest.properties.loop.description": "9c16759d", + "components.schemas.LumaGenerationRequest.properties.prompt.description": "54c9965b", + "components.schemas.LumaImageGenerationRequest.description": "2ec5636f", + "components.schemas.LumaImageGenerationRequest.properties.callback_url.description": "faf25a74", + "components.schemas.LumaImageGenerationRequest.properties.prompt.description": "54c9965b", + "components.schemas.LumaImageIdentity.description": "f680d145", + "components.schemas.LumaImageIdentity.properties.images.description": "a6a6c44b", + "components.schemas.LumaImageModel.description": "eae10126", + "components.schemas.LumaImageRef.description": "3d12543b", + "components.schemas.LumaImageRef.properties.url.description": "17b64161", + "components.schemas.LumaImageRef.properties.weight.description": "76ed7c3c", + "components.schemas.LumaImageReference.description": "8929cd80", + "components.schemas.LumaImageReference.properties.url.description": "d9839da6", + "components.schemas.LumaKeyframe.description": "b6bd7ad4", + "components.schemas.LumaKeyframes.description": "2514bff1", + "components.schemas.LumaModifyImageRef.description": "18428bb4", + "components.schemas.LumaModifyImageRef.properties.url.description": "17b64161", + "components.schemas.LumaModifyImageRef.properties.weight.description": "68c8c66a", + "components.schemas.LumaState.description": "17934f9b", + "components.schemas.LumaUpscaleVideoGenerationRequest.description": "bb4b2ce9", + "components.schemas.LumaUpscaleVideoGenerationRequest.properties.callback_url.description": "033b1cfc", + "components.schemas.LumaVideoModel.description": "7da67e38", + "components.schemas.MachineStats.properties.cpu_capacity.description": "b5431dab", + "components.schemas.MachineStats.properties.disk_capacity.description": "100dd8b1", + "components.schemas.MachineStats.properties.gpu_type.description": "b03d0d1d", + "components.schemas.MachineStats.properties.initial_cpu.description": "d10b9791", + "components.schemas.MachineStats.properties.initial_disk.description": "42c19c80", + "components.schemas.MachineStats.properties.initial_ram.description": "9188dbb1", + "components.schemas.MachineStats.properties.machine_name.description": "d386d457", + "components.schemas.MachineStats.properties.memory_capacity.description": "39cb936c", + "components.schemas.MachineStats.properties.os_version.description": "c1c53e2c", + "components.schemas.MachineStats.properties.pip_freeze.description": "22f82680", + "components.schemas.MachineStats.properties.vram_time_series.description": "a27916b1", + "components.schemas.MeshyAiModel.description": "acf507af", + "components.schemas.MeshyAnimationCreateResponse.properties.result.description": "fa49a86e", + "components.schemas.MeshyAnimationPostProcess.description": "6a1bd500", + "components.schemas.MeshyAnimationPostProcess.properties.fps.description": "aeb73f0a", + "components.schemas.MeshyAnimationPostProcess.properties.operation_type.description": "5090cebe", + "components.schemas.MeshyAnimationRequest.properties.action_id.description": "4cc8606d", + "components.schemas.MeshyAnimationRequest.properties.rig_task_id.description": "285ae47e", + "components.schemas.MeshyAnimationResult.description": "40a90e7c", + "components.schemas.MeshyAnimationResult.properties.animation_fbx_url.description": "dca8e5e0", + "components.schemas.MeshyAnimationResult.properties.animation_glb_url.description": "437349a3", + "components.schemas.MeshyAnimationResult.properties.processed_animation_fps_fbx_url.description": "6568267c", + "components.schemas.MeshyAnimationResult.properties.processed_armature_fbx_url.description": "0e6d8738", + "components.schemas.MeshyAnimationResult.properties.processed_usdz_url.description": "03899c05", + "components.schemas.MeshyAnimationTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyAnimationTask.properties.expires_at.description": "80d10a12", + "components.schemas.MeshyAnimationTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyAnimationTask.properties.id.description": "98bfade1", + "components.schemas.MeshyAnimationTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyAnimationTask.properties.progress.description": "4081a742", + "components.schemas.MeshyAnimationTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyAnimationTask.properties.type.description": "8238093d", + "components.schemas.MeshyArtStyle.description": "2da7a38a", + "components.schemas.MeshyImageTo3DCreateResponse.properties.result.description": "7124af44", + "components.schemas.MeshyImageTo3DModelUrls.description": "17b6a660", + "components.schemas.MeshyImageTo3DModelUrls.properties.fbx.description": "72d83dac", + "components.schemas.MeshyImageTo3DModelUrls.properties.glb.description": "ee6c296f", + "components.schemas.MeshyImageTo3DModelUrls.properties.mtl.description": "67b905a4", + "components.schemas.MeshyImageTo3DModelUrls.properties.obj.description": "91ac082b", + "components.schemas.MeshyImageTo3DModelUrls.properties.pre_remeshed_glb.description": "dbb8041c", + "components.schemas.MeshyImageTo3DModelUrls.properties.usdz.description": "10a6d5db", + "components.schemas.MeshyImageTo3DRequest.properties.enable_pbr.description": "026a457f", + "components.schemas.MeshyImageTo3DRequest.properties.image_url.description": "b78198ec", + "components.schemas.MeshyImageTo3DRequest.properties.is_a_t_pose.description": "f52e42da", + "components.schemas.MeshyImageTo3DRequest.properties.model_type.description": "bb4c331e", + "components.schemas.MeshyImageTo3DRequest.properties.moderation.description": "f91fb7f2", + "components.schemas.MeshyImageTo3DRequest.properties.save_pre_remeshed_model.description": "d7193d87", + "components.schemas.MeshyImageTo3DRequest.properties.should_remesh.description": "de59f43a", + "components.schemas.MeshyImageTo3DRequest.properties.should_texture.description": "57740dce", + "components.schemas.MeshyImageTo3DRequest.properties.target_polycount.description": "4fbdc431", + "components.schemas.MeshyImageTo3DRequest.properties.texture_image_url.description": "abd0d960", + "components.schemas.MeshyImageTo3DRequest.properties.texture_prompt.description": "6e254655", + "components.schemas.MeshyImageTo3DTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyImageTo3DTask.properties.expires_at.description": "80d10a12", + "components.schemas.MeshyImageTo3DTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyImageTo3DTask.properties.id.description": "98bfade1", + "components.schemas.MeshyImageTo3DTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyImageTo3DTask.properties.progress.description": "2474e077", + "components.schemas.MeshyImageTo3DTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyImageTo3DTask.properties.texture_image_url.description": "5605187c", + "components.schemas.MeshyImageTo3DTask.properties.texture_prompt.description": "4f74abde", + "components.schemas.MeshyImageTo3DTask.properties.texture_urls.description": "1fe6fe81", + "components.schemas.MeshyImageTo3DTask.properties.thumbnail_url.description": "5492457d", + "components.schemas.MeshyImageTo3DTask.properties.type.description": "be25e63b", + "components.schemas.MeshyModelUrls.description": "68a32190", + "components.schemas.MeshyModelUrls.properties.fbx.description": "72d83dac", + "components.schemas.MeshyModelUrls.properties.glb.description": "ee6c296f", + "components.schemas.MeshyModelUrls.properties.mtl.description": "67b905a4", + "components.schemas.MeshyModelUrls.properties.obj.description": "91ac082b", + "components.schemas.MeshyModelUrls.properties.usdz.description": "10a6d5db", + "components.schemas.MeshyMultiImageTo3DCreateResponse.properties.result.description": "5cec1f28", + "components.schemas.MeshyMultiImageTo3DRequest.properties.ai_model.description": "acf507af", + "components.schemas.MeshyMultiImageTo3DRequest.properties.enable_pbr.description": "026a457f", + "components.schemas.MeshyMultiImageTo3DRequest.properties.image_urls.description": "988c89d8", + "components.schemas.MeshyMultiImageTo3DRequest.properties.is_a_t_pose.description": "f52e42da", + "components.schemas.MeshyMultiImageTo3DRequest.properties.moderation.description": "f91fb7f2", + "components.schemas.MeshyMultiImageTo3DRequest.properties.save_pre_remeshed_model.description": "d7193d87", + "components.schemas.MeshyMultiImageTo3DRequest.properties.should_remesh.description": "de59f43a", + "components.schemas.MeshyMultiImageTo3DRequest.properties.should_texture.description": "462650b4", + "components.schemas.MeshyMultiImageTo3DRequest.properties.target_polycount.description": "4fbdc431", + "components.schemas.MeshyMultiImageTo3DRequest.properties.texture_image_url.description": "abd0d960", + "components.schemas.MeshyMultiImageTo3DRequest.properties.texture_prompt.description": "6e254655", + "components.schemas.MeshyMultiImageTo3DTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyMultiImageTo3DTask.properties.expires_at.description": "80d10a12", + "components.schemas.MeshyMultiImageTo3DTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyMultiImageTo3DTask.properties.id.description": "98bfade1", + "components.schemas.MeshyMultiImageTo3DTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyMultiImageTo3DTask.properties.progress.description": "2474e077", + "components.schemas.MeshyMultiImageTo3DTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyMultiImageTo3DTask.properties.texture_prompt.description": "4f74abde", + "components.schemas.MeshyMultiImageTo3DTask.properties.texture_urls.description": "1fe6fe81", + "components.schemas.MeshyMultiImageTo3DTask.properties.thumbnail_url.description": "5492457d", + "components.schemas.MeshyMultiImageTo3DTask.properties.type.description": "79ce249b", + "components.schemas.MeshyPoseMode.description": "e9cce28d", + "components.schemas.MeshyRemeshCreateResponse.properties.result.description": "58188e30", + "components.schemas.MeshyRemeshModelUrls.description": "fe054dcd", + "components.schemas.MeshyRemeshModelUrls.properties.blend.description": "1aed70c2", + "components.schemas.MeshyRemeshModelUrls.properties.fbx.description": "72d83dac", + "components.schemas.MeshyRemeshModelUrls.properties.glb.description": "ee6c296f", + "components.schemas.MeshyRemeshModelUrls.properties.obj.description": "91ac082b", + "components.schemas.MeshyRemeshModelUrls.properties.stl.description": "1ffdeaa6", + "components.schemas.MeshyRemeshModelUrls.properties.usdz.description": "10a6d5db", + "components.schemas.MeshyRemeshRequest.properties.convert_format_only.description": "333c063b", + "components.schemas.MeshyRemeshRequest.properties.input_task_id.description": "2ff3f538", + "components.schemas.MeshyRemeshRequest.properties.model_url.description": "600aa96a", + "components.schemas.MeshyRemeshRequest.properties.origin_at.description": "21f550c2", + "components.schemas.MeshyRemeshRequest.properties.resize_height.description": "2f5cc96e", + "components.schemas.MeshyRemeshRequest.properties.target_formats.description": "82bdc5d3", + "components.schemas.MeshyRemeshRequest.properties.target_polycount.description": "4fbdc431", + "components.schemas.MeshyRemeshTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyRemeshTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyRemeshTask.properties.id.description": "98bfade1", + "components.schemas.MeshyRemeshTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyRemeshTask.properties.progress.description": "2474e077", + "components.schemas.MeshyRemeshTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyRemeshTask.properties.type.description": "0e956405", + "components.schemas.MeshyRemeshTaskStatus.description": "64fb0037", + "components.schemas.MeshyRetextureCreateResponse.properties.result.description": "218841e4", + "components.schemas.MeshyRetextureModelUrls.description": "825a4590", + "components.schemas.MeshyRetextureModelUrls.properties.fbx.description": "72d83dac", + "components.schemas.MeshyRetextureModelUrls.properties.glb.description": "ee6c296f", + "components.schemas.MeshyRetextureModelUrls.properties.usdz.description": "10a6d5db", + "components.schemas.MeshyRetextureRequest.properties.enable_original_uv.description": "0c427b4e", + "components.schemas.MeshyRetextureRequest.properties.enable_pbr.description": "026a457f", + "components.schemas.MeshyRetextureRequest.properties.image_style_url.description": "e36ce617", + "components.schemas.MeshyRetextureRequest.properties.input_task_id.description": "d8971a01", + "components.schemas.MeshyRetextureRequest.properties.model_url.description": "b25c7156", + "components.schemas.MeshyRetextureRequest.properties.text_style_prompt.description": "9bf455ff", + "components.schemas.MeshyRetextureTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyRetextureTask.properties.expires_at.description": "80d10a12", + "components.schemas.MeshyRetextureTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyRetextureTask.properties.id.description": "98bfade1", + "components.schemas.MeshyRetextureTask.properties.image_style_url.description": "b2e403e3", + "components.schemas.MeshyRetextureTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyRetextureTask.properties.progress.description": "2474e077", + "components.schemas.MeshyRetextureTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyRetextureTask.properties.text_style_prompt.description": "0e0eda16", + "components.schemas.MeshyRetextureTask.properties.texture_urls.description": "1fe6fe81", + "components.schemas.MeshyRetextureTask.properties.thumbnail_url.description": "5492457d", + "components.schemas.MeshyRetextureTask.properties.type.description": "383ee410", + "components.schemas.MeshyRiggingBasicAnimations.description": "184e787a", + "components.schemas.MeshyRiggingBasicAnimations.properties.running_armature_glb_url.description": "7b1a5b33", + "components.schemas.MeshyRiggingBasicAnimations.properties.running_fbx_url.description": "eb39efa7", + "components.schemas.MeshyRiggingBasicAnimations.properties.running_glb_url.description": "090ac81e", + "components.schemas.MeshyRiggingBasicAnimations.properties.walking_armature_glb_url.description": "1a53b24e", + "components.schemas.MeshyRiggingBasicAnimations.properties.walking_fbx_url.description": "012b5118", + "components.schemas.MeshyRiggingBasicAnimations.properties.walking_glb_url.description": "0e97a05c", + "components.schemas.MeshyRiggingCreateResponse.properties.result.description": "41f6a6fa", + "components.schemas.MeshyRiggingRequest.properties.height_meters.description": "a4aa2f5a", + "components.schemas.MeshyRiggingRequest.properties.input_task_id.description": "2cdb526f", + "components.schemas.MeshyRiggingRequest.properties.model_url.description": "abbebd9d", + "components.schemas.MeshyRiggingRequest.properties.texture_image_url.description": "895dd6e1", + "components.schemas.MeshyRiggingResult.description": "85f3282e", + "components.schemas.MeshyRiggingResult.properties.rigged_character_fbx_url.description": "5df48720", + "components.schemas.MeshyRiggingResult.properties.rigged_character_glb_url.description": "6111191f", + "components.schemas.MeshyRiggingTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyRiggingTask.properties.expires_at.description": "80d10a12", + "components.schemas.MeshyRiggingTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyRiggingTask.properties.id.description": "98bfade1", + "components.schemas.MeshyRiggingTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyRiggingTask.properties.progress.description": "fb1d1e24", + "components.schemas.MeshyRiggingTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyRiggingTask.properties.type.description": "177be62d", + "components.schemas.MeshySymmetryMode.description": "64a05dac", + "components.schemas.MeshyTaskError.description": "410b2cc7", + "components.schemas.MeshyTaskError.properties.message.description": "1259fbc0", + "components.schemas.MeshyTaskStatus.description": "7defa597", + "components.schemas.MeshyTextTo3DCreateResponse.properties.result.description": "0f3430c5", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.is_a_t_pose.description": "f52e42da", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.mode.description": "3e450a2d", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.moderation.description": "f91fb7f2", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.prompt.description": "4a6e0eb0", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.should_remesh.description": "de59f43a", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.target_polycount.description": "4fbdc431", + "components.schemas.MeshyTextTo3DRefineRequest.properties.enable_pbr.description": "6c109d93", + "components.schemas.MeshyTextTo3DRefineRequest.properties.mode.description": "36ec2960", + "components.schemas.MeshyTextTo3DRefineRequest.properties.moderation.description": "f91fb7f2", + "components.schemas.MeshyTextTo3DRefineRequest.properties.preview_task_id.description": "56689f45", + "components.schemas.MeshyTextTo3DRefineRequest.properties.texture_image_url.description": "abd0d960", + "components.schemas.MeshyTextTo3DRefineRequest.properties.texture_prompt.description": "a94998a3", + "components.schemas.MeshyTextTo3DTask.properties.art_style.description": "0ad4fe68", + "components.schemas.MeshyTextTo3DTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyTextTo3DTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyTextTo3DTask.properties.id.description": "98bfade1", + "components.schemas.MeshyTextTo3DTask.properties.negative_prompt.description": "3de11737", + "components.schemas.MeshyTextTo3DTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyTextTo3DTask.properties.progress.description": "2474e077", + "components.schemas.MeshyTextTo3DTask.properties.prompt.description": "d47d55f4", + "components.schemas.MeshyTextTo3DTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyTextTo3DTask.properties.texture_image_url.description": "5605187c", + "components.schemas.MeshyTextTo3DTask.properties.texture_prompt.description": "7db699b8", + "components.schemas.MeshyTextTo3DTask.properties.texture_richness.description": "3de11737", + "components.schemas.MeshyTextTo3DTask.properties.texture_urls.description": "1fe6fe81", + "components.schemas.MeshyTextTo3DTask.properties.thumbnail_url.description": "5492457d", + "components.schemas.MeshyTextTo3DTask.properties.type.description": "e9526463", + "components.schemas.MeshyTextTo3DTask.properties.video_url.description": "80485fac", + "components.schemas.MeshyTextureUrls.description": "05150b8b", + "components.schemas.MeshyTextureUrls.properties.base_color.description": "8ebb4fc4", + "components.schemas.MeshyTextureUrls.properties.metallic.description": "e05b11ce", + "components.schemas.MeshyTextureUrls.properties.normal.description": "223a032e", + "components.schemas.MeshyTextureUrls.properties.roughness.description": "59b9aee4", + "components.schemas.MeshyTopology.description": "a3d7026d", + "components.schemas.MigrationAPIKey.description": "305b1f22", + "components.schemas.MinimaxBaseResponse.description": "e7a77540", + "components.schemas.MinimaxBaseResponse.properties.status_code.description": "834f26be", + "components.schemas.MinimaxBaseResponse.properties.status_msg.description": "707ffac7", + "components.schemas.MinimaxFileRetrieveResponse.description": "88beb806", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.bytes.description": "a8a1db04", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.created_at.description": "d0852956", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.download_url.description": "9abc4bde", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.file_id.description": "004d7871", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.filename.description": "95ce404f", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.purpose.description": "6dd4c542", + "components.schemas.MinimaxTaskResultResponse.description": "538ee2b0", + "components.schemas.MinimaxTaskResultResponse.properties.file_id.description": "eb9e950c", + "components.schemas.MinimaxTaskResultResponse.properties.status.description": "80b53998", + "components.schemas.MinimaxTaskResultResponse.properties.task_id.description": "e8fdb470", + "components.schemas.MinimaxVideoGenerationRequest.description": "d671fb30", + "components.schemas.MinimaxVideoGenerationRequest.properties.callback_url.description": "c94f5cb8", + "components.schemas.MinimaxVideoGenerationRequest.properties.duration.description": "aa99f88a", + "components.schemas.MinimaxVideoGenerationRequest.properties.first_frame_image.description": "58f54f5b", + "components.schemas.MinimaxVideoGenerationRequest.properties.model.description": "eae23619", + "components.schemas.MinimaxVideoGenerationRequest.properties.prompt.description": "5e439c63", + "components.schemas.MinimaxVideoGenerationRequest.properties.prompt_optimizer.description": "fdccabc0", + "components.schemas.MinimaxVideoGenerationRequest.properties.resolution.description": "92a77b74", + "components.schemas.MinimaxVideoGenerationRequest.properties.subject_reference.description": "9bd30202", + "components.schemas.MinimaxVideoGenerationRequest.properties.subject_reference.items.properties.image.description": "14c67a10", + "components.schemas.MinimaxVideoGenerationRequest.properties.subject_reference.items.properties.mask.description": "aba92885", + "components.schemas.MinimaxVideoGenerationResponse.description": "f59b227f", + "components.schemas.MinimaxVideoGenerationResponse.properties.task_id.description": "51e812c2", + "components.schemas.Modality.description": "9f5d6ee6", + "components.schemas.ModalityTokenCount.properties.tokenCount.description": "b03fd501", + "components.schemas.ModelClassification.properties.cost_cents.description": "bf51c0d8", + "components.schemas.ModelClassification.properties.effective_tier.description": "1956d163", + "components.schemas.ModelClassification.properties.override.description": "c46c5eb5", + "components.schemas.ModelClassification.properties.reason.description": "4a0e393a", + "components.schemas.ModelResponseProperties.description": "147677ad", + "components.schemas.ModelResponseProperties.properties.instructions.description": "e06d41d6", + "components.schemas.ModelResponseProperties.properties.max_output_tokens.description": "877bc91a", + "components.schemas.ModelResponseProperties.properties.model.description": "cf74118d", + "components.schemas.ModelResponseProperties.properties.temperature.description": "1153e2de", + "components.schemas.ModelResponseProperties.properties.top_p.description": "3c0ab569", + "components.schemas.ModelResponseProperties.properties.truncation.description": "0e57d1ed", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.guidance_scale.description": "4a840966", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.height.description": "c69ac5f6", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.negative_prompt.description": "87f8a8bb", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.seed.description": "e59d4294", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.steps.description": "d7bc1b6d", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.use_negative_prompts.description": "3e2f5420", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.width.description": "7f093622", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.control_params.properties.motion_intensity.description": "e4766e0a", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.guidance_scale.description": "4a840966", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.negative_prompt.description": "87f8a8bb", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.seed.description": "e59d4294", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.steps.description": "d7bc1b6d", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.use_negative_prompts.description": "3e2f5420", + "components.schemas.MoonvalleyVideoToVideoRequest.properties.control_type.description": "a713a5a7", + "components.schemas.MoonvalleyVideoToVideoRequest.properties.image_url.description": "0429e8c0", + "components.schemas.MoonvalleyVideoToVideoRequest.properties.prompt_text.description": "cf4b2f4d", + "components.schemas.MoonvalleyVideoToVideoRequest.properties.video_url.description": "61e974a4", + "components.schemas.MoonvalleyVideoToVideoRequest.properties.webhook_url.description": "5af599a0", + "components.schemas.Node.properties.banner_url.description": "b4afb85e", + "components.schemas.Node.properties.category.description": "f65e5591", + "components.schemas.Node.properties.created_at.description": "55266bbf", + "components.schemas.Node.properties.downloads.description": "02c640c2", + "components.schemas.Node.properties.github_stars.description": "7fd15716", + "components.schemas.Node.properties.icon.description": "85303563", + "components.schemas.Node.properties.id.description": "6cc84bef", + "components.schemas.Node.properties.license.description": "125ce0e3", + "components.schemas.Node.properties.name.description": "0c87b954", + "components.schemas.Node.properties.preempted_comfy_node_names.description": "0da0ae68", + "components.schemas.Node.properties.rating.description": "f8825d99", + "components.schemas.Node.properties.repository.description": "ebca0d93", + "components.schemas.Node.properties.search_ranking.description": "640b1936", + "components.schemas.Node.properties.status_detail.description": "3ceac554", + "components.schemas.Node.properties.supported_accelerators.description": "f9f8a16f", + "components.schemas.Node.properties.supported_comfyui_frontend_version.description": "aeaa3824", + "components.schemas.Node.properties.supported_comfyui_version.description": "30d0a237", + "components.schemas.Node.properties.supported_os.description": "951ad4c1", + "components.schemas.Node.properties.tags_admin.description": "fd8fe569", + "components.schemas.Node.properties.translations.description": "120513fb", + "components.schemas.NodeVersion.properties.changelog.description": "5a9f9e5e", + "components.schemas.NodeVersion.properties.comfy_node_extract_status.description": "4a90cf13", + "components.schemas.NodeVersion.properties.createdAt.description": "97a89278", + "components.schemas.NodeVersion.properties.dependencies.description": "b29e372e", + "components.schemas.NodeVersion.properties.deprecated.description": "78a52a28", + "components.schemas.NodeVersion.properties.downloadUrl.description": "0cf0e2a8", + "components.schemas.NodeVersion.properties.node_id.description": "6cc84bef", + "components.schemas.NodeVersion.properties.supported_accelerators.description": "f9f8a16f", + "components.schemas.NodeVersion.properties.supported_comfyui_frontend_version.description": "aeaa3824", + "components.schemas.NodeVersion.properties.supported_comfyui_version.description": "30d0a237", + "components.schemas.NodeVersion.properties.supported_os.description": "951ad4c1", + "components.schemas.NodeVersion.properties.tags_admin.description": "fd8fe569", + "components.schemas.NodeVersion.properties.version.description": "4b2231e9", + "components.schemas.NodeVersionIdentifier.properties.node_id.description": "8d181606", + "components.schemas.NodeVersionIdentifier.properties.version.description": "6c0c021c", + "components.schemas.NodeVersionUpdateRequest.properties.changelog.description": "6785bd2e", + "components.schemas.NodeVersionUpdateRequest.properties.deprecated.description": "d36bae5f", + "components.schemas.OpenAICreateResponse.allOf[2].properties.include.description": "cd9a54ed", + "components.schemas.OpenAICreateResponse.allOf[2].properties.input.description": "0fea5c5e", + "components.schemas.OpenAICreateResponse.allOf[2].properties.input.oneOf[0].description": "9b87e08d", + "components.schemas.OpenAICreateResponse.allOf[2].properties.input.oneOf[1].description": "009896cb", + "components.schemas.OpenAICreateResponse.allOf[2].properties.parallel_tool_calls.description": "9c6a880b", + "components.schemas.OpenAICreateResponse.allOf[2].properties.store.description": "6977bff8", + "components.schemas.OpenAICreateResponse.allOf[2].properties.stream.description": "2b7b9901", + "components.schemas.OpenAIImageEditRequest.properties.background.description": "d76b2b77", + "components.schemas.OpenAIImageEditRequest.properties.model.description": "1a7e244b", + "components.schemas.OpenAIImageEditRequest.properties.moderation.description": "559af91f", + "components.schemas.OpenAIImageEditRequest.properties.n.description": "dbe4dbb2", + "components.schemas.OpenAIImageEditRequest.properties.output_compression.description": "98f5f71b", + "components.schemas.OpenAIImageEditRequest.properties.output_format.description": "0d827e39", + "components.schemas.OpenAIImageEditRequest.properties.prompt.description": "658a1a2b", + "components.schemas.OpenAIImageEditRequest.properties.quality.description": "56e4ba14", + "components.schemas.OpenAIImageEditRequest.properties.size.description": "0cef06c7", + "components.schemas.OpenAIImageEditRequest.properties.user.description": "167a4ef1", + "components.schemas.OpenAIImageGenerationRequest.properties.background.description": "d76b2b77", + "components.schemas.OpenAIImageGenerationRequest.properties.model.description": "c972a079", + "components.schemas.OpenAIImageGenerationRequest.properties.moderation.description": "559af91f", + "components.schemas.OpenAIImageGenerationRequest.properties.n.description": "36d21eea", + "components.schemas.OpenAIImageGenerationRequest.properties.output_compression.description": "98f5f71b", + "components.schemas.OpenAIImageGenerationRequest.properties.output_format.description": "0d827e39", + "components.schemas.OpenAIImageGenerationRequest.properties.prompt.description": "c4e2d1e9", + "components.schemas.OpenAIImageGenerationRequest.properties.quality.description": "9dffa87b", + "components.schemas.OpenAIImageGenerationRequest.properties.response_format.description": "7e0e4877", + "components.schemas.OpenAIImageGenerationRequest.properties.size.description": "a380125e", + "components.schemas.OpenAIImageGenerationRequest.properties.style.description": "7a11e7c0", + "components.schemas.OpenAIImageGenerationRequest.properties.user.description": "167a4ef1", + "components.schemas.OpenAIImageGenerationResponse.properties.data.items.properties.b64_json.description": "23d8f4e3", + "components.schemas.OpenAIImageGenerationResponse.properties.data.items.properties.revised_prompt.description": "5424c782", + "components.schemas.OpenAIImageGenerationResponse.properties.data.items.properties.url.description": "c1cf625e", + "components.schemas.OpenAIResponse.allOf[2].properties.created_at.description": "7fecc7f7", + "components.schemas.OpenAIResponse.allOf[2].properties.id.description": "6466ec2a", + "components.schemas.OpenAIResponse.allOf[2].properties.incomplete_details.description": "5d3d4e6c", + "components.schemas.OpenAIResponse.allOf[2].properties.incomplete_details.properties.reason.description": "e199589f", + "components.schemas.OpenAIResponse.allOf[2].properties.object.description": "f6ba34d7", + "components.schemas.OpenAIResponse.allOf[2].properties.output.description": "394e3864", + "components.schemas.OpenAIResponse.allOf[2].properties.output_text.description": "273b6f37", + "components.schemas.OpenAIResponse.allOf[2].properties.parallel_tool_calls.description": "9c6a880b", + "components.schemas.OpenAIResponse.allOf[2].properties.status.description": "cd73198a", + "components.schemas.OpenAIResponse.description": "8d46ae7d", + "components.schemas.OpenAIResponseStreamEvent.description": "fbd4c6a4", + "components.schemas.OpenAIVideoCreateRequest.properties.input_reference.description": "79b2f8df", + "components.schemas.OpenAIVideoCreateRequest.properties.model.description": "8e8eb0e3", + "components.schemas.OpenAIVideoCreateRequest.properties.prompt.description": "52b84912", + "components.schemas.OpenAIVideoCreateRequest.properties.seconds.description": "40aeba88", + "components.schemas.OpenAIVideoCreateRequest.properties.size.description": "129d3d70", + "components.schemas.OpenAIVideoJob.properties.completed_at.description": "d37e4420", + "components.schemas.OpenAIVideoJob.properties.created_at.description": "5daeaf34", + "components.schemas.OpenAIVideoJob.properties.error.description": "0ef0cbc3", + "components.schemas.OpenAIVideoJob.properties.error.properties.code.description": "0570b384", + "components.schemas.OpenAIVideoJob.properties.error.properties.message.description": "52710385", + "components.schemas.OpenAIVideoJob.properties.expires_at.description": "8ce30771", + "components.schemas.OpenAIVideoJob.properties.id.description": "ce15ebd2", + "components.schemas.OpenAIVideoJob.properties.model.description": "6149392d", + "components.schemas.OpenAIVideoJob.properties.object.description": "f12ebe66", + "components.schemas.OpenAIVideoJob.properties.progress.description": "7565e24d", + "components.schemas.OpenAIVideoJob.properties.quality.description": "317678b7", + "components.schemas.OpenAIVideoJob.properties.remixed_from_video_id.description": "c611e832", + "components.schemas.OpenAIVideoJob.properties.seconds.description": "72466e85", + "components.schemas.OpenAIVideoJob.properties.size.description": "a6a90994", + "components.schemas.OpenAIVideoJob.properties.status.description": "8da9bfd1", + "components.schemas.OpenRouterAnthropicCacheControlDirective.description": "680a8359", + "components.schemas.OpenRouterBigNumberUnion.description": "7c821e8d", + "components.schemas.OpenRouterChatAssistantImages.description": "6a4a9ddb", + "components.schemas.OpenRouterChatAssistantImagesItemsImageUrl.properties.url.description": "68e117ed", + "components.schemas.OpenRouterChatAssistantMessage.description": "bb767c7f", + "components.schemas.OpenRouterChatAssistantMessage.properties.name.description": "97eb6394", + "components.schemas.OpenRouterChatAssistantMessage.properties.reasoning.description": "f85860ca", + "components.schemas.OpenRouterChatAssistantMessage.properties.refusal.description": "93ed6e23", + "components.schemas.OpenRouterChatAssistantMessage.properties.tool_calls.description": "f62f41f4", + "components.schemas.OpenRouterChatAudioOutput.description": "3bf490f1", + "components.schemas.OpenRouterChatAudioOutput.properties.data.description": "7c200c11", + "components.schemas.OpenRouterChatAudioOutput.properties.expires_at.description": "9aa821ba", + "components.schemas.OpenRouterChatAudioOutput.properties.id.description": "1fdd54d2", + "components.schemas.OpenRouterChatAudioOutput.properties.transcript.description": "7b65e858", + "components.schemas.OpenRouterChatChoice.description": "126473d9", + "components.schemas.OpenRouterChatChoice.properties.index.description": "13307f40", + "components.schemas.OpenRouterChatContentCacheControl.description": "013b31f5", + "components.schemas.OpenRouterChatContentItems.description": "8475990d", + "components.schemas.OpenRouterChatContentItems.oneOf[0].description": "3f927e9b", + "components.schemas.OpenRouterChatContentItems.oneOf[0].properties.type.description": "fd4f1156", + "components.schemas.OpenRouterChatContentItems.oneOf[1].description": "7da44e66", + "components.schemas.OpenRouterChatContentItems.oneOf[1].properties.type.description": "d7f2eeab", + "components.schemas.OpenRouterChatContentItems.oneOf[2].description": "5bb39323", + "components.schemas.OpenRouterChatContentItems.oneOf[2].properties.type.description": "8a046f75", + "components.schemas.OpenRouterChatContentItems.oneOf[3].description": "d71ff4bc", + "components.schemas.OpenRouterChatContentItems.oneOf[4].description": "9b578a3b", + "components.schemas.OpenRouterChatContentItems.oneOf[5].description": "d74433ae", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingFileFile.properties.file_data.description": "2c916d73", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingFileFile.properties.file_id.description": "6108dde5", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingFileFile.properties.filename.description": "3f57bc21", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrl.properties.url.description": "fa16ed72", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrlDetail.description": "af909e98", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingInputAudioInputAudio.properties.data.description": "7c200c11", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingInputAudioInputAudio.properties.format.description": "780d21e8", + "components.schemas.OpenRouterChatContentText.description": "9b578a3b", + "components.schemas.OpenRouterChatContentVideoInput.description": "9de1b424", + "components.schemas.OpenRouterChatContentVideoInput.properties.url.description": "9f58f6ab", + "components.schemas.OpenRouterChatDebugOptions.description": "fdbdcf57", + "components.schemas.OpenRouterChatDebugOptions.properties.echo_upstream_body.description": "9d9e2966", + "components.schemas.OpenRouterChatFunctionTool.description": "bd538ef2", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.description": "fe79b809", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.properties.description.description": "a859c669", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.properties.name.description": "6365ece5", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.properties.parameters.additionalProperties.description": "b05fc1fe", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.properties.parameters.description": "bd51a597", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.properties.strict.description": "cf38d1c3", + "components.schemas.OpenRouterChatJsonSchemaConfig.description": "fa3eb798", + "components.schemas.OpenRouterChatJsonSchemaConfig.properties.description.description": "67c8601a", + "components.schemas.OpenRouterChatJsonSchemaConfig.properties.name.description": "4649ed33", + "components.schemas.OpenRouterChatJsonSchemaConfig.properties.schema.additionalProperties.description": "b05fc1fe", + "components.schemas.OpenRouterChatJsonSchemaConfig.properties.schema.description": "5d898255", + "components.schemas.OpenRouterChatJsonSchemaConfig.properties.strict.description": "cf38d1c3", + "components.schemas.OpenRouterChatMessages.description": "2afe219c", + "components.schemas.OpenRouterChatMessages.oneOf[0].description": "bb767c7f", + "components.schemas.OpenRouterChatMessages.oneOf[0].properties.name.description": "97eb6394", + "components.schemas.OpenRouterChatMessages.oneOf[0].properties.reasoning.description": "f85860ca", + "components.schemas.OpenRouterChatMessages.oneOf[0].properties.refusal.description": "93ed6e23", + "components.schemas.OpenRouterChatMessages.oneOf[0].properties.role.description": "cb3ec495", + "components.schemas.OpenRouterChatMessages.oneOf[0].properties.tool_calls.description": "f62f41f4", + "components.schemas.OpenRouterChatMessages.oneOf[1].description": "5a2b1eb5", + "components.schemas.OpenRouterChatMessages.oneOf[1].properties.name.description": "5b6a94fe", + "components.schemas.OpenRouterChatMessages.oneOf[1].properties.role.description": "14120985", + "components.schemas.OpenRouterChatMessages.oneOf[2].description": "ba82b15d", + "components.schemas.OpenRouterChatMessages.oneOf[2].properties.name.description": "175334e6", + "components.schemas.OpenRouterChatMessages.oneOf[3].description": "a98ee7e5", + "components.schemas.OpenRouterChatMessages.oneOf[3].properties.tool_call_id.description": "c18e21c8", + "components.schemas.OpenRouterChatMessages.oneOf[4].description": "e3462c81", + "components.schemas.OpenRouterChatMessages.oneOf[4].properties.name.description": "43aa37c6", + "components.schemas.OpenRouterChatMessagesDiscriminatorMappingAssistantContent.description": "62d2f3ba", + "components.schemas.OpenRouterChatMessagesDiscriminatorMappingAssistantContent.oneOf[2].description": "b05fc1fe", + "components.schemas.OpenRouterChatMessagesDiscriminatorMappingDeveloperContent.description": "80d91f1c", + "components.schemas.OpenRouterChatModelNames.description": "bb30db48", + "components.schemas.OpenRouterChatNamedToolChoice.description": "a52e1037", + "components.schemas.OpenRouterChatNamedToolChoiceFunction.properties.name.description": "3e81c88d", + "components.schemas.OpenRouterChatReasoningDetails.description": "0a43efb8", + "components.schemas.OpenRouterChatRequest.description": "02a6e1c0", + "components.schemas.OpenRouterChatRequest.properties.frequency_penalty.description": "62fac28e", + "components.schemas.OpenRouterChatRequest.properties.logit_bias.description": "45c08300", + "components.schemas.OpenRouterChatRequest.properties.logprobs.description": "ede67e86", + "components.schemas.OpenRouterChatRequest.properties.max_completion_tokens.description": "edd6630f", + "components.schemas.OpenRouterChatRequest.properties.max_tokens.description": "08254ae8", + "components.schemas.OpenRouterChatRequest.properties.messages.description": "3201cb00", + "components.schemas.OpenRouterChatRequest.properties.metadata.description": "60f59bf3", + "components.schemas.OpenRouterChatRequest.properties.modalities.description": "950c013a", + "components.schemas.OpenRouterChatRequest.properties.parallel_tool_calls.description": "1e774692", + "components.schemas.OpenRouterChatRequest.properties.plugins.description": "8eff09ee", + "components.schemas.OpenRouterChatRequest.properties.presence_penalty.description": "39c0e5a9", + "components.schemas.OpenRouterChatRequest.properties.route.description": "b05fc1fe", + "components.schemas.OpenRouterChatRequest.properties.seed.description": "ea1aa27f", + "components.schemas.OpenRouterChatRequest.properties.service_tier.description": "c3d0e65d", + "components.schemas.OpenRouterChatRequest.properties.session_id.description": "ac888e9c", + "components.schemas.OpenRouterChatRequest.properties.stream.description": "242f08e3", + "components.schemas.OpenRouterChatRequest.properties.temperature.description": "72d5a02f", + "components.schemas.OpenRouterChatRequest.properties.tools.description": "cf46ce14", + "components.schemas.OpenRouterChatRequest.properties.top_logprobs.description": "0473fcd0", + "components.schemas.OpenRouterChatRequest.properties.top_p.description": "454eb2fe", + "components.schemas.OpenRouterChatRequest.properties.user.description": "8ebc1b4a", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[0].description": "1f093ca6", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[0].properties.allowed_models.description": "00cd446a", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[0].properties.enabled.description": "cb79193e", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[0].properties.id.description": "0b273855", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[1].description": "5da38fa7", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[1].properties.enabled.description": "4839c79d", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[1].properties.id.description": "68d75c36", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[2].description": "7a57a6c6", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[2].properties.enabled.description": "e2446150", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[2].properties.id.description": "7c652d21", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].description": "ae4f9820", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].properties.analysis_models.description": "040cafce", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].properties.enabled.description": "b794eaf2", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].properties.id.description": "c087daa6", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].properties.max_tool_calls.description": "92740e5f", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].properties.model.description": "1f500a55", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[4].description": "5fa42875", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[4].properties.id.description": "17843ed7", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[5].description": "df5ba701", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[5].properties.enabled.description": "71ca71aa", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[5].properties.id.description": "067a2753", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[5].properties.min_coding_score.description": "04c19d51", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[6].description": "f741afee", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[6].properties.enabled.description": "39385d7d", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[6].properties.id.description": "ecb9fd9c", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[7].description": "cbf47696", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[7].properties.enabled.description": "8ccae1c4", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[7].properties.exclude_domains.description": "dea6fe46", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[7].properties.include_domains.description": "83262c88", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[7].properties.max_uses.description": "08306d66", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[8].description": "6da9be78", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[8].properties.allowed_domains.description": "bc180fba", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[8].properties.blocked_domains.description": "51d26650", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[8].properties.max_content_tokens.description": "ad129adf", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[8].properties.max_uses.description": "264887ec", + "components.schemas.OpenRouterChatRequestReasoning.description": "3054a540", + "components.schemas.OpenRouterChatRequestReasoning.properties.effort.description": "bca384a1", + "components.schemas.OpenRouterChatRequestReasoningEffort.description": "bca384a1", + "components.schemas.OpenRouterChatRequestResponseFormat.description": "0f22d169", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[0].description": "84b8d962", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[0].properties.grammar.description": "8bf305a4", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[0].properties.type.description": "fd91ccb8", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[1].description": "485f9997", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[2].description": "8f889ade", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[2].properties.type.description": "b6a090ec", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[3].description": "1bdaafda", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[3].properties.type.description": "13cbd5c9", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[4].description": "b7624311", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[4].properties.type.description": "2333e0d2", + "components.schemas.OpenRouterChatRequestServiceTier.description": "c3d0e65d", + "components.schemas.OpenRouterChatRequestStop.description": "d539b768", + "components.schemas.OpenRouterChatRequestStop.oneOf[2].description": "b05fc1fe", + "components.schemas.OpenRouterChatResult.description": "42dd023f", + "components.schemas.OpenRouterChatResult.properties.choices.description": "b6fd4ef0", + "components.schemas.OpenRouterChatResult.properties.created.description": "2e566ad2", + "components.schemas.OpenRouterChatResult.properties.id.description": "540d04b6", + "components.schemas.OpenRouterChatResult.properties.model.description": "2a3a210f", + "components.schemas.OpenRouterChatResult.properties.service_tier.description": "b68a0a00", + "components.schemas.OpenRouterChatResult.properties.system_fingerprint.description": "f1b83674", + "components.schemas.OpenRouterChatSearchModelsServerTool.description": "7929ff46", + "components.schemas.OpenRouterChatStreamOptions.description": "ef9e8719", + "components.schemas.OpenRouterChatStreamOptions.properties.include_usage.description": "c2bd3936", + "components.schemas.OpenRouterChatSystemMessageContent.description": "f61d352e", + "components.schemas.OpenRouterChatTokenLogprob.description": "50debeed", + "components.schemas.OpenRouterChatTokenLogprob.properties.bytes.description": "500f20f7", + "components.schemas.OpenRouterChatTokenLogprob.properties.logprob.description": "a84f1d4f", + "components.schemas.OpenRouterChatTokenLogprob.properties.token.description": "d22bffce", + "components.schemas.OpenRouterChatTokenLogprob.properties.top_logprobs.description": "456f407b", + "components.schemas.OpenRouterChatTokenLogprobs.description": "467f1a52", + "components.schemas.OpenRouterChatTokenLogprobs.properties.content.description": "7dace0fb", + "components.schemas.OpenRouterChatTokenLogprobs.properties.refusal.description": "c634af84", + "components.schemas.OpenRouterChatToolCall.description": "d67f524c", + "components.schemas.OpenRouterChatToolCall.properties.id.description": "d0ed8ee4", + "components.schemas.OpenRouterChatToolCallFunction.properties.arguments.description": "3e0b8034", + "components.schemas.OpenRouterChatToolCallFunction.properties.name.description": "3e81c88d", + "components.schemas.OpenRouterChatToolChoice.description": "9ec37bbf", + "components.schemas.OpenRouterChatToolMessageContent.description": "9e2c40a1", + "components.schemas.OpenRouterChatUsage.description": "aeabfa87", + "components.schemas.OpenRouterChatUsage.properties.completion_tokens.description": "e0458a08", + "components.schemas.OpenRouterChatUsage.properties.completion_tokens_details.description": "e2ca0002", + "components.schemas.OpenRouterChatUsage.properties.cost.description": "e5fa64ca", + "components.schemas.OpenRouterChatUsage.properties.is_byok.description": "5de30d47", + "components.schemas.OpenRouterChatUsage.properties.prompt_tokens.description": "63cbfc6a", + "components.schemas.OpenRouterChatUsage.properties.prompt_tokens_details.description": "c0bb210d", + "components.schemas.OpenRouterChatUsage.properties.total_tokens.description": "2ecc5e36", + "components.schemas.OpenRouterChatUsageCompletionTokensDetails.description": "e2ca0002", + "components.schemas.OpenRouterChatUsageCompletionTokensDetails.properties.accepted_prediction_tokens.description": "ddb6ed05", + "components.schemas.OpenRouterChatUsageCompletionTokensDetails.properties.audio_tokens.description": "8b734c24", + "components.schemas.OpenRouterChatUsageCompletionTokensDetails.properties.reasoning_tokens.description": "6f78d894", + "components.schemas.OpenRouterChatUsageCompletionTokensDetails.properties.rejected_prediction_tokens.description": "809cf8f1", + "components.schemas.OpenRouterChatUsagePromptTokensDetails.description": "c0bb210d", + "components.schemas.OpenRouterChatUsagePromptTokensDetails.properties.audio_tokens.description": "749d120a", + "components.schemas.OpenRouterChatUsagePromptTokensDetails.properties.cache_write_tokens.description": "a1946f63", + "components.schemas.OpenRouterChatUsagePromptTokensDetails.properties.cached_tokens.description": "0a158c6c", + "components.schemas.OpenRouterChatUsagePromptTokensDetails.properties.video_tokens.description": "687d1a22", + "components.schemas.OpenRouterChatUserMessageContent.description": "fe78331d", + "components.schemas.OpenRouterChatWebSearchShorthand.description": "ebef2c45", + "components.schemas.OpenRouterChatWebSearchShorthand.properties.allowed_domains.description": "c6e96bda", + "components.schemas.OpenRouterChatWebSearchShorthand.properties.excluded_domains.description": "19e5acfa", + "components.schemas.OpenRouterChatWebSearchShorthand.properties.max_results.description": "76f577c2", + "components.schemas.OpenRouterChatWebSearchShorthand.properties.max_total_results.description": "61095a55", + "components.schemas.OpenRouterContextCompressionEngine.description": "4373d0d0", + "components.schemas.OpenRouterCostDetails.description": "fe318890", + "components.schemas.OpenRouterDatetimeServerTool.description": "21e7fa7a", + "components.schemas.OpenRouterDatetimeServerToolConfig.description": "3a3951da", + "components.schemas.OpenRouterDatetimeServerToolConfig.properties.timezone.description": "2050e63c", + "components.schemas.OpenRouterImageConfig.oneOf[2].items.description": "b05fc1fe", + "components.schemas.OpenRouterImageGenerationServerToolConfig.description": "e705cf0c", + "components.schemas.OpenRouterImageGenerationServerToolConfig.properties.model.description": "2370e716", + "components.schemas.OpenRouterModelName.description": "5ffb33d2", + "components.schemas.OpenRouterPDFParserEngine.description": "812bb1cc", + "components.schemas.OpenRouterPDFParserOptions.description": "033d18f8", + "components.schemas.OpenRouterPercentileLatencyCutoffs.description": "ccaf50a6", + "components.schemas.OpenRouterPercentileLatencyCutoffs.properties.p50.description": "fd0fe2a9", + "components.schemas.OpenRouterPercentileLatencyCutoffs.properties.p75.description": "b5433a0b", + "components.schemas.OpenRouterPercentileLatencyCutoffs.properties.p90.description": "a8a34206", + "components.schemas.OpenRouterPercentileLatencyCutoffs.properties.p99.description": "99fb6ff9", + "components.schemas.OpenRouterPercentileThroughputCutoffs.description": "91c007c5", + "components.schemas.OpenRouterPercentileThroughputCutoffs.properties.p50.description": "ff768fbf", + "components.schemas.OpenRouterPercentileThroughputCutoffs.properties.p75.description": "54337cae", + "components.schemas.OpenRouterPercentileThroughputCutoffs.properties.p90.description": "2181e08f", + "components.schemas.OpenRouterPercentileThroughputCutoffs.properties.p99.description": "a7b2a5f6", + "components.schemas.OpenRouterPipelineStage.properties.data.additionalProperties.description": "b05fc1fe", + "components.schemas.OpenRouterPipelineStageType.description": "ec3c620d", + "components.schemas.OpenRouterPreferredMaxLatency.description": "99478c8f", + "components.schemas.OpenRouterPreferredMaxLatency.oneOf[2].description": "b05fc1fe", + "components.schemas.OpenRouterPreferredMinThroughput.description": "9a3f5ba8", + "components.schemas.OpenRouterPreferredMinThroughput.oneOf[2].description": "b05fc1fe", + "components.schemas.OpenRouterProviderPreferences.description": "840eba80", + "components.schemas.OpenRouterProviderPreferences.properties.allow_fallbacks.description": "d4daa180", + "components.schemas.OpenRouterProviderPreferences.properties.data_collection.description": "dd76fe92", + "components.schemas.OpenRouterProviderPreferences.properties.enforce_distillable_text.description": "e09a1385", + "components.schemas.OpenRouterProviderPreferences.properties.ignore.description": "473edd17", + "components.schemas.OpenRouterProviderPreferences.properties.only.description": "484e45c6", + "components.schemas.OpenRouterProviderPreferences.properties.order.description": "de8a80ab", + "components.schemas.OpenRouterProviderPreferences.properties.quantizations.description": "e3e6fb29", + "components.schemas.OpenRouterProviderPreferences.properties.require_parameters.description": "6b6095a8", + "components.schemas.OpenRouterProviderPreferences.properties.zdr.description": "6bf6fed4", + "components.schemas.OpenRouterProviderPreferencesDataCollection.description": "dd76fe92", + "components.schemas.OpenRouterProviderPreferencesMaxPrice.description": "ab2d58e0", + "components.schemas.OpenRouterProviderPreferencesSort.description": "59d43321", + "components.schemas.OpenRouterProviderPreferencesSort.oneOf[2].description": "b05fc1fe", + "components.schemas.OpenRouterProviderSort.description": "8eabaddd", + "components.schemas.OpenRouterProviderSortConfig.description": "8eabaddd", + "components.schemas.OpenRouterProviderSortConfig.properties.by.description": "8eabaddd", + "components.schemas.OpenRouterProviderSortConfig.properties.partition.description": "d050e0f9", + "components.schemas.OpenRouterProviderSortConfigBy.description": "8eabaddd", + "components.schemas.OpenRouterProviderSortConfigPartition.description": "d050e0f9", + "components.schemas.OpenRouterReasoningDetailUnion.description": "a0d776e0", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[0].description": "248279d4", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[0].properties.type.description": "784dc131", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[1].description": "25ce0029", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[1].properties.type.description": "b0667270", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[2].description": "9caafca8", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[2].properties.type.description": "c0c67d5c", + "components.schemas.OpenRouterSearchModelsServerToolConfig.description": "9bcd6819", + "components.schemas.OpenRouterSearchModelsServerToolConfig.properties.max_results.description": "eea302f3", + "components.schemas.OpenRouterSearchQualityLevel.description": "ac6dd940", + "components.schemas.OpenRouterStopServerToolsWhen.description": "aed5c34d", + "components.schemas.OpenRouterStopServerToolsWhenCondition.description": "92c0facd", + "components.schemas.OpenRouterStopServerToolsWhenCondition.oneOf[0].description": "1a1ab806", + "components.schemas.OpenRouterStopServerToolsWhenCondition.oneOf[1].description": "84f92e3e", + "components.schemas.OpenRouterStopServerToolsWhenCondition.oneOf[2].description": "e6d63bb4", + "components.schemas.OpenRouterStopServerToolsWhenCondition.oneOf[3].description": "86d656e8", + "components.schemas.OpenRouterStopServerToolsWhenCondition.oneOf[4].description": "3a9e5471", + "components.schemas.OpenRouterTraceConfig.description": "54252342", + "components.schemas.OpenRouterWebFetchEngineEnum.description": "e48aed71", + "components.schemas.OpenRouterWebFetchServerTool.description": "5c5f1980", + "components.schemas.OpenRouterWebFetchServerToolConfig.description": "b09be011", + "components.schemas.OpenRouterWebFetchServerToolConfig.properties.allowed_domains.description": "bc180fba", + "components.schemas.OpenRouterWebFetchServerToolConfig.properties.blocked_domains.description": "51d26650", + "components.schemas.OpenRouterWebFetchServerToolConfig.properties.max_content_tokens.description": "ad129adf", + "components.schemas.OpenRouterWebFetchServerToolConfig.properties.max_uses.description": "264887ec", + "components.schemas.OpenRouterWebSearchConfig.properties.allowed_domains.description": "c6e96bda", + "components.schemas.OpenRouterWebSearchConfig.properties.excluded_domains.description": "19e5acfa", + "components.schemas.OpenRouterWebSearchConfig.properties.max_results.description": "76f577c2", + "components.schemas.OpenRouterWebSearchConfig.properties.max_total_results.description": "61095a55", + "components.schemas.OpenRouterWebSearchEngine.description": "34e8542d", + "components.schemas.OpenRouterWebSearchEngineEnum.description": "f0e22a7c", + "components.schemas.OpenRouterWebSearchPluginUserLocation.description": "80b0f08f", + "components.schemas.OpenRouterWebSearchServerTool.description": "5b617fdc", + "components.schemas.OpenRouterWebSearchUserLocationServerTool.description": "30bcf43c", + "components.schemas.OutputAudioContent.properties.data.description": "7830a88a", + "components.schemas.OutputAudioContent.properties.transcript.description": "c1c2f093", + "components.schemas.OutputAudioContent.properties.type.description": "7b68ba13", + "components.schemas.OutputMessage.properties.content.description": "6560fe96", + "components.schemas.OutputMessage.properties.role.description": "8d2c7fec", + "components.schemas.OutputMessage.properties.type.description": "24fb6ba6", + "components.schemas.OutputTextContent.properties.text.description": "23be5a69", + "components.schemas.OutputTextContent.properties.type.description": "7b68ba13", + "components.schemas.PersonalAccessToken.properties.createdAt.description": "beb448e6", + "components.schemas.PersonalAccessToken.properties.description.description": "ea415ec0", + "components.schemas.PersonalAccessToken.properties.id.description": "2770e66d", + "components.schemas.PersonalAccessToken.properties.name.description": "b8517d35", + "components.schemas.PersonalAccessToken.properties.token.description": "f0f0c592", + "components.schemas.PikaBody_generate_2_2_c2v_generate_2_2_pikascenes_post.properties.aspectRatio.description": "f4e63425", + "components.schemas.PikaBody_generate_2_2_keyframe_generate_2_2_pikaframes_post.properties.keyFrames.description": "50752229", + "components.schemas.PikaBody_generate_2_2_t2v_generate_2_2_t2v_post.properties.aspectRatio.description": "f4e63425", + "components.schemas.PikaBody_generate_pikaswaps_generate_pikaswaps_post.properties.modifyRegionMask.description": "54e429bc", + "components.schemas.PikaBody_generate_pikaswaps_generate_pikaswaps_post.properties.modifyRegionRoi.description": "b7d98a3d", + "components.schemas.PixverseVideoResultResponse.properties.Resp.properties.status.description": "03fa78cd", + "components.schemas.PromoCodeResponse.properties.active.description": "be3bb58e", + "components.schemas.PromoCodeResponse.properties.code.description": "9b5bcced", + "components.schemas.PromoCodeResponse.properties.coupon_id.description": "7cc99cb5", + "components.schemas.PromoCodeResponse.properties.expires_at.description": "3d7537c4", + "components.schemas.PromoCodeResponse.properties.id.description": "ad922f9c", + "components.schemas.PromoCodeResponse.properties.max_redemptions.description": "ef30da1d", + "components.schemas.PromoCodeResponse.properties.metadata.description": "10282a4b", + "components.schemas.PromoCodeResponse.properties.times_redeemed.description": "8336271b", + "components.schemas.Publisher.properties.createdAt.description": "da46736d", + "components.schemas.Publisher.properties.id.description": "68abdd65", + "components.schemas.Publisher.properties.logo.description": "708211ec", + "components.schemas.Publisher.properties.members.description": "9deae0e3", + "components.schemas.PublisherMember.properties.id.description": "03dfcab4", + "components.schemas.PublisherMember.properties.role.description": "896b93f6", + "components.schemas.PublisherUser.properties.email.description": "0b83b7bc", + "components.schemas.PublisherUser.properties.id.description": "1b856ced", + "components.schemas.PublisherUser.properties.name.description": "dc61ade2", + "components.schemas.QuiverImageObject.description": "e4a0f2ac", + "components.schemas.QuiverImageObject.properties.base64.description": "665f7e21", + "components.schemas.QuiverImageObject.properties.url.description": "36bcea64", + "components.schemas.QuiverImageToSVGRequest.description": "76c53fbd", + "components.schemas.QuiverImageToSVGRequest.properties.auto_crop.description": "d5f17b7a", + "components.schemas.QuiverImageToSVGRequest.properties.max_output_tokens.description": "b71fc1d2", + "components.schemas.QuiverImageToSVGRequest.properties.model.description": "c771a45e", + "components.schemas.QuiverImageToSVGRequest.properties.presence_penalty.description": "65570b9b", + "components.schemas.QuiverImageToSVGRequest.properties.stream.description": "12c220d8", + "components.schemas.QuiverImageToSVGRequest.properties.target_size.description": "bac5b995", + "components.schemas.QuiverImageToSVGRequest.properties.temperature.description": "fff8c2b8", + "components.schemas.QuiverImageToSVGRequest.properties.top_p.description": "95a1a133", + "components.schemas.QuiverSVGResponse.description": "f5ddcf72", + "components.schemas.QuiverSVGResponse.properties.created.description": "2e566ad2", + "components.schemas.QuiverSVGResponse.properties.credits.description": "87edc573", + "components.schemas.QuiverSVGResponse.properties.data.items.properties.mime_type.description": "f5e34cc5", + "components.schemas.QuiverSVGResponse.properties.data.items.properties.svg.description": "e6a3c5e7", + "components.schemas.QuiverSVGResponse.properties.id.description": "345becf3", + "components.schemas.QuiverSVGResponse.properties.usage.description": "ea5f0314", + "components.schemas.QuiverSVGResponse.properties.usage.properties.input_tokens.description": "15009292", + "components.schemas.QuiverSVGResponse.properties.usage.properties.output_tokens.description": "15009292", + "components.schemas.QuiverSVGResponse.properties.usage.properties.total_tokens.description": "15009292", + "components.schemas.QuiverTextToSVGRequest.description": "ec10e3d5", + "components.schemas.QuiverTextToSVGRequest.properties.instructions.description": "91560d48", + "components.schemas.QuiverTextToSVGRequest.properties.max_output_tokens.description": "b71fc1d2", + "components.schemas.QuiverTextToSVGRequest.properties.model.description": "7df06581", + "components.schemas.QuiverTextToSVGRequest.properties.n.description": "baac2a2d", + "components.schemas.QuiverTextToSVGRequest.properties.presence_penalty.description": "65570b9b", + "components.schemas.QuiverTextToSVGRequest.properties.prompt.description": "d182f349", + "components.schemas.QuiverTextToSVGRequest.properties.references.description": "3c6129b7", + "components.schemas.QuiverTextToSVGRequest.properties.references.items.oneOf[1].description": "e15edce8", + "components.schemas.QuiverTextToSVGRequest.properties.temperature.description": "fff8c2b8", + "components.schemas.QuiverTextToSVGRequest.properties.top_p.description": "95a1a133", + "components.schemas.RGBColor.description": "7c286492", + "components.schemas.Reasoning.description": "2b615ac4", + "components.schemas.Reasoning.properties.generate_summary.description": "a1351b60", + "components.schemas.Reasoning.properties.summary.description": "ffb137e8", + "components.schemas.ReasoningEffort.description": "78194d62", + "components.schemas.ReasoningItem.description": "c8af3943", + "components.schemas.ReasoningItem.properties.id.description": "27ca543d", + "components.schemas.ReasoningItem.properties.status.description": "d3371813", + "components.schemas.ReasoningItem.properties.summary.description": "4e902c9e", + "components.schemas.ReasoningItem.properties.summary.items.properties.text.description": "c806fff6", + "components.schemas.ReasoningItem.properties.summary.items.properties.type.description": "2053fbfe", + "components.schemas.ReasoningItem.properties.type.description": "69ffb623", + "components.schemas.RecraftCreateStyleRequest.description": "ee66c46b", + "components.schemas.RecraftCreateStyleRequest.properties.file1.description": "63fb8d5d", + "components.schemas.RecraftCreateStyleRequest.properties.file2.description": "2754ad1a", + "components.schemas.RecraftCreateStyleRequest.properties.file3.description": "66aa3b4c", + "components.schemas.RecraftCreateStyleRequest.properties.file4.description": "e6241e55", + "components.schemas.RecraftCreateStyleRequest.properties.file5.description": "dd15b0a6", + "components.schemas.RecraftCreateStyleRequest.properties.style.description": "bff74c4f", + "components.schemas.RecraftCreateStyleResponse.description": "1d647c3e", + "components.schemas.RecraftCreateStyleResponse.properties.id.description": "6653dd9a", + "components.schemas.RecraftImageGenerationRequest.description": "3f460ada", + "components.schemas.RecraftImageGenerationRequest.properties.controls.description": "697d2b9a", + "components.schemas.RecraftImageGenerationRequest.properties.controls.properties.artistic_level.description": "c7c0cfdd", + "components.schemas.RecraftImageGenerationRequest.properties.controls.properties.colors.description": "8589818a", + "components.schemas.RecraftImageGenerationRequest.properties.controls.properties.no_text.description": "aed4873d", + "components.schemas.RecraftImageGenerationRequest.properties.model.description": "26262f44", + "components.schemas.RecraftImageGenerationRequest.properties.n.description": "dbe4dbb2", + "components.schemas.RecraftImageGenerationRequest.properties.prompt.description": "6b20c1ee", + "components.schemas.RecraftImageGenerationRequest.properties.size.description": "0fb352f1", + "components.schemas.RecraftImageGenerationRequest.properties.style.description": "e61c60e6", + "components.schemas.RecraftImageGenerationRequest.properties.style_id.description": "915435af", + "components.schemas.RecraftImageGenerationResponse.description": "9aaf447d", + "components.schemas.RecraftImageGenerationResponse.properties.created.description": "6b8f3f77", + "components.schemas.RecraftImageGenerationResponse.properties.credits.description": "5df048a8", + "components.schemas.RecraftImageGenerationResponse.properties.data.description": "c6c5d006", + "components.schemas.RecraftImageGenerationResponse.properties.data.items.properties.image_id.description": "57a07e45", + "components.schemas.RecraftImageGenerationResponse.properties.data.items.properties.url.description": "92377eea", + "components.schemas.ReleaseNote.properties.attention.description": "63feef49", + "components.schemas.ReleaseNote.properties.content.description": "b9d1b944", + "components.schemas.ReleaseNote.properties.id.description": "7166ad85", + "components.schemas.ReleaseNote.properties.project.description": "32af4377", + "components.schemas.ReleaseNote.properties.published_at.description": "4e5ccca2", + "components.schemas.ReleaseNote.properties.version.description": "88d7f345", + "components.schemas.RenderingSpeed.description": "ad95b312", + "components.schemas.ResponseCompletedEvent.description": "16f2182d", + "components.schemas.ResponseCompletedEvent.properties.type.description": "e4440eb7", + "components.schemas.ResponseContentPartAddedEvent.description": "8f3692d4", + "components.schemas.ResponseContentPartAddedEvent.properties.content_index.description": "c229235c", + "components.schemas.ResponseContentPartAddedEvent.properties.item_id.description": "1883dbf1", + "components.schemas.ResponseContentPartAddedEvent.properties.output_index.description": "8ef4d157", + "components.schemas.ResponseContentPartAddedEvent.properties.type.description": "691d7ae6", + "components.schemas.ResponseContentPartDoneEvent.description": "63717634", + "components.schemas.ResponseContentPartDoneEvent.properties.content_index.description": "7d62fd94", + "components.schemas.ResponseContentPartDoneEvent.properties.item_id.description": "1883dbf1", + "components.schemas.ResponseContentPartDoneEvent.properties.output_index.description": "8ef4d157", + "components.schemas.ResponseContentPartDoneEvent.properties.type.description": "a4ded0bf", + "components.schemas.ResponseCreatedEvent.description": "32dfb2bf", + "components.schemas.ResponseCreatedEvent.properties.type.description": "0a2201d1", + "components.schemas.ResponseError.description": "e99aa79e", + "components.schemas.ResponseError.properties.message.description": "bb566ccd", + "components.schemas.ResponseErrorCode.description": "931e2933", + "components.schemas.ResponseErrorEvent.description": "76269e10", + "components.schemas.ResponseErrorEvent.properties.code.description": "4db46728", + "components.schemas.ResponseErrorEvent.properties.message.description": "4348690e", + "components.schemas.ResponseErrorEvent.properties.param.description": "dccfe3e5", + "components.schemas.ResponseErrorEvent.properties.type.description": "cdb13a90", + "components.schemas.ResponseFailedEvent.description": "a3a9cfcf", + "components.schemas.ResponseFailedEvent.properties.type.description": "895bb2f9", + "components.schemas.ResponseFormatJsonObject.description": "7b3a0c32", + "components.schemas.ResponseFormatJsonObject.properties.type.description": "bee28d32", + "components.schemas.ResponseFormatJsonSchemaSchema.description": "87f07d44", + "components.schemas.ResponseFormatText.description": "af866342", + "components.schemas.ResponseFormatText.properties.type.description": "a437f9c1", + "components.schemas.ResponseInProgressEvent.description": "06621d59", + "components.schemas.ResponseInProgressEvent.properties.type.description": "6fffdd61", + "components.schemas.ResponseIncompleteEvent.description": "63dc3613", + "components.schemas.ResponseIncompleteEvent.properties.type.description": "981e07ff", + "components.schemas.ResponseOutputItemAddedEvent.description": "4133cbbc", + "components.schemas.ResponseOutputItemAddedEvent.properties.output_index.description": "36ee9532", + "components.schemas.ResponseOutputItemAddedEvent.properties.type.description": "3f755dde", + "components.schemas.ResponseOutputItemDoneEvent.description": "eb9fdf3b", + "components.schemas.ResponseOutputItemDoneEvent.properties.output_index.description": "40457626", + "components.schemas.ResponseOutputItemDoneEvent.properties.type.description": "80b04542", + "components.schemas.ResponseProperties.properties.instructions.description": "a778c23a", + "components.schemas.ResponseProperties.properties.max_output_tokens.description": "df0fb0b4", + "components.schemas.ResponseProperties.properties.previous_response_id.description": "b580eaf6", + "components.schemas.ResponseProperties.properties.tool_choice.description": "3b35d9fb", + "components.schemas.ResponseProperties.properties.truncation.description": "ae703bfc", + "components.schemas.ResponseUsage.description": "4dea91ac", + "components.schemas.ResponseUsage.properties.input_tokens.description": "1a223172", + "components.schemas.ResponseUsage.properties.input_tokens_details.description": "b20c9c1c", + "components.schemas.ResponseUsage.properties.input_tokens_details.properties.cached_tokens.description": "344e294f", + "components.schemas.ResponseUsage.properties.output_tokens.description": "17322447", + "components.schemas.ResponseUsage.properties.output_tokens_details.description": "4cd70899", + "components.schemas.ResponseUsage.properties.output_tokens_details.properties.reasoning_tokens.description": "8f887b08", + "components.schemas.ResponseUsage.properties.total_tokens.description": "6f2f28a3", + "components.schemas.ReveImageCreateRequest.description": "25c3c011", + "components.schemas.ReveImageCreateRequest.properties.aspect_ratio.description": "22b9bb0f", + "components.schemas.ReveImageCreateRequest.properties.postprocessing.description": "8529198b", + "components.schemas.ReveImageCreateRequest.properties.prompt.description": "1d05a279", + "components.schemas.ReveImageCreateRequest.properties.test_time_scaling.description": "5a3d4f9d", + "components.schemas.ReveImageCreateRequest.properties.version.description": "ca67ff3a", + "components.schemas.ReveImageEditRequest.description": "e4366cec", + "components.schemas.ReveImageEditRequest.properties.aspect_ratio.description": "de56f1ae", + "components.schemas.ReveImageEditRequest.properties.edit_instruction.description": "67101fd5", + "components.schemas.ReveImageEditRequest.properties.postprocessing.description": "8529198b", + "components.schemas.ReveImageEditRequest.properties.reference_image.description": "1d94d17d", + "components.schemas.ReveImageEditRequest.properties.test_time_scaling.description": "5a3d4f9d", + "components.schemas.ReveImageEditRequest.properties.version.description": "2e967caa", + "components.schemas.ReveImageRemixRequest.description": "cb7ccd8e", + "components.schemas.ReveImageRemixRequest.properties.aspect_ratio.description": "f9dc9e04", + "components.schemas.ReveImageRemixRequest.properties.postprocessing.description": "8529198b", + "components.schemas.ReveImageRemixRequest.properties.prompt.description": "a504f7aa", + "components.schemas.ReveImageRemixRequest.properties.reference_images.description": "6e335911", + "components.schemas.ReveImageRemixRequest.properties.test_time_scaling.description": "5a3d4f9d", + "components.schemas.ReveImageRemixRequest.properties.version.description": "85dacf1e", + "components.schemas.ReveImageResponse.description": "6c6062e7", + "components.schemas.ReveImageResponse.properties.content_violation.description": "f46aadb9", + "components.schemas.ReveImageResponse.properties.credits_remaining.description": "e7376c0c", + "components.schemas.ReveImageResponse.properties.credits_used.description": "bcbf44b2", + "components.schemas.ReveImageResponse.properties.image.description": "ab061d89", + "components.schemas.ReveImageResponse.properties.request_id.description": "f8910590", + "components.schemas.ReveImageResponse.properties.version.description": "4a7e7ed5", + "components.schemas.RevePostprocessingOperation.description": "b06133dd", + "components.schemas.RevePostprocessingOperation.properties.effect_name.description": "00e63313", + "components.schemas.RevePostprocessingOperation.properties.effect_parameters.description": "382dcdc0", + "components.schemas.RevePostprocessingOperation.properties.max_dim.description": "97180032", + "components.schemas.RevePostprocessingOperation.properties.max_height.description": "0ffd5ae5", + "components.schemas.RevePostprocessingOperation.properties.max_width.description": "0b24b22a", + "components.schemas.RevePostprocessingOperation.properties.process.description": "3596dca2", + "components.schemas.RevePostprocessingOperation.properties.upscale_factor.description": "072efc24", + "components.schemas.Rodin3DCheckStatusRequest.properties.subscription_key.description": "1868fae2", + "components.schemas.Rodin3DCheckStatusResponse.properties.jobs.description": "c778d6de", + "components.schemas.Rodin3DDownloadRequest.properties.task_uuid.description": "b7b2d645", + "components.schemas.Rodin3DGenerateRequest.properties.TAPose.description": "1c13e054", + "components.schemas.Rodin3DGenerateRequest.properties.addons.description": "3b8d4d9d", + "components.schemas.Rodin3DGenerateRequest.properties.bbox_condition.description": "97899d53", + "components.schemas.Rodin3DGenerateRequest.properties.hd_texture.description": "048339d5", + "components.schemas.Rodin3DGenerateRequest.properties.images.description": "7ea54bf9", + "components.schemas.Rodin3DGenerateRequest.properties.is_micro.description": "bb302a42", + "components.schemas.Rodin3DGenerateRequest.properties.is_symmetric.description": "934dcd40", + "components.schemas.Rodin3DGenerateRequest.properties.mesh_simplify.description": "82c8ab53", + "components.schemas.Rodin3DGenerateRequest.properties.mesh_smooth.description": "d12a6fe9", + "components.schemas.Rodin3DGenerateRequest.properties.preview_render.description": "5a840d21", + "components.schemas.Rodin3DGenerateRequest.properties.prompt.description": "8e554fb1", + "components.schemas.Rodin3DGenerateRequest.properties.quality_override.description": "916b2660", + "components.schemas.Rodin3DGenerateRequest.properties.seed.description": "b1b20ed3", + "components.schemas.Rodin3DGenerateRequest.properties.texture_delight.description": "a3a9a459", + "components.schemas.Rodin3DGenerateRequest.properties.use_original_alpha.description": "30971398", + "components.schemas.Rodin3DGenerateResponse.properties.error.description": "c005fc23", + "components.schemas.Rodin3DGenerateResponse.properties.message.description": "9b226fb0", + "components.schemas.Rodin3DGenerateResponse.properties.prompt.description": "c779f11a", + "components.schemas.Rodin3DGenerateResponse.properties.submit_time.description": "28fab766", + "components.schemas.Rodin3DGenerateResponse.properties.uuid.description": "f7ed38bd", + "components.schemas.RodinAddonType.description": "d6648cf2", + "components.schemas.RodinCheckStatusJobItem.properties.uuid.description": "6b6a5f8c", + "components.schemas.RodinConditionModeType.description": "940b9c89", + "components.schemas.RodinGenerateJobsData.properties.subscription_key.description": "96a9f259", + "components.schemas.RodinGenerateJobsData.properties.uuids.description": "aa1e9b87", + "components.schemas.RodinGeometryFileFormatType.description": "5bf98a5c", + "components.schemas.RodinGeometryInstructModeType.description": "ab82e826", + "components.schemas.RodinMaterialType.description": "d5480e64", + "components.schemas.RodinMeshModeType.description": "12400ddb", + "components.schemas.RodinQualityType.description": "f897a479", + "components.schemas.RodinResourceItem.properties.name.description": "3efed3de", + "components.schemas.RodinResourceItem.properties.url.description": "48af528a", + "components.schemas.RodinTextureModeType.description": "4d4ca65a", + "components.schemas.RodinTierType.description": "e945adc6", + "components.schemas.RunwayContentModeration.description": "77a62ea5", + "components.schemas.RunwayContentModeration.properties.publicFigureThreshold.description": "52e03b95", + "components.schemas.RunwayImageToVideoRequest.properties.promptText.description": "7173ccdf", + "components.schemas.RunwayImageToVideoRequest.properties.seed.description": "150353d2", + "components.schemas.RunwayImageToVideoResponse.properties.id.description": "3e0cce3a", + "components.schemas.RunwayModelEnum.description": "67477ea6", + "components.schemas.RunwayPromptImageDetailedObject.description": "b142182c", + "components.schemas.RunwayPromptImageDetailedObject.properties.position.description": "1f3576a9", + "components.schemas.RunwayPromptImageDetailedObject.properties.uri.description": "2dcb70f8", + "components.schemas.RunwayPromptImageObject.description": "fed715b9", + "components.schemas.RunwayPromptImageObject.oneOf[0].description": "5e7ab798", + "components.schemas.RunwayPromptImageObject.oneOf[1].description": "9fd91e4a", + "components.schemas.RunwayTaskStatusEnum.description": "e63345ba", + "components.schemas.RunwayTaskStatusResponse.properties.createdAt.description": "81e2ca0b", + "components.schemas.RunwayTaskStatusResponse.properties.id.description": "3e0cce3a", + "components.schemas.RunwayTaskStatusResponse.properties.output.description": "1ca41c4a", + "components.schemas.RunwayTaskStatusResponse.properties.progress.description": "777154b2", + "components.schemas.RunwayTextToImageRequest.properties.model.description": "d2ad8216", + "components.schemas.RunwayTextToImageRequest.properties.promptText.description": "6c65ecef", + "components.schemas.RunwayTextToImageRequest.properties.referenceImages.description": "d81f7263", + "components.schemas.RunwayTextToImageRequest.properties.referenceImages.items.properties.uri.description": "04825174", + "components.schemas.RunwayTextToImageResponse.properties.id.description": "3e0cce3a", + "components.schemas.RunwayVideoToVideoKeyframe.description": "bcbc9788", + "components.schemas.RunwayVideoToVideoKeyframe.oneOf[0].properties.seconds.description": "ef99262b", + "components.schemas.RunwayVideoToVideoKeyframe.oneOf[0].properties.uri.description": "7ed2dd0c", + "components.schemas.RunwayVideoToVideoKeyframe.oneOf[1].properties.at.description": "40b8fb9b", + "components.schemas.RunwayVideoToVideoKeyframe.oneOf[1].properties.uri.description": "7ed2dd0c", + "components.schemas.RunwayVideoToVideoModelEnum.description": "32e2081b", + "components.schemas.RunwayVideoToVideoPromptImage.description": "405d1129", + "components.schemas.RunwayVideoToVideoPromptImage.properties.uri.description": "7ed2dd0c", + "components.schemas.RunwayVideoToVideoPromptImagePosition.description": "43379c94", + "components.schemas.RunwayVideoToVideoPromptImagePosition.oneOf[0].description": "0e6ca89d", + "components.schemas.RunwayVideoToVideoPromptImagePosition.oneOf[1].description": "bf7dd4e6", + "components.schemas.RunwayVideoToVideoPromptImagePosition.oneOf[1].properties.timestampSeconds.description": "3032ce97", + "components.schemas.RunwayVideoToVideoPromptImagePosition.oneOf[2].description": "31a2eedb", + "components.schemas.RunwayVideoToVideoPromptImagePosition.oneOf[2].properties.positionPercentage.description": "64e216b6", + "components.schemas.RunwayVideoToVideoRequest.description": "bf36b1a9", + "components.schemas.RunwayVideoToVideoRequest.properties.keyframes.description": "a9fea2ce", + "components.schemas.RunwayVideoToVideoRequest.properties.promptImage.description": "893bfb4f", + "components.schemas.RunwayVideoToVideoRequest.properties.promptText.description": "c891a370", + "components.schemas.RunwayVideoToVideoRequest.properties.seed.description": "51676443", + "components.schemas.RunwayVideoToVideoRequest.properties.videoUri.description": "4ca3d14d", + "components.schemas.RunwayVideoToVideoResponse.properties.id.description": "3e0cce3a", + "components.schemas.SeedanceAssetModeration.properties.strategy.description": "d038bd85", + "components.schemas.SeedanceCreateAssetRequest.properties.group_id.description": "7e5d8c7d", + "components.schemas.SeedanceCreateAssetRequest.properties.name.description": "ac330db2", + "components.schemas.SeedanceCreateAssetRequest.properties.project_name.description": "d30a8dc7", + "components.schemas.SeedanceCreateAssetRequest.properties.url.description": "dcf1731f", + "components.schemas.SeedanceCreateAssetResponse.properties.asset_id.description": "42bce9f9", + "components.schemas.SeedanceCreateVisualValidateSessionRequest.properties.name.description": "05c81766", + "components.schemas.SeedanceCreateVisualValidateSessionResponse.properties.h5_link.description": "2d69808f", + "components.schemas.SeedanceCreateVisualValidateSessionResponse.properties.session_id.description": "035b3e7d", + "components.schemas.SeedanceGetAssetResponse.properties.url.description": "b662dafd", + "components.schemas.SeedanceGetVisualValidateSessionResponse.properties.group_id.description": "8aec2fa0", + "components.schemas.SeedanceGetVisualValidateSessionResponse.properties.name.description": "58267097", + "components.schemas.SeedanceListUserAssetsResponse.properties.truncated.description": "421ca6a0", + "components.schemas.SeedanceUserAsset.properties.group_name.description": "75e23554", + "components.schemas.SeedanceUserAsset.properties.url.description": "b1c95ac5", + "components.schemas.SeedanceVirtualLibraryCreateAssetRequest.properties.asset_type.description": "60997314", + "components.schemas.SeedanceVirtualLibraryCreateAssetRequest.properties.hash.description": "e7237c10", + "components.schemas.SeedanceVirtualLibraryCreateAssetRequest.properties.url.description": "d7167587", + "components.schemas.SeedanceVirtualLibraryCreateAssetResponse.properties.asset_id.description": "42bce9f9", + "components.schemas.SeedanceVisualValidationGroup.properties.group_id.description": "f4319651", + "components.schemas.SeedanceVisualValidationGroup.properties.name.description": "38349b6b", + "components.schemas.SoniloErrorResponse.properties.detail.properties.code.description": "0570b384", + "components.schemas.SoniloErrorResponse.properties.detail.properties.message.description": "52710385", + "components.schemas.SoniloStreamEvent.description": "5b1c1d40", + "components.schemas.SoniloStreamEvent.oneOf[0].properties.summary.description": "f7bd49ed", + "components.schemas.SoniloStreamEvent.oneOf[1].properties.data.description": "e006b976", + "components.schemas.SoniloTextToMusicRequest.properties.duration.description": "e19fb73c", + "components.schemas.SoniloTextToMusicRequest.properties.prompt.description": "91f64608", + "components.schemas.SoniloVideoToMusicRequest.oneOf[0].properties.prompt.description": "46500ab2", + "components.schemas.SoniloVideoToMusicRequest.oneOf[0].properties.video.description": "a0669efc", + "components.schemas.SoniloVideoToMusicRequest.oneOf[1].properties.prompt.description": "46500ab2", + "components.schemas.SoniloVideoToMusicRequest.oneOf[1].properties.video_url.description": "84580c85", + "components.schemas.StorageFile.properties.file_path.description": "8f6f4f84", + "components.schemas.StorageFile.properties.id.description": "aa201f2c", + "components.schemas.StorageFile.properties.public_url.description": "f7b60b04", + "components.schemas.SubscriptionDuration.description": "7bcd6c52", + "components.schemas.SubscriptionTier.description": "8f16c35e", + "components.schemas.TencentErrorResponse.description": "39badb6a", + "components.schemas.TencentErrorResponse.properties.Response.properties.Error.properties.Code.description": "0570b384", + "components.schemas.TencentErrorResponse.properties.Response.properties.Error.properties.Message.description": "a5dc35f1", + "components.schemas.TencentErrorResponse.properties.Response.properties.RequestId.description": "9a0f8423", + "components.schemas.TencentFile3D.description": "f573e23f", + "components.schemas.TencentFile3D.properties.PreviewImageUrl.description": "be37bbe2", + "components.schemas.TencentFile3D.properties.Type.description": "db3e7569", + "components.schemas.TencentFile3D.properties.Url.description": "25f298d1", + "components.schemas.TencentHunyuan3DProRequest.description": "121967b2", + "components.schemas.TencentHunyuan3DProRequest.properties.EnablePBR.description": "db9c29a2", + "components.schemas.TencentHunyuan3DProRequest.properties.FaceCount.description": "6e291804", + "components.schemas.TencentHunyuan3DProRequest.properties.GenerateType.description": "bbb89efe", + "components.schemas.TencentHunyuan3DProRequest.properties.ImageBase64.description": "9e70ba61", + "components.schemas.TencentHunyuan3DProRequest.properties.ImageUrl.description": "5b0af767", + "components.schemas.TencentHunyuan3DProRequest.properties.Model.description": "3125c826", + "components.schemas.TencentHunyuan3DProRequest.properties.MultiViewImages.description": "d2b9d105", + "components.schemas.TencentHunyuan3DProRequest.properties.PolygonType.description": "5be0bcd3", + "components.schemas.TencentHunyuan3DProRequest.properties.Prompt.description": "ac28f960", + "components.schemas.TencentHunyuan3DProResponse.description": "075f5199", + "components.schemas.TencentHunyuan3DProResponse.properties.Response.properties.Error.description": "49a6745b", + "components.schemas.TencentHunyuan3DProResponse.properties.Response.properties.Error.properties.Code.description": "0570b384", + "components.schemas.TencentHunyuan3DProResponse.properties.Response.properties.Error.properties.Message.description": "a5dc35f1", + "components.schemas.TencentHunyuan3DProResponse.properties.Response.properties.JobId.description": "acdd1eb4", + "components.schemas.TencentHunyuan3DProResponse.properties.Response.properties.RequestId.description": "9a0f8423", + "components.schemas.TencentHunyuan3DQueryRequest.properties.JobId.description": "c40827de", + "components.schemas.TencentHunyuan3DQueryResponse.description": "4a21c0aa", + "components.schemas.TencentHunyuan3DQueryResponse.properties.Response.properties.ErrorCode.description": "6f5a03e1", + "components.schemas.TencentHunyuan3DQueryResponse.properties.Response.properties.ErrorMessage.description": "66871e88", + "components.schemas.TencentHunyuan3DQueryResponse.properties.Response.properties.RequestId.description": "9a0f8423", + "components.schemas.TencentHunyuan3DQueryResponse.properties.Response.properties.ResultFile3Ds.description": "7491283f", + "components.schemas.TencentHunyuan3DQueryResponse.properties.Response.properties.Status.description": "a2d43823", + "components.schemas.TencentHunyuan3DSmartTopologyRequest.description": "703bc635", + "components.schemas.TencentHunyuan3DSmartTopologyRequest.properties.FaceLevel.description": "36efddc6", + "components.schemas.TencentHunyuan3DSmartTopologyRequest.properties.PolygonType.description": "0276df96", + "components.schemas.TencentHunyuan3DTextureEditRequest.description": "13d39140", + "components.schemas.TencentHunyuan3DTextureEditRequest.properties.EnablePBR.description": "77b74e65", + "components.schemas.TencentHunyuan3DTextureEditRequest.properties.Prompt.description": "dbae51b4", + "components.schemas.TencentHunyuan3DUVRequest.description": "bbf4c68b", + "components.schemas.TencentHunyuan3DUVResponse.description": "ae944ee6", + "components.schemas.TencentHunyuan3DUVResponse.properties.Response.properties.Error.description": "49a6745b", + "components.schemas.TencentHunyuan3DUVResponse.properties.Response.properties.Error.properties.Code.description": "0570b384", + "components.schemas.TencentHunyuan3DUVResponse.properties.Response.properties.Error.properties.Message.description": "a5dc35f1", + "components.schemas.TencentHunyuan3DUVResponse.properties.Response.properties.JobId.description": "4eb2dd48", + "components.schemas.TencentHunyuan3DUVResponse.properties.Response.properties.RequestId.description": "9a0f8423", + "components.schemas.TencentImageInfo.description": "aa4dd984", + "components.schemas.TencentImageInfo.properties.ImageBase64.description": "830f830a", + "components.schemas.TencentImageInfo.properties.ImageUrl.description": "1f490f49", + "components.schemas.TencentInputFile3D.description": "a726e257", + "components.schemas.TencentInputFile3D.properties.Type.description": "f3107d2e", + "components.schemas.TencentInputFile3D.properties.Url.description": "4e40c00f", + "components.schemas.TencentViewImage.description": "e02a71ea", + "components.schemas.TencentViewImage.properties.ViewImageBase64.description": "a6b8504f", + "components.schemas.TencentViewImage.properties.ViewImageUrl.description": "d99f0e10", + "components.schemas.TencentViewImage.properties.ViewType.description": "2d2b66df", + "components.schemas.TextResponseFormatConfiguration.description": "01265447", + "components.schemas.TextResponseFormatJsonSchema.description": "3fd72045", + "components.schemas.TextResponseFormatJsonSchema.properties.description.description": "dbaeddc3", + "components.schemas.TextResponseFormatJsonSchema.properties.name.description": "c7f7e7e4", + "components.schemas.TextResponseFormatJsonSchema.properties.strict.description": "d71a08d1", + "components.schemas.TextResponseFormatJsonSchema.properties.type.description": "a481f850", + "components.schemas.ToolChoiceFunction.description": "00938a65", + "components.schemas.ToolChoiceFunction.properties.name.description": "5071f76f", + "components.schemas.ToolChoiceFunction.properties.type.description": "2e6ff905", + "components.schemas.ToolChoiceOptions.description": "f681129d", + "components.schemas.ToolChoiceTypes.description": "5925bc07", + "components.schemas.ToolChoiceTypes.properties.type.description": "ec9200cd", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.description": "39208bb6", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.container.description": "b396d61b", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.endNumber.description": "dbfd161f", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.frameCount.description": "ad78628b", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.frameRate.description": "04211c3e", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.resolution.description": "ae8244ab", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.resolution.properties.height.description": "6717d280", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.resolution.properties.width.description": "c10714c7", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.startNumber.description": "324d91b9", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.description": "39208bb6", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.container.description": "9199cc6e", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.duration.description": "9396e243", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.frameCount.description": "b9126dec", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.frameRate.description": "04211c3e", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.resolution.description": "69bdec5c", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.resolution.properties.height.description": "f9b8ffb6", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.resolution.properties.width.description": "b58a6599", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.size.description": "ca4b6f92", + "components.schemas.TopazCredentialsS3.properties.externalId.description": "092494ed", + "components.schemas.TopazCredentialsS3.properties.roleArn.description": "1b42e5bd", + "components.schemas.TopazDownloadResponse.properties.download_url.description": "9bae6022", + "components.schemas.TopazDownloadResponse.properties.expiry.description": "6cbc41c6", + "components.schemas.TopazDownloadResponse.properties.head_url.description": "04f62b74", + "components.schemas.TopazEnhanceGenRequest.properties.color_preservation.description": "d7881c96", + "components.schemas.TopazEnhanceGenRequest.properties.creativity.description": "3f44e2ee", + "components.schemas.TopazEnhanceGenRequest.properties.crop_to_fill.description": "6674805b", + "components.schemas.TopazEnhanceGenRequest.properties.face_enhancement.description": "1fe6e614", + "components.schemas.TopazEnhanceGenRequest.properties.face_enhancement_creativity.description": "8d1ed95b", + "components.schemas.TopazEnhanceGenRequest.properties.face_enhancement_strength.description": "d07d3124", + "components.schemas.TopazEnhanceGenRequest.properties.face_preservation.description": "1ba44d01", + "components.schemas.TopazEnhanceGenRequest.properties.image.description": "076815f6", + "components.schemas.TopazEnhanceGenRequest.properties.model.description": "d81d3b32", + "components.schemas.TopazEnhanceGenRequest.properties.output_format.description": "7355527b", + "components.schemas.TopazEnhanceGenRequest.properties.output_height.description": "4c50ab29", + "components.schemas.TopazEnhanceGenRequest.properties.output_width.description": "a04dd6ef", + "components.schemas.TopazEnhanceGenRequest.properties.prompt.description": "7089e651", + "components.schemas.TopazEnhanceGenRequest.properties.source_id.description": "91e25046", + "components.schemas.TopazEnhanceGenRequest.properties.source_url.description": "98d44db4", + "components.schemas.TopazEnhanceGenRequest.properties.subject_detection.description": "79019001", + "components.schemas.TopazEnhanceGenResponse.properties.eta.description": "aa2af218", + "components.schemas.TopazEnhanceGenResponse.properties.process_id.description": "40006c76", + "components.schemas.TopazEnhanceGenResponse.properties.source_id.description": "91e25046", + "components.schemas.TopazExternalStorage.properties.key.description": "423300a4", + "components.schemas.TopazInputFilters.description": "f352d720", + "components.schemas.TopazOutputInformationImageSequence.properties.codecId.description": "6c7ac797", + "components.schemas.TopazOutputInformationImageSequence.properties.container.description": "b9ffe4a3", + "components.schemas.TopazOutputInformationImageSequence.properties.cropToFit.description": "afaf8934", + "components.schemas.TopazOutputInformationImageSequence.properties.frameRate.description": "68e19e4c", + "components.schemas.TopazOutputInformationImageSequence.properties.resolution.description": "71f52c23", + "components.schemas.TopazOutputInformationImageSequence.properties.resolution.properties.height.description": "1d049c25", + "components.schemas.TopazOutputInformationImageSequence.properties.resolution.properties.width.description": "ea1b9b1c", + "components.schemas.TopazOutputInformationImageSequence.properties.videoProfile.description": "2722c9c0", + "components.schemas.TopazOutputInformationVideo.properties.audioBitrate.description": "d6557234", + "components.schemas.TopazOutputInformationVideo.properties.audioCodec.description": "d6336a8b", + "components.schemas.TopazOutputInformationVideo.properties.codecId.description": "6c7ac797", + "components.schemas.TopazOutputInformationVideo.properties.container.description": "cd5319c1", + "components.schemas.TopazOutputInformationVideo.properties.cropToFit.description": "afaf8934", + "components.schemas.TopazOutputInformationVideo.properties.dynamicCompressionLevel.description": "ce927818", + "components.schemas.TopazOutputInformationVideo.properties.frameRate.description": "68e19e4c", + "components.schemas.TopazOutputInformationVideo.properties.resolution.description": "71f52c23", + "components.schemas.TopazOutputInformationVideo.properties.resolution.properties.height.description": "1d049c25", + "components.schemas.TopazOutputInformationVideo.properties.resolution.properties.width.description": "ea1b9b1c", + "components.schemas.TopazOutputInformationVideo.properties.videoBitrate.description": "3211acf8", + "components.schemas.TopazOutputInformationVideo.properties.videoProfile.description": "cae22bbf", + "components.schemas.TopazStatusResponse.properties.category.description": "204e38ee", + "components.schemas.TopazStatusResponse.properties.creation_time.description": "79028bbc", + "components.schemas.TopazStatusResponse.properties.credits.description": "85ecf7a8", + "components.schemas.TopazStatusResponse.properties.crop_to_fill.description": "93c1756c", + "components.schemas.TopazStatusResponse.properties.eta.description": "aa2af218", + "components.schemas.TopazStatusResponse.properties.face_enhancement.description": "9ca90f63", + "components.schemas.TopazStatusResponse.properties.face_enhancement_creativity.description": "71e6bf4d", + "components.schemas.TopazStatusResponse.properties.face_enhancement_strength.description": "5a9de5ad", + "components.schemas.TopazStatusResponse.properties.filename.description": "e299ff7c", + "components.schemas.TopazStatusResponse.properties.input_format.description": "3a620e11", + "components.schemas.TopazStatusResponse.properties.input_height.description": "43843e50", + "components.schemas.TopazStatusResponse.properties.input_width.description": "fd7d459a", + "components.schemas.TopazStatusResponse.properties.model.description": "6763c9c0", + "components.schemas.TopazStatusResponse.properties.model_type.description": "fb5ca76f", + "components.schemas.TopazStatusResponse.properties.modification_time.description": "648c110c", + "components.schemas.TopazStatusResponse.properties.options_json.description": "90383038", + "components.schemas.TopazStatusResponse.properties.output_format.description": "0d827e39", + "components.schemas.TopazStatusResponse.properties.output_height.description": "a1e4f8e5", + "components.schemas.TopazStatusResponse.properties.output_width.description": "6d7254e9", + "components.schemas.TopazStatusResponse.properties.process_id.description": "40006c76", + "components.schemas.TopazStatusResponse.properties.progress.description": "d8433583", + "components.schemas.TopazStatusResponse.properties.source_id.description": "91e25046", + "components.schemas.TopazStatusResponse.properties.status.description": "16f26b03", + "components.schemas.TopazStatusResponse.properties.subject_detection.description": "0444b5f8", + "components.schemas.TopazStatusResponse.properties.sync.description": "92b198dd", + "components.schemas.TopazVideoAcceptResponse.properties.message.description": "575e8608", + "components.schemas.TopazVideoAcceptResponse.properties.uploadId.description": "fb4452b7", + "components.schemas.TopazVideoAcceptResponse.properties.urls.description": "3dbe28c3", + "components.schemas.TopazVideoCompleteUploadRequest.properties.md5Hash.description": "90954ac3", + "components.schemas.TopazVideoCompleteUploadRequest.properties.uploadResults.description": "014cbd9f", + "components.schemas.TopazVideoCompleteUploadRequest.properties.uploadResults.items.properties.eTag.description": "926c9050", + "components.schemas.TopazVideoCompleteUploadRequest.properties.uploadResults.items.properties.partNum.description": "5ff12662", + "components.schemas.TopazVideoCompleteUploadResponse.properties.message.description": "b736b1be", + "components.schemas.TopazVideoCreateResponse.properties.requestId.description": "911f0141", + "components.schemas.TopazVideoEnhancedDownload.description": "a50467c6", + "components.schemas.TopazVideoEnhancedDownload.properties.expiresAt.description": "0d6ad91c", + "components.schemas.TopazVideoEnhancedDownload.properties.expiresIn.description": "9c5947d4", + "components.schemas.TopazVideoEnhancementFilter.properties.auto.description": "67bd8238", + "components.schemas.TopazVideoEnhancementFilter.properties.blur.description": "2f243c8d", + "components.schemas.TopazVideoEnhancementFilter.properties.compression.description": "efcb6e17", + "components.schemas.TopazVideoEnhancementFilter.properties.creativity.description": "9f07bb49", + "components.schemas.TopazVideoEnhancementFilter.properties.details.description": "4581e373", + "components.schemas.TopazVideoEnhancementFilter.properties.fieldOrder.description": "c43fd071", + "components.schemas.TopazVideoEnhancementFilter.properties.focusFixLevel.description": "66665da0", + "components.schemas.TopazVideoEnhancementFilter.properties.grain.description": "2a869d72", + "components.schemas.TopazVideoEnhancementFilter.properties.grainSize.description": "a30cb85e", + "components.schemas.TopazVideoEnhancementFilter.properties.halo.description": "ba5e831b", + "components.schemas.TopazVideoEnhancementFilter.properties.isOptimizedMode.description": "4767e228", + "components.schemas.TopazVideoEnhancementFilter.properties.model.description": "0ec89a2d", + "components.schemas.TopazVideoEnhancementFilter.properties.noise.description": "8230ff21", + "components.schemas.TopazVideoEnhancementFilter.properties.preblur.description": "e72a3669", + "components.schemas.TopazVideoEnhancementFilter.properties.prenoise.description": "41d62ee6", + "components.schemas.TopazVideoEnhancementFilter.properties.recoverOriginalDetailValue.description": "d12e7922", + "components.schemas.TopazVideoEnhancementFilter.properties.videoType.description": "117fcb7d", + "components.schemas.TopazVideoFrameInterpolationFilter.properties.duplicate.description": "7991c315", + "components.schemas.TopazVideoFrameInterpolationFilter.properties.duplicateThreshold.description": "1e839a3f", + "components.schemas.TopazVideoFrameInterpolationFilter.properties.fps.description": "5767f121", + "components.schemas.TopazVideoFrameInterpolationFilter.properties.model.description": "0ec89a2d", + "components.schemas.TopazVideoFrameInterpolationFilter.properties.slowmo.description": "7d1a17eb", + "components.schemas.TopazVideoRequestEstimates.description": "78c0050d", + "components.schemas.TopazVideoRequestEstimates.properties.cost.description": "b06897ff", + "components.schemas.TopazVideoRequestEstimates.properties.time.description": "4475109b", + "components.schemas.TopazVideoStatusResponse.properties.averageFps.description": "a3464da4", + "components.schemas.TopazVideoStatusResponse.properties.combinedFps.description": "5f2006b7", + "components.schemas.TopazVideoStatusResponse.properties.outputSize.description": "9d9623e8", + "components.schemas.TopazVideoStatusResponse.properties.progress.description": "dd3399d7", + "components.schemas.TopazVideoStatusResponse.properties.status.description": "79c5e63e", + "components.schemas.TripoImageToModel.description": "d49b42de", + "components.schemas.TripoModelStyle.description": "6e5ee3b8", + "components.schemas.TripoModelVersion.description": "f5c4fc9c", + "components.schemas.TripoMultiviewMode.description": "89aa2335", + "components.schemas.TripoMultiviewToModel.description": "9ed7a9c9", + "components.schemas.TripoResponseSuccessCode.description": "f7e9065a", + "components.schemas.TripoSuccessTask.properties.data.properties.task_id.description": "d9020f5e", + "components.schemas.TripoTask.properties.consumed_credit.description": "746de6b2", + "components.schemas.TripoTextToModel.description": "2e07644c", + "components.schemas.UpdateCouponRequest.properties.metadata.description": "10282a4b", + "components.schemas.UpdateCouponRequest.properties.name.description": "c2c0afba", + "components.schemas.UpdatePromoCodeRequest.properties.active.description": "2a5d2ad7", + "components.schemas.UpdatePromoCodeRequest.properties.metadata.description": "10282a4b", + "components.schemas.UsageBalance.description": "282d4104", + "components.schemas.UsageBreakdownRow.properties.cost_micros.description": "dd5b88fb", + "components.schemas.UsageBreakdownRow.properties.share.description": "caaa8299", + "components.schemas.UsageBucket.properties.cost_micros.description": "09fb69ef", + "components.schemas.UsageBucket.properties.group_key.description": "057febdb", + "components.schemas.UsageBucket.properties.period_end.description": "a4adcfad", + "components.schemas.UsageBucket.properties.period_start.description": "c18a1998", + "components.schemas.UsageSummary.properties.spend_micros.description": "386bb7ca", + "components.schemas.User.properties.email.description": "0b83b7bc", + "components.schemas.User.properties.id.description": "1b856ced", + "components.schemas.User.properties.isAdmin.description": "868cc4c4", + "components.schemas.User.properties.isApproved.description": "428f5861", + "components.schemas.User.properties.name.description": "dc61ade2", + "components.schemas.Veo2GenVidPollRequest.properties.operationName.description": "3b6b90ac", + "components.schemas.Veo2GenVidPollResponse.properties.error.description": "9fae1f78", + "components.schemas.Veo2GenVidPollResponse.properties.error.properties.code.description": "0570b384", + "components.schemas.Veo2GenVidPollResponse.properties.error.properties.message.description": "a5dc35f1", + "components.schemas.Veo2GenVidPollResponse.properties.response.description": "12504f36", + "components.schemas.Veo2GenVidPollResponse.properties.response.properties.raiMediaFilteredCount.description": "b56f1ab7", + "components.schemas.Veo2GenVidPollResponse.properties.response.properties.raiMediaFilteredReasons.description": "67f0cd2a", + "components.schemas.Veo2GenVidPollResponse.properties.response.properties.videos.items.properties.bytesBase64Encoded.description": "b0990a76", + "components.schemas.Veo2GenVidPollResponse.properties.response.properties.videos.items.properties.gcsUri.description": "786e8121", + "components.schemas.Veo2GenVidPollResponse.properties.response.properties.videos.items.properties.mimeType.description": "b48c126a", + "components.schemas.Veo2GenVidRequest.properties.instances.items.properties.image.description": "7cab5bec", + "components.schemas.Veo2GenVidRequest.properties.instances.items.properties.prompt.description": "06f4cd2d", + "components.schemas.Veo2GenVidRequest.properties.parameters.properties.storageUri.description": "739993cc", + "components.schemas.Veo2GenVidResponse.properties.name.description": "cd793c1a", + "components.schemas.VeoGenVidPollRequest.properties.operationName.description": "e682a989", + "components.schemas.VeoGenVidPollResponse.description": "ff67741e", + "components.schemas.VeoGenVidPollResponse.properties.done.description": "42f1fccb", + "components.schemas.VeoGenVidPollResponse.properties.error.description": "e47e556e", + "components.schemas.VeoGenVidPollResponse.properties.error.properties.code.description": "c4116cde", + "components.schemas.VeoGenVidPollResponse.properties.error.properties.message.description": "a5dc35f1", + "components.schemas.VeoGenVidPollResponse.properties.name.description": "cd793c1a", + "components.schemas.VeoGenVidPollResponse.properties.response.description": "515b3f24", + "components.schemas.VeoGenVidPollResponse.properties.response.properties.raiMediaFilteredCount.description": "e826825a", + "components.schemas.VeoGenVidPollResponse.properties.response.properties.raiMediaFilteredReasons.description": "7b8c02ee", + "components.schemas.VeoGenVidPollResponse.properties.response.properties.videos.items.properties.bytesBase64Encoded.description": "b0990a76", + "components.schemas.VeoGenVidPollResponse.properties.response.properties.videos.items.properties.gcsUri.description": "ab9f01ec", + "components.schemas.VeoGenVidPollResponse.properties.response.properties.videos.items.properties.mimeType.description": "01acef1a", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.cameraControl.description": "204c094b", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.image.description": "02bbb8d0", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.image.properties.bytesBase64Encoded.description": "9692f763", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.image.properties.gcsUri.description": "c9506ea9", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.image.properties.mimeType.description": "6c2f9452", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.lastFrame.description": "39923b23", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.lastFrame.properties.bytesBase64Encoded.description": "9692f763", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.lastFrame.properties.gcsUri.description": "c9506ea9", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.lastFrame.properties.mimeType.description": "6c2f9452", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.mask.description": "4688c044", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.mask.properties.bytesBase64Encoded.description": "473cf281", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.mask.properties.gcsUri.description": "188c9a7c", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.mask.properties.maskMode.description": "f58a2ab1", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.mask.properties.mimeType.description": "15594e3f", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.prompt.description": "acaebf6a", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.description": "fd9551fe", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.items.properties.image.properties.bytesBase64Encoded.description": "9692f763", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.items.properties.image.properties.gcsUri.description": "c9506ea9", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.items.properties.image.properties.mimeType.description": "6c2f9452", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.items.properties.referenceId.description": "e288ee81", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.items.properties.referenceType.description": "e346d6c4", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.video.description": "17842681", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.video.properties.bytesBase64Encoded.description": "c4585ddf", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.video.properties.gcsUri.description": "ade773af", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.video.properties.mimeType.description": "d88e3258", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.aspectRatio.description": "b6440519", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.compressionQuality.description": "f9a6d58a", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.durationSeconds.description": "2340cd79", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.enhancePrompt.description": "9906ac4c", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.fps.description": "107696c7", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.generateAudio.description": "0169ca20", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.negativePrompt.description": "8fe758a2", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.personGeneration.description": "aca78527", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.pubsubTopic.description": "1a69a6ec", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.resizeMode.description": "5e57b43a", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.resolution.description": "7085da48", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.sampleCount.description": "20aae7fa", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.seed.description": "096b65d2", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.storageUri.description": "60be6b21", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.task.description": "119dd33e", + "components.schemas.VeoGenVidResponse.description": "5a79ef64", + "components.schemas.VeoGenVidResponse.properties.name.description": "bd6fb441", + "components.schemas.ViduExtendRequest.properties.callback_url.description": "29b68c59", + "components.schemas.ViduExtendRequest.properties.duration.description": "f05999e7", + "components.schemas.ViduExtendRequest.properties.images.description": "2c0632bc", + "components.schemas.ViduExtendRequest.properties.model.description": "689a58ce", + "components.schemas.ViduExtendRequest.properties.payload.description": "25286f22", + "components.schemas.ViduExtendRequest.properties.prompt.description": "624bb1b1", + "components.schemas.ViduExtendRequest.properties.resolution.description": "b09a06da", + "components.schemas.ViduExtendRequest.properties.video_creation_id.description": "bac00f62", + "components.schemas.ViduExtendRequest.properties.video_url.description": "f3f67f3a", + "components.schemas.ViduImageSetting.properties.duration.description": "7e64a4f5", + "components.schemas.ViduImageSetting.properties.key_image.description": "1664524a", + "components.schemas.ViduImageSetting.properties.prompt.description": "e4d31f4e", + "components.schemas.ViduMultiframeRequest.properties.callback_url.description": "29b68c59", + "components.schemas.ViduMultiframeRequest.properties.image_settings.description": "96df3473", + "components.schemas.ViduMultiframeRequest.properties.model.description": "689a58ce", + "components.schemas.ViduMultiframeRequest.properties.payload.description": "25286f22", + "components.schemas.ViduMultiframeRequest.properties.resolution.description": "ab5d9dce", + "components.schemas.ViduMultiframeRequest.properties.start_image.description": "c29a1edb", + "components.schemas.ViduTaskReply.properties.bgm.description": "b7242add", + "components.schemas.ViduTaskReply.properties.off_peak.description": "d2c7146c", + "components.schemas.ViduTaskReply.properties.payload.description": "b4427d50", + "components.schemas.ViduTaskReply.properties.watermark.description": "a5015dca", + "components.schemas.ViduTaskRequest.properties.audio.description": "972144eb", + "components.schemas.ViduTaskRequest.properties.audio_type.description": "7280f8da", + "components.schemas.ViduTaskRequest.properties.bgm.description": "01c31a7c", + "components.schemas.ViduTaskRequest.properties.callback_url.description": "29b68c59", + "components.schemas.ViduTaskRequest.properties.duration.description": "14423d1f", + "components.schemas.ViduTaskRequest.properties.images.description": "c07eece4", + "components.schemas.ViduTaskRequest.properties.is_rec.description": "cae6d584", + "components.schemas.ViduTaskRequest.properties.meta_data.description": "82a0ba01", + "components.schemas.ViduTaskRequest.properties.model.description": "b1c064f6", + "components.schemas.ViduTaskRequest.properties.movement_amplitude.description": "af7bab1e", + "components.schemas.ViduTaskRequest.properties.off_peak.description": "7b273970", + "components.schemas.ViduTaskRequest.properties.payload.description": "25286f22", + "components.schemas.ViduTaskRequest.properties.prompt.description": "624bb1b1", + "components.schemas.ViduTaskRequest.properties.resolution.description": "91f1b230", + "components.schemas.ViduTaskRequest.properties.seed.description": "5c4a1d85", + "components.schemas.ViduTaskRequest.properties.voice_id.description": "3c8a2660", + "components.schemas.ViduTaskRequest.properties.watermark.description": "8dd382ac", + "components.schemas.ViduTaskRequest.properties.wm_position.description": "54327260", + "components.schemas.ViduTaskRequest.properties.wm_url.description": "b579d9fd", + "components.schemas.WanImage2ImageGenerationRequest.properties.input.description": "c68c856c", + "components.schemas.WanImage2ImageGenerationRequest.properties.input.properties.images.description": "2700cdb2", + "components.schemas.WanImage2ImageGenerationRequest.properties.input.properties.images.items.description": "89994e4a", + "components.schemas.WanImage2ImageGenerationRequest.properties.input.properties.negative_prompt.description": "8d9fc0fc", + "components.schemas.WanImage2ImageGenerationRequest.properties.input.properties.prompt.description": "182c5f0a", + "components.schemas.WanImage2ImageGenerationRequest.properties.model.description": "9a203334", + "components.schemas.WanImage2ImageGenerationRequest.properties.parameters.description": "6ea04a4e", + "components.schemas.WanImage2ImageGenerationRequest.properties.parameters.properties.n.description": "b20094a7", + "components.schemas.WanImage2ImageGenerationRequest.properties.parameters.properties.seed.description": "9814a8a7", + "components.schemas.WanImage2ImageGenerationRequest.properties.parameters.properties.size.description": "54e62b26", + "components.schemas.WanImage2ImageGenerationRequest.properties.parameters.properties.watermark.description": "93f1edad", + "components.schemas.WanImage2ImageGenerationResponse.properties.code.description": "e8b013da", + "components.schemas.WanImage2ImageGenerationResponse.properties.message.description": "a2213eff", + "components.schemas.WanImage2ImageGenerationResponse.properties.output.properties.task_id.description": "3e0cce3a", + "components.schemas.WanImage2ImageGenerationResponse.properties.output.properties.task_status.description": "3fd71308", + "components.schemas.WanImage2ImageGenerationResponse.properties.request_id.description": "71ec0a25", + "components.schemas.WanImageGenerationRequest.properties.input.description": "6d493c89", + "components.schemas.WanImageGenerationRequest.properties.input.properties.negative_prompt.description": "8d9fc0fc", + "components.schemas.WanImageGenerationRequest.properties.input.properties.prompt.description": "00164cdb", + "components.schemas.WanImageGenerationRequest.properties.model.description": "2bf189b1", + "components.schemas.WanImageGenerationRequest.properties.parameters.description": "6ea04a4e", + "components.schemas.WanImageGenerationRequest.properties.parameters.properties.n.description": "401d4182", + "components.schemas.WanImageGenerationRequest.properties.parameters.properties.prompt_extend.description": "601cacaf", + "components.schemas.WanImageGenerationRequest.properties.parameters.properties.seed.description": "9814a8a7", + "components.schemas.WanImageGenerationRequest.properties.parameters.properties.size.description": "8b317ffe", + "components.schemas.WanImageGenerationRequest.properties.parameters.properties.watermark.description": "93f1edad", + "components.schemas.WanImageGenerationResponse.properties.code.description": "e8b013da", + "components.schemas.WanImageGenerationResponse.properties.message.description": "a2213eff", + "components.schemas.WanImageGenerationResponse.properties.output.properties.task_id.description": "3e0cce3a", + "components.schemas.WanImageGenerationResponse.properties.output.properties.task_status.description": "3fd71308", + "components.schemas.WanImageGenerationResponse.properties.request_id.description": "71ec0a25", + "components.schemas.WanTaskQueryResponse.properties.output.properties.actual_prompt.description": "db9476fa", + "components.schemas.WanTaskQueryResponse.properties.output.properties.check_audio.description": "b09802cf", + "components.schemas.WanTaskQueryResponse.properties.output.properties.code.description": "e8b013da", + "components.schemas.WanTaskQueryResponse.properties.output.properties.end_time.description": "74c4cef6", + "components.schemas.WanTaskQueryResponse.properties.output.properties.message.description": "a2213eff", + "components.schemas.WanTaskQueryResponse.properties.output.properties.orig_prompt.description": "24b4b37f", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.description": "04525eb4", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.items.properties.actual_prompt.description": "411fea98", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.items.properties.code.description": "11deb0a5", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.items.properties.message.description": "27e67b31", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.items.properties.orig_prompt.description": "a693cabd", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.items.properties.url.description": "55c82241", + "components.schemas.WanTaskQueryResponse.properties.output.properties.scheduled_time.description": "2c00380c", + "components.schemas.WanTaskQueryResponse.properties.output.properties.submit_time.description": "c39732d0", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_id.description": "3e0cce3a", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_metrics.description": "cd73bafd", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_metrics.properties.FAILED.description": "02847942", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_metrics.properties.SUCCEEDED.description": "5affd8e3", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_metrics.properties.TOTAL.description": "b53a4988", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_status.description": "3fd71308", + "components.schemas.WanTaskQueryResponse.properties.output.properties.video_url.description": "54ce5643", + "components.schemas.WanTaskQueryResponse.properties.request_id.description": "71ec0a25", + "components.schemas.WanTaskQueryResponse.properties.usage.description": "ac6b7bd9", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.SR.description": "9ab8b22e", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.duration.description": "454c1fa4", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.image_count.description": "bc2d470c", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.size.description": "84b92d30", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.video_count.description": "e14a08c0", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.video_duration.description": "df621ed4", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.video_ratio.description": "8ee697a0", + "components.schemas.WanVideoGenerationRequest.properties.input.description": "6d493c89", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.audio_url.description": "7dece319", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.img_url.description": "37ba3521", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.media.description": "ee11a595", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.media.items.properties.type.description": "99ac28a1", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.media.items.properties.url.description": "4199defc", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.negative_prompt.description": "b1aad208", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.prompt.description": "6f7f986e", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.reference_video_urls.description": "359b59af", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.template.description": "45d1e25b", + "components.schemas.WanVideoGenerationRequest.properties.model.description": "c5246297", + "components.schemas.WanVideoGenerationRequest.properties.parameters.description": "eada50cb", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.audio.description": "e8dff0cd", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.audio_setting.description": "61168c99", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.duration.description": "60d6781d", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.prompt_extend.description": "9675a7f7", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.ratio.description": "183da858", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.resolution.description": "57bb13e1", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.seed.description": "09f453b5", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.shot_type.description": "c2d51ef7", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.size.description": "482f866a", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.watermark.description": "ce3b790e", + "components.schemas.WanVideoGenerationResponse.properties.code.description": "e8b013da", + "components.schemas.WanVideoGenerationResponse.properties.message.description": "a2213eff", + "components.schemas.WanVideoGenerationResponse.properties.output.properties.task_id.description": "3e0cce3a", + "components.schemas.WanVideoGenerationResponse.properties.output.properties.task_status.description": "3fd71308", + "components.schemas.WanVideoGenerationResponse.properties.request_id.description": "71ec0a25", + "components.schemas.WavespeedFlashVSRRequest.description": "442c7b54", + "components.schemas.WavespeedFlashVSRRequest.properties.duration.description": "c30cf7f2", + "components.schemas.WavespeedFlashVSRRequest.properties.target_resolution.description": "99cc2a2f", + "components.schemas.WavespeedFlashVSRRequest.properties.video.description": "0e9123ae", + "components.schemas.WavespeedSeedVR2ImageRequest.description": "5de6061c", + "components.schemas.WavespeedSeedVR2ImageRequest.properties.enable_base64_output.description": "26632c66", + "components.schemas.WavespeedSeedVR2ImageRequest.properties.image.description": "dbf79ac3", + "components.schemas.WavespeedSeedVR2ImageRequest.properties.output_format.description": "33731010", + "components.schemas.WavespeedSeedVR2ImageRequest.properties.target_resolution.description": "c3210ade", + "components.schemas.WavespeedTaskResponse.description": "a6fe3a2b", + "components.schemas.WavespeedTaskResponse.properties.code.description": "29f3e57a", + "components.schemas.WavespeedTaskResponse.properties.data.properties.created_at.description": "2a37b19a", + "components.schemas.WavespeedTaskResponse.properties.data.properties.error.description": "4200ac8b", + "components.schemas.WavespeedTaskResponse.properties.data.properties.has_nsfw_contents.description": "6e223f2d", + "components.schemas.WavespeedTaskResponse.properties.data.properties.id.description": "540bc378", + "components.schemas.WavespeedTaskResponse.properties.data.properties.model.description": "dfeb1a15", + "components.schemas.WavespeedTaskResponse.properties.data.properties.outputs.description": "7092a667", + "components.schemas.WavespeedTaskResponse.properties.data.properties.status.description": "6adc8982", + "components.schemas.WavespeedTaskResponse.properties.data.properties.timings.properties.inference.description": "95b95885", + "components.schemas.WavespeedTaskResponse.properties.data.properties.urls.properties.get.description": "483369e1", + "components.schemas.WavespeedTaskResponse.properties.message.description": "a56a92ba", + "components.schemas.WavespeedTaskResultResponse.description": "d0f63c7a", + "components.schemas.WavespeedTaskResultResponse.properties.code.description": "29f3e57a", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.created_at.description": "2a37b19a", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.error.description": "4200ac8b", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.id.description": "540bc378", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.model.description": "dfeb1a15", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.outputs.description": "7092a667", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.status.description": "6adc8982", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.timings.properties.inference.description": "95b95885", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.urls.properties.get.description": "483369e1", + "components.schemas.WavespeedTaskResultResponse.properties.message.description": "a56a92ba", + "components.schemas.WebSearchPreviewTool.description": "b30519d3", + "components.schemas.WebSearchPreviewTool.properties.search_context_size.description": "34c4a0d0", + "components.schemas.WebSearchPreviewTool.properties.type.description": "6855d85e", + "components.schemas.WebSearchToolCall.description": "a5f46919", + "components.schemas.WebSearchToolCall.properties.id.description": "e8b58b85", + "components.schemas.WebSearchToolCall.properties.status.description": "10d194f8", + "components.schemas.WebSearchToolCall.properties.type.description": "4fcd071d", + "components.schemas.XAIGeneratedImage.description": "8b50f8cb", + "components.schemas.XAIGeneratedImage.properties.b64_json.description": "15a9e664", + "components.schemas.XAIGeneratedImage.properties.mime_type.description": "a36c75a5", + "components.schemas.XAIGeneratedImage.properties.url.description": "41c2775e", + "components.schemas.XAIGeneratedVideo.description": "8d330402", + "components.schemas.XAIGeneratedVideo.properties.duration.description": "f7a1d7dc", + "components.schemas.XAIGeneratedVideo.properties.respect_moderation.description": "41e21b3d", + "components.schemas.XAIGeneratedVideo.properties.url.description": "db09752b", + "components.schemas.XAIImageEditRequest.description": "00eb3b7e", + "components.schemas.XAIImageEditRequest.properties.aspect_ratio.description": "0aacb785", + "components.schemas.XAIImageEditRequest.properties.images.description": "295ae15e", + "components.schemas.XAIImageEditRequest.properties.model.description": "cd8e85f5", + "components.schemas.XAIImageEditRequest.properties.n.description": "497cf55e", + "components.schemas.XAIImageEditRequest.properties.prompt.description": "9d6bcfee", + "components.schemas.XAIImageEditRequest.properties.quality.description": "1963a340", + "components.schemas.XAIImageEditRequest.properties.resolution.description": "4e430a4f", + "components.schemas.XAIImageEditRequest.properties.response_format.description": "962489d4", + "components.schemas.XAIImageEditRequest.properties.size.description": "db09113e", + "components.schemas.XAIImageEditRequest.properties.style.description": "a2b3a051", + "components.schemas.XAIImageEditRequest.properties.user.description": "0f4193f3", + "components.schemas.XAIImageGenerationRequest.description": "f9a1ff60", + "components.schemas.XAIImageGenerationRequest.properties.aspect_ratio.description": "bb197640", + "components.schemas.XAIImageGenerationRequest.properties.model.description": "cd8e85f5", + "components.schemas.XAIImageGenerationRequest.properties.n.description": "05c56c74", + "components.schemas.XAIImageGenerationRequest.properties.prompt.description": "a01d81c1", + "components.schemas.XAIImageGenerationRequest.properties.quality.description": "1963a340", + "components.schemas.XAIImageGenerationRequest.properties.resolution.description": "4e430a4f", + "components.schemas.XAIImageGenerationRequest.properties.response_format.description": "962489d4", + "components.schemas.XAIImageGenerationRequest.properties.size.description": "db09113e", + "components.schemas.XAIImageGenerationRequest.properties.style.description": "a2b3a051", + "components.schemas.XAIImageGenerationRequest.properties.user.description": "0f4193f3", + "components.schemas.XAIImageGenerationResponse.description": "c6293016", + "components.schemas.XAIImageGenerationResponse.properties.block_reason.description": "03d5f247", + "components.schemas.XAIImageGenerationResponse.properties.data.description": "e19c6b77", + "components.schemas.XAIImageObject.description": "e2004b3c", + "components.schemas.XAIImageObject.properties.type.description": "cd49911b", + "components.schemas.XAIImageObject.properties.url.description": "86aaabd9", + "components.schemas.XAIImageUsage.description": "170ff274", + "components.schemas.XAIImageUsage.properties.cost_in_usd_ticks.description": "d4793320", + "components.schemas.XAIReferenceImageObject.description": "3ec7cdeb", + "components.schemas.XAIReferenceImageObject.properties.url.description": "631dcdc8", + "components.schemas.XAIVideoAsyncResponse.description": "887ccfba", + "components.schemas.XAIVideoAsyncResponse.properties.request_id.description": "e4c808ed", + "components.schemas.XAIVideoEditRequest.description": "f21d3cc2", + "components.schemas.XAIVideoEditRequest.properties.model.description": "cd8e85f5", + "components.schemas.XAIVideoEditRequest.properties.output.description": "f593af51", + "components.schemas.XAIVideoEditRequest.properties.prompt.description": "3ab2df17", + "components.schemas.XAIVideoEditRequest.properties.user.description": "3e4d0d47", + "components.schemas.XAIVideoExtensionRequest.description": "5f69e249", + "components.schemas.XAIVideoExtensionRequest.properties.duration.description": "5fc9e502", + "components.schemas.XAIVideoExtensionRequest.properties.model.description": "b056a505", + "components.schemas.XAIVideoExtensionRequest.properties.prompt.description": "936940e5", + "components.schemas.XAIVideoGenerationRequest.description": "a10d3e18", + "components.schemas.XAIVideoGenerationRequest.properties.aspect_ratio.description": "a10c8b81", + "components.schemas.XAIVideoGenerationRequest.properties.duration.description": "a6dfd588", + "components.schemas.XAIVideoGenerationRequest.properties.model.description": "cd8e85f5", + "components.schemas.XAIVideoGenerationRequest.properties.output.description": "f593af51", + "components.schemas.XAIVideoGenerationRequest.properties.prompt.description": "f04cb720", + "components.schemas.XAIVideoGenerationRequest.properties.reference_images.description": "3108f4b4", + "components.schemas.XAIVideoGenerationRequest.properties.resolution.description": "c25d9879", + "components.schemas.XAIVideoGenerationRequest.properties.size.description": "aa7f0dfe", + "components.schemas.XAIVideoGenerationRequest.properties.user.description": "3e4d0d47", + "components.schemas.XAIVideoObject.description": "a1d827d4", + "components.schemas.XAIVideoObject.properties.url.description": "1d1dabf2", + "components.schemas.XAIVideoResultResponse.description": "ef57cb7e", + "components.schemas.XAIVideoResultResponse.properties.block_reason.description": "03d5f247", + "components.schemas.XAIVideoResultResponse.properties.model.description": "8fe883d8", + "components.schemas.XAIVideoResultResponse.properties.status.description": "37be3173", + "components.schemas.XAIVideoUsage.description": "1345f5e1", + "components.schemas.XAIVideoUsage.properties.cost_in_usd_ticks.description": "e889a6d3", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.description": "773070ef", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.parameters[0].description": "5b95ab5d", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.parameters[1].description": "1ae8340e", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.200.content.application/json.schema.properties.message.description": "306f66dc", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.200.description": "890d8ac7", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.400.description": "06204192", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.401.description": "8cfddd2a", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.summary": "c5bcf60e", + "paths./admin/customers/{customer_id}/balance.get.description": "f7532a6d", + "paths./admin/customers/{customer_id}/balance.get.responses.200.description": "fd2756cb", + "paths./admin/customers/{customer_id}/balance.get.responses.401.description": "d089c8a9", + "paths./admin/customers/{customer_id}/balance.get.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/balance.get.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/balance.get.summary": "fd84b49b", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.description": "2bb7692d", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.parameters[0].description": "b0067f70", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.parameters[1].description": "1ae8340e", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.end_date.description": "6366a64e", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.has_fund.description": "d39628b2", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.is_active.description": "6c8493cf", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.renewal_date.description": "80a37068", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.subscription_id.description": "9b6918af", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.description": "823dcc58", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.401.description": "8cfddd2a", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.summary": "5bcf1941", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.description": "cafb9234", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.responses.200.description": "70535378", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.responses.401.description": "d089c8a9", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.summary": "e244bb7d", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.description": "fb49813a", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.200.content.application/json.schema.properties.effective_limit.description": "e333fa3d", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.200.content.application/json.schema.properties.engine_limit.description": "db7605df", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.200.content.application/json.schema.properties.lifetime_paid_spend_cents.description": "c86c6e74", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.200.content.application/json.schema.properties.override.description": "f0240649", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.200.description": "47d3a2a3", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.401.description": "d089c8a9", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.summary": "ef1f6575", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.description": "4164f5b6", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.requestBody.content.application/json.schema.properties.override.description": "56512d99", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.responses.200.description": "ae2dc1f1", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.responses.400.description": "50c88257", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.responses.401.description": "d089c8a9", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.summary": "a0e83515", + "paths./admin/customers/{customer_id}/stripe-data.delete.description": "8d19d27a", + "paths./admin/customers/{customer_id}/stripe-data.delete.parameters[0].description": "558a7ccc", + "paths./admin/customers/{customer_id}/stripe-data.delete.parameters[1].description": "1ae8340e", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.200.content.application/json.schema.properties.message.description": "306f66dc", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.200.description": "133c0638", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.400.description": "06204192", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.401.description": "8cfddd2a", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/stripe-data.delete.summary": "a5a394e2", + "paths./admin/generate-token.post.description": "be45b67f", + "paths./admin/generate-token.post.responses.200.content.application/json.schema.properties.expires_at.description": "cccab49f", + "paths./admin/generate-token.post.responses.200.content.application/json.schema.properties.token.description": "001256b0", + "paths./admin/generate-token.post.responses.200.description": "7e9711ff", + "paths./admin/generate-token.post.responses.401.description": "fd4a48dc", + "paths./admin/generate-token.post.responses.500.description": "f74d7444", + "paths./admin/generate-token.post.summary": "5e8288a8", + "paths./admin/nodes.post.responses.201.description": "aaaa9f70", + "paths./admin/nodes.post.responses.400.description": "6f1bff5c", + "paths./admin/nodes.post.responses.401.description": "d089c8a9", + "paths./admin/nodes.post.responses.409.description": "d27979bd", + "paths./admin/nodes.post.responses.500.description": "f74d7444", + "paths./admin/nodes.post.summary": "02595ac9", + "paths./admin/nodes/{nodeId}.put.description": "c3f1f45b", + "paths./admin/nodes/{nodeId}.put.responses.200.description": "eb81f62a", + "paths./admin/nodes/{nodeId}.put.responses.400.description": "6f1bff5c", + "paths./admin/nodes/{nodeId}.put.responses.401.description": "d089c8a9", + "paths./admin/nodes/{nodeId}.put.responses.403.description": "78342a09", + "paths./admin/nodes/{nodeId}.put.responses.404.description": "aa0a65c4", + "paths./admin/nodes/{nodeId}.put.responses.500.description": "f74d7444", + "paths./admin/nodes/{nodeId}.put.summary": "4a2ea61a", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.description": "25cc0fcf", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.requestBody.content.application/json.schema.properties.status_reason.description": "113a5d08", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.requestBody.content.application/json.schema.properties.supported_accelerators.description": "f9f8a16f", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.requestBody.content.application/json.schema.properties.supported_comfyui_frontend_version.description": "aeaa3824", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.requestBody.content.application/json.schema.properties.supported_comfyui_version.description": "30d0a237", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.requestBody.content.application/json.schema.properties.supported_os.description": "951ad4c1", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.200.description": "00fe4ff4", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.400.description": "6f1bff5c", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.401.description": "d089c8a9", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.403.description": "78342a09", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.404.description": "a8f65ec3", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.500.description": "f74d7444", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.summary": "e683d55b", + "paths./admin/nodeversions.get.description": "2514cf20", + "paths./admin/nodeversions.get.parameters[3].description": "6ec2b657", + "paths./admin/nodeversions.get.parameters[4].description": "ed00c158", + "paths./admin/nodeversions.get.parameters[5].description": "72d501b9", + "paths./admin/nodeversions.get.parameters[6].description": "cbaa791a", + "paths./admin/nodeversions.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./admin/nodeversions.get.responses.200.content.application/json.schema.properties.pageSize.description": "eef6d527", + "paths./admin/nodeversions.get.responses.200.content.application/json.schema.properties.total.description": "3f0069e4", + "paths./admin/nodeversions.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./admin/nodeversions.get.responses.200.description": "ef524454", + "paths./admin/nodeversions.get.responses.400.description": "46a3caa3", + "paths./admin/nodeversions.get.responses.401.description": "d089c8a9", + "paths./admin/nodeversions.get.responses.403.description": "78342a09", + "paths./admin/nodeversions.get.responses.500.description": "f74d7444", + "paths./admin/nodeversions.get.summary": "031b8375", + "paths./admin/partner-node-model-overrides.get.description": "4b8c6482", + "paths./admin/partner-node-model-overrides.get.responses.200.description": "ef7d829b", + "paths./admin/partner-node-model-overrides.get.responses.401.description": "d089c8a9", + "paths./admin/partner-node-model-overrides.get.responses.500.description": "f74d7444", + "paths./admin/partner-node-model-overrides.get.summary": "a68ce612", + "paths./admin/partner-node-model-overrides/{model}.delete.description": "d0e37930", + "paths./admin/partner-node-model-overrides/{model}.delete.responses.200.description": "70535378", + "paths./admin/partner-node-model-overrides/{model}.delete.responses.400.description": "330509ca", + "paths./admin/partner-node-model-overrides/{model}.delete.responses.401.description": "d089c8a9", + "paths./admin/partner-node-model-overrides/{model}.delete.responses.500.description": "f74d7444", + "paths./admin/partner-node-model-overrides/{model}.delete.summary": "dadff92a", + "paths./admin/partner-node-model-overrides/{model}.get.description": "fad517d5", + "paths./admin/partner-node-model-overrides/{model}.get.responses.200.description": "817ea1ee", + "paths./admin/partner-node-model-overrides/{model}.get.responses.400.description": "330509ca", + "paths./admin/partner-node-model-overrides/{model}.get.responses.401.description": "d089c8a9", + "paths./admin/partner-node-model-overrides/{model}.get.responses.500.description": "f74d7444", + "paths./admin/partner-node-model-overrides/{model}.get.summary": "16c7c9a4", + "paths./admin/partner-node-model-overrides/{model}.put.description": "a693744c", + "paths./admin/partner-node-model-overrides/{model}.put.requestBody.content.application/json.schema.properties.tier.description": "de551dd3", + "paths./admin/partner-node-model-overrides/{model}.put.responses.200.description": "ae2dc1f1", + "paths./admin/partner-node-model-overrides/{model}.put.responses.400.description": "dbc3a2c0", + "paths./admin/partner-node-model-overrides/{model}.put.responses.401.description": "d089c8a9", + "paths./admin/partner-node-model-overrides/{model}.put.responses.500.description": "f74d7444", + "paths./admin/partner-node-model-overrides/{model}.put.summary": "1868b04b", + "paths./admin/sync-api-key-deletion.post.description": "97f3e624", + "paths./admin/sync-api-key-deletion.post.parameters[0].description": "1ae8340e", + "paths./admin/sync-api-key-deletion.post.requestBody.content.application/json.schema.properties.customer_id.description": "a1bccbe2", + "paths./admin/sync-api-key-deletion.post.requestBody.content.application/json.schema.properties.event.description": "166327e4", + "paths./admin/sync-api-key-deletion.post.requestBody.content.application/json.schema.properties.key_hash.description": "0df08c0a", + "paths./admin/sync-api-key-deletion.post.responses.200.content.application/json.schema.properties.result.description": "78138ad9", + "paths./admin/sync-api-key-deletion.post.responses.200.description": "19ea92ec", + "paths./admin/sync-api-key-deletion.post.responses.400.description": "d253bd3f", + "paths./admin/sync-api-key-deletion.post.responses.401.description": "8cfddd2a", + "paths./admin/sync-api-key-deletion.post.responses.500.description": "f74d7444", + "paths./admin/sync-api-key-deletion.post.summary": "2921eba6", + "paths./admin/verify-api-key.post.description": "13c5aed4", + "paths./admin/verify-api-key.post.parameters[0].description": "1ae8340e", + "paths./admin/verify-api-key.post.requestBody.content.application/json.schema.properties.api_key.description": "9d881cc9", + "paths./admin/verify-api-key.post.requestBody.content.application/json.schema.properties.include_customer_keys.description": "628d12e7", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.customer_api_keys.description": "ad1a31ac", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.email.description": "567d15e7", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.firebase_uid.description": "0b35b8db", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.is_admin.description": "039ea9c7", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.key_description.description": "3e08d9dc", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.key_name.description": "238a2e1d", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.name.description": "7f42d4b6", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.valid.description": "50c7e891", + "paths./admin/verify-api-key.post.responses.200.description": "63b55e28", + "paths./admin/verify-api-key.post.responses.401.description": "8cfddd2a", + "paths./admin/verify-api-key.post.responses.403.description": "ea09494a", + "paths./admin/verify-api-key.post.responses.404.description": "ac67dac0", + "paths./admin/verify-api-key.post.responses.500.description": "f74d7444", + "paths./admin/verify-api-key.post.summary": "1d77639d", + "paths./branch.get.description": "1408a61a", + "paths./branch.get.parameters[0].description": "fe676c70", + "paths./branch.get.responses.200.description": "101fd1dc", + "paths./branch.get.responses.404.description": "d9070d1a", + "paths./branch.get.responses.500.description": "f74d7444", + "paths./branch.get.summary": "c8dbe6d9", + "paths./bulk/nodes/versions.post.responses.200.description": "5fa890b4", + "paths./bulk/nodes/versions.post.responses.400.description": "217a5233", + "paths./bulk/nodes/versions.post.responses.500.description": "f74d7444", + "paths./bulk/nodes/versions.post.summary": "dd5d31b9", + "paths./comfy-nodes.get.parameters[1].description": "e285661b", + "paths./comfy-nodes.get.parameters[2].description": "b002def9", + "paths./comfy-nodes.get.parameters[3].description": "0b4abb17", + "paths./comfy-nodes.get.parameters[4].description": "5fa96745", + "paths./comfy-nodes.get.responses.200.content.application/json.schema.properties.total.description": "c4a3f12c", + "paths./comfy-nodes.get.responses.200.description": "565339bc", + "paths./comfy-nodes.get.responses.400.description": "6f1bff5c", + "paths./comfy-nodes.get.responses.401.description": "d089c8a9", + "paths./comfy-nodes.get.responses.403.description": "78342a09", + "paths./comfy-nodes.get.responses.500.description": "f74d7444", + "paths./comfy-nodes.get.summary": "6ab0c8e7", + "paths./comfy-nodes/backfill.post.responses.204.description": "b07b5418", + "paths./comfy-nodes/backfill.post.responses.400.description": "6f1bff5c", + "paths./comfy-nodes/backfill.post.responses.401.description": "d089c8a9", + "paths./comfy-nodes/backfill.post.responses.403.description": "78342a09", + "paths./comfy-nodes/backfill.post.responses.500.description": "f74d7444", + "paths./comfy-nodes/backfill.post.summary": "2011e3e5", + "paths./comfy-nodes/{comfyNodeName}/node.get.description": "0f089a1b", + "paths./comfy-nodes/{comfyNodeName}/node.get.parameters[0].description": "9a7e1568", + "paths./comfy-nodes/{comfyNodeName}/node.get.responses.200.description": "835881a0", + "paths./comfy-nodes/{comfyNodeName}/node.get.responses.404.description": "60fa2cdc", + "paths./comfy-nodes/{comfyNodeName}/node.get.responses.500.description": "f74d7444", + "paths./comfy-nodes/{comfyNodeName}/node.get.summary": "3065be89", + "paths./customers.get.description": "72b594a6", + "paths./customers.get.parameters[0].description": "62da4015", + "paths./customers.get.parameters[1].description": "1b9baaa2", + "paths./customers.get.parameters[2].description": "2fcba01b", + "paths./customers.get.parameters[3].description": "c9b8ed67", + "paths./customers.get.parameters[4].description": "fdd2c4a9", + "paths./customers.get.parameters[5].description": "4e858bcf", + "paths./customers.get.responses.200.content.application/json.schema.properties.limit.description": "467fcd3c", + "paths./customers.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./customers.get.responses.200.content.application/json.schema.properties.total.description": "27f8edf2", + "paths./customers.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./customers.get.responses.200.description": "8681743c", + "paths./customers.get.responses.400.description": "51443a02", + "paths./customers.get.responses.401.description": "d089c8a9", + "paths./customers.get.responses.403.description": "c41200b8", + "paths./customers.get.responses.500.description": "f74d7444", + "paths./customers.get.summary": "fe00ede9", + "paths./customers.post.description": "2d401f22", + "paths./customers.post.responses.200.description": "d4c922e4", + "paths./customers.post.responses.201.description": "494c64b4", + "paths./customers.post.responses.400.description": "330509ca", + "paths./customers.post.responses.401.description": "d089c8a9", + "paths./customers.post.responses.500.description": "f74d7444", + "paths./customers.post.summary": "ef69805a", + "paths./customers/admin/coupons.get.description": "60179833", + "paths./customers/admin/coupons.get.parameters[0].description": "40672389", + "paths./customers/admin/coupons.get.responses.200.content.application/json.schema.properties.has_more.description": "1fd8e105", + "paths./customers/admin/coupons.get.responses.200.description": "1c84019d", + "paths./customers/admin/coupons.get.responses.401.description": "d089c8a9", + "paths./customers/admin/coupons.get.responses.403.description": "dd0b7dec", + "paths./customers/admin/coupons.get.responses.500.description": "f74d7444", + "paths./customers/admin/coupons.get.summary": "19bde767", + "paths./customers/admin/coupons.post.description": "dc8f5f16", + "paths./customers/admin/coupons.post.responses.201.description": "dbf25ca3", + "paths./customers/admin/coupons.post.responses.400.description": "917ef22f", + "paths./customers/admin/coupons.post.responses.401.description": "d089c8a9", + "paths./customers/admin/coupons.post.responses.403.description": "dd0b7dec", + "paths./customers/admin/coupons.post.responses.500.description": "f74d7444", + "paths./customers/admin/coupons.post.summary": "799e000e", + "paths./customers/admin/coupons/{coupon_id}.delete.description": "d5de8ac1", + "paths./customers/admin/coupons/{coupon_id}.delete.parameters[0].description": "b5b1562e", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.200.content.application/json.schema.properties.coupon_id.description": "c1713e6e", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.200.content.application/json.schema.properties.message.description": "306f66dc", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.200.description": "93e28f54", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.401.description": "d089c8a9", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.403.description": "dd0b7dec", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.404.description": "2e1f3f04", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.500.description": "f74d7444", + "paths./customers/admin/coupons/{coupon_id}.delete.summary": "55eaffa9", + "paths./customers/admin/coupons/{coupon_id}.get.description": "8dddf040", + "paths./customers/admin/coupons/{coupon_id}.get.parameters[0].description": "b5b1562e", + "paths./customers/admin/coupons/{coupon_id}.get.responses.200.description": "39207a07", + "paths./customers/admin/coupons/{coupon_id}.get.responses.401.description": "d089c8a9", + "paths./customers/admin/coupons/{coupon_id}.get.responses.403.description": "dd0b7dec", + "paths./customers/admin/coupons/{coupon_id}.get.responses.404.description": "2e1f3f04", + "paths./customers/admin/coupons/{coupon_id}.get.responses.500.description": "f74d7444", + "paths./customers/admin/coupons/{coupon_id}.get.summary": "f6cb6a17", + "paths./customers/admin/coupons/{coupon_id}.patch.description": "bd29488a", + "paths./customers/admin/coupons/{coupon_id}.patch.parameters[0].description": "b5b1562e", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.200.description": "a4af06bb", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.400.description": "917ef22f", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.401.description": "d089c8a9", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.403.description": "dd0b7dec", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.404.description": "2e1f3f04", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.500.description": "f74d7444", + "paths./customers/admin/coupons/{coupon_id}.patch.summary": "1acc3200", + "paths./customers/admin/promo-codes.get.description": "f6763805", + "paths./customers/admin/promo-codes.get.parameters[0].description": "5205799f", + "paths./customers/admin/promo-codes.get.parameters[1].description": "50326376", + "paths./customers/admin/promo-codes.get.responses.200.content.application/json.schema.properties.has_more.description": "1fd8e105", + "paths./customers/admin/promo-codes.get.responses.200.description": "fefd07fb", + "paths./customers/admin/promo-codes.get.responses.401.description": "d089c8a9", + "paths./customers/admin/promo-codes.get.responses.403.description": "dd0b7dec", + "paths./customers/admin/promo-codes.get.responses.500.description": "f74d7444", + "paths./customers/admin/promo-codes.get.summary": "cab7cb92", + "paths./customers/admin/promo-codes.post.description": "e794eb4a", + "paths./customers/admin/promo-codes.post.responses.201.description": "56ccaeed", + "paths./customers/admin/promo-codes.post.responses.400.description": "917ef22f", + "paths./customers/admin/promo-codes.post.responses.401.description": "d089c8a9", + "paths./customers/admin/promo-codes.post.responses.403.description": "dd0b7dec", + "paths./customers/admin/promo-codes.post.responses.500.description": "f74d7444", + "paths./customers/admin/promo-codes.post.summary": "bf180ec1", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.description": "b6a02e9c", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.parameters[0].description": "ad922f9c", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.200.content.application/json.schema.properties.message.description": "306f66dc", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.200.content.application/json.schema.properties.promo_code_id.description": "9dc58731", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.200.description": "a14751a0", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.401.description": "d089c8a9", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.403.description": "dd0b7dec", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.404.description": "7be63944", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.500.description": "f74d7444", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.summary": "0d4e3d8d", + "paths./customers/admin/promo-codes/{promo_code_id}.get.description": "e241f084", + "paths./customers/admin/promo-codes/{promo_code_id}.get.parameters[0].description": "ad922f9c", + "paths./customers/admin/promo-codes/{promo_code_id}.get.responses.200.description": "98efc371", + "paths./customers/admin/promo-codes/{promo_code_id}.get.responses.401.description": "d089c8a9", + "paths./customers/admin/promo-codes/{promo_code_id}.get.responses.403.description": "dd0b7dec", + "paths./customers/admin/promo-codes/{promo_code_id}.get.responses.404.description": "7be63944", + "paths./customers/admin/promo-codes/{promo_code_id}.get.responses.500.description": "f74d7444", + "paths./customers/admin/promo-codes/{promo_code_id}.get.summary": "3892cf96", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.description": "8ab44e25", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.parameters[0].description": "ad922f9c", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.200.description": "8086a97c", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.400.description": "917ef22f", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.401.description": "d089c8a9", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.403.description": "dd0b7dec", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.404.description": "7be63944", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.500.description": "f74d7444", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.summary": "953337e3", + "paths./customers/api-keys.get.responses.200.description": "83981de8", + "paths./customers/api-keys.get.responses.401.description": "d089c8a9", + "paths./customers/api-keys.get.responses.404.description": "5e3f5824", + "paths./customers/api-keys.get.responses.500.description": "f74d7444", + "paths./customers/api-keys.get.summary": "d141f9cc", + "paths./customers/api-keys.post.responses.201.description": "c8019ecb", + "paths./customers/api-keys.post.responses.400.description": "917ef22f", + "paths./customers/api-keys.post.responses.401.description": "d089c8a9", + "paths./customers/api-keys.post.responses.404.description": "3461cb54", + "paths./customers/api-keys.post.responses.500.description": "f74d7444", + "paths./customers/api-keys.post.summary": "c971d229", + "paths./customers/api-keys/{api_key_id}.delete.responses.204.description": "2a2e2a1a", + "paths./customers/api-keys/{api_key_id}.delete.responses.401.description": "d089c8a9", + "paths./customers/api-keys/{api_key_id}.delete.responses.404.description": "3461cb54", + "paths./customers/api-keys/{api_key_id}.delete.responses.500.description": "f74d7444", + "paths./customers/api-keys/{api_key_id}.delete.summary": "506e6a85", + "paths./customers/balance.get.description": "c12d574a", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.amount_micros.description": "1715e24e", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.cloud_credit_balance_micros.description": "7f605bd2", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.currency.description": "ef20d1f9", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.effective_balance_micros.description": "43ec3112", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.pending_charges_micros.description": "31b9c36e", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.prepaid_balance_micros.description": "c4a36482", + "paths./customers/balance.get.responses.200.description": "fd2756cb", + "paths./customers/balance.get.responses.401.description": "89f3b274", + "paths./customers/balance.get.responses.404.description": "5e3f5824", + "paths./customers/balance.get.responses.500.description": "f74d7444", + "paths./customers/balance.get.summary": "2148e04f", + "paths./customers/billing.post.description": "53bbd91a", + "paths./customers/billing.post.requestBody.content.application/json.schema.properties.return_url.description": "74a2c2c4", + "paths./customers/billing.post.requestBody.content.application/json.schema.properties.target_tier.description": "edc132c3", + "paths./customers/billing.post.responses.200.content.application/json.schema.properties.billing_portal_url.description": "78ffab8c", + "paths./customers/billing.post.responses.200.description": "ada48db6", + "paths./customers/billing.post.responses.400.description": "217a5233", + "paths./customers/billing.post.responses.401.description": "89f3b274", + "paths./customers/billing.post.responses.500.description": "f74d7444", + "paths./customers/billing.post.summary": "6e5dd863", + "paths./customers/cloud-subscription-checkout.post.description": "5a112f2f", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.ga_client_id.description": "e12a09fd", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.ga_session_id.description": "a4d4b676", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.ga_session_number.description": "d9e64aa6", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.gbraid.description": "b260db65", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.gclid.description": "82927423", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.im_ref.description": "9cdb2b29", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.rewardful_referral.description": "56682a4c", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.utm_campaign.description": "0000d871", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.utm_content.description": "f4c57124", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.utm_medium.description": "9938fc29", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.utm_source.description": "789f4d8c", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.utm_term.description": "7ceeb79a", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.wbraid.description": "ffe11333", + "paths./customers/cloud-subscription-checkout.post.responses.201.content.application/json.schema.properties.checkout_url.description": "068743e5", + "paths./customers/cloud-subscription-checkout.post.responses.201.description": "2569ab8b", + "paths./customers/cloud-subscription-checkout.post.responses.400.description": "217a5233", + "paths./customers/cloud-subscription-checkout.post.responses.401.description": "89f3b274", + "paths./customers/cloud-subscription-checkout.post.responses.500.description": "f74d7444", + "paths./customers/cloud-subscription-checkout.post.summary": "04e1f339", + "paths./customers/cloud-subscription-checkout/{tier}.post.description": "08fecca7", + "paths./customers/cloud-subscription-checkout/{tier}.post.parameters[0].description": "9269b667", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.ga_client_id.description": "e12a09fd", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.ga_session_id.description": "a4d4b676", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.ga_session_number.description": "d9e64aa6", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.gbraid.description": "b260db65", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.gclid.description": "82927423", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.im_ref.description": "9cdb2b29", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.rewardful_referral.description": "56682a4c", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.utm_campaign.description": "0000d871", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.utm_content.description": "f4c57124", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.utm_medium.description": "9938fc29", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.utm_source.description": "789f4d8c", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.utm_term.description": "7ceeb79a", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.wbraid.description": "ffe11333", + "paths./customers/cloud-subscription-checkout/{tier}.post.responses.201.content.application/json.schema.properties.checkout_url.description": "068743e5", + "paths./customers/cloud-subscription-checkout/{tier}.post.responses.201.description": "2569ab8b", + "paths./customers/cloud-subscription-checkout/{tier}.post.responses.400.description": "9bbc63d1", + "paths./customers/cloud-subscription-checkout/{tier}.post.responses.401.description": "89f3b274", + "paths./customers/cloud-subscription-checkout/{tier}.post.responses.500.description": "f74d7444", + "paths./customers/cloud-subscription-checkout/{tier}.post.summary": "0883a642", + "paths./customers/cloud-subscription-status.get.description": "c26dcb01", + "paths./customers/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.end_date.description": "6366a64e", + "paths./customers/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.has_fund.description": "d39628b2", + "paths./customers/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.is_active.description": "6c8493cf", + "paths./customers/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.renewal_date.description": "80a37068", + "paths./customers/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.subscription_id.description": "9b6918af", + "paths./customers/cloud-subscription-status.get.responses.200.description": "823dcc58", + "paths./customers/cloud-subscription-status.get.responses.401.description": "89f3b274", + "paths./customers/cloud-subscription-status.get.responses.500.description": "f74d7444", + "paths./customers/cloud-subscription-status.get.summary": "ca912de8", + "paths./customers/credit.post.requestBody.content.application/json.schema.properties.amount_micros.description": "2cdd182d", + "paths./customers/credit.post.requestBody.content.application/json.schema.properties.currency.description": "07727b75", + "paths./customers/credit.post.responses.201.content.application/json.schema.properties.checkout_url.description": "5d33b0a0", + "paths./customers/credit.post.responses.201.description": "e56003bd", + "paths./customers/credit.post.responses.400.description": "fe9bf60b", + "paths./customers/credit.post.responses.401.description": "89f3b274", + "paths./customers/credit.post.responses.500.description": "f74d7444", + "paths./customers/credit.post.summary": "eac2f1fd", + "paths./customers/events.get.parameters[0].description": "c4e7217e", + "paths./customers/events.get.parameters[1].description": "53a39ce1", + "paths./customers/events.get.parameters[2].description": "344ec03f", + "paths./customers/events.get.parameters[3].description": "15e88081", + "paths./customers/events.get.parameters[4].description": "a129551a", + "paths./customers/events.get.responses.200.content.application/json.schema.properties.limit.description": "fcc7d3ca", + "paths./customers/events.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./customers/events.get.responses.200.content.application/json.schema.properties.total.description": "08591fc8", + "paths./customers/events.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./customers/events.get.responses.200.description": "05394f8d", + "paths./customers/events.get.responses.400.description": "46a3caa3", + "paths./customers/events.get.responses.404.description": "e3ebaa16", + "paths./customers/events.get.responses.500.description": "f74d7444", + "paths./customers/events.get.summary": "713005cb", + "paths./customers/me.get.description": "3ce7cfc4", + "paths./customers/me.get.responses.200.description": "c078613b", + "paths./customers/me.get.responses.401.description": "89f3b274", + "paths./customers/me.get.responses.404.description": "5e3f5824", + "paths./customers/me.get.responses.500.description": "f74d7444", + "paths./customers/me.get.summary": "1e46a2ef", + "paths./customers/storage.post.description": "7686239e", + "paths./customers/storage.post.requestBody.content.application/json.schema.properties.content_type.description": "73107988", + "paths./customers/storage.post.requestBody.content.application/json.schema.properties.file_hash.description": "8c107f3a", + "paths./customers/storage.post.requestBody.content.application/json.schema.properties.file_name.description": "0a6fb428", + "paths./customers/storage.post.responses.200.description": "0dbb382d", + "paths./customers/storage.post.responses.400.description": "917ef22f", + "paths./customers/storage.post.responses.401.description": "d089c8a9", + "paths./customers/storage.post.responses.500.description": "f74d7444", + "paths./customers/storage.post.summary": "f20b7907", + "paths./customers/usage.post.description": "a65e00cc", + "paths./customers/usage.post.requestBody.content.application/json.schema.properties.color_overrides.description": "192cd9c5", + "paths./customers/usage.post.requestBody.content.application/json.schema.properties.color_overrides.items.properties.name.description": "15c16f2c", + "paths./customers/usage.post.requestBody.content.application/json.schema.properties.color_overrides.items.properties.value.description": "13c6443c", + "paths./customers/usage.post.requestBody.content.application/json.schema.properties.dashboard_type.description": "01981259", + "paths./customers/usage.post.responses.200.content.application/json.schema.properties.url.description": "ae23d1f1", + "paths./customers/usage.post.responses.200.description": "40c36e17", + "paths./customers/usage.post.responses.401.description": "89f3b274", + "paths./customers/usage.post.responses.404.description": "5e3f5824", + "paths./customers/usage.post.responses.500.description": "f74d7444", + "paths./customers/usage.post.summary": "2e15c28a", + "paths./customers/usage/timeseries.get.description": "f631c695", + "paths./customers/usage/timeseries.get.parameters[0].description": "c4280b62", + "paths./customers/usage/timeseries.get.parameters[1].description": "eaaca904", + "paths./customers/usage/timeseries.get.parameters[2].description": "e8105078", + "paths./customers/usage/timeseries.get.parameters[3].description": "6cae86f5", + "paths./customers/usage/timeseries.get.parameters[4].description": "4544fd01", + "paths./customers/usage/timeseries.get.responses.200.description": "f4bda3ae", + "paths./customers/usage/timeseries.get.responses.401.description": "89f3b274", + "paths./customers/usage/timeseries.get.responses.404.description": "5e3f5824", + "paths./customers/usage/timeseries.get.responses.500.description": "f74d7444", + "paths./customers/usage/timeseries.get.summary": "7e4bfca6", + "paths./customers/{customer_id}.get.description": "52a20a2f", + "paths./customers/{customer_id}.get.responses.200.description": "c078613b", + "paths./customers/{customer_id}.get.responses.401.description": "89f3b274", + "paths./customers/{customer_id}.get.responses.404.description": "5e3f5824", + "paths./customers/{customer_id}.get.responses.500.description": "f74d7444", + "paths./customers/{customer_id}.get.summary": "ba1a7e82", + "paths./customers/{customer_id}/balance.get.description": "415209cb", + "paths./customers/{customer_id}/balance.get.parameters[0].description": "d6957c80", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.amount_micros.description": "1715e24e", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.cloud_credit_balance_micros.description": "7f605bd2", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.currency.description": "ef20d1f9", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.effective_balance_micros.description": "43ec3112", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.pending_charges_micros.description": "31b9c36e", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.prepaid_balance_micros.description": "c4a36482", + "paths./customers/{customer_id}/balance.get.responses.200.description": "fd2756cb", + "paths./customers/{customer_id}/balance.get.responses.400.description": "917ef22f", + "paths./customers/{customer_id}/balance.get.responses.401.description": "89f3b274", + "paths./customers/{customer_id}/balance.get.responses.404.description": "5e3f5824", + "paths./customers/{customer_id}/balance.get.responses.500.description": "f74d7444", + "paths./customers/{customer_id}/balance.get.summary": "9fa305d3", + "paths./customers/{customer_id}/events.get.parameters[1].description": "c4e7217e", + "paths./customers/{customer_id}/events.get.parameters[2].description": "53a39ce1", + "paths./customers/{customer_id}/events.get.parameters[3].description": "344ec03f", + "paths./customers/{customer_id}/events.get.parameters[4].description": "15e88081", + "paths./customers/{customer_id}/events.get.parameters[5].description": "a129551a", + "paths./customers/{customer_id}/events.get.responses.200.content.application/json.schema.properties.limit.description": "fcc7d3ca", + "paths./customers/{customer_id}/events.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./customers/{customer_id}/events.get.responses.200.content.application/json.schema.properties.total.description": "08591fc8", + "paths./customers/{customer_id}/events.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./customers/{customer_id}/events.get.responses.200.description": "05394f8d", + "paths./customers/{customer_id}/events.get.responses.400.description": "46a3caa3", + "paths./customers/{customer_id}/events.get.responses.404.description": "e3ebaa16", + "paths./customers/{customer_id}/events.get.responses.500.description": "f74d7444", + "paths./customers/{customer_id}/events.get.summary": "713005cb", + "paths./customers/{customer_id}/usage.post.description": "8c9a08ba", + "paths./customers/{customer_id}/usage.post.parameters[0].description": "2a3cfd72", + "paths./customers/{customer_id}/usage.post.parameters[1].description": "1ae8340e", + "paths./customers/{customer_id}/usage.post.requestBody.content.application/json.schema.properties.params.description": "def2c3a8", + "paths./customers/{customer_id}/usage.post.requestBody.content.application/json.schema.properties.timestamp.description": "99d78eac", + "paths./customers/{customer_id}/usage.post.requestBody.content.application/json.schema.properties.transaction_id.description": "e44e9751", + "paths./customers/{customer_id}/usage.post.responses.200.content.application/json.schema.properties.message.description": "306f66dc", + "paths./customers/{customer_id}/usage.post.responses.200.description": "beb7848c", + "paths./customers/{customer_id}/usage.post.responses.400.description": "917ef22f", + "paths./customers/{customer_id}/usage.post.responses.401.description": "89f3b274", + "paths./customers/{customer_id}/usage.post.responses.404.description": "5e3f5824", + "paths./customers/{customer_id}/usage.post.responses.500.description": "f74d7444", + "paths./customers/{customer_id}/usage.post.summary": "8338156e", + "paths./features.get.description": "bad57340", + "paths./features.get.responses.200.description": "c88a0b90", + "paths./features.get.summary": "06d46bcb", + "paths./gitcommit.get.description": "d948022d", + "paths./gitcommit.get.parameters[0].description": "4fae9947", + "paths./gitcommit.get.parameters[1].description": "c4dae1c4", + "paths./gitcommit.get.parameters[2].description": "f5121d7f", + "paths./gitcommit.get.parameters[3].description": "da5cf3ff", + "paths./gitcommit.get.parameters[4].description": "6ec2b657", + "paths./gitcommit.get.parameters[5].description": "ed00c158", + "paths./gitcommit.get.parameters[6].description": "fe676c70", + "paths./gitcommit.get.responses.200.description": "c5c771d7", + "paths./gitcommit.get.responses.404.description": "54ff4f53", + "paths./gitcommit.get.responses.500.description": "f74d7444", + "paths./gitcommit.get.summary": "0587ac74", + "paths./gitcommitsummary.get.description": "6a82b747", + "paths./gitcommitsummary.get.parameters[0].description": "d9d568c2", + "paths./gitcommitsummary.get.parameters[1].description": "a0d90f3c", + "paths./gitcommitsummary.get.parameters[2].description": "6ec2b657", + "paths./gitcommitsummary.get.parameters[3].description": "ed00c158", + "paths./gitcommitsummary.get.responses.200.description": "7b32f102", + "paths./gitcommitsummary.get.responses.500.description": "f74d7444", + "paths./gitcommitsummary.get.summary": "d5930444", + "paths./nodes.get.description": "b28938da", + "paths./nodes.get.parameters[0].description": "c4e7217e", + "paths./nodes.get.parameters[1].description": "53a39ce1", + "paths./nodes.get.parameters[2].description": "72954caf", + "paths./nodes.get.parameters[3].description": "4d301ebe", + "paths./nodes.get.parameters[4].description": "53a39ce1", + "paths./nodes.get.parameters[5].description": "06c33129", + "paths./nodes.get.parameters[6].description": "f68b6bea", + "paths./nodes.get.parameters[7].description": "050df4dc", + "paths./nodes.get.parameters[8].description": "30a21c52", + "paths./nodes.get.parameters[9].description": "f6a03210", + "paths./nodes.get.parameters[10].description": "48771ec2", + "paths./nodes.get.responses.200.content.application/json.schema.properties.limit.description": "fcc7d3ca", + "paths./nodes.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./nodes.get.responses.200.content.application/json.schema.properties.total.description": "162e699d", + "paths./nodes.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./nodes.get.responses.200.description": "05394f8d", + "paths./nodes.get.responses.400.description": "46a3caa3", + "paths./nodes.get.responses.404.description": "e3ebaa16", + "paths./nodes.get.responses.500.description": "f74d7444", + "paths./nodes.get.summary": "963cf976", + "paths./nodes/reindex.post.parameters[0].description": "392d2432", + "paths./nodes/reindex.post.responses.200.description": "06639246", + "paths./nodes/reindex.post.responses.400.description": "0105d84e", + "paths./nodes/reindex.post.responses.500.description": "f74d7444", + "paths./nodes/reindex.post.summary": "74095660", + "paths./nodes/search.get.description": "b28938da", + "paths./nodes/search.get.parameters[0].description": "c4e7217e", + "paths./nodes/search.get.parameters[1].description": "53a39ce1", + "paths./nodes/search.get.parameters[2].description": "931f72df", + "paths./nodes/search.get.parameters[3].description": "655922f5", + "paths./nodes/search.get.parameters[4].description": "2a067c7d", + "paths./nodes/search.get.parameters[5].description": "72954caf", + "paths./nodes/search.get.parameters[6].description": "4d301ebe", + "paths./nodes/search.get.parameters[7].description": "53a39ce1", + "paths./nodes/search.get.responses.200.content.application/json.schema.properties.limit.description": "fcc7d3ca", + "paths./nodes/search.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./nodes/search.get.responses.200.content.application/json.schema.properties.total.description": "162e699d", + "paths./nodes/search.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./nodes/search.get.responses.200.description": "05394f8d", + "paths./nodes/search.get.responses.400.description": "46a3caa3", + "paths./nodes/search.get.responses.404.description": "e3ebaa16", + "paths./nodes/search.get.responses.500.description": "f74d7444", + "paths./nodes/search.get.summary": "963cf976", + "paths./nodes/update-github-stars.post.parameters[0].description": "c4edaf40", + "paths./nodes/update-github-stars.post.responses.200.description": "3c18c6c2", + "paths./nodes/update-github-stars.post.responses.400.description": "0105d84e", + "paths./nodes/update-github-stars.post.responses.401.description": "d089c8a9", + "paths./nodes/update-github-stars.post.responses.500.description": "f74d7444", + "paths./nodes/update-github-stars.post.summary": "0d8e1915", + "paths./nodes/{nodeId}.get.description": "0a60f4ee", + "paths./nodes/{nodeId}.get.parameters[1].description": "381803b4", + "paths./nodes/{nodeId}.get.responses.200.description": "835881a0", + "paths./nodes/{nodeId}.get.responses.302.description": "f7acfe11", + "paths./nodes/{nodeId}.get.responses.302.headers.Location.description": "ce63a150", + "paths./nodes/{nodeId}.get.responses.403.description": "78342a09", + "paths./nodes/{nodeId}.get.responses.404.description": "aa0a65c4", + "paths./nodes/{nodeId}.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}.get.summary": "06f64199", + "paths./nodes/{nodeId}/install.get.description": "03269adc", + "paths./nodes/{nodeId}/install.get.parameters[0].description": "6cc84bef", + "paths./nodes/{nodeId}/install.get.parameters[1].description": "32b9d424", + "paths./nodes/{nodeId}/install.get.responses.200.description": "06ceff4a", + "paths./nodes/{nodeId}/install.get.responses.400.description": "3119d9d6", + "paths./nodes/{nodeId}/install.get.responses.403.description": "78342a09", + "paths./nodes/{nodeId}/install.get.responses.404.description": "5e503038", + "paths./nodes/{nodeId}/install.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/install.get.summary": "0bb50904", + "paths./nodes/{nodeId}/reviews.post.parameters[1].description": "c19a43ce", + "paths./nodes/{nodeId}/reviews.post.responses.200.description": "c36cc3bf", + "paths./nodes/{nodeId}/reviews.post.responses.400.description": "7c41b898", + "paths./nodes/{nodeId}/reviews.post.responses.404.description": "b0bacd91", + "paths./nodes/{nodeId}/reviews.post.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/reviews.post.summary": "1b2f93c0", + "paths./nodes/{nodeId}/translations.post.parameters[0].description": "6cc84bef", + "paths./nodes/{nodeId}/translations.post.responses.201.description": "c36cc3bf", + "paths./nodes/{nodeId}/translations.post.responses.400.description": "7c41b898", + "paths./nodes/{nodeId}/translations.post.responses.404.description": "b0bacd91", + "paths./nodes/{nodeId}/translations.post.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/translations.post.summary": "6f772d03", + "paths./nodes/{nodeId}/versions.get.responses.200.description": "ef524454", + "paths./nodes/{nodeId}/versions.get.responses.403.description": "5f496730", + "paths./nodes/{nodeId}/versions.get.responses.404.description": "aa0a65c4", + "paths./nodes/{nodeId}/versions.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions.get.summary": "288bb03d", + "paths./nodes/{nodeId}/versions/{versionId}.get.parameters[1].description": "875e2c39", + "paths./nodes/{nodeId}/versions/{versionId}.get.responses.200.description": "b9652819", + "paths./nodes/{nodeId}/versions/{versionId}.get.responses.404.description": "b0bacd91", + "paths./nodes/{nodeId}/versions/{versionId}.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions/{versionId}.get.summary": "d087ffc4", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.parameters[0].description": "6ec2b657", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.parameters[1].description": "ed00c158", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.responses.200.description": "e103eeb9", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.responses.401.description": "d089c8a9", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.responses.403.description": "78342a09", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.responses.404.description": "a8f65ec3", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.summary": "ab97f806", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.204.description": "29286d32", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.401.description": "d089c8a9", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.403.description": "78342a09", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.404.description": "a8f65ec3", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.409.description": "850654aa", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.summary": "9184bb08", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.responses.200.description": "29286d32", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.responses.401.description": "d089c8a9", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.responses.403.description": "78342a09", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.responses.404.description": "a8f65ec3", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.summary": "d9bc2157", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.200.description": "62058370", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.400.description": "dba61b63", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.401.description": "d089c8a9", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.403.description": "78342a09", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.404.description": "4db76366", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.summary": "afca5476", + "paths./proxy/anthropic/v1/messages.post.description": "399901f2", + "paths./proxy/anthropic/v1/messages.post.responses.200.content.text/event-stream.schema.description": "8aa1c9b2", + "paths./proxy/anthropic/v1/messages.post.responses.200.description": "418e81b3", + "paths./proxy/anthropic/v1/messages.post.responses.400.description": "917ef22f", + "paths./proxy/anthropic/v1/messages.post.responses.401.description": "d089c8a9", + "paths./proxy/anthropic/v1/messages.post.responses.402.description": "7248dc26", + "paths./proxy/anthropic/v1/messages.post.responses.429.description": "edfc871b", + "paths./proxy/anthropic/v1/messages.post.responses.500.description": "f74d7444", + "paths./proxy/anthropic/v1/messages.post.summary": "89d488a2", + "paths./proxy/beeble/v1/switchx/generations.post.description": "ece908e0", + "paths./proxy/beeble/v1/switchx/generations.post.responses.200.description": "61471ce7", + "paths./proxy/beeble/v1/switchx/generations.post.responses.400.description": "917ef22f", + "paths./proxy/beeble/v1/switchx/generations.post.responses.401.description": "d089c8a9", + "paths./proxy/beeble/v1/switchx/generations.post.responses.402.description": "7248dc26", + "paths./proxy/beeble/v1/switchx/generations.post.responses.429.description": "edfc871b", + "paths./proxy/beeble/v1/switchx/generations.post.responses.500.description": "f74d7444", + "paths./proxy/beeble/v1/switchx/generations.post.summary": "aeca4e9e", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.description": "3e7b12c4", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.parameters[0].description": "c8adadc7", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.responses.200.description": "3bd14415", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.responses.404.description": "56930ecf", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.responses.500.description": "f74d7444", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.summary": "11fe1290", + "paths./proxy/beeble/v1/uploads.post.description": "e6375eb2", + "paths./proxy/beeble/v1/uploads.post.responses.200.description": "72982a20", + "paths./proxy/beeble/v1/uploads.post.responses.400.description": "917ef22f", + "paths./proxy/beeble/v1/uploads.post.responses.401.description": "d089c8a9", + "paths./proxy/beeble/v1/uploads.post.responses.500.description": "f74d7444", + "paths./proxy/beeble/v1/uploads.post.summary": "66b0aa4d", + "paths./proxy/bfl/flux-2-max/generate.post.description": "1f300a1e", + "paths./proxy/bfl/flux-2-max/generate.post.responses.200.description": "0b25e60a", + "paths./proxy/bfl/flux-2-max/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-2-max/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-2-max/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-2-max/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-2-max/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-2-max/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-2-max/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-2-max/generate.post.summary": "e43e5258", + "paths./proxy/bfl/flux-2-pro/generate.post.description": "76326726", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.200.description": "89edd73c", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-2-pro/generate.post.summary": "15af7272", + "paths./proxy/bfl/flux-kontext-max/generate.post.description": "2016e5b3", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.200.description": "1bd85494", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-kontext-max/generate.post.summary": "ae531409", + "paths./proxy/bfl/flux-kontext-pro/generate.post.description": "ce78020e", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.200.description": "fcb96430", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-kontext-pro/generate.post.summary": "c7f3d786", + "paths./proxy/bfl/flux-pro-1.0-canny/generate.post.description": "34ea0061", + "paths./proxy/bfl/flux-pro-1.0-canny/generate.post.responses.200.description": "25123ce6", + "paths./proxy/bfl/flux-pro-1.0-canny/generate.post.responses.422.description": "142762b3", + "paths./proxy/bfl/flux-pro-1.0-canny/generate.post.summary": "44b453cf", + "paths./proxy/bfl/flux-pro-1.0-depth/generate.post.description": "b5fbe356", + "paths./proxy/bfl/flux-pro-1.0-depth/generate.post.responses.200.description": "25123ce6", + "paths./proxy/bfl/flux-pro-1.0-depth/generate.post.responses.422.description": "142762b3", + "paths./proxy/bfl/flux-pro-1.0-depth/generate.post.summary": "29395241", + "paths./proxy/bfl/flux-pro-1.0-expand/generate.post.description": "c0e84930", + "paths./proxy/bfl/flux-pro-1.0-expand/generate.post.responses.200.description": "25123ce6", + "paths./proxy/bfl/flux-pro-1.0-expand/generate.post.responses.422.description": "142762b3", + "paths./proxy/bfl/flux-pro-1.0-expand/generate.post.summary": "6669ce35", + "paths./proxy/bfl/flux-pro-1.0-fill/generate.post.description": "3c77ffd5", + "paths./proxy/bfl/flux-pro-1.0-fill/generate.post.responses.200.description": "25123ce6", + "paths./proxy/bfl/flux-pro-1.0-fill/generate.post.responses.422.description": "142762b3", + "paths./proxy/bfl/flux-pro-1.0-fill/generate.post.summary": "2a5faf4d", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.description": "16576941", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.200.description": "d6629988", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.summary": "89455990", + "paths./proxy/bfl/flux-pro-1.1/generate.post.description": "760f7418", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.200.description": "d6629988", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-pro-1.1/generate.post.summary": "95582171", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.description": "32789913", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.200.description": "ec0cb634", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.summary": "47dfa2ef", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.description": "b6bf6bff", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.200.description": "9c8d08e1", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.summary": "6a55e17e", + "paths./proxy/bria/v2/image/edit.post.description": "830d889d", + "paths./proxy/bria/v2/image/edit.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/image/edit.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/image/edit.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/image/edit.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/image/edit.post.responses.422.description": "640a245a", + "paths./proxy/bria/v2/image/edit.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/image/edit.post.summary": "172299f3", + "paths./proxy/bria/v2/image/edit/remove_background.post.description": "60e259a8", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.422.description": "640a245a", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/image/edit/remove_background.post.summary": "306ee41b", + "paths./proxy/bria/v2/status/{request_id}.get.description": "6183e679", + "paths./proxy/bria/v2/status/{request_id}.get.parameters[0].description": "76fb04f1", + "paths./proxy/bria/v2/status/{request_id}.get.responses.200.description": "be1404b0", + "paths./proxy/bria/v2/status/{request_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/status/{request_id}.get.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/status/{request_id}.get.responses.404.description": "d0b5d9ad", + "paths./proxy/bria/v2/status/{request_id}.get.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/status/{request_id}.get.summary": "9b0a4ab3", + "paths./proxy/bria/v2/structured_instruction/generate.post.description": "74eb1c3d", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.422.description": "640a245a", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/structured_instruction/generate.post.summary": "a46d2e84", + "paths./proxy/bria/v2/video/edit/green_screen.post.description": "a7310bee", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.422.description": "9dc5d1e9", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/video/edit/green_screen.post.summary": "f0c56b81", + "paths./proxy/bria/v2/video/edit/remove_background.post.description": "73c90a70", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.422.description": "9dc5d1e9", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/video/edit/remove_background.post.summary": "b4b90626", + "paths./proxy/bria/v2/video/edit/replace_background.post.description": "8608c110", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.422.description": "9dc5d1e9", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/video/edit/replace_background.post.summary": "4e776fa3", + "paths./proxy/byteplus-seedance2/api/v3/contents/generations/tasks/{task_id}.get.parameters[0].description": "5512c236", + "paths./proxy/byteplus-seedance2/api/v3/contents/generations/tasks/{task_id}.get.responses.200.description": "149612f9", + "paths./proxy/byteplus-seedance2/api/v3/contents/generations/tasks/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/contents/generations/tasks.post.responses.200.description": "dbfebbe0", + "paths./proxy/byteplus/api/v3/contents/generations/tasks.post.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/contents/generations/tasks/{task_id}.get.parameters[0].description": "f5ebb3e7", + "paths./proxy/byteplus/api/v3/contents/generations/tasks/{task_id}.get.responses.200.description": "149612f9", + "paths./proxy/byteplus/api/v3/contents/generations/tasks/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/files.post.description": "e86aafc5", + "paths./proxy/byteplus/api/v3/files.post.responses.200.description": "2cd92465", + "paths./proxy/byteplus/api/v3/files.post.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/files.post.summary": "1c76adbe", + "paths./proxy/byteplus/api/v3/files/{id}.get.description": "ad8fa55c", + "paths./proxy/byteplus/api/v3/files/{id}.get.parameters[0].description": "72b9418e", + "paths./proxy/byteplus/api/v3/files/{id}.get.responses.200.description": "b7fdc1ab", + "paths./proxy/byteplus/api/v3/files/{id}.get.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/files/{id}.get.summary": "bc592ef8", + "paths./proxy/byteplus/api/v3/images/generations.post.responses.200.description": "cb1a49c9", + "paths./proxy/byteplus/api/v3/images/generations.post.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/responses.post.description": "6a7999de", + "paths./proxy/byteplus/api/v3/responses.post.responses.200.description": "5db68f86", + "paths./proxy/byteplus/api/v3/responses.post.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/responses.post.summary": "5ca165ed", + "paths./proxy/byteplus/api/v3/tts/create.post.description": "aac88273", + "paths./proxy/byteplus/api/v3/tts/create.post.responses.200.description": "9ef16735", + "paths./proxy/byteplus/api/v3/tts/create.post.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/tts/create.post.summary": "e9d1a6cc", + "paths./proxy/dummy.post.description": "d7836ef7", + "paths./proxy/dummy.post.responses.200.description": "06639246", + "paths./proxy/dummy.post.summary": "213c0f6c", + "paths./proxy/elevenlabs/v1/audio-isolation.post.description": "d6e2df3e", + "paths./proxy/elevenlabs/v1/audio-isolation.post.responses.200.description": "2f420f54", + "paths./proxy/elevenlabs/v1/audio-isolation.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/audio-isolation.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/audio-isolation.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/audio-isolation.post.summary": "64d39763", + "paths./proxy/elevenlabs/v1/shared-voices.get.description": "9a36c52b", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[0].description": "092882bd", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[1].description": "aa2e3ee3", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[2].description": "85d626d4", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[3].description": "ff1269b3", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[4].description": "1edef563", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[5].description": "3a80dab8", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[6].description": "051dcd59", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[7].description": "8d4bb287", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[8].description": "8db28899", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[9].description": "963b9a24", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[10].description": "706fee66", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[11].description": "1526fff5", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[12].description": "0090f6de", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[13].description": "a9c2d62f", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[14].description": "19ccc4c2", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[15].description": "64225d23", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[16].description": "c4fa4695", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[17].description": "05fa2e3b", + "paths./proxy/elevenlabs/v1/shared-voices.get.responses.200.description": "553d2366", + "paths./proxy/elevenlabs/v1/shared-voices.get.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/shared-voices.get.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/shared-voices.get.summary": "03e68be6", + "paths./proxy/elevenlabs/v1/sound-generation.post.description": "c25a222d", + "paths./proxy/elevenlabs/v1/sound-generation.post.parameters[0].description": "8ae5950c", + "paths./proxy/elevenlabs/v1/sound-generation.post.responses.200.description": "3dfb32b6", + "paths./proxy/elevenlabs/v1/sound-generation.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/sound-generation.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/sound-generation.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/sound-generation.post.summary": "ffc294ce", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.description": "ecbaf19b", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.parameters[0].description": "857e9fc9", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.parameters[1].description": "a1fd11cf", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.parameters[2].description": "3c9ecc2b", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.parameters[3].description": "8ae5950c", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.responses.200.description": "1d301dc9", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.summary": "d6580d01", + "paths./proxy/elevenlabs/v1/speech-to-text.post.description": "41478334", + "paths./proxy/elevenlabs/v1/speech-to-text.post.parameters[0].description": "2f7477ad", + "paths./proxy/elevenlabs/v1/speech-to-text.post.responses.200.description": "21ba308b", + "paths./proxy/elevenlabs/v1/speech-to-text.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/speech-to-text.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/speech-to-text.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/speech-to-text.post.summary": "2cad879e", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.description": "43c68938", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.parameters[0].description": "8ae5950c", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.responses.200.description": "1d301dc9", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.summary": "044d3939", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.description": "c96e7167", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.parameters[0].description": "24910c62", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.parameters[1].description": "7617db29", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.parameters[2].description": "565cef24", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.parameters[3].description": "7a6f8049", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.responses.200.description": "1d301dc9", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.summary": "71507dfe", + "paths./proxy/elevenlabs/v1/voices/add.post.description": "700d9a46", + "paths./proxy/elevenlabs/v1/voices/add.post.responses.200.description": "2d833ec4", + "paths./proxy/elevenlabs/v1/voices/add.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/voices/add.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/voices/add.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/voices/add.post.summary": "f81ce6eb", + "paths./proxy/elevenlabs/v2/voices.get.description": "04a1fa0d", + "paths./proxy/elevenlabs/v2/voices.get.parameters[0].description": "dccd3c6d", + "paths./proxy/elevenlabs/v2/voices.get.parameters[1].description": "8faa875b", + "paths./proxy/elevenlabs/v2/voices.get.parameters[2].description": "31f8a4a4", + "paths./proxy/elevenlabs/v2/voices.get.responses.200.description": "2f41e6c7", + "paths./proxy/elevenlabs/v2/voices.get.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v2/voices.get.summary": "761d4746", + "paths./proxy/fal/fal-ai/patina.post.description": "bb78a71d", + "paths./proxy/fal/fal-ai/patina.post.responses.200.description": "340fb696", + "paths./proxy/fal/fal-ai/patina.post.responses.400.description": "7c41b898", + "paths./proxy/fal/fal-ai/patina.post.responses.401.description": "d089c8a9", + "paths./proxy/fal/fal-ai/patina.post.responses.402.description": "a117c80b", + "paths./proxy/fal/fal-ai/patina.post.responses.429.description": "95a111e3", + "paths./proxy/fal/fal-ai/patina.post.responses.500.description": "e41656eb", + "paths./proxy/fal/fal-ai/patina.post.summary": "47e30ab1", + "paths./proxy/fal/fal-ai/patina/material.post.description": "41e5e062", + "paths./proxy/fal/fal-ai/patina/material.post.responses.200.description": "340fb696", + "paths./proxy/fal/fal-ai/patina/material.post.responses.400.description": "7c41b898", + "paths./proxy/fal/fal-ai/patina/material.post.responses.401.description": "d089c8a9", + "paths./proxy/fal/fal-ai/patina/material.post.responses.402.description": "a117c80b", + "paths./proxy/fal/fal-ai/patina/material.post.responses.429.description": "95a111e3", + "paths./proxy/fal/fal-ai/patina/material.post.responses.500.description": "e41656eb", + "paths./proxy/fal/fal-ai/patina/material.post.summary": "2945c576", + "paths./proxy/fal/fal-ai/patina/material/extract.post.description": "cbfcfe15", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.200.description": "340fb696", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.400.description": "7c41b898", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.401.description": "d089c8a9", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.402.description": "a117c80b", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.429.description": "95a111e3", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.500.description": "e41656eb", + "paths./proxy/fal/fal-ai/patina/material/extract.post.summary": "e54eda11", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.description": "c3db636e", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.parameters[0].description": "ed268f7e", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.responses.200.description": "288a7b6d", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.responses.404.description": "bb08e040", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.responses.500.description": "e41656eb", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.summary": "640f095b", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.description": "ea92e919", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.parameters[0].description": "ed268f7e", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.responses.200.description": "f78f8c98", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.responses.401.description": "d089c8a9", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.responses.404.description": "bb08e040", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.responses.500.description": "e41656eb", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.summary": "a34cbf81", + "paths./proxy/freepik/v1/ai/image-relight.post.description": "18d859d1", + "paths./proxy/freepik/v1/ai/image-relight.post.responses.200.description": "abe856cf", + "paths./proxy/freepik/v1/ai/image-relight.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/image-relight.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-relight.post.summary": "ba224310", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.description": "e02307dd", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.parameters[0].description": "05f6132e", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.responses.200.description": "7713f971", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.summary": "e02307dd", + "paths./proxy/freepik/v1/ai/image-style-transfer.post.description": "03a2111b", + "paths./proxy/freepik/v1/ai/image-style-transfer.post.responses.200.description": "0564f0bc", + "paths./proxy/freepik/v1/ai/image-style-transfer.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/image-style-transfer.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-style-transfer.post.summary": "94a8ca5e", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.description": "7a105cb8", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.parameters[0].description": "05f6132e", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.responses.200.description": "7713f971", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.summary": "7a105cb8", + "paths./proxy/freepik/v1/ai/image-upscaler.post.description": "ea01f025", + "paths./proxy/freepik/v1/ai/image-upscaler.post.responses.200.description": "b6824795", + "paths./proxy/freepik/v1/ai/image-upscaler.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/image-upscaler.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-upscaler.post.summary": "893e4ca4", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2.post.description": "b21ea8fe", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2.post.responses.200.description": "b6824795", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2.post.summary": "0a83b28c", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.description": "a1e39207", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.parameters[0].description": "05f6132e", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.responses.200.description": "7713f971", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.summary": "756713da", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.description": "6d0fb33f", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.parameters[0].description": "05f6132e", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.responses.200.description": "7713f971", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.summary": "6d0fb33f", + "paths./proxy/freepik/v1/ai/skin-enhancer/creative.post.description": "6ca28952", + "paths./proxy/freepik/v1/ai/skin-enhancer/creative.post.responses.200.description": "df6e48be", + "paths./proxy/freepik/v1/ai/skin-enhancer/creative.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/skin-enhancer/creative.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/skin-enhancer/creative.post.summary": "8dd16700", + "paths./proxy/freepik/v1/ai/skin-enhancer/faithful.post.description": "4fdfe7a6", + "paths./proxy/freepik/v1/ai/skin-enhancer/faithful.post.responses.200.description": "df6e48be", + "paths./proxy/freepik/v1/ai/skin-enhancer/faithful.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/skin-enhancer/faithful.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/skin-enhancer/faithful.post.summary": "42064736", + "paths./proxy/freepik/v1/ai/skin-enhancer/flexible.post.description": "8040e4da", + "paths./proxy/freepik/v1/ai/skin-enhancer/flexible.post.responses.200.description": "df6e48be", + "paths./proxy/freepik/v1/ai/skin-enhancer/flexible.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/skin-enhancer/flexible.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/skin-enhancer/flexible.post.summary": "8a0610ca", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.description": "abe18786", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.parameters[0].description": "05f6132e", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.responses.200.description": "7713f971", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.summary": "5c070745", + "paths./proxy/hitpaw/api/photo-enhancer.post.description": "e492b571", + "paths./proxy/hitpaw/api/photo-enhancer.post.responses.200.description": "8edcb694", + "paths./proxy/hitpaw/api/photo-enhancer.post.responses.400.description": "7c41b898", + "paths./proxy/hitpaw/api/photo-enhancer.post.responses.401.description": "d089c8a9", + "paths./proxy/hitpaw/api/photo-enhancer.post.responses.402.description": "a117c80b", + "paths./proxy/hitpaw/api/photo-enhancer.post.responses.500.description": "e41656eb", + "paths./proxy/hitpaw/api/photo-enhancer.post.summary": "b8877b7f", + "paths./proxy/hitpaw/api/task-status.post.description": "b5d6381a", + "paths./proxy/hitpaw/api/task-status.post.responses.200.description": "582b91c5", + "paths./proxy/hitpaw/api/task-status.post.responses.400.description": "7c41b898", + "paths./proxy/hitpaw/api/task-status.post.responses.401.description": "d089c8a9", + "paths./proxy/hitpaw/api/task-status.post.responses.500.description": "e41656eb", + "paths./proxy/hitpaw/api/task-status.post.summary": "5d5ece88", + "paths./proxy/hitpaw/api/video-enhancer.post.description": "3fe2e735", + "paths./proxy/hitpaw/api/video-enhancer.post.responses.200.description": "8edcb694", + "paths./proxy/hitpaw/api/video-enhancer.post.responses.400.description": "7c41b898", + "paths./proxy/hitpaw/api/video-enhancer.post.responses.401.description": "d089c8a9", + "paths./proxy/hitpaw/api/video-enhancer.post.responses.402.description": "7248dc26", + "paths./proxy/hitpaw/api/video-enhancer.post.responses.500.description": "e41656eb", + "paths./proxy/hitpaw/api/video-enhancer.post.summary": "a63b5217", + "paths./proxy/ideogram/generate.post.description": "1e9d6c21", + "paths./proxy/ideogram/generate.post.responses.200.description": "dc4fd3ef", + "paths./proxy/ideogram/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/ideogram/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/ideogram/generate.post.responses.402.description": "a117c80b", + "paths./proxy/ideogram/generate.post.responses.429.description": "f0e25a11", + "paths./proxy/ideogram/generate.post.responses.500.description": "ee066afe", + "paths./proxy/ideogram/generate.post.responses.502.description": "5fc7ad99", + "paths./proxy/ideogram/generate.post.responses.504.description": "55199507", + "paths./proxy/ideogram/generate.post.summary": "55533837", + "paths./proxy/ideogram/ideogram-v3/edit.post.description": "3cb32af3", + "paths./proxy/ideogram/ideogram-v3/edit.post.requestBody.description": "745b0e68", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.200.description": "dc4fd3ef", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.400.description": "9f7eaca8", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.401.description": "d089c8a9", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.422.description": "65a30886", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.429.description": "f0e25a11", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.500.description": "ee066afe", + "paths./proxy/ideogram/ideogram-v3/edit.post.summary": "ee732ede", + "paths./proxy/ideogram/ideogram-v3/generate.post.description": "1e9d6c21", + "paths./proxy/ideogram/ideogram-v3/generate.post.requestBody.description": "9db3c32e", + "paths./proxy/ideogram/ideogram-v3/generate.post.responses.200.description": "dc4fd3ef", + "paths./proxy/ideogram/ideogram-v3/generate.post.responses.500.description": "ee066afe", + "paths./proxy/ideogram/ideogram-v3/generate.post.summary": "55533837", + "paths./proxy/ideogram/ideogram-v3/reframe.post.responses.200.description": "663079d5", + "paths./proxy/ideogram/ideogram-v3/reframe.post.responses.400.description": "7c41b898", + "paths./proxy/ideogram/ideogram-v3/reframe.post.responses.401.description": "d089c8a9", + "paths./proxy/ideogram/ideogram-v3/reframe.post.responses.422.description": "9dc5d1e9", + "paths./proxy/ideogram/ideogram-v3/reframe.post.responses.429.description": "3850dfdb", + "paths./proxy/ideogram/ideogram-v3/reframe.post.summary": "79ade7b9", + "paths./proxy/ideogram/ideogram-v3/remix.post.responses.200.description": "d06367b6", + "paths./proxy/ideogram/ideogram-v3/remix.post.responses.400.description": "7c41b898", + "paths./proxy/ideogram/ideogram-v3/remix.post.responses.403.description": "78342a09", + "paths./proxy/ideogram/ideogram-v3/remix.post.responses.422.description": "9dc5d1e9", + "paths./proxy/ideogram/ideogram-v3/remix.post.responses.429.description": "3850dfdb", + "paths./proxy/ideogram/ideogram-v3/remix.post.summary": "56c68ec5", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.responses.200.description": "5c49474f", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.responses.400.description": "7c41b898", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.responses.401.description": "d089c8a9", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.responses.422.description": "9dc5d1e9", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.responses.429.description": "3850dfdb", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.summary": "1750c8da", + "paths./proxy/ideogram/ideogram-v4/generate.post.description": "8ce4ae42", + "paths./proxy/ideogram/ideogram-v4/generate.post.requestBody.description": "ab44be7e", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.200.description": "dc4fd3ef", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.402.description": "a117c80b", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.429.description": "f0e25a11", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.500.description": "ee066afe", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.502.description": "5fc7ad99", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.504.description": "55199507", + "paths./proxy/ideogram/ideogram-v4/generate.post.summary": "3f9945df", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.requestBody.description": "808b67bb", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.200.description": "3151586d", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.400.description": "51443a02", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.401.description": "93821eb7", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.429.description": "266777a4", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.500.description": "f74d7444", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.summary": "91585161", + "paths./proxy/kling/tasks.get.parameters[0].description": "2bebc1bb", + "paths./proxy/kling/tasks.get.parameters[1].description": "c7c70fd9", + "paths./proxy/kling/tasks.get.responses.200.description": "3151586d", + "paths./proxy/kling/tasks.get.responses.400.description": "51443a02", + "paths./proxy/kling/tasks.get.responses.401.description": "93821eb7", + "paths./proxy/kling/tasks.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/tasks.get.responses.429.description": "266777a4", + "paths./proxy/kling/tasks.get.responses.500.description": "f74d7444", + "paths./proxy/kling/tasks.get.summary": "d3ff06b1", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.requestBody.description": "76a7d9af", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.200.description": "3151586d", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.400.description": "51443a02", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.401.description": "93821eb7", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.429.description": "266777a4", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.500.description": "f74d7444", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.summary": "4635ab36", + "paths./proxy/kling/v1/account/costs.get.parameters[0].schema.description": "2050c75b", + "paths./proxy/kling/v1/account/costs.get.parameters[1].schema.description": "da97d8e5", + "paths./proxy/kling/v1/account/costs.get.parameters[2].schema.description": "961f504c", + "paths./proxy/kling/v1/account/costs.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/account/costs.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/account/costs.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/account/costs.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/account/costs.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/account/costs.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/account/costs.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/account/costs.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/account/costs.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/account/costs.get.summary": "54906b8b", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.description": "9f72f15e", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.parameters[0].description": "f0129c23", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.parameters[1].description": "fbd81520", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.responses.200.description": "0570a75b", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.responses.400.description": "7c41b898", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.responses.429.description": "95a111e3", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.summary": "94ca544c", + "paths./proxy/kling/v1/images/generations.get.parameters[0].description": "05fa2e3b", + "paths./proxy/kling/v1/images/generations.get.parameters[1].description": "a8748dc9", + "paths./proxy/kling/v1/images/generations.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/generations.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/generations.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/generations.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/generations.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/generations.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/generations.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/generations.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/generations.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/generations.get.summary": "64217a63", + "paths./proxy/kling/v1/images/generations.post.requestBody.description": "c2782b1f", + "paths./proxy/kling/v1/images/generations.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/generations.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/generations.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/generations.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/generations.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/generations.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/generations.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/generations.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/generations.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/generations.post.summary": "68cd404c", + "paths./proxy/kling/v1/images/generations/{id}.get.parameters[0].description": "3e0cce3a", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/generations/{id}.get.summary": "dcc3baa4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.parameters[0].description": "05fa2e3b", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.parameters[1].description": "a8748dc9", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.summary": "1b251b13", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.requestBody.description": "1dbce76f", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.summary": "f7ce06b8", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.parameters[0].description": "3e0cce3a", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.summary": "7970aef8", + "paths./proxy/kling/v1/images/omni-image.post.requestBody.description": "c96dc3d6", + "paths./proxy/kling/v1/images/omni-image.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/omni-image.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/omni-image.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/omni-image.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/omni-image.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/omni-image.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/omni-image.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/omni-image.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/omni-image.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/omni-image.post.summary": "25934527", + "paths./proxy/kling/v1/images/omni-image/{id}.get.parameters[0].description": "b7ed2f0c", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/omni-image/{id}.get.summary": "dc5d1a55", + "paths./proxy/kling/v1/videos/avatar/image2video.post.requestBody.description": "62da81d0", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/avatar/image2video.post.summary": "373edb31", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.summary": "53727b91", + "paths./proxy/kling/v1/videos/effects.get.parameters[0].description": "05fa2e3b", + "paths./proxy/kling/v1/videos/effects.get.parameters[1].description": "a8748dc9", + "paths./proxy/kling/v1/videos/effects.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/effects.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/effects.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/effects.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/effects.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/effects.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/effects.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/effects.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/effects.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/effects.get.summary": "3d29cea9", + "paths./proxy/kling/v1/videos/effects.post.requestBody.description": "6c758b87", + "paths./proxy/kling/v1/videos/effects.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/effects.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/effects.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/effects.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/effects.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/effects.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/effects.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/effects.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/effects.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/effects.post.summary": "d39a1fdb", + "paths./proxy/kling/v1/videos/effects/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/effects/{id}.get.summary": "d5d4fcb2", + "paths./proxy/kling/v1/videos/image2video.post.requestBody.description": "74a34b41", + "paths./proxy/kling/v1/videos/image2video.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/image2video.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/image2video.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/image2video.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/image2video.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/image2video.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/image2video.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/image2video.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/image2video.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/image2video.post.summary": "c459c8e8", + "paths./proxy/kling/v1/videos/image2video/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/image2video/{id}.get.summary": "798c2063", + "paths./proxy/kling/v1/videos/lip-sync.get.parameters[0].description": "05fa2e3b", + "paths./proxy/kling/v1/videos/lip-sync.get.parameters[1].description": "a8748dc9", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/lip-sync.get.summary": "bbab27e0", + "paths./proxy/kling/v1/videos/lip-sync.post.requestBody.description": "1b2945d3", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/lip-sync.post.summary": "d64ec2ad", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.summary": "71d1303c", + "paths./proxy/kling/v1/videos/motion-control.post.requestBody.description": "ad4e0a95", + "paths./proxy/kling/v1/videos/motion-control.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/motion-control.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/motion-control.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/motion-control.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/motion-control.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/motion-control.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/motion-control.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/motion-control.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/motion-control.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/motion-control.post.summary": "655da70e", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.summary": "69cb191d", + "paths./proxy/kling/v1/videos/omni-video.post.requestBody.description": "87376aa8", + "paths./proxy/kling/v1/videos/omni-video.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/omni-video.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/omni-video.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/omni-video.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/omni-video.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/omni-video.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/omni-video.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/omni-video.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/omni-video.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/omni-video.post.summary": "3165e049", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.parameters[0].description": "b7ed2f0c", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.summary": "2d39a204", + "paths./proxy/kling/v1/videos/text2video.post.requestBody.description": "eaec02db", + "paths./proxy/kling/v1/videos/text2video.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/text2video.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/text2video.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/text2video.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/text2video.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/text2video.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/text2video.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/text2video.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/text2video.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/text2video.post.summary": "af31d9a5", + "paths./proxy/kling/v1/videos/text2video/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/text2video/{id}.get.summary": "97fd14ff", + "paths./proxy/kling/v1/videos/video-extend.get.parameters[0].description": "05fa2e3b", + "paths./proxy/kling/v1/videos/video-extend.get.parameters[1].description": "a8748dc9", + "paths./proxy/kling/v1/videos/video-extend.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/video-extend.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/video-extend.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/video-extend.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/video-extend.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/video-extend.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/video-extend.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/video-extend.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/video-extend.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/video-extend.get.summary": "4822c43d", + "paths./proxy/kling/v1/videos/video-extend.post.requestBody.description": "7e251954", + "paths./proxy/kling/v1/videos/video-extend.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/video-extend.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/video-extend.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/video-extend.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/video-extend.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/video-extend.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/video-extend.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/video-extend.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/video-extend.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/video-extend.post.summary": "ede8a6fd", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.parameters[0].description": "3e0cce3a", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.summary": "6d248620", + "paths./proxy/krea/assets.post.description": "a7372e9a", + "paths./proxy/krea/assets.post.responses.200.description": "e8eb6327", + "paths./proxy/krea/assets.post.responses.400.description": "60d5619a", + "paths./proxy/krea/assets.post.responses.401.description": "d089c8a9", + "paths./proxy/krea/assets.post.responses.500.description": "f74d7444", + "paths./proxy/krea/assets.post.summary": "a7372e9a", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.description": "634f3f95", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.200.description": "eaad669e", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.400.description": "917ef22f", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.401.description": "d089c8a9", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.402.description": "7248dc26", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.429.description": "edfc871b", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.500.description": "f74d7444", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.summary": "341e5867", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.description": "f989e6d4", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.200.description": "eaad669e", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.400.description": "917ef22f", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.401.description": "d089c8a9", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.402.description": "7248dc26", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.429.description": "edfc871b", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.500.description": "f74d7444", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.summary": "c8e412f1", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.description": "557852e7", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.200.description": "eaad669e", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.400.description": "917ef22f", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.401.description": "d089c8a9", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.402.description": "7248dc26", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.429.description": "edfc871b", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.500.description": "f74d7444", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.summary": "7a3dda22", + "paths./proxy/krea/jobs/{job_id}.get.description": "0e49db7e", + "paths./proxy/krea/jobs/{job_id}.get.parameters[0].description": "b58ddbc0", + "paths./proxy/krea/jobs/{job_id}.get.responses.200.description": "c664992b", + "paths./proxy/krea/jobs/{job_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/krea/jobs/{job_id}.get.responses.404.description": "56930ecf", + "paths./proxy/krea/jobs/{job_id}.get.responses.500.description": "f74d7444", + "paths./proxy/krea/jobs/{job_id}.get.summary": "0e49db7e", + "paths./proxy/ltx/v1/image-to-video.post.description": "02bda9d2", + "paths./proxy/ltx/v1/image-to-video.post.requestBody.description": "50f7dcaf", + "paths./proxy/ltx/v1/image-to-video.post.responses.200.description": "82f60389", + "paths./proxy/ltx/v1/image-to-video.post.responses.default.description": "8409f13c", + "paths./proxy/ltx/v1/image-to-video.post.summary": "b081389c", + "paths./proxy/ltx/v1/text-to-video.post.description": "52b0c009", + "paths./proxy/ltx/v1/text-to-video.post.requestBody.description": "9b48e782", + "paths./proxy/ltx/v1/text-to-video.post.responses.200.description": "82f60389", + "paths./proxy/ltx/v1/text-to-video.post.responses.default.description": "8409f13c", + "paths./proxy/ltx/v1/text-to-video.post.summary": "c557754e", + "paths./proxy/luma/generations.post.description": "9383995b", + "paths./proxy/luma/generations.post.requestBody.description": "d1705797", + "paths./proxy/luma/generations.post.responses.201.description": "ec40d5dc", + "paths./proxy/luma/generations.post.responses.default.description": "54a0e8c1", + "paths./proxy/luma/generations.post.summary": "efc51802", + "paths./proxy/luma/generations/image.post.description": "2da8402c", + "paths./proxy/luma/generations/image.post.requestBody.description": "2ec5636f", + "paths./proxy/luma/generations/image.post.responses.201.description": "516ee055", + "paths./proxy/luma/generations/image.post.responses.default.description": "54a0e8c1", + "paths./proxy/luma/generations/image.post.summary": "88daee9e", + "paths./proxy/luma/generations/{id}.get.description": "df38d257", + "paths./proxy/luma/generations/{id}.get.parameters[0].description": "84f8c18e", + "paths./proxy/luma/generations/{id}.get.responses.200.description": "26e8948a", + "paths./proxy/luma/generations/{id}.get.responses.default.description": "54a0e8c1", + "paths./proxy/luma/generations/{id}.get.summary": "5bef2699", + "paths./proxy/luma_2/generations.post.description": "2a003401", + "paths./proxy/luma_2/generations.post.requestBody.description": "d1705797", + "paths./proxy/luma_2/generations.post.responses.200.description": "d8f2125c", + "paths./proxy/luma_2/generations.post.responses.default.description": "54a0e8c1", + "paths./proxy/luma_2/generations.post.summary": "37fe0075", + "paths./proxy/luma_2/generations/{generation_id}.get.description": "fdae40f5", + "paths./proxy/luma_2/generations/{generation_id}.get.parameters[0].description": "84f8c18e", + "paths./proxy/luma_2/generations/{generation_id}.get.responses.200.description": "26e8948a", + "paths./proxy/luma_2/generations/{generation_id}.get.responses.default.description": "54a0e8c1", + "paths./proxy/luma_2/generations/{generation_id}.get.summary": "be1c6af3", + "paths./proxy/meshy/openapi/v1/animations.post.description": "bb726ebb", + "paths./proxy/meshy/openapi/v1/animations.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/animations.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/animations.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/animations.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/animations.post.summary": "359f4688", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.description": "b09c15b0", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.summary": "ecbf3486", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.description": "a8c5fe9b", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.summary": "de3da996", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.description": "868dd46a", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.summary": "d119028a", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.description": "8a12c3ce", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.summary": "f947167a", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.description": "5b59b06d", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.summary": "f12ef76f", + "paths./proxy/meshy/openapi/v1/remesh.post.description": "e4d9dc40", + "paths./proxy/meshy/openapi/v1/remesh.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/remesh.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/remesh.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/remesh.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/remesh.post.summary": "4fb74976", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.description": "e41adb7d", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.summary": "772c6c12", + "paths./proxy/meshy/openapi/v1/retexture.post.description": "81d79c58", + "paths./proxy/meshy/openapi/v1/retexture.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/retexture.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/retexture.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/retexture.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/retexture.post.summary": "047a385b", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.description": "cfef01b1", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.summary": "201ff2f9", + "paths./proxy/meshy/openapi/v1/rigging.post.description": "dbb22bff", + "paths./proxy/meshy/openapi/v1/rigging.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/rigging.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/rigging.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/rigging.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/rigging.post.summary": "4567a698", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.description": "4727e7ee", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.summary": "11131548", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.description": "9994d0cd", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.summary": "d7428b44", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.description": "49328002", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.summary": "04283cf1", + "paths./proxy/minimax/files/retrieve.post.description": "a6aad64f", + "paths./proxy/minimax/files/retrieve.post.parameters[0].description": "30a8d795", + "paths./proxy/minimax/files/retrieve.post.responses.200.description": "829c8932", + "paths./proxy/minimax/files/retrieve.post.responses.400.description": "9f7eaca8", + "paths./proxy/minimax/files/retrieve.post.responses.401.description": "d089c8a9", + "paths./proxy/minimax/files/retrieve.post.responses.402.description": "a117c80b", + "paths./proxy/minimax/files/retrieve.post.responses.429.description": "a3d8ecdd", + "paths./proxy/minimax/files/retrieve.post.responses.500.description": "ee066afe", + "paths./proxy/minimax/files/retrieve.post.responses.502.description": "0a1ecf1e", + "paths./proxy/minimax/files/retrieve.post.responses.504.description": "45a94bcd", + "paths./proxy/minimax/files/retrieve.post.summary": "ba963a34", + "paths./proxy/minimax/query/video_generation.get.description": "4627658b", + "paths./proxy/minimax/query/video_generation.get.parameters[0].description": "d405b05a", + "paths./proxy/minimax/query/video_generation.get.responses.200.description": "abb958e6", + "paths./proxy/minimax/query/video_generation.get.responses.400.description": "9f7eaca8", + "paths./proxy/minimax/query/video_generation.get.responses.401.description": "d089c8a9", + "paths./proxy/minimax/query/video_generation.get.responses.402.description": "a117c80b", + "paths./proxy/minimax/query/video_generation.get.responses.429.description": "a3d8ecdd", + "paths./proxy/minimax/query/video_generation.get.responses.500.description": "ee066afe", + "paths./proxy/minimax/query/video_generation.get.responses.502.description": "0a1ecf1e", + "paths./proxy/minimax/query/video_generation.get.responses.504.description": "45a94bcd", + "paths./proxy/minimax/query/video_generation.get.summary": "c6534f27", + "paths./proxy/minimax/video_generation.post.description": "0624bc36", + "paths./proxy/minimax/video_generation.post.responses.200.description": "38982e91", + "paths./proxy/minimax/video_generation.post.responses.400.description": "9f7eaca8", + "paths./proxy/minimax/video_generation.post.responses.401.description": "d089c8a9", + "paths./proxy/minimax/video_generation.post.responses.402.description": "a117c80b", + "paths./proxy/minimax/video_generation.post.responses.429.description": "a3d8ecdd", + "paths./proxy/minimax/video_generation.post.responses.500.description": "ee066afe", + "paths./proxy/minimax/video_generation.post.responses.502.description": "0a1ecf1e", + "paths./proxy/minimax/video_generation.post.responses.504.description": "45a94bcd", + "paths./proxy/minimax/video_generation.post.summary": "7749af3b", + "paths./proxy/moonvalley/prompts/image-to-video.post.responses.201.description": "8ce11e7a", + "paths./proxy/moonvalley/prompts/image-to-video.post.summary": "5e6c2517", + "paths./proxy/moonvalley/prompts/text-to-image.post.responses.201.description": "8ce11e7a", + "paths./proxy/moonvalley/prompts/text-to-image.post.summary": "f2ec4321", + "paths./proxy/moonvalley/prompts/text-to-video.post.responses.201.description": "8ce11e7a", + "paths./proxy/moonvalley/prompts/text-to-video.post.summary": "aa1720c6", + "paths./proxy/moonvalley/prompts/video-to-video.post.responses.201.description": "8ce11e7a", + "paths./proxy/moonvalley/prompts/video-to-video.post.summary": "1e7c7acb", + "paths./proxy/moonvalley/prompts/video-to-video/resize.post.responses.201.description": "8ce11e7a", + "paths./proxy/moonvalley/prompts/video-to-video/resize.post.summary": "29850f5d", + "paths./proxy/moonvalley/prompts/{prompt_id}.get.responses.200.description": "a0780488", + "paths./proxy/moonvalley/prompts/{prompt_id}.get.summary": "5377c875", + "paths./proxy/moonvalley/uploads.post.responses.200.description": "2cd92465", + "paths./proxy/moonvalley/uploads.post.summary": "990578cf", + "paths./proxy/openai/images/edits.post.responses.200.description": "8015e228", + "paths./proxy/openai/images/edits.post.responses.400.description": "917ef22f", + "paths./proxy/openai/images/edits.post.responses.401.description": "d089c8a9", + "paths./proxy/openai/images/edits.post.responses.402.description": "a117c80b", + "paths./proxy/openai/images/edits.post.responses.500.description": "f74d7444", + "paths./proxy/openai/images/edits.post.summary": "c4ed8ce8", + "paths./proxy/openai/images/generations.post.responses.200.description": "7f6d431b", + "paths./proxy/openai/images/generations.post.responses.400.description": "917ef22f", + "paths./proxy/openai/images/generations.post.responses.401.description": "d089c8a9", + "paths./proxy/openai/images/generations.post.responses.402.description": "a117c80b", + "paths./proxy/openai/images/generations.post.responses.500.description": "f74d7444", + "paths./proxy/openai/images/generations.post.summary": "2b192a1e", + "paths./proxy/openai/v1/responses.post.responses.200.description": "565339bc", + "paths./proxy/openai/v1/responses/{id}.get.parameters[0].description": "c81a80ff", + "paths./proxy/openai/v1/responses/{id}.get.parameters[1].description": "4a3accaa", + "paths./proxy/openai/v1/responses/{id}.get.responses.200.description": "565339bc", + "paths./proxy/openai/v1/responses/{id}.get.summary": "3eee92e9", + "paths./proxy/openai/v1/videos.post.responses.200.description": "3389c1a2", + "paths./proxy/openai/v1/videos.post.responses.400.description": "917ef22f", + "paths./proxy/openai/v1/videos.post.responses.401.description": "d089c8a9", + "paths./proxy/openai/v1/videos.post.responses.402.description": "a117c80b", + "paths./proxy/openai/v1/videos.post.responses.500.description": "f74d7444", + "paths./proxy/openai/v1/videos.post.summary": "610578c2", + "paths./proxy/openai/v1/videos/{video_id}.get.parameters[0].description": "9242ad06", + "paths./proxy/openai/v1/videos/{video_id}.get.responses.200.description": "c4ea6adf", + "paths./proxy/openai/v1/videos/{video_id}.get.responses.400.description": "917ef22f", + "paths./proxy/openai/v1/videos/{video_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/openai/v1/videos/{video_id}.get.responses.404.description": "e861519b", + "paths./proxy/openai/v1/videos/{video_id}.get.responses.500.description": "f74d7444", + "paths./proxy/openai/v1/videos/{video_id}.get.summary": "f4be1828", + "paths./proxy/openai/v1/videos/{video_id}/content.get.parameters[0].description": "171b2f67", + "paths./proxy/openai/v1/videos/{video_id}/content.get.parameters[1].description": "c30d1fd5", + "paths./proxy/openai/v1/videos/{video_id}/content.get.responses.200.description": "4dd1cbc6", + "paths./proxy/openai/v1/videos/{video_id}/content.get.responses.400.description": "917ef22f", + "paths./proxy/openai/v1/videos/{video_id}/content.get.responses.401.description": "d089c8a9", + "paths./proxy/openai/v1/videos/{video_id}/content.get.responses.404.description": "e861519b", + "paths./proxy/openai/v1/videos/{video_id}/content.get.responses.500.description": "f74d7444", + "paths./proxy/openai/v1/videos/{video_id}/content.get.summary": "810ad783", + "paths./proxy/openrouter/api/v1/chat/completions.post.description": "efb060f1", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.200.description": "8bd7b8f6", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.400.description": "917ef22f", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.401.description": "d089c8a9", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.402.description": "7248dc26", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.429.description": "edfc871b", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.500.description": "f74d7444", + "paths./proxy/openrouter/api/v1/chat/completions.post.summary": "1c116908", + "paths./proxy/pika/generate/2.2/i2v.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/2.2/i2v.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/2.2/i2v.post.summary": "b62e82c9", + "paths./proxy/pika/generate/2.2/pikaframes.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/2.2/pikaframes.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/2.2/pikaframes.post.summary": "76d046c5", + "paths./proxy/pika/generate/2.2/pikascenes.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/2.2/pikascenes.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/2.2/pikascenes.post.summary": "ed656bb0", + "paths./proxy/pika/generate/2.2/t2v.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/2.2/t2v.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/2.2/t2v.post.summary": "3c32812f", + "paths./proxy/pika/generate/pikadditions.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/pikadditions.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/pikadditions.post.summary": "daf5c8d3", + "paths./proxy/pika/generate/pikaffects.post.description": "7f67a800", + "paths./proxy/pika/generate/pikaffects.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/pikaffects.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/pikaffects.post.summary": "6e97852b", + "paths./proxy/pika/generate/pikaswaps.post.description": "15b42812", + "paths./proxy/pika/generate/pikaswaps.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/pikaswaps.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/pikaswaps.post.summary": "00054f9c", + "paths./proxy/pika/videos/{video_id}.get.responses.200.description": "25123ce6", + "paths./proxy/pika/videos/{video_id}.get.responses.422.description": "142762b3", + "paths./proxy/pika/videos/{video_id}.get.summary": "d11c0f6f", + "paths./proxy/pixverse/image/upload.post.responses.200.description": "6c3ba36c", + "paths./proxy/pixverse/image/upload.post.responses.400.description": "9f7eaca8", + "paths./proxy/pixverse/image/upload.post.responses.401.description": "d089c8a9", + "paths./proxy/pixverse/image/upload.post.responses.402.description": "a117c80b", + "paths./proxy/pixverse/image/upload.post.responses.429.description": "95a111e3", + "paths./proxy/pixverse/image/upload.post.responses.500.description": "ee066afe", + "paths./proxy/pixverse/image/upload.post.summary": "91152fda", + "paths./proxy/pixverse/video/img/generate.post.responses.200.description": "c88a0b90", + "paths./proxy/pixverse/video/img/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/pixverse/video/img/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/pixverse/video/img/generate.post.responses.402.description": "a117c80b", + "paths./proxy/pixverse/video/img/generate.post.responses.429.description": "95a111e3", + "paths./proxy/pixverse/video/img/generate.post.responses.500.description": "ee066afe", + "paths./proxy/pixverse/video/img/generate.post.summary": "a7ea32bc", + "paths./proxy/pixverse/video/result/{id}.get.responses.200.description": "4178f684", + "paths./proxy/pixverse/video/result/{id}.get.summary": "824a25cb", + "paths./proxy/pixverse/video/text/generate.post.responses.200.description": "c88a0b90", + "paths./proxy/pixverse/video/text/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/pixverse/video/text/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/pixverse/video/text/generate.post.responses.402.description": "a117c80b", + "paths./proxy/pixverse/video/text/generate.post.responses.429.description": "95a111e3", + "paths./proxy/pixverse/video/text/generate.post.responses.500.description": "ee066afe", + "paths./proxy/pixverse/video/text/generate.post.summary": "6211da87", + "paths./proxy/pixverse/video/transition/generate.post.responses.200.description": "c88a0b90", + "paths./proxy/pixverse/video/transition/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/pixverse/video/transition/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/pixverse/video/transition/generate.post.responses.402.description": "a117c80b", + "paths./proxy/pixverse/video/transition/generate.post.responses.429.description": "95a111e3", + "paths./proxy/pixverse/video/transition/generate.post.responses.500.description": "ee066afe", + "paths./proxy/pixverse/video/transition/generate.post.summary": "077f2628", + "paths./proxy/quiver/v1/svgs/generations.post.description": "06f40dad", + "paths./proxy/quiver/v1/svgs/generations.post.responses.200.description": "45d1da63", + "paths./proxy/quiver/v1/svgs/generations.post.responses.400.description": "917ef22f", + "paths./proxy/quiver/v1/svgs/generations.post.responses.401.description": "d089c8a9", + "paths./proxy/quiver/v1/svgs/generations.post.responses.402.description": "7248dc26", + "paths./proxy/quiver/v1/svgs/generations.post.responses.429.description": "edfc871b", + "paths./proxy/quiver/v1/svgs/generations.post.responses.500.description": "f74d7444", + "paths./proxy/quiver/v1/svgs/generations.post.summary": "2bec578e", + "paths./proxy/quiver/v1/svgs/vectorizations.post.description": "b3f62a10", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.200.description": "5da364f5", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.400.description": "917ef22f", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.401.description": "d089c8a9", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.402.description": "7248dc26", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.429.description": "edfc871b", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.500.description": "f74d7444", + "paths./proxy/quiver/v1/svgs/vectorizations.post.summary": "e3d69581", + "paths./proxy/recraft/image_generation.post.description": "03ecc8f2", + "paths./proxy/recraft/image_generation.post.responses.200.description": "27e36b45", + "paths./proxy/recraft/image_generation.post.responses.400.description": "9f7eaca8", + "paths./proxy/recraft/image_generation.post.responses.401.description": "d089c8a9", + "paths./proxy/recraft/image_generation.post.responses.402.description": "a117c80b", + "paths./proxy/recraft/image_generation.post.responses.429.description": "95a111e3", + "paths./proxy/recraft/image_generation.post.responses.500.description": "ee066afe", + "paths./proxy/recraft/image_generation.post.responses.502.description": "54ad0adf", + "paths./proxy/recraft/image_generation.post.responses.504.description": "85156865", + "paths./proxy/recraft/image_generation.post.summary": "999597e2", + "paths./proxy/recraft/images/creativeUpscale.post.responses.200.description": "565339bc", + "paths./proxy/recraft/images/creativeUpscale.post.summary": "187af255", + "paths./proxy/recraft/images/crispUpscale.post.requestBody.content.multipart/form-data.schema.properties.file.description": "98a38389", + "paths./proxy/recraft/images/crispUpscale.post.responses.200.description": "f97a8651", + "paths./proxy/recraft/images/crispUpscale.post.responses.400.description": "62f8b967", + "paths./proxy/recraft/images/crispUpscale.post.responses.401.description": "41e101c9", + "paths./proxy/recraft/images/crispUpscale.post.summary": "c5809fb1", + "paths./proxy/recraft/images/imageToImage.post.responses.200.description": "565339bc", + "paths./proxy/recraft/images/imageToImage.post.summary": "5092afb8", + "paths./proxy/recraft/images/inpaint.post.responses.200.description": "565339bc", + "paths./proxy/recraft/images/inpaint.post.summary": "cec3a1df", + "paths./proxy/recraft/images/removeBackground.post.requestBody.content.multipart/form-data.schema.properties.file.description": "98a38389", + "paths./proxy/recraft/images/removeBackground.post.responses.200.content.application/json.schema.properties.image.properties.url.description": "5f5e6224", + "paths./proxy/recraft/images/removeBackground.post.responses.200.description": "f97a8651", + "paths./proxy/recraft/images/removeBackground.post.responses.400.description": "62f8b967", + "paths./proxy/recraft/images/removeBackground.post.responses.401.description": "41e101c9", + "paths./proxy/recraft/images/removeBackground.post.summary": "571a4d0e", + "paths./proxy/recraft/images/replaceBackground.post.responses.200.description": "565339bc", + "paths./proxy/recraft/images/replaceBackground.post.summary": "6098f769", + "paths./proxy/recraft/images/vectorize.post.requestBody.content.multipart/form-data.schema.properties.file.description": "98a38389", + "paths./proxy/recraft/images/vectorize.post.responses.200.description": "f97a8651", + "paths./proxy/recraft/images/vectorize.post.responses.400.description": "62f8b967", + "paths./proxy/recraft/images/vectorize.post.responses.401.description": "41e101c9", + "paths./proxy/recraft/images/vectorize.post.summary": "ba1c724e", + "paths./proxy/recraft/styles.post.description": "f6c5ddee", + "paths./proxy/recraft/styles.post.responses.200.description": "565339bc", + "paths./proxy/recraft/styles.post.summary": "5c02b638", + "paths./proxy/reve/v1/image/create.post.description": "c1717cbd", + "paths./proxy/reve/v1/image/create.post.responses.200.description": "645f32e9", + "paths./proxy/reve/v1/image/create.post.responses.400.description": "7c41b898", + "paths./proxy/reve/v1/image/create.post.responses.401.description": "d089c8a9", + "paths./proxy/reve/v1/image/create.post.responses.402.description": "a117c80b", + "paths./proxy/reve/v1/image/create.post.responses.429.description": "95a111e3", + "paths./proxy/reve/v1/image/create.post.responses.500.description": "e41656eb", + "paths./proxy/reve/v1/image/create.post.summary": "d5fee69e", + "paths./proxy/reve/v1/image/edit.post.description": "ee796760", + "paths./proxy/reve/v1/image/edit.post.responses.200.description": "645f32e9", + "paths./proxy/reve/v1/image/edit.post.responses.400.description": "7c41b898", + "paths./proxy/reve/v1/image/edit.post.responses.401.description": "d089c8a9", + "paths./proxy/reve/v1/image/edit.post.responses.402.description": "a117c80b", + "paths./proxy/reve/v1/image/edit.post.responses.429.description": "95a111e3", + "paths./proxy/reve/v1/image/edit.post.responses.500.description": "e41656eb", + "paths./proxy/reve/v1/image/edit.post.summary": "6b8353ce", + "paths./proxy/reve/v1/image/remix.post.description": "ee68bd2c", + "paths./proxy/reve/v1/image/remix.post.responses.200.description": "645f32e9", + "paths./proxy/reve/v1/image/remix.post.responses.400.description": "7c41b898", + "paths./proxy/reve/v1/image/remix.post.responses.401.description": "d089c8a9", + "paths./proxy/reve/v1/image/remix.post.responses.402.description": "a117c80b", + "paths./proxy/reve/v1/image/remix.post.responses.429.description": "95a111e3", + "paths./proxy/reve/v1/image/remix.post.responses.500.description": "e41656eb", + "paths./proxy/reve/v1/image/remix.post.summary": "cddde1cc", + "paths./proxy/rodin/api/v2/download.post.responses.200.description": "3999aec8", + "paths./proxy/rodin/api/v2/download.post.responses.400.description": "7c41b898", + "paths./proxy/rodin/api/v2/download.post.responses.401.description": "d089c8a9", + "paths./proxy/rodin/api/v2/download.post.responses.403.description": "78342a09", + "paths./proxy/rodin/api/v2/download.post.responses.404.description": "0019dfc4", + "paths./proxy/rodin/api/v2/download.post.responses.500.description": "e41656eb", + "paths./proxy/rodin/api/v2/download.post.summary": "095ff59e", + "paths./proxy/rodin/api/v2/rodin.post.responses.200.description": "0116fd55", + "paths./proxy/rodin/api/v2/rodin.post.responses.400.description": "7c41b898", + "paths./proxy/rodin/api/v2/rodin.post.responses.401.description": "d089c8a9", + "paths./proxy/rodin/api/v2/rodin.post.responses.403.description": "78342a09", + "paths./proxy/rodin/api/v2/rodin.post.responses.404.description": "0019dfc4", + "paths./proxy/rodin/api/v2/rodin.post.responses.500.description": "e41656eb", + "paths./proxy/rodin/api/v2/rodin.post.summary": "b2fc7293", + "paths./proxy/rodin/api/v2/status.post.responses.200.description": "27024051", + "paths./proxy/rodin/api/v2/status.post.responses.400.description": "7c41b898", + "paths./proxy/rodin/api/v2/status.post.responses.401.description": "d089c8a9", + "paths./proxy/rodin/api/v2/status.post.responses.403.description": "78342a09", + "paths./proxy/rodin/api/v2/status.post.responses.404.description": "0019dfc4", + "paths./proxy/rodin/api/v2/status.post.responses.500.description": "e41656eb", + "paths./proxy/rodin/api/v2/status.post.summary": "9e6ccafe", + "paths./proxy/runway/image_to_video.post.description": "673810c4", + "paths./proxy/runway/image_to_video.post.responses.200.description": "40c36e17", + "paths./proxy/runway/image_to_video.post.responses.400.description": "917ef22f", + "paths./proxy/runway/image_to_video.post.responses.401.description": "d089c8a9", + "paths./proxy/runway/image_to_video.post.responses.402.description": "a117c80b", + "paths./proxy/runway/image_to_video.post.responses.500.description": "f74d7444", + "paths./proxy/runway/image_to_video.post.summary": "2d4970b1", + "paths./proxy/runway/tasks/{task_id}.get.description": "3c1df576", + "paths./proxy/runway/tasks/{task_id}.get.parameters[0].description": "fbda5257", + "paths./proxy/runway/tasks/{task_id}.get.responses.200.description": "40c36e17", + "paths./proxy/runway/tasks/{task_id}.get.responses.400.description": "917ef22f", + "paths./proxy/runway/tasks/{task_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/runway/tasks/{task_id}.get.responses.402.description": "a117c80b", + "paths./proxy/runway/tasks/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/runway/tasks/{task_id}.get.responses.500.description": "f74d7444", + "paths./proxy/runway/tasks/{task_id}.get.summary": "fb4c354d", + "paths./proxy/runway/text_to_image.post.description": "d0865efe", + "paths./proxy/runway/text_to_image.post.responses.200.description": "40c36e17", + "paths./proxy/runway/text_to_image.post.responses.400.description": "917ef22f", + "paths./proxy/runway/text_to_image.post.responses.401.description": "d089c8a9", + "paths./proxy/runway/text_to_image.post.responses.402.description": "a117c80b", + "paths./proxy/runway/text_to_image.post.responses.500.description": "f74d7444", + "paths./proxy/runway/text_to_image.post.summary": "d8c5983e", + "paths./proxy/runway/video_to_video.post.description": "a0a979c4", + "paths./proxy/runway/video_to_video.post.responses.200.description": "40c36e17", + "paths./proxy/runway/video_to_video.post.responses.400.description": "917ef22f", + "paths./proxy/runway/video_to_video.post.responses.401.description": "d089c8a9", + "paths./proxy/runway/video_to_video.post.responses.402.description": "a117c80b", + "paths./proxy/runway/video_to_video.post.responses.500.description": "f74d7444", + "paths./proxy/runway/video_to_video.post.summary": "ca19c74e", + "paths./proxy/seedance/assets.get.description": "b049439b", + "paths./proxy/seedance/assets.get.parameters[0].description": "2f0314bb", + "paths./proxy/seedance/assets.get.parameters[1].description": "0a5e90eb", + "paths./proxy/seedance/assets.get.responses.200.description": "e5631ebc", + "paths./proxy/seedance/assets.get.responses.default.description": "8409f13c", + "paths./proxy/seedance/assets.get.summary": "ff3dc0f1", + "paths./proxy/seedance/assets.post.responses.201.description": "b4371a21", + "paths./proxy/seedance/assets.post.responses.default.description": "8409f13c", + "paths./proxy/seedance/assets/{asset_id}.get.parameters[0].description": "0e67095f", + "paths./proxy/seedance/assets/{asset_id}.get.responses.200.description": "f77dd9dc", + "paths./proxy/seedance/assets/{asset_id}.get.responses.default.description": "8409f13c", + "paths./proxy/seedance/virtual-library/assets.post.responses.201.description": "b4371a21", + "paths./proxy/seedance/virtual-library/assets.post.responses.default.description": "8409f13c", + "paths./proxy/seedance/visual-validate/groups.get.description": "9d094e0e", + "paths./proxy/seedance/visual-validate/groups.get.responses.200.description": "a8237a93", + "paths./proxy/seedance/visual-validate/groups.get.responses.default.description": "8409f13c", + "paths./proxy/seedance/visual-validate/groups.get.summary": "d8060470", + "paths./proxy/seedance/visual-validate/sessions.post.responses.201.description": "d9eee2c8", + "paths./proxy/seedance/visual-validate/sessions.post.responses.default.description": "8409f13c", + "paths./proxy/seedance/visual-validate/sessions/{session_id}.get.parameters[0].description": "b4bdc3e9", + "paths./proxy/seedance/visual-validate/sessions/{session_id}.get.responses.200.description": "8b90128f", + "paths./proxy/seedance/visual-validate/sessions/{session_id}.get.responses.default.description": "8409f13c", + "paths./proxy/sonilo/t2m/generate.post.description": "f83aff50", + "paths./proxy/sonilo/t2m/generate.post.responses.200.description": "1965c62d", + "paths./proxy/sonilo/t2m/generate.post.responses.400.description": "7c41b898", + "paths./proxy/sonilo/t2m/generate.post.responses.401.description": "068db6e7", + "paths./proxy/sonilo/t2m/generate.post.responses.402.description": "97da4d58", + "paths./proxy/sonilo/t2m/generate.post.responses.422.description": "ecc1b371", + "paths./proxy/sonilo/t2m/generate.post.responses.429.description": "0711f0be", + "paths./proxy/sonilo/t2m/generate.post.responses.502.description": "fafda5e3", + "paths./proxy/sonilo/t2m/generate.post.summary": "9ad5f20f", + "paths./proxy/sonilo/v2m/generate.post.description": "205222dc", + "paths./proxy/sonilo/v2m/generate.post.responses.200.description": "1965c62d", + "paths./proxy/sonilo/v2m/generate.post.responses.400.description": "7c41b898", + "paths./proxy/sonilo/v2m/generate.post.responses.401.description": "068db6e7", + "paths./proxy/sonilo/v2m/generate.post.responses.402.description": "97da4d58", + "paths./proxy/sonilo/v2m/generate.post.responses.422.description": "ecc1b371", + "paths./proxy/sonilo/v2m/generate.post.responses.429.description": "0711f0be", + "paths./proxy/sonilo/v2m/generate.post.responses.502.description": "fafda5e3", + "paths./proxy/sonilo/v2m/generate.post.summary": "95239527", + "paths./proxy/tencent/hunyuan/3d-part.post.description": "bb702811", + "paths./proxy/tencent/hunyuan/3d-part.post.responses.200.description": "8edcb694", + "paths./proxy/tencent/hunyuan/3d-part.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-part.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-part.post.responses.402.description": "a117c80b", + "paths./proxy/tencent/hunyuan/3d-part.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-part.post.summary": "209a1ed2", + "paths./proxy/tencent/hunyuan/3d-part/query.post.description": "d080a90b", + "paths./proxy/tencent/hunyuan/3d-part/query.post.responses.200.description": "582b91c5", + "paths./proxy/tencent/hunyuan/3d-part/query.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-part/query.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-part/query.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-part/query.post.summary": "54c17887", + "paths./proxy/tencent/hunyuan/3d-pro.post.description": "1964bc92", + "paths./proxy/tencent/hunyuan/3d-pro.post.responses.200.description": "8edcb694", + "paths./proxy/tencent/hunyuan/3d-pro.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-pro.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-pro.post.responses.402.description": "a117c80b", + "paths./proxy/tencent/hunyuan/3d-pro.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-pro.post.summary": "153ad499", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.description": "3bcc3781", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.responses.200.description": "582b91c5", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.summary": "114bfd7b", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.description": "0371fb60", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.responses.200.description": "8edcb694", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.responses.402.description": "a117c80b", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.summary": "3987286a", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.description": "559eeeb7", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.responses.200.description": "582b91c5", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.summary": "1aaa7644", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.description": "d084e935", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.responses.200.description": "8edcb694", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.responses.402.description": "a117c80b", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.summary": "e434d87f", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.description": "c12a07af", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.responses.200.description": "582b91c5", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.summary": "8c65d72a", + "paths./proxy/tencent/hunyuan/3d-uv.post.description": "8ef12ed5", + "paths./proxy/tencent/hunyuan/3d-uv.post.responses.200.description": "8edcb694", + "paths./proxy/tencent/hunyuan/3d-uv.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-uv.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-uv.post.responses.402.description": "a117c80b", + "paths./proxy/tencent/hunyuan/3d-uv.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-uv.post.summary": "5f33c0a3", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.description": "b8fcadf8", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.responses.200.description": "582b91c5", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.summary": "f7a9b0a1", + "paths./proxy/topaz/image/v1/download/{process_id}.get.parameters[0].description": "13f93401", + "paths./proxy/topaz/image/v1/download/{process_id}.get.responses.200.description": "f0838b5b", + "paths./proxy/topaz/image/v1/download/{process_id}.get.responses.default.description": "8409f13c", + "paths./proxy/topaz/image/v1/enhance-gen/async.post.responses.200.description": "30c9dfa3", + "paths./proxy/topaz/image/v1/enhance-gen/async.post.responses.default.description": "8409f13c", + "paths./proxy/topaz/image/v1/status/{process_id}.get.parameters[0].description": "13f93401", + "paths./proxy/topaz/image/v1/status/{process_id}.get.responses.200.description": "be1404b0", + "paths./proxy/topaz/image/v1/status/{process_id}.get.responses.default.description": "8409f13c", + "paths./proxy/topaz/video/.post.responses.200.description": "13b1332e", + "paths./proxy/topaz/video/.post.responses.default.description": "8409f13c", + "paths./proxy/topaz/video/{request_id}/accept.patch.parameters[0].description": "f963f77b", + "paths./proxy/topaz/video/{request_id}/accept.patch.responses.200.description": "4cd90302", + "paths./proxy/topaz/video/{request_id}/accept.patch.responses.default.description": "8409f13c", + "paths./proxy/topaz/video/{request_id}/complete-upload.patch.description": "4e83212b", + "paths./proxy/topaz/video/{request_id}/complete-upload.patch.parameters[0].description": "f963f77b", + "paths./proxy/topaz/video/{request_id}/complete-upload.patch.responses.202.description": "b63264af", + "paths./proxy/topaz/video/{request_id}/complete-upload.patch.responses.default.description": "8409f13c", + "paths./proxy/topaz/video/{request_id}/complete-upload.patch.summary": "e33d6cfb", + "paths./proxy/topaz/video/{request_id}/status.get.parameters[0].description": "f963f77b", + "paths./proxy/topaz/video/{request_id}/status.get.responses.200.description": "7d9d3e9a", + "paths./proxy/topaz/video/{request_id}/status.get.responses.default.description": "8409f13c", + "paths./proxy/tripo/v2/openapi/import.post.description": "3838102b", + "paths./proxy/tripo/v2/openapi/import.post.requestBody.content.application/json.schema.properties.format.description": "87dc40d2", + "paths./proxy/tripo/v2/openapi/import.post.requestBody.content.application/json.schema.properties.url.description": "59c448b7", + "paths./proxy/tripo/v2/openapi/import.post.responses.200.description": "64628cb3", + "paths./proxy/tripo/v2/openapi/import.post.responses.400.description": "51443a02", + "paths./proxy/tripo/v2/openapi/import.post.responses.401.description": "93821eb7", + "paths./proxy/tripo/v2/openapi/import.post.responses.403.description": "4ffc2105", + "paths./proxy/tripo/v2/openapi/import.post.responses.413.description": "ada8587c", + "paths./proxy/tripo/v2/openapi/import.post.responses.429.description": "266777a4", + "paths./proxy/tripo/v2/openapi/import.post.responses.500.description": "f74d7444", + "paths./proxy/tripo/v2/openapi/import.post.responses.502.description": "ec3813b3", + "paths./proxy/tripo/v2/openapi/import.post.responses.503.description": "461b88ea", + "paths./proxy/tripo/v2/openapi/import.post.responses.504.description": "1f208284", + "paths./proxy/tripo/v2/openapi/import.post.summary": "85d09df8", + "paths./proxy/tripo/v2/openapi/task.post.responses.200.description": "cea40f4f", + "paths./proxy/tripo/v2/openapi/task.post.responses.400.description": "51443a02", + "paths./proxy/tripo/v2/openapi/task.post.responses.401.description": "93821eb7", + "paths./proxy/tripo/v2/openapi/task.post.responses.403.description": "4ffc2105", + "paths./proxy/tripo/v2/openapi/task.post.responses.404.description": "739e3da4", + "paths./proxy/tripo/v2/openapi/task.post.responses.429.description": "266777a4", + "paths./proxy/tripo/v2/openapi/task.post.responses.500.description": "f74d7444", + "paths./proxy/tripo/v2/openapi/task.post.responses.503.description": "461b88ea", + "paths./proxy/tripo/v2/openapi/task.post.responses.504.description": "1f208284", + "paths./proxy/tripo/v2/openapi/task.post.summary": "4c901ae7", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.200.description": "cea40f4f", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.400.description": "51443a02", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.401.description": "93821eb7", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.403.description": "4ffc2105", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.404.description": "739e3da4", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.429.description": "266777a4", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.500.description": "f74d7444", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.503.description": "461b88ea", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.504.description": "1f208284", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.summary": "e12523e1", + "paths./proxy/tripo/v2/openapi/upload.post.responses.200.description": "cea40f4f", + "paths./proxy/tripo/v2/openapi/upload.post.responses.400.description": "51443a02", + "paths./proxy/tripo/v2/openapi/upload.post.responses.401.description": "93821eb7", + "paths./proxy/tripo/v2/openapi/upload.post.responses.403.description": "4ffc2105", + "paths./proxy/tripo/v2/openapi/upload.post.responses.404.description": "739e3da4", + "paths./proxy/tripo/v2/openapi/upload.post.responses.429.description": "266777a4", + "paths./proxy/tripo/v2/openapi/upload.post.responses.500.description": "f74d7444", + "paths./proxy/tripo/v2/openapi/upload.post.responses.503.description": "461b88ea", + "paths./proxy/tripo/v2/openapi/upload.post.responses.504.description": "1f208284", + "paths./proxy/tripo/v2/openapi/upload.post.summary": "f7727c20", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.200.description": "cea40f4f", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.400.description": "51443a02", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.401.description": "93821eb7", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.403.description": "4ffc2105", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.404.description": "739e3da4", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.429.description": "266777a4", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.500.description": "f74d7444", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.503.description": "461b88ea", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.504.description": "1f208284", + "paths./proxy/tripo/v2/openapi/user/balance.get.summary": "6b09d03d", + "paths./proxy/veo/generate.post.responses.200.description": "dee1245c", + "paths./proxy/veo/generate.post.responses.400.description": "917ef22f", + "paths./proxy/veo/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/veo/generate.post.responses.403.description": "78342a09", + "paths./proxy/veo/generate.post.responses.500.description": "f74d7444", + "paths./proxy/veo/generate.post.summary": "9af18243", + "paths./proxy/veo/poll.post.responses.200.description": "7e41c698", + "paths./proxy/veo/poll.post.responses.400.description": "917ef22f", + "paths./proxy/veo/poll.post.responses.401.description": "d089c8a9", + "paths./proxy/veo/poll.post.responses.404.description": "3f88a5a0", + "paths./proxy/veo/poll.post.responses.500.description": "1dac8dea", + "paths./proxy/veo/poll.post.summary": "6055ef82", + "paths./proxy/veo/{modelId}/generate.post.parameters[0].description": "afb4b9e5", + "paths./proxy/veo/{modelId}/generate.post.responses.200.description": "dee1245c", + "paths./proxy/veo/{modelId}/generate.post.responses.400.description": "917ef22f", + "paths./proxy/veo/{modelId}/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/veo/{modelId}/generate.post.responses.403.description": "78342a09", + "paths./proxy/veo/{modelId}/generate.post.responses.500.description": "f74d7444", + "paths./proxy/veo/{modelId}/generate.post.summary": "6acf95a2", + "paths./proxy/veo/{modelId}/poll.post.parameters[0].description": "a590ba10", + "paths./proxy/veo/{modelId}/poll.post.responses.200.description": "7e41c698", + "paths./proxy/veo/{modelId}/poll.post.responses.400.description": "917ef22f", + "paths./proxy/veo/{modelId}/poll.post.responses.401.description": "d089c8a9", + "paths./proxy/veo/{modelId}/poll.post.responses.404.description": "3f88a5a0", + "paths./proxy/veo/{modelId}/poll.post.responses.500.description": "1dac8dea", + "paths./proxy/veo/{modelId}/poll.post.summary": "3f5973fa", + "paths./proxy/vertexai/gemini/{model}.post.parameters[0].description": "586e9303", + "paths./proxy/vertexai/gemini/{model}.post.responses.200.description": "515d9b5f", + "paths./proxy/vertexai/gemini/{model}.post.responses.400.description": "7c41b898", + "paths./proxy/vertexai/gemini/{model}.post.responses.401.description": "d089c8a9", + "paths./proxy/vertexai/gemini/{model}.post.responses.403.description": "78342a09", + "paths./proxy/vertexai/gemini/{model}.post.responses.404.description": "0019dfc4", + "paths./proxy/vertexai/gemini/{model}.post.responses.500.description": "e41656eb", + "paths./proxy/vertexai/gemini/{model}.post.summary": "abf33cc6", + "paths./proxy/vertexai/imagen/{model}.parameters[0].description": "d5a70290", + "paths./proxy/vertexai/imagen/{model}.post.responses.200.description": "f192b5ee", + "paths./proxy/vertexai/imagen/{model}.post.responses.4XX.description": "bc19cec2", + "paths./proxy/vertexai/imagen/{model}.post.responses.5XX.description": "dfe0c2e8", + "paths./proxy/vertexai/imagen/{model}.post.summary": "cd30b88b", + "paths./proxy/vidu/extend.post.responses.200.description": "565339bc", + "paths./proxy/vidu/extend.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/extend.post.responses.default.description": "8409f13c", + "paths./proxy/vidu/img2video.post.responses.200.description": "565339bc", + "paths./proxy/vidu/img2video.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/img2video.post.responses.default.description": "8409f13c", + "paths./proxy/vidu/multiframe.post.responses.200.description": "565339bc", + "paths./proxy/vidu/multiframe.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/multiframe.post.responses.default.description": "8409f13c", + "paths./proxy/vidu/reference2video.post.responses.200.description": "565339bc", + "paths./proxy/vidu/reference2video.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/reference2video.post.responses.default.description": "8409f13c", + "paths./proxy/vidu/start-end2video.post.responses.200.description": "565339bc", + "paths./proxy/vidu/start-end2video.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/start-end2video.post.responses.default.description": "8409f13c", + "paths./proxy/vidu/tasks/{id}/creations.get.responses.200.description": "565339bc", + "paths./proxy/vidu/tasks/{id}/creations.get.responses.400.description": "8409f13c", + "paths./proxy/vidu/tasks/{id}/creations.get.responses.default.description": "8409f13c", + "paths./proxy/vidu/text2video.post.responses.200.description": "565339bc", + "paths./proxy/vidu/text2video.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/text2video.post.responses.default.description": "8409f13c", + "paths./proxy/wan/api/v1/services/aigc/image2image/image-synthesis.post.responses.200.description": "54f0e9cc", + "paths./proxy/wan/api/v1/services/aigc/image2image/image-synthesis.post.responses.default.description": "8409f13c", + "paths./proxy/wan/api/v1/services/aigc/text2image/image-synthesis.post.responses.200.description": "9625b5ed", + "paths./proxy/wan/api/v1/services/aigc/text2image/image-synthesis.post.responses.default.description": "8409f13c", + "paths./proxy/wan/api/v1/services/aigc/video-generation/video-synthesis.post.responses.200.description": "dbfebbe0", + "paths./proxy/wan/api/v1/services/aigc/video-generation/video-synthesis.post.responses.default.description": "8409f13c", + "paths./proxy/wan/api/v1/tasks/{task_id}.get.parameters[0].description": "fd7b5d77", + "paths./proxy/wan/api/v1/tasks/{task_id}.get.responses.200.description": "047d6c18", + "paths./proxy/wan/api/v1/tasks/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.description": "d7bca488", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.parameters[0].description": "d94ca2ca", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.responses.200.description": "f5e1abbd", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.responses.401.description": "d089c8a9", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.responses.402.description": "a117c80b", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.responses.404.description": "b19fa293", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.responses.500.description": "e41656eb", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.summary": "cedc78a0", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.description": "7343b2c9", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.responses.200.description": "8edcb694", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.responses.400.description": "7c41b898", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.responses.401.description": "d089c8a9", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.responses.402.description": "a117c80b", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.responses.500.description": "e41656eb", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.summary": "5f2feac6", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.description": "4e43c396", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.responses.200.description": "8edcb694", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.responses.400.description": "7c41b898", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.responses.401.description": "d089c8a9", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.responses.402.description": "a117c80b", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.responses.500.description": "e41656eb", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.summary": "7e17a689", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.description": "060c79fd", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.responses.200.description": "8edcb694", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.responses.400.description": "7c41b898", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.responses.401.description": "d089c8a9", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.responses.402.description": "a117c80b", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.responses.500.description": "e41656eb", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.summary": "483a37e2", + "paths./proxy/xai/v1/images/edits.post.description": "59791ab2", + "paths./proxy/xai/v1/images/edits.post.responses.200.description": "8015e228", + "paths./proxy/xai/v1/images/edits.post.responses.400.description": "917ef22f", + "paths./proxy/xai/v1/images/edits.post.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/images/edits.post.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/images/edits.post.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/images/edits.post.summary": "02d84c09", + "paths./proxy/xai/v1/images/generations.post.description": "79cd9503", + "paths./proxy/xai/v1/images/generations.post.responses.200.description": "9d3c2d5e", + "paths./proxy/xai/v1/images/generations.post.responses.400.description": "917ef22f", + "paths./proxy/xai/v1/images/generations.post.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/images/generations.post.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/images/generations.post.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/images/generations.post.summary": "bc48f4ec", + "paths./proxy/xai/v1/videos/edits.post.description": "18969ba2", + "paths./proxy/xai/v1/videos/edits.post.responses.200.description": "ab0ff3a6", + "paths./proxy/xai/v1/videos/edits.post.responses.400.description": "917ef22f", + "paths./proxy/xai/v1/videos/edits.post.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/videos/edits.post.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/videos/edits.post.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/videos/edits.post.summary": "65a921b5", + "paths./proxy/xai/v1/videos/extensions.post.description": "c327279c", + "paths./proxy/xai/v1/videos/extensions.post.responses.200.description": "9e151d0e", + "paths./proxy/xai/v1/videos/extensions.post.responses.400.description": "917ef22f", + "paths./proxy/xai/v1/videos/extensions.post.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/videos/extensions.post.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/videos/extensions.post.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/videos/extensions.post.summary": "d1540c9d", + "paths./proxy/xai/v1/videos/generations.post.description": "38349c93", + "paths./proxy/xai/v1/videos/generations.post.responses.200.description": "3389c1a2", + "paths./proxy/xai/v1/videos/generations.post.responses.400.description": "917ef22f", + "paths./proxy/xai/v1/videos/generations.post.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/videos/generations.post.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/videos/generations.post.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/videos/generations.post.summary": "55d69e67", + "paths./proxy/xai/v1/videos/{request_id}.get.description": "08deaa6a", + "paths./proxy/xai/v1/videos/{request_id}.get.parameters[0].description": "e79e7873", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.200.description": "74c07da7", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.202.description": "5e4c4ba0", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.404.description": "9a0d564f", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/videos/{request_id}.get.summary": "97cfedc8", + "paths./publishers.get.responses.200.description": "92c8ac11", + "paths./publishers.get.responses.400.description": "dba61b63", + "paths./publishers.get.responses.500.description": "f74d7444", + "paths./publishers.get.summary": "cbb17385", + "paths./publishers.post.responses.201.description": "16c98905", + "paths./publishers.post.responses.400.description": "dba61b63", + "paths./publishers.post.responses.401.description": "d089c8a9", + "paths./publishers.post.responses.403.description": "78342a09", + "paths./publishers.post.responses.500.description": "f74d7444", + "paths./publishers.post.summary": "7c7459d7", + "paths./publishers/validate.get.description": "cf5aad52", + "paths./publishers/validate.get.parameters[0].description": "78cd7279", + "paths./publishers/validate.get.responses.200.content.application/json.schema.properties.isAvailable.description": "309380c7", + "paths./publishers/validate.get.responses.200.description": "640549fb", + "paths./publishers/validate.get.responses.400.description": "a9dfb554", + "paths./publishers/validate.get.responses.500.description": "f74d7444", + "paths./publishers/validate.get.summary": "d3ca8f05", + "paths./publishers/{publisherId}.delete.responses.204.description": "02837f17", + "paths./publishers/{publisherId}.delete.responses.404.description": "0740d653", + "paths./publishers/{publisherId}.delete.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}.delete.summary": "0d83f1bf", + "paths./publishers/{publisherId}.get.responses.200.description": "42694dd0", + "paths./publishers/{publisherId}.get.responses.404.description": "0740d653", + "paths./publishers/{publisherId}.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}.get.summary": "0cc04d7e", + "paths./publishers/{publisherId}.put.responses.200.description": "13ec6c24", + "paths./publishers/{publisherId}.put.responses.400.description": "dba61b63", + "paths./publishers/{publisherId}.put.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}.put.responses.404.description": "0740d653", + "paths./publishers/{publisherId}.put.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}.put.summary": "3644cd04", + "paths./publishers/{publisherId}/ban.post.responses.204.description": "370ecd5b", + "paths./publishers/{publisherId}/ban.post.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/ban.post.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/ban.post.responses.404.description": "0740d653", + "paths./publishers/{publisherId}/ban.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/ban.post.summary": "fa5408b8", + "paths./publishers/{publisherId}/nodes.get.parameters[1].description": "53a39ce1", + "paths./publishers/{publisherId}/nodes.get.responses.200.description": "5ff08fd0", + "paths./publishers/{publisherId}/nodes.get.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/nodes.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes.get.summary": "8bdb5301", + "paths./publishers/{publisherId}/nodes.post.responses.201.description": "aaaa9f70", + "paths./publishers/{publisherId}/nodes.post.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/nodes.post.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/nodes.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes.post.summary": "32db20d9", + "paths./publishers/{publisherId}/nodes/v2.get.parameters[1].description": "53a39ce1", + "paths./publishers/{publisherId}/nodes/v2.get.parameters[2].description": "c4e7217e", + "paths./publishers/{publisherId}/nodes/v2.get.parameters[3].description": "53a39ce1", + "paths./publishers/{publisherId}/nodes/v2.get.responses.200.content.application/json.schema.properties.limit.description": "fcc7d3ca", + "paths./publishers/{publisherId}/nodes/v2.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./publishers/{publisherId}/nodes/v2.get.responses.200.content.application/json.schema.properties.total.description": "162e699d", + "paths./publishers/{publisherId}/nodes/v2.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./publishers/{publisherId}/nodes/v2.get.responses.200.description": "5ff08fd0", + "paths./publishers/{publisherId}/nodes/v2.get.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/nodes/v2.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/v2.get.summary": "8bdb5301", + "paths./publishers/{publisherId}/nodes/{nodeId}.delete.responses.204.description": "39592c31", + "paths./publishers/{publisherId}/nodes/{nodeId}.delete.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/nodes/{nodeId}.delete.responses.404.description": "aa0a65c4", + "paths./publishers/{publisherId}/nodes/{nodeId}.delete.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}.delete.summary": "2bc562ee", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.200.description": "eb81f62a", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.400.description": "dba61b63", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.404.description": "aa0a65c4", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.summary": "b4d0f8c2", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.responses.204.description": "79d047c9", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.responses.404.description": "3093d590", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.summary": "ff7cfa17", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.description": "86917fc1", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.204.description": "6fe8773e", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.400.description": "dba61b63", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.403.description": "7fc9087a", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.429.description": "2eb6f985", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.503.description": "3c612faf", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.summary": "e0526ff8", + "paths./publishers/{publisherId}/nodes/{nodeId}/permissions.get.responses.200.description": "eb1f0160", + "paths./publishers/{publisherId}/nodes/{nodeId}/permissions.get.responses.400.description": "dba61b63", + "paths./publishers/{publisherId}/nodes/{nodeId}/permissions.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}/permissions.get.summary": "3b639104", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.responses.201.content.application/json.schema.properties.signedUrl.description": "c4a7b0b5", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.responses.201.description": "2df9fda5", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.summary": "900d25f4", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.delete.responses.204.description": "dd1290c7", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.delete.responses.403.description": "13e5a8c8", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.delete.responses.404.description": "a8f65ec3", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.delete.responses.500.description": "a8f65ec3", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.delete.summary": "5dbbce05", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.description": "4253d9fe", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.200.description": "00fe4ff4", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.404.description": "a8f65ec3", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.summary": "09c2b0bc", + "paths./publishers/{publisherId}/permissions.get.responses.200.description": "eb1f0160", + "paths./publishers/{publisherId}/permissions.get.responses.400.description": "dba61b63", + "paths./publishers/{publisherId}/permissions.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/permissions.get.summary": "3b639104", + "paths./publishers/{publisherId}/tokens.get.responses.200.description": "f787f537", + "paths./publishers/{publisherId}/tokens.get.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/tokens.get.responses.404.description": "6cd980a3", + "paths./publishers/{publisherId}/tokens.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/tokens.get.summary": "3411df77", + "paths./publishers/{publisherId}/tokens.post.responses.201.content.application/json.schema.properties.token.description": "be34f017", + "paths./publishers/{publisherId}/tokens.post.responses.201.description": "8a862b19", + "paths./publishers/{publisherId}/tokens.post.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/tokens.post.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/tokens.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/tokens.post.summary": "8e826869", + "paths./publishers/{publisherId}/tokens/{tokenId}.delete.responses.204.description": "b6f640d3", + "paths./publishers/{publisherId}/tokens/{tokenId}.delete.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/tokens/{tokenId}.delete.responses.404.description": "4441b4b4", + "paths./publishers/{publisherId}/tokens/{tokenId}.delete.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/tokens/{tokenId}.delete.summary": "1624a59d", + "paths./releases.get.description": "e4fdf90d", + "paths./releases.get.parameters[0].description": "dd278d62", + "paths./releases.get.parameters[1].description": "e4d775ea", + "paths./releases.get.parameters[2].description": "a8c58a4f", + "paths./releases.get.parameters[3].description": "bb2e76a5", + "paths./releases.get.responses.200.description": "a4dd7cb8", + "paths./releases.get.responses.400.description": "917ef22f", + "paths./releases.get.responses.500.description": "f74d7444", + "paths./releases.get.summary": "14ada97f", + "paths./releases.post.description": "a842ef47", + "paths./releases.post.parameters[0].description": "909174b6", + "paths./releases.post.parameters[1].description": "d27e14a5", + "paths./releases.post.parameters[2].description": "c92d1bb8", + "paths./releases.post.parameters[3].description": "c94ce32a", + "paths./releases.post.parameters[4].description": "c8a554f1", + "paths./releases.post.parameters[5].description": "c0dc262a", + "paths./releases.post.responses.200.description": "95fdc4a3", + "paths./releases.post.responses.400.description": "917ef22f", + "paths./releases.post.responses.422.description": "e776259f", + "paths./releases.post.responses.500.description": "f74d7444", + "paths./releases.post.summary": "48f8f918", + "paths./security-scan.get.description": "c629b4bf", + "paths./security-scan.get.responses.200.description": "650ff67b", + "paths./security-scan.get.responses.400.description": "6f1bff5c", + "paths./security-scan.get.responses.401.description": "d089c8a9", + "paths./security-scan.get.responses.403.description": "78342a09", + "paths./security-scan.get.responses.500.description": "f74d7444", + "paths./security-scan.get.summary": "b34e683f", + "paths./seedance/complete.get.description": "33e9f874", + "paths./seedance/complete.get.responses.200.description": "73c25803", + "paths./seedance/complete.get.summary": "6d558167", + "paths./upload-artifact.post.description": "576e4b72", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.author.description": "ca8d53a3", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.avg_vram.description": "2ebb156c", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.bucket_name.description": "4f3266dc", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.comfy_logs_gcs_path.description": "1fb83c3b", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.comfy_run_flags.description": "d7ab2c4d", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.commit_message.description": "a9b3aa3b", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.commit_time.description": "e258160b", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.cuda_version.description": "33847c50", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.end_time.description": "3c8b1181", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.job_id.description": "1a700aa1", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.job_trigger_user.description": "23f77367", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.os.description": "cbb04682", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.output_files_gcs_paths.description": "782da257", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.peak_vram.description": "0e440b9d", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.pr_number.description": "4a1cf9cc", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.python_version.description": "47f1f629", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.pytorch_version.description": "177e7017", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.repo.description": "a2b1b3f2", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.run_id.description": "b2b34376", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.start_time.description": "df9e2884", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.workflow_name.description": "53cac216", + "paths./upload-artifact.post.responses.200.description": "02a61c62", + "paths./upload-artifact.post.responses.400.description": "330509ca", + "paths./upload-artifact.post.responses.500.description": "f74d7444", + "paths./upload-artifact.post.summary": "576e4b72", + "paths./users.get.responses.200.description": "565339bc", + "paths./users.get.responses.401.description": "d089c8a9", + "paths./users.get.responses.404.description": "0019dfc4", + "paths./users.get.summary": "d22fc11c", + "paths./users/publishers/.get.responses.200.description": "92c8ac11", + "paths./users/publishers/.get.responses.400.description": "dba61b63", + "paths./users/publishers/.get.responses.500.description": "f74d7444", + "paths./users/publishers/.get.summary": "4149b709", + "paths./versions.get.parameters[3].description": "6ec2b657", + "paths./versions.get.parameters[4].description": "ed00c158", + "paths./versions.get.parameters[5].description": "72d501b9", + "paths./versions.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./versions.get.responses.200.content.application/json.schema.properties.pageSize.description": "eef6d527", + "paths./versions.get.responses.200.content.application/json.schema.properties.total.description": "3f0069e4", + "paths./versions.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./versions.get.responses.200.description": "ef524454", + "paths./versions.get.responses.400.description": "46a3caa3", + "paths./versions.get.responses.403.description": "5f496730", + "paths./versions.get.responses.500.description": "f74d7444", + "paths./versions.get.summary": "e44646cd", + "paths./webhook/metronome/zero-balance.post.requestBody.content.application/json.schema.properties.id.description": "71afb603", + "paths./webhook/metronome/zero-balance.post.requestBody.content.application/json.schema.properties.properties.properties.customer_id.description": "b39746e6", + "paths./webhook/metronome/zero-balance.post.requestBody.content.application/json.schema.properties.properties.properties.remaining_balance.description": "a3c74503", + "paths./webhook/metronome/zero-balance.post.requestBody.content.application/json.schema.properties.type.description": "f064ab97", + "paths./webhook/metronome/zero-balance.post.responses.200.description": "8834908a", + "paths./webhook/metronome/zero-balance.post.responses.400.description": "7c41b898", + "paths./webhook/metronome/zero-balance.post.responses.401.description": "d089c8a9", + "paths./webhook/metronome/zero-balance.post.responses.500.description": "ee066afe", + "paths./webhook/metronome/zero-balance.post.summary": "6c390474", + "paths./webhook/stripe/invoice-status.post.responses.200.description": "95fdc4a3", + "paths./webhook/stripe/invoice-status.post.responses.400.description": "7c41b898", + "paths./webhook/stripe/invoice-status.post.responses.401.description": "d089c8a9", + "paths./webhook/stripe/invoice-status.post.responses.500.description": "ee066afe", + "paths./webhook/stripe/invoice-status.post.summary": "4b2a25cc", + "paths./webhook/stripe/subscription.post.requestBody.content.application/json.schema.description": "e4f2fe17", + "paths./webhook/stripe/subscription.post.responses.200.description": "95fdc4a3", + "paths./webhook/stripe/subscription.post.responses.400.description": "7c41b898", + "paths./webhook/stripe/subscription.post.responses.401.description": "d089c8a9", + "paths./webhook/stripe/subscription.post.responses.500.description": "ee066afe", + "paths./webhook/stripe/subscription.post.summary": "9fb29d41", + "paths./workflowresult/{workflowResultId}.get.responses.200.description": "6e5e5410", + "paths./workflowresult/{workflowResultId}.get.responses.404.description": "54ff4f53", + "paths./workflowresult/{workflowResultId}.get.responses.500.description": "f74d7444", + "paths./workflowresult/{workflowResultId}.get.summary": "19ff5513" + } +} diff --git a/openapi/.i18n/registry.zh.json b/openapi/.i18n/registry.zh.json new file mode 100644 index 000000000..303170f64 --- /dev/null +++ b/openapi/.i18n/registry.zh.json @@ -0,0 +1,5462 @@ +{ + "translationSourceHash": "f7e0ff5a", + "translationFrom": "openapi/registry.en.yaml", + "blockHashes": { + "components.parameters.PixverseAiTraceId.description": "d0e75bc6", + "components.schemas.APIKeyWithPlaintext.allOf[1].properties.plaintext_key.description": "6ddb56d5", + "components.schemas.ActionJobResult.properties.action_job_id.description": "daef6d2e", + "components.schemas.ActionJobResult.properties.action_run_id.description": "e793b185", + "components.schemas.ActionJobResult.properties.author.description": "ca8d53a3", + "components.schemas.ActionJobResult.properties.avg_vram.description": "e3020151", + "components.schemas.ActionJobResult.properties.branch_name.description": "8a98b89f", + "components.schemas.ActionJobResult.properties.comfy_run_flags.description": "749d26e1", + "components.schemas.ActionJobResult.properties.commit_hash.description": "5d73c6d8", + "components.schemas.ActionJobResult.properties.commit_id.description": "3908dd37", + "components.schemas.ActionJobResult.properties.commit_message.description": "4db956a2", + "components.schemas.ActionJobResult.properties.commit_time.description": "9a8b6a6c", + "components.schemas.ActionJobResult.properties.cuda_version.description": "fd9fdd17", + "components.schemas.ActionJobResult.properties.end_time.description": "3c8b1181", + "components.schemas.ActionJobResult.properties.git_repo.description": "921f3564", + "components.schemas.ActionJobResult.properties.id.description": "f7170612", + "components.schemas.ActionJobResult.properties.job_trigger_user.description": "ae3f4f9b", + "components.schemas.ActionJobResult.properties.operating_system.description": "0c210883", + "components.schemas.ActionJobResult.properties.peak_vram.description": "97291f7c", + "components.schemas.ActionJobResult.properties.pr_number.description": "4a1cf9cc", + "components.schemas.ActionJobResult.properties.python_version.description": "baae61e6", + "components.schemas.ActionJobResult.properties.pytorch_version.description": "baae61e6", + "components.schemas.ActionJobResult.properties.start_time.description": "df9e2884", + "components.schemas.ActionJobResult.properties.workflow_name.description": "c3ec1b65", + "components.schemas.AnthropicCacheCreationUsage.description": "19775c6a", + "components.schemas.AnthropicCreateMessageRequest.description": "fdb8999b", + "components.schemas.AnthropicCreateMessageRequest.properties.max_tokens.description": "ff6bb043", + "components.schemas.AnthropicCreateMessageRequest.properties.messages.description": "434935e9", + "components.schemas.AnthropicCreateMessageRequest.properties.model.description": "d23996fe", + "components.schemas.AnthropicCreateMessageRequest.properties.stream.description": "35425c62", + "components.schemas.AnthropicCreateMessageRequest.properties.system.description": "71314cd6", + "components.schemas.AnthropicCreateMessageResponse.description": "bbbc4c19", + "components.schemas.AnthropicMessageParam.description": "5d21dee7", + "components.schemas.AnthropicMessageParam.properties.content.description": "1fc73a17", + "components.schemas.AnthropicMessagesUsage.description": "26a61cdf", + "components.schemas.AuditLog.properties.createdAt.description": "2e240dfe", + "components.schemas.AuditLog.properties.event_id.description": "16361c3c", + "components.schemas.AuditLog.properties.event_type.description": "710c7cce", + "components.schemas.AuditLog.properties.params.description": "9ee7be5d", + "components.schemas.BFLCannyInputs.properties.canny_high_threshold.description": "7b3cc51e", + "components.schemas.BFLCannyInputs.properties.canny_low_threshold.description": "0e343825", + "components.schemas.BFLCannyInputs.properties.control_image.description": "551169bc", + "components.schemas.BFLCannyInputs.properties.guidance.description": "25be3f6c", + "components.schemas.BFLCannyInputs.properties.output_format.description": "024c37ce", + "components.schemas.BFLCannyInputs.properties.preprocessed_image.description": "d0c836b6", + "components.schemas.BFLCannyInputs.properties.prompt.description": "80e0d34a", + "components.schemas.BFLCannyInputs.properties.prompt_upsampling.description": "45115ff8", + "components.schemas.BFLCannyInputs.properties.safety_tolerance.description": "30884eb3", + "components.schemas.BFLCannyInputs.properties.seed.description": "5efb4870", + "components.schemas.BFLCannyInputs.properties.steps.description": "db9e6222", + "components.schemas.BFLCannyInputs.properties.webhook_secret.description": "6666be04", + "components.schemas.BFLCannyInputs.properties.webhook_url.description": "a421e9a7", + "components.schemas.BFLDepthInputs.properties.control_image.description": "e83048ef", + "components.schemas.BFLDepthInputs.properties.guidance.description": "25be3f6c", + "components.schemas.BFLDepthInputs.properties.output_format.description": "024c37ce", + "components.schemas.BFLDepthInputs.properties.preprocessed_image.description": "d0c836b6", + "components.schemas.BFLDepthInputs.properties.prompt.description": "80e0d34a", + "components.schemas.BFLDepthInputs.properties.prompt_upsampling.description": "45115ff8", + "components.schemas.BFLDepthInputs.properties.safety_tolerance.description": "30884eb3", + "components.schemas.BFLDepthInputs.properties.seed.description": "5efb4870", + "components.schemas.BFLDepthInputs.properties.steps.description": "db9e6222", + "components.schemas.BFLDepthInputs.properties.webhook_secret.description": "6666be04", + "components.schemas.BFLDepthInputs.properties.webhook_url.description": "a421e9a7", + "components.schemas.BFLEraseV1Request.description": "b86118a5", + "components.schemas.BFLEraseV1Request.properties.dilate_pixels.description": "bb705848", + "components.schemas.BFLEraseV1Request.properties.image.description": "beed3eb4", + "components.schemas.BFLEraseV1Request.properties.mask.description": "1db35db3", + "components.schemas.BFLEraseV1Request.properties.safety_tolerance.description": "9759db77", + "components.schemas.BFLEraseV1Request.properties.seed.description": "00512dbf", + "components.schemas.BFLEraseV1Request.properties.webhook_secret.description": "7535eb93", + "components.schemas.BFLEraseV1Request.properties.webhook_url.description": "ab936c6b", + "components.schemas.BFLFlux2ProGenerateRequest.description": "7a3d4121", + "components.schemas.BFLFlux2ProGenerateRequest.properties.height.description": "c7eee913", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_2.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_3.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_4.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_5.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_6.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_7.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_8.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.input_image_9.description": "7e0dbc6c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.output_format.description": "8e5447a3", + "components.schemas.BFLFlux2ProGenerateRequest.properties.prompt.description": "cc7ceb3a", + "components.schemas.BFLFlux2ProGenerateRequest.properties.prompt_upsampling.description": "c8855729", + "components.schemas.BFLFlux2ProGenerateRequest.properties.safety_tolerance.description": "7afeee5f", + "components.schemas.BFLFlux2ProGenerateRequest.properties.seed.description": "83baff8c", + "components.schemas.BFLFlux2ProGenerateRequest.properties.width.description": "d193c292", + "components.schemas.BFLFluxKontextMaxGenerateRequest.properties.guidance.description": "878d4a1e", + "components.schemas.BFLFluxKontextMaxGenerateRequest.properties.input_image.description": "08095ed0", + "components.schemas.BFLFluxKontextMaxGenerateRequest.properties.prompt.description": "02a16457", + "components.schemas.BFLFluxKontextMaxGenerateRequest.properties.steps.description": "9738299f", + "components.schemas.BFLFluxKontextMaxGenerateResponse.properties.id.description": "663380ea", + "components.schemas.BFLFluxKontextMaxGenerateResponse.properties.polling_url.description": "f719be1b", + "components.schemas.BFLFluxKontextProGenerateRequest.properties.guidance.description": "878d4a1e", + "components.schemas.BFLFluxKontextProGenerateRequest.properties.input_image.description": "08095ed0", + "components.schemas.BFLFluxKontextProGenerateRequest.properties.prompt.description": "02a16457", + "components.schemas.BFLFluxKontextProGenerateRequest.properties.steps.description": "9738299f", + "components.schemas.BFLFluxKontextProGenerateResponse.properties.id.description": "663380ea", + "components.schemas.BFLFluxKontextProGenerateResponse.properties.polling_url.description": "f719be1b", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.height.description": "5b105659", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.image_prompt.description": "b8130025", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.output_format.description": "ebb90ddf", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.prompt.description": "bd498b60", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.prompt_upsampling.description": "15678a13", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.safety_tolerance.description": "e837a919", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.seed.description": "92b1d65d", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.webhook_secret.description": "19b34e1a", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.webhook_url.description": "8f50f2ae", + "components.schemas.BFLFluxPro1_1GenerateRequest.properties.width.description": "396ef2bd", + "components.schemas.BFLFluxPro1_1GenerateResponse.properties.id.description": "663380ea", + "components.schemas.BFLFluxPro1_1GenerateResponse.properties.polling_url.description": "f719be1b", + "components.schemas.BFLFluxProExpandInputs.properties.bottom.description": "1d502329", + "components.schemas.BFLFluxProExpandInputs.properties.guidance.description": "25be3f6c", + "components.schemas.BFLFluxProExpandInputs.properties.image.description": "19ad8e9b", + "components.schemas.BFLFluxProExpandInputs.properties.left.description": "85f66e6d", + "components.schemas.BFLFluxProExpandInputs.properties.output_format.description": "024c37ce", + "components.schemas.BFLFluxProExpandInputs.properties.prompt.description": "1a3cc2b7", + "components.schemas.BFLFluxProExpandInputs.properties.prompt_upsampling.description": "010ead89", + "components.schemas.BFLFluxProExpandInputs.properties.right.description": "2d73d428", + "components.schemas.BFLFluxProExpandInputs.properties.safety_tolerance.description": "30884eb3", + "components.schemas.BFLFluxProExpandInputs.properties.seed.description": "5efb4870", + "components.schemas.BFLFluxProExpandInputs.properties.steps.description": "db9e6222", + "components.schemas.BFLFluxProExpandInputs.properties.top.description": "22511d07", + "components.schemas.BFLFluxProExpandInputs.properties.webhook_secret.description": "6666be04", + "components.schemas.BFLFluxProExpandInputs.properties.webhook_url.description": "a421e9a7", + "components.schemas.BFLFluxProFillInputs.properties.guidance.description": "25be3f6c", + "components.schemas.BFLFluxProFillInputs.properties.image.description": "5fbf6fd9", + "components.schemas.BFLFluxProFillInputs.properties.mask.description": "0d4c1744", + "components.schemas.BFLFluxProFillInputs.properties.output_format.description": "024c37ce", + "components.schemas.BFLFluxProFillInputs.properties.prompt.description": "b3452b93", + "components.schemas.BFLFluxProFillInputs.properties.prompt_upsampling.description": "010ead89", + "components.schemas.BFLFluxProFillInputs.properties.safety_tolerance.description": "30884eb3", + "components.schemas.BFLFluxProFillInputs.properties.seed.description": "5efb4870", + "components.schemas.BFLFluxProFillInputs.properties.steps.description": "db9e6222", + "components.schemas.BFLFluxProFillInputs.properties.webhook_secret.description": "6666be04", + "components.schemas.BFLFluxProFillInputs.properties.webhook_url.description": "a421e9a7", + "components.schemas.BFLFluxProGenerateRequest.description": "53bbc5c5", + "components.schemas.BFLFluxProGenerateRequest.properties.guidance_scale.description": "28069e51", + "components.schemas.BFLFluxProGenerateRequest.properties.height.description": "cec942d6", + "components.schemas.BFLFluxProGenerateRequest.properties.negative_prompt.description": "d3185df1", + "components.schemas.BFLFluxProGenerateRequest.properties.num_images.description": "4b673228", + "components.schemas.BFLFluxProGenerateRequest.properties.num_inference_steps.description": "dd1abe86", + "components.schemas.BFLFluxProGenerateRequest.properties.prompt.description": "f1416aa5", + "components.schemas.BFLFluxProGenerateRequest.properties.seed.description": "2ea650a9", + "components.schemas.BFLFluxProGenerateRequest.properties.width.description": "ebc37ae7", + "components.schemas.BFLFluxProGenerateResponse.description": "fe818853", + "components.schemas.BFLFluxProGenerateResponse.properties.cost.description": "76c7ac53", + "components.schemas.BFLFluxProGenerateResponse.properties.id.description": "c932383d", + "components.schemas.BFLFluxProGenerateResponse.properties.input_mp.description": "c888b0b5", + "components.schemas.BFLFluxProGenerateResponse.properties.output_mp.description": "e2725759", + "components.schemas.BFLFluxProGenerateResponse.properties.polling_url.description": "c6006f2c", + "components.schemas.BFLVtoV1Request.description": "0a8deea8", + "components.schemas.BFLVtoV1Request.properties.garment.description": "653b8dc3", + "components.schemas.BFLVtoV1Request.properties.person.description": "a78e9043", + "components.schemas.BFLVtoV1Request.properties.prompt.description": "5875e01e", + "components.schemas.BFLVtoV1Request.properties.safety_tolerance.description": "b53d1af0", + "components.schemas.BFLVtoV1Request.properties.seed.description": "00512dbf", + "components.schemas.BFLVtoV1Request.properties.webhook_secret.description": "7535eb93", + "components.schemas.BFLVtoV1Request.properties.webhook_url.description": "ab936c6b", + "components.schemas.BeebleAlphaMode.description": "76af500f", + "components.schemas.BeebleCreateSwitchXRequest.description": "f202cc17", + "components.schemas.BeebleCreateSwitchXRequest.properties.alpha_uri.description": "5339d42d", + "components.schemas.BeebleCreateSwitchXRequest.properties.callback_url.description": "edefe34b", + "components.schemas.BeebleCreateSwitchXRequest.properties.idempotency_key.description": "56fd73c6", + "components.schemas.BeebleCreateSwitchXRequest.properties.max_resolution.description": "71467e7c", + "components.schemas.BeebleCreateSwitchXRequest.properties.prompt.description": "8b32a4d1", + "components.schemas.BeebleCreateSwitchXRequest.properties.reference_image_uri.description": "fa798ae1", + "components.schemas.BeebleCreateSwitchXRequest.properties.source_uri.description": "c29a8863", + "components.schemas.BeebleGenerationType.description": "0fcd33bb", + "components.schemas.BeebleSwitchXOutputUrls.description": "6ebb4862", + "components.schemas.BeebleSwitchXOutputUrls.properties.alpha.description": "c0109dc4", + "components.schemas.BeebleSwitchXOutputUrls.properties.render.description": "9c19881a", + "components.schemas.BeebleSwitchXOutputUrls.properties.source.description": "3f05b55e", + "components.schemas.BeebleSwitchXStatusResponse.description": "c99a04e8", + "components.schemas.BeebleSwitchXStatusResponse.properties.alpha_mode.description": "e050ea0f", + "components.schemas.BeebleSwitchXStatusResponse.properties.completed_at.description": "9ad53e82", + "components.schemas.BeebleSwitchXStatusResponse.properties.created_at.description": "956de41a", + "components.schemas.BeebleSwitchXStatusResponse.properties.error.description": "be838a66", + "components.schemas.BeebleSwitchXStatusResponse.properties.generation_type.description": "de19e25c", + "components.schemas.BeebleSwitchXStatusResponse.properties.id.description": "c8adadc7", + "components.schemas.BeebleSwitchXStatusResponse.properties.modified_at.description": "d0c43a8f", + "components.schemas.BeebleSwitchXStatusResponse.properties.output.description": "ca06c135", + "components.schemas.BeebleSwitchXStatusResponse.properties.progress.description": "07ef3e6a", + "components.schemas.BeebleSwitchXStatusResponse.properties.status.description": "ed399377", + "components.schemas.BeebleSwitchXStatusResponse.properties.webhook.description": "3034e5a2", + "components.schemas.BeebleUploadRequest.description": "3c73d4b5", + "components.schemas.BeebleUploadRequest.properties.filename.description": "3c2f852d", + "components.schemas.BeebleUploadResponse.description": "1583b2c9", + "components.schemas.BeebleUploadResponse.properties.beeble_uri.description": "40e3256a", + "components.schemas.BeebleUploadResponse.properties.id.description": "82426d10", + "components.schemas.BeebleUploadResponse.properties.upload_url.description": "28a7d80a", + "components.schemas.BeebleWebhookStatus.description": "cab210b2", + "components.schemas.BeebleWebhookStatus.properties.attempts.description": "549b632e", + "components.schemas.BeebleWebhookStatus.properties.last_error.description": "b95f2fbe", + "components.schemas.BeebleWebhookStatus.properties.status.description": "7e26782c", + "components.schemas.BriaAsyncResponse.description": "b241d044", + "components.schemas.BriaAsyncResponse.properties.request_id.description": "b113d99c", + "components.schemas.BriaAsyncResponse.properties.status_url.description": "75187147", + "components.schemas.BriaAsyncResponse.properties.warning.description": "167dca56", + "components.schemas.BriaErrorResponse.description": "b0bb76c6", + "components.schemas.BriaErrorResponse.properties.error.properties.code.description": "a148e2a1", + "components.schemas.BriaErrorResponse.properties.error.properties.details.description": "add98b42", + "components.schemas.BriaErrorResponse.properties.error.properties.message.description": "d0e4554d", + "components.schemas.BriaErrorResponse.properties.request_id.description": "b113d99c", + "components.schemas.BriaFiboEditRequest.description": "ec0093c0", + "components.schemas.BriaFiboEditRequest.properties.guidance_scale.description": "d7057805", + "components.schemas.BriaFiboEditRequest.properties.images.description": "ab2ecd3f", + "components.schemas.BriaFiboEditRequest.properties.instruction.description": "d7dc59e5", + "components.schemas.BriaFiboEditRequest.properties.ip_signal.description": "8efb502e", + "components.schemas.BriaFiboEditRequest.properties.mask.description": "c47e22bd", + "components.schemas.BriaFiboEditRequest.properties.model_version.description": "796582a3", + "components.schemas.BriaFiboEditRequest.properties.negative_prompt.description": "860767b9", + "components.schemas.BriaFiboEditRequest.properties.prompt_content_moderation.description": "8d552f1a", + "components.schemas.BriaFiboEditRequest.properties.seed.description": "2b29ee4d", + "components.schemas.BriaFiboEditRequest.properties.steps_num.description": "97723e83", + "components.schemas.BriaFiboEditRequest.properties.structured_instruction.description": "abae2e88", + "components.schemas.BriaFiboEditRequest.properties.visual_input_content_moderation.description": "cbe35d19", + "components.schemas.BriaFiboEditRequest.properties.visual_output_content_moderation.description": "435dc252", + "components.schemas.BriaImageRemoveBackgroundRequest.description": "45477053", + "components.schemas.BriaImageRemoveBackgroundRequest.properties.image.description": "604d546c", + "components.schemas.BriaImageRemoveBackgroundRequest.properties.preserve_alpha.description": "d9e37591", + "components.schemas.BriaImageRemoveBackgroundRequest.properties.sync.description": "8cab0293", + "components.schemas.BriaImageRemoveBackgroundRequest.properties.visual_input_content_moderation.description": "d4f43c8d", + "components.schemas.BriaImageRemoveBackgroundRequest.properties.visual_output_content_moderation.description": "1dd1c2b5", + "components.schemas.BriaStatusNotFoundResponse.description": "38f58cd5", + "components.schemas.BriaStatusResponse.description": "b160872f", + "components.schemas.BriaStatusResponse.properties.error.description": "673ac8e3", + "components.schemas.BriaStatusResponse.properties.error.properties.code.description": "a148e2a1", + "components.schemas.BriaStatusResponse.properties.error.properties.details.description": "add98b42", + "components.schemas.BriaStatusResponse.properties.error.properties.message.description": "d0e4554d", + "components.schemas.BriaStatusResponse.properties.request_id.description": "b113d99c", + "components.schemas.BriaStatusResponse.properties.result.description": "bb8ae65a", + "components.schemas.BriaStatusResponse.properties.result.properties.image_url.description": "0d6f292f", + "components.schemas.BriaStatusResponse.properties.result.properties.prompt.description": "32df02db", + "components.schemas.BriaStatusResponse.properties.result.properties.refined_prompt.description": "f65f85bd", + "components.schemas.BriaStatusResponse.properties.result.properties.seed.description": "05ae5139", + "components.schemas.BriaStatusResponse.properties.result.properties.structured_prompt.description": "5ae65eb7", + "components.schemas.BriaStatusResponse.properties.result.properties.video_url.description": "d14bb11d", + "components.schemas.BriaStatusResponse.properties.status.description": "d7cf3a1e", + "components.schemas.BriaStructuredInstructionRequest.description": "3b99b4d0", + "components.schemas.BriaStructuredInstructionRequest.properties.images.description": "16c040f9", + "components.schemas.BriaStructuredInstructionRequest.properties.instruction.description": "5325adc2", + "components.schemas.BriaStructuredInstructionRequest.properties.ip_signal.description": "8efb502e", + "components.schemas.BriaStructuredInstructionRequest.properties.mask.description": "c47e22bd", + "components.schemas.BriaStructuredInstructionRequest.properties.prompt_content_moderation.description": "8d552f1a", + "components.schemas.BriaStructuredInstructionRequest.properties.seed.description": "2b29ee4d", + "components.schemas.BriaStructuredInstructionRequest.properties.visual_input_content_moderation.description": "cbe35d19", + "components.schemas.BriaVideoGreenScreenRequest.description": "46705fe5", + "components.schemas.BriaVideoGreenScreenRequest.properties.green_shade.description": "ed3a779f", + "components.schemas.BriaVideoGreenScreenRequest.properties.output_container_and_codec.description": "37f2d2e1", + "components.schemas.BriaVideoGreenScreenRequest.properties.preserve_audio.description": "487118bd", + "components.schemas.BriaVideoGreenScreenRequest.properties.video.description": "ea578bac", + "components.schemas.BriaVideoRemoveBackgroundRequest.description": "68f87c30", + "components.schemas.BriaVideoRemoveBackgroundRequest.properties.background_color.description": "77420966", + "components.schemas.BriaVideoRemoveBackgroundRequest.properties.output_container_and_codec.description": "37f2d2e1", + "components.schemas.BriaVideoRemoveBackgroundRequest.properties.preserve_audio.description": "487118bd", + "components.schemas.BriaVideoRemoveBackgroundRequest.properties.video.description": "ea578bac", + "components.schemas.BriaVideoReplaceBackgroundRequest.description": "1b3a195e", + "components.schemas.BriaVideoReplaceBackgroundRequest.properties.background_url.description": "a7ce7d45", + "components.schemas.BriaVideoReplaceBackgroundRequest.properties.output_container_and_codec.description": "37f2d2e1", + "components.schemas.BriaVideoReplaceBackgroundRequest.properties.preserve_audio.description": "059c4087", + "components.schemas.BriaVideoReplaceBackgroundRequest.properties.video.description": "2c8588b9", + "components.schemas.BulkNodeVersionResult.properties.error_message.description": "15860572", + "components.schemas.BulkNodeVersionResult.properties.status.description": "9e24ea2a", + "components.schemas.BulkNodeVersionsRequest.properties.node_versions.description": "a7356a2d", + "components.schemas.BulkNodeVersionsResponse.properties.node_versions.description": "5592cc6d", + "components.schemas.BytePlusFile.description": "983aadb6", + "components.schemas.BytePlusFile.properties.bytes.description": "f005c966", + "components.schemas.BytePlusFile.properties.created_at.description": "f600f964", + "components.schemas.BytePlusFile.properties.error.description": "33574cdb", + "components.schemas.BytePlusFile.properties.error.properties.code.description": "a148e2a1", + "components.schemas.BytePlusFile.properties.error.properties.message.description": "3537af57", + "components.schemas.BytePlusFile.properties.expire_at.description": "029714f4", + "components.schemas.BytePlusFile.properties.id.description": "5bb2d03f", + "components.schemas.BytePlusFile.properties.mime_type.description": "8249f1da", + "components.schemas.BytePlusFile.properties.object.description": "27b5832e", + "components.schemas.BytePlusFile.properties.purpose.description": "61fbd531", + "components.schemas.BytePlusFile.properties.status.description": "f3878f1a", + "components.schemas.BytePlusFilePreprocessConfigs.description": "953e00e6", + "components.schemas.BytePlusFilePreprocessConfigs.properties.video.properties.fps.description": "7374dd9b", + "components.schemas.BytePlusFilePreprocessConfigs.properties.video.properties.model.description": "312f13a9", + "components.schemas.BytePlusFileUploadRequest.description": "1bdfbca3", + "components.schemas.BytePlusFileUploadRequest.properties.expire_at.description": "a653bdee", + "components.schemas.BytePlusFileUploadRequest.properties.file.description": "e1664afd", + "components.schemas.BytePlusFileUploadRequest.properties.purpose.description": "31139c3a", + "components.schemas.BytePlusImageGenerationRequest.properties.guidance_scale.description": "119d5d77", + "components.schemas.BytePlusImageGenerationRequest.properties.image.description": "dd718c72", + "components.schemas.BytePlusImageGenerationRequest.properties.image.oneOf[0].description": "3297ad6f", + "components.schemas.BytePlusImageGenerationRequest.properties.image.oneOf[1].description": "9f09326d", + "components.schemas.BytePlusImageGenerationRequest.properties.optimize_prompt_options.description": "fc5a9a04", + "components.schemas.BytePlusImageGenerationRequest.properties.optimize_prompt_options.properties.mode.description": "5b25a681", + "components.schemas.BytePlusImageGenerationRequest.properties.output_format.description": "c5bbdff4", + "components.schemas.BytePlusImageGenerationRequest.properties.prompt.description": "51d8162c", + "components.schemas.BytePlusImageGenerationRequest.properties.response_format.description": "bc222daa", + "components.schemas.BytePlusImageGenerationRequest.properties.seed.description": "69ce4a52", + "components.schemas.BytePlusImageGenerationRequest.properties.sequential_image_generation.description": "c10a9df3", + "components.schemas.BytePlusImageGenerationRequest.properties.sequential_image_generation_options.description": "be70b5ae", + "components.schemas.BytePlusImageGenerationRequest.properties.sequential_image_generation_options.properties.max_images.description": "62d0ffdf", + "components.schemas.BytePlusImageGenerationRequest.properties.size.description": "e5b7d62d", + "components.schemas.BytePlusImageGenerationRequest.properties.stream.description": "75f646dd", + "components.schemas.BytePlusImageGenerationRequest.properties.watermark.description": "92574fab", + "components.schemas.BytePlusImageGenerationResponse.properties.created.description": "ccda61af", + "components.schemas.BytePlusImageGenerationResponse.properties.data.description": "1d46812f", + "components.schemas.BytePlusImageGenerationResponse.properties.data.items.properties.b64_json.description": "62ddd4ea", + "components.schemas.BytePlusImageGenerationResponse.properties.data.items.properties.output_format.description": "c200cd26", + "components.schemas.BytePlusImageGenerationResponse.properties.data.items.properties.size.description": "82079d73", + "components.schemas.BytePlusImageGenerationResponse.properties.data.items.properties.url.description": "40fa247f", + "components.schemas.BytePlusImageGenerationResponse.properties.error.description": "ede07331", + "components.schemas.BytePlusImageGenerationResponse.properties.error.properties.code.description": "0570b384", + "components.schemas.BytePlusImageGenerationResponse.properties.error.properties.message.description": "a5dc35f1", + "components.schemas.BytePlusImageGenerationResponse.properties.model.description": "1a7fa237", + "components.schemas.BytePlusImageGenerationResponse.properties.usage.properties.generated_images.description": "8b956927", + "components.schemas.BytePlusImageGenerationResponse.properties.usage.properties.input_images.description": "18ef6504", + "components.schemas.BytePlusImageGenerationResponse.properties.usage.properties.output_tokens.description": "53d392f5", + "components.schemas.BytePlusImageGenerationResponse.properties.usage.properties.total_tokens.description": "3645a87f", + "components.schemas.BytePlusResponseAppliedContextEdit.description": "277d20fb", + "components.schemas.BytePlusResponseAppliedContextEditClearThinking.properties.cleared_thinking_turns.description": "769cfd9c", + "components.schemas.BytePlusResponseAppliedContextEditClearToolUses.properties.cleared_tool_uses.description": "af2c0f43", + "components.schemas.BytePlusResponseAppliedContextManagement.description": "f22fa851", + "components.schemas.BytePlusResponseContextEdit.description": "752f45d9", + "components.schemas.BytePlusResponseContextEditClearThinking.description": "3cce4bcc", + "components.schemas.BytePlusResponseContextEditClearThinking.properties.keep.oneOf[0].properties.value.description": "d4ac6f73", + "components.schemas.BytePlusResponseContextEditClearThinking.properties.keep.oneOf[1].description": "596784bc", + "components.schemas.BytePlusResponseContextEditClearToolUses.description": "c2c6ede2", + "components.schemas.BytePlusResponseContextEditClearToolUses.properties.clear_tool_input.description": "b008713b", + "components.schemas.BytePlusResponseContextEditClearToolUses.properties.exclude_tools.description": "0ae85f69", + "components.schemas.BytePlusResponseContextEditClearToolUses.properties.keep.properties.value.description": "08fe1149", + "components.schemas.BytePlusResponseContextEditClearToolUses.properties.trigger.properties.value.description": "4190d2be", + "components.schemas.BytePlusResponseContextManagement.description": "2aa55aaf", + "components.schemas.BytePlusResponseCreateRequest.properties.caching.description": "3915f08a", + "components.schemas.BytePlusResponseCreateRequest.properties.caching.properties.prefix.description": "3fa6393a", + "components.schemas.BytePlusResponseCreateRequest.properties.expire_at.description": "d07320a2", + "components.schemas.BytePlusResponseCreateRequest.properties.include.description": "464a5cba", + "components.schemas.BytePlusResponseCreateRequest.properties.input.description": "c3e61329", + "components.schemas.BytePlusResponseCreateRequest.properties.input.oneOf[0].description": "65dd90ce", + "components.schemas.BytePlusResponseCreateRequest.properties.instructions.description": "e96e933f", + "components.schemas.BytePlusResponseCreateRequest.properties.max_output_tokens.description": "0d06c571", + "components.schemas.BytePlusResponseCreateRequest.properties.model.description": "82a906cb", + "components.schemas.BytePlusResponseCreateRequest.properties.previous_response_id.description": "1bed25a7", + "components.schemas.BytePlusResponseCreateRequest.properties.reasoning.description": "abe1bfaa", + "components.schemas.BytePlusResponseCreateRequest.properties.reasoning.properties.effort.description": "a13b1f23", + "components.schemas.BytePlusResponseCreateRequest.properties.store.description": "355c2603", + "components.schemas.BytePlusResponseCreateRequest.properties.text.description": "db5c8c84", + "components.schemas.BytePlusResponseCreateRequest.properties.thinking.description": "812f3a98", + "components.schemas.BytePlusResponseCreateRequest.properties.thinking.properties.type.description": "64eeec65", + "components.schemas.BytePlusResponseCreateRequest.properties.tool_choice.description": "5b531e83", + "components.schemas.BytePlusResponseError.description": "60ec7027", + "components.schemas.BytePlusResponseInputFile.description": "991477c7", + "components.schemas.BytePlusResponseInputFile.properties.file_data.description": "b982c887", + "components.schemas.BytePlusResponseInputFile.properties.file_id.description": "757bb036", + "components.schemas.BytePlusResponseInputFile.properties.file_url.description": "8b98d878", + "components.schemas.BytePlusResponseInputFile.properties.filename.description": "8f3ec9c5", + "components.schemas.BytePlusResponseInputFunctionCall.description": "997e4a6d", + "components.schemas.BytePlusResponseInputFunctionCall.properties.arguments.description": "f3fc2f88", + "components.schemas.BytePlusResponseInputFunctionCall.properties.call_id.description": "5fee99f5", + "components.schemas.BytePlusResponseInputFunctionCallOutput.description": "f8dbaf3b", + "components.schemas.BytePlusResponseInputImage.properties.file_id.description": "757bb036", + "components.schemas.BytePlusResponseInputImage.properties.image_pixel_limit.description": "c83af3ad", + "components.schemas.BytePlusResponseInputImage.properties.image_url.description": "893b7599", + "components.schemas.BytePlusResponseInputItem.description": "9807a2de", + "components.schemas.BytePlusResponseInputMessage.description": "0e12ef79", + "components.schemas.BytePlusResponseInputMessage.properties.content.oneOf[0].description": "5635d530", + "components.schemas.BytePlusResponseInputMessage.properties.partial.description": "4d5381ae", + "components.schemas.BytePlusResponseInputMessage.properties.status.description": "e45076ab", + "components.schemas.BytePlusResponseInputReasoning.description": "ce23b48f", + "components.schemas.BytePlusResponseInputReasoning.properties.content.description": "13735310", + "components.schemas.BytePlusResponseInputReasoning.properties.encrypted_content.description": "18415321", + "components.schemas.BytePlusResponseInputText.properties.translation_options.description": "d19ccde9", + "components.schemas.BytePlusResponseInputVideo.properties.file_id.description": "757bb036", + "components.schemas.BytePlusResponseInputVideo.properties.fps.description": "dbdc3f69", + "components.schemas.BytePlusResponseInputVideo.properties.video_url.description": "4d7151f5", + "components.schemas.BytePlusResponseMessageContent.description": "33103eca", + "components.schemas.BytePlusResponseObject.description": "24534a34", + "components.schemas.BytePlusResponseObject.properties.created_at.description": "40f8aff2", + "components.schemas.BytePlusResponseObject.properties.expire_at.description": "28a012c4", + "components.schemas.BytePlusResponseObject.properties.id.description": "9551bbb9", + "components.schemas.BytePlusResponseObject.properties.incomplete_details.description": "553300d1", + "components.schemas.BytePlusResponseObject.properties.incomplete_details.properties.reason.description": "ec4245f0", + "components.schemas.BytePlusResponseObject.properties.instructions.description": "5e81d3d9", + "components.schemas.BytePlusResponseObject.properties.model.description": "d82dfc81", + "components.schemas.BytePlusResponseObject.properties.output.description": "48cbdb23", + "components.schemas.BytePlusResponseObject.properties.service_tier.description": "caf4bbcd", + "components.schemas.BytePlusResponseObject.properties.text.description": "6f130787", + "components.schemas.BytePlusResponseOutputContent.description": "1b8f3b99", + "components.schemas.BytePlusResponseOutputItem.description": "540baca0", + "components.schemas.BytePlusResponseOutputMessage.description": "0c115da0", + "components.schemas.BytePlusResponseOutputMessage.properties.partial.description": "754e5758", + "components.schemas.BytePlusResponseTextFormat.description": "7ffeb47e", + "components.schemas.BytePlusResponseTextFormatJSONSchema.properties.description.description": "3aeac6ad", + "components.schemas.BytePlusResponseTextFormatJSONSchema.properties.name.description": "b92e02d3", + "components.schemas.BytePlusResponseTextFormatJSONSchema.properties.schema.description": "5a1916ec", + "components.schemas.BytePlusResponseTool.description": "6713a31f", + "components.schemas.BytePlusResponseTool.properties.parameters.description": "6cd490b5", + "components.schemas.BytePlusResponseToolChoiceObject.description": "74feb2d5", + "components.schemas.BytePlusResponseUsage.description": "ef0d7a50", + "components.schemas.BytePlusResponseUsage.properties.input_tokens.description": "9705bb67", + "components.schemas.BytePlusResponseUsage.properties.input_tokens_details.description": "046baa07", + "components.schemas.BytePlusResponseUsage.properties.input_tokens_details.properties.cached_tokens.description": "48e59421", + "components.schemas.BytePlusResponseUsage.properties.output_tokens.description": "c454d0f0", + "components.schemas.BytePlusResponseUsage.properties.output_tokens_details.description": "4ebdf7a0", + "components.schemas.BytePlusResponseUsage.properties.output_tokens_details.properties.reasoning_tokens.description": "40bf0d51", + "components.schemas.BytePlusResponseUsage.properties.tool_usage.description": "f9f5d14e", + "components.schemas.BytePlusResponseUsage.properties.tool_usage.properties.image_process.description": "0d06a5c5", + "components.schemas.BytePlusResponseUsage.properties.tool_usage.properties.mcp.description": "890e72b3", + "components.schemas.BytePlusResponseUsage.properties.tool_usage.properties.web_search.description": "0a674985", + "components.schemas.BytePlusResponseUsage.properties.tool_usage_details.description": "6c55d251", + "components.schemas.BytePlusResponseUsage.properties.tool_usage_details.properties.image_process.description": "f355d450", + "components.schemas.BytePlusResponseUsage.properties.tool_usage_details.properties.mcp.description": "be163fa6", + "components.schemas.BytePlusResponseUsage.properties.tool_usage_details.properties.web_search.description": "47a8d13b", + "components.schemas.BytePlusResponseUsage.properties.total_tokens.description": "ad7b6f4f", + "components.schemas.BytePlusTTSAudioConfig.description": "179a5e07", + "components.schemas.BytePlusTTSAudioConfig.properties.format.description": "a354c3e4", + "components.schemas.BytePlusTTSAudioConfig.properties.loudness_rate.description": "29bd9f93", + "components.schemas.BytePlusTTSAudioConfig.properties.pitch_rate.description": "a3b0a0cf", + "components.schemas.BytePlusTTSAudioConfig.properties.sample_rate.description": "ae93a18d", + "components.schemas.BytePlusTTSAudioConfig.properties.speech_rate.description": "4e646747", + "components.schemas.BytePlusTTSCreateRequest.description": "6c57a6a7", + "components.schemas.BytePlusTTSCreateRequest.properties.model.description": "cc1ea085", + "components.schemas.BytePlusTTSCreateRequest.properties.references.description": "be37eb47", + "components.schemas.BytePlusTTSCreateRequest.properties.text_prompt.description": "5f09d3e2", + "components.schemas.BytePlusTTSCreateRequest.properties.watermark.description": "d235abfc", + "components.schemas.BytePlusTTSCreateResponse.description": "b70c2e1e", + "components.schemas.BytePlusTTSCreateResponse.properties.audio.description": "0c8bbce9", + "components.schemas.BytePlusTTSCreateResponse.properties.code.description": "a2ee14ab", + "components.schemas.BytePlusTTSCreateResponse.properties.duration.description": "98e96573", + "components.schemas.BytePlusTTSCreateResponse.properties.message.description": "5164c210", + "components.schemas.BytePlusTTSCreateResponse.properties.original_duration.description": "ae658fb0", + "components.schemas.BytePlusTTSCreateResponse.properties.url.description": "da28036a", + "components.schemas.BytePlusTTSReference.description": "1f4ebd9e", + "components.schemas.BytePlusTTSReference.properties.audio_data.description": "62ec1de0", + "components.schemas.BytePlusTTSReference.properties.audio_url.description": "8323c035", + "components.schemas.BytePlusTTSReference.properties.image_data.description": "82ee5e04", + "components.schemas.BytePlusTTSReference.properties.image_url.description": "5290a854", + "components.schemas.BytePlusTTSReference.properties.speaker.description": "420297d6", + "components.schemas.BytePlusVideoGenerationContent.properties.audio_url.description": "b41837bf", + "components.schemas.BytePlusVideoGenerationContent.properties.audio_url.properties.url.description": "a4335192", + "components.schemas.BytePlusVideoGenerationContent.properties.image_url.properties.url.description": "d919fcbe", + "components.schemas.BytePlusVideoGenerationContent.properties.role.description": "1b44ac17", + "components.schemas.BytePlusVideoGenerationContent.properties.text.description": "f553210d", + "components.schemas.BytePlusVideoGenerationContent.properties.type.description": "736c34e7", + "components.schemas.BytePlusVideoGenerationContent.properties.video_url.description": "c32daad4", + "components.schemas.BytePlusVideoGenerationContent.properties.video_url.properties.url.description": "ad4d0bbc", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.content.description": "a99d9c6b", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.content.properties.video_url.description": "b6c60e1c", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.created_at.description": "509d9011", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.error.description": "effcbdf1", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.error.properties.code.description": "8f235976", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.error.properties.message.description": "84e45725", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.id.description": "ca6aca62", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.model.description": "af150e3d", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.status.description": "25728060", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.updated_at.description": "15a2437d", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.usage.description": "bf5065ae", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.usage.properties.completion_tokens.description": "5e37b2f9", + "components.schemas.BytePlusVideoGenerationQueryResponse.properties.usage.properties.total_tokens.description": "50f27a04", + "components.schemas.BytePlusVideoGenerationRequest.properties.callback_url.description": "4f196f3a", + "components.schemas.BytePlusVideoGenerationRequest.properties.content.description": "9ebabbe0", + "components.schemas.BytePlusVideoGenerationRequest.properties.duration.description": "8c63ec20", + "components.schemas.BytePlusVideoGenerationRequest.properties.execution_expires_after.description": "0f0c4cc3", + "components.schemas.BytePlusVideoGenerationRequest.properties.generate_audio.description": "a68b940a", + "components.schemas.BytePlusVideoGenerationRequest.properties.model.description": "3ce54ab0", + "components.schemas.BytePlusVideoGenerationRequest.properties.ratio.description": "23273a64", + "components.schemas.BytePlusVideoGenerationRequest.properties.resolution.description": "da569252", + "components.schemas.BytePlusVideoGenerationRequest.properties.return_last_frame.description": "3588617d", + "components.schemas.BytePlusVideoGenerationRequest.properties.seed.description": "e7b1cc28", + "components.schemas.BytePlusVideoGenerationRequest.properties.service_tier.description": "b88ec940", + "components.schemas.BytePlusVideoGenerationRequest.properties.watermark.description": "ec216a5b", + "components.schemas.BytePlusVideoGenerationResponse.properties.id.description": "ca6aca62", + "components.schemas.ClaimMyNodeRequest.properties.GH_TOKEN.description": "5aaff1ef", + "components.schemas.ComfyNode.properties.category.description": "594b83bd", + "components.schemas.ComfyNode.properties.comfy_node_name.description": "d7f0cf4f", + "components.schemas.ComfyNode.properties.deprecated.description": "c2255d77", + "components.schemas.ComfyNode.properties.description.description": "a01c6cba", + "components.schemas.ComfyNode.properties.experimental.description": "f35ac526", + "components.schemas.ComfyNode.properties.function.description": "0b700511", + "components.schemas.ComfyNode.properties.input_types.description": "fb95f2dc", + "components.schemas.ComfyNode.properties.output_is_list.description": "bc9287eb", + "components.schemas.ComfyNode.properties.return_names.description": "6c2f6fad", + "components.schemas.ComfyNode.properties.return_types.description": "c91c4339", + "components.schemas.ComfyNodeUpdateRequest.properties.category.description": "594b83bd", + "components.schemas.ComfyNodeUpdateRequest.properties.deprecated.description": "c2255d77", + "components.schemas.ComfyNodeUpdateRequest.properties.description.description": "a01c6cba", + "components.schemas.ComfyNodeUpdateRequest.properties.experimental.description": "f35ac526", + "components.schemas.ComfyNodeUpdateRequest.properties.function.description": "0b700511", + "components.schemas.ComfyNodeUpdateRequest.properties.input_types.description": "fb95f2dc", + "components.schemas.ComfyNodeUpdateRequest.properties.output_is_list.description": "bc9287eb", + "components.schemas.ComfyNodeUpdateRequest.properties.return_names.description": "6c2f6fad", + "components.schemas.ComfyNodeUpdateRequest.properties.return_types.description": "c91c4339", + "components.schemas.ComputerToolCall.description": "3fa6caed", + "components.schemas.ComputerToolCall.properties.call_id.description": "11127a13", + "components.schemas.ComputerToolCall.properties.id.description": "908e9f0e", + "components.schemas.ComputerToolCall.properties.status.description": "d3371813", + "components.schemas.ComputerToolCall.properties.type.description": "27b0e5a4", + "components.schemas.ComputerUsePreviewTool.description": "a8b45c39", + "components.schemas.ComputerUsePreviewTool.properties.display_height.description": "d768c7d7", + "components.schemas.ComputerUsePreviewTool.properties.display_width.description": "448cfd11", + "components.schemas.ComputerUsePreviewTool.properties.environment.description": "91255585", + "components.schemas.ComputerUsePreviewTool.properties.type.description": "9dbf7b10", + "components.schemas.CouponResponse.properties.amount_off.description": "ccfde3e7", + "components.schemas.CouponResponse.properties.currency.description": "5ad3fb3e", + "components.schemas.CouponResponse.properties.duration.description": "881bbaff", + "components.schemas.CouponResponse.properties.duration_in_months.description": "e02e20a5", + "components.schemas.CouponResponse.properties.id.description": "b5b1562e", + "components.schemas.CouponResponse.properties.max_redemptions.description": "9ef57c4c", + "components.schemas.CouponResponse.properties.metadata.description": "10282a4b", + "components.schemas.CouponResponse.properties.name.description": "c2c0afba", + "components.schemas.CouponResponse.properties.percent_off.description": "6023a10e", + "components.schemas.CouponResponse.properties.redeem_by.description": "917a4b89", + "components.schemas.CouponResponse.properties.times_redeemed.description": "bba735ff", + "components.schemas.CouponResponse.properties.valid.description": "80462e9c", + "components.schemas.CreateCouponRequest.properties.amount_off.description": "ccfde3e7", + "components.schemas.CreateCouponRequest.properties.currency.description": "aae971c9", + "components.schemas.CreateCouponRequest.properties.duration.description": "881bbaff", + "components.schemas.CreateCouponRequest.properties.duration_in_months.description": "dd8a447d", + "components.schemas.CreateCouponRequest.properties.max_redemptions.description": "9ef57c4c", + "components.schemas.CreateCouponRequest.properties.metadata.description": "10282a4b", + "components.schemas.CreateCouponRequest.properties.name.description": "c2c0afba", + "components.schemas.CreateCouponRequest.properties.percent_off.description": "6023a10e", + "components.schemas.CreateCouponRequest.properties.redeem_by.description": "917a4b89", + "components.schemas.CreateCustomerRequest.description": "3db54668", + "components.schemas.CreateCustomerRequest.properties.turnstile_token.description": "7d411475", + "components.schemas.CreatePromoCodeRequest.properties.coupon_id.description": "78bcb7c5", + "components.schemas.CreatePromoCodeRequest.properties.expire_days.description": "4ee9e6be", + "components.schemas.CreatePromoCodeRequest.properties.max_redemptions.description": "ef30da1d", + "components.schemas.Customer.properties.createdAt.description": "6a35627e", + "components.schemas.Customer.properties.email.description": "a25e24f8", + "components.schemas.Customer.properties.has_fund.description": "694d3a19", + "components.schemas.Customer.properties.id.description": "315161ca", + "components.schemas.Customer.properties.is_admin.description": "e513ac66", + "components.schemas.Customer.properties.metronome_id.description": "f5e5f16a", + "components.schemas.Customer.properties.name.description": "ed0322a4", + "components.schemas.Customer.properties.stripe_id.description": "3ce48c0d", + "components.schemas.Customer.properties.subscription_tier.description": "e03f42a8", + "components.schemas.Customer.properties.updatedAt.description": "e5cce94f", + "components.schemas.CustomerAdmin.properties.cloud_subscription_end_date.description": "6366a64e", + "components.schemas.CustomerAdmin.properties.cloud_subscription_is_active.description": "6c8493cf", + "components.schemas.CustomerAdmin.properties.cloud_subscription_renewal_date.description": "80a37068", + "components.schemas.CustomerAdmin.properties.cloud_subscription_subscription_id.description": "9b6918af", + "components.schemas.CustomerAdmin.properties.createdAt.description": "6a35627e", + "components.schemas.CustomerAdmin.properties.email.description": "a25e24f8", + "components.schemas.CustomerAdmin.properties.has_fund.description": "694d3a19", + "components.schemas.CustomerAdmin.properties.id.description": "315161ca", + "components.schemas.CustomerAdmin.properties.is_admin.description": "e513ac66", + "components.schemas.CustomerAdmin.properties.metronome_id.description": "f5e5f16a", + "components.schemas.CustomerAdmin.properties.name.description": "ed0322a4", + "components.schemas.CustomerAdmin.properties.stripe_id.description": "3ce48c0d", + "components.schemas.CustomerAdmin.properties.subscription_tier.description": "0768210d", + "components.schemas.CustomerAdmin.properties.updatedAt.description": "e5cce94f", + "components.schemas.CustomerStorageResourceResponse.properties.download_url.description": "c06ab5e1", + "components.schemas.CustomerStorageResourceResponse.properties.existing_file.description": "71ef49b1", + "components.schemas.CustomerStorageResourceResponse.properties.expires_at.description": "e1b16229", + "components.schemas.CustomerStorageResourceResponse.properties.upload_url.description": "e1160c82", + "components.schemas.CustomerUsageTimeSeries.description": "e92ca240", + "components.schemas.CustomerUsageTimeSeries.properties.breakdown.description": "b387d81c", + "components.schemas.CustomerUsageTimeSeries.properties.buckets.description": "86b1af5c", + "components.schemas.CustomerUsageTimeSeries.properties.ending_before.description": "45f6d8c4", + "components.schemas.CustomerUsageTimeSeries.properties.granularity.description": "7f608b42", + "components.schemas.CustomerUsageTimeSeries.properties.group_by.description": "3734471e", + "components.schemas.CustomerUsageTimeSeries.properties.groups.description": "b2ba50fd", + "components.schemas.CustomerUsageTimeSeries.properties.starting_on.description": "70fdb37d", + "components.schemas.EasyInputMessage.description": "7db749d9", + "components.schemas.EasyInputMessage.properties.content.description": "2d9878df", + "components.schemas.EasyInputMessage.properties.content.oneOf[0].description": "df5bc3f5", + "components.schemas.EasyInputMessage.properties.role.description": "d643460e", + "components.schemas.EasyInputMessage.properties.type.description": "61c11960", + "components.schemas.ElevenLabsAudioIsolationRequest.description": "d0051f00", + "components.schemas.ElevenLabsAudioIsolationRequest.properties.audio.description": "0a248375", + "components.schemas.ElevenLabsAudioIsolationRequest.properties.file_format.description": "d59327f0", + "components.schemas.ElevenLabsAudioIsolationRequest.properties.preview_b64.description": "c67953f6", + "components.schemas.ElevenLabsCreateVoiceRequest.description": "aba6a350", + "components.schemas.ElevenLabsCreateVoiceRequest.properties.description.description": "9cbdefee", + "components.schemas.ElevenLabsCreateVoiceRequest.properties.files.description": "cf1a8b5e", + "components.schemas.ElevenLabsCreateVoiceRequest.properties.labels.description": "a6677587", + "components.schemas.ElevenLabsCreateVoiceRequest.properties.name.description": "77f4ae29", + "components.schemas.ElevenLabsCreateVoiceRequest.properties.remove_background_noise.description": "e11bff10", + "components.schemas.ElevenLabsDialogueInput.description": "0b488b4b", + "components.schemas.ElevenLabsDialogueInput.properties.text.description": "0ca63e7d", + "components.schemas.ElevenLabsDialogueInput.properties.voice_id.description": "6427aa19", + "components.schemas.ElevenLabsDialogueSettings.description": "05b8340a", + "components.schemas.ElevenLabsDialogueSettings.properties.stability.description": "8d679ac6", + "components.schemas.ElevenLabsPronunciationDictionaryLocator.description": "7629dbe4", + "components.schemas.ElevenLabsPronunciationDictionaryLocator.properties.pronunciation_dictionary_id.description": "05d52083", + "components.schemas.ElevenLabsPronunciationDictionaryLocator.properties.version_id.description": "00fe41c5", + "components.schemas.ElevenLabsSTTAdditionalFormat.description": "d5db518c", + "components.schemas.ElevenLabsSTTAdditionalFormat.properties.content.description": "87c94b0e", + "components.schemas.ElevenLabsSTTAdditionalFormat.properties.content_type.description": "6ea0f0a8", + "components.schemas.ElevenLabsSTTAdditionalFormat.properties.file_extension.description": "9b326c36", + "components.schemas.ElevenLabsSTTAdditionalFormat.properties.is_base64_encoded.description": "437d9ac9", + "components.schemas.ElevenLabsSTTAdditionalFormat.properties.requested_format.description": "d1b2c16c", + "components.schemas.ElevenLabsSTTCharacter.description": "326a2ef7", + "components.schemas.ElevenLabsSTTCharacter.properties.end.description": "f8e7f771", + "components.schemas.ElevenLabsSTTCharacter.properties.start.description": "7a9a4266", + "components.schemas.ElevenLabsSTTCharacter.properties.text.description": "c86bee36", + "components.schemas.ElevenLabsSTTDetectedEntity.description": "4c0ba642", + "components.schemas.ElevenLabsSTTDetectedEntity.properties.end_char.description": "83da2112", + "components.schemas.ElevenLabsSTTDetectedEntity.properties.entity_type.description": "5317c89c", + "components.schemas.ElevenLabsSTTDetectedEntity.properties.start_char.description": "7ad1393e", + "components.schemas.ElevenLabsSTTDetectedEntity.properties.text.description": "a9a3b48b", + "components.schemas.ElevenLabsSTTExportOptions.description": "af91dd6d", + "components.schemas.ElevenLabsSTTExportOptions.properties.format.description": "bf726cef", + "components.schemas.ElevenLabsSTTExportOptions.properties.include_speakers.description": "df5f82bd", + "components.schemas.ElevenLabsSTTExportOptions.properties.include_timestamps.description": "99cab81d", + "components.schemas.ElevenLabsSTTExportOptions.properties.max_characters_per_line.description": "bb6e45b0", + "components.schemas.ElevenLabsSTTExportOptions.properties.max_segment_chars.description": "861a9225", + "components.schemas.ElevenLabsSTTExportOptions.properties.max_segment_duration_s.description": "f1b20317", + "components.schemas.ElevenLabsSTTExportOptions.properties.segment_on_silence_longer_than_s.description": "51fa3719", + "components.schemas.ElevenLabsSTTRequest.description": "2b99da48", + "components.schemas.ElevenLabsSTTRequest.properties.additional_formats.description": "e1f0328f", + "components.schemas.ElevenLabsSTTRequest.properties.cloud_storage_url.description": "a2960aee", + "components.schemas.ElevenLabsSTTRequest.properties.diarization_threshold.description": "78a05772", + "components.schemas.ElevenLabsSTTRequest.properties.diarize.description": "90d75a45", + "components.schemas.ElevenLabsSTTRequest.properties.entity_detection.description": "e92e728c", + "components.schemas.ElevenLabsSTTRequest.properties.file.description": "6d6ef081", + "components.schemas.ElevenLabsSTTRequest.properties.file_format.description": "25e2d946", + "components.schemas.ElevenLabsSTTRequest.properties.keyterms.description": "97c40cea", + "components.schemas.ElevenLabsSTTRequest.properties.language_code.description": "7493a534", + "components.schemas.ElevenLabsSTTRequest.properties.model_id.description": "3b494168", + "components.schemas.ElevenLabsSTTRequest.properties.num_speakers.description": "cfc29668", + "components.schemas.ElevenLabsSTTRequest.properties.seed.description": "4040c111", + "components.schemas.ElevenLabsSTTRequest.properties.tag_audio_events.description": "1871ce50", + "components.schemas.ElevenLabsSTTRequest.properties.temperature.description": "52cbd37d", + "components.schemas.ElevenLabsSTTRequest.properties.timestamps_granularity.description": "babb739d", + "components.schemas.ElevenLabsSTTRequest.properties.use_multi_channel.description": "f6010010", + "components.schemas.ElevenLabsSTTRequest.properties.webhook.description": "d40b00b1", + "components.schemas.ElevenLabsSTTRequest.properties.webhook_id.description": "7e92ff23", + "components.schemas.ElevenLabsSTTRequest.properties.webhook_metadata.description": "aa829590", + "components.schemas.ElevenLabsSTTResponse.description": "93829b9a", + "components.schemas.ElevenLabsSTTResponse.properties.additional_formats.description": "4d601c81", + "components.schemas.ElevenLabsSTTResponse.properties.channel_index.description": "e2115570", + "components.schemas.ElevenLabsSTTResponse.properties.entities.description": "59559c38", + "components.schemas.ElevenLabsSTTResponse.properties.language_code.description": "517510df", + "components.schemas.ElevenLabsSTTResponse.properties.language_probability.description": "25b644c2", + "components.schemas.ElevenLabsSTTResponse.properties.message.description": "84f991e5", + "components.schemas.ElevenLabsSTTResponse.properties.request_id.description": "99321f0a", + "components.schemas.ElevenLabsSTTResponse.properties.text.description": "4436753b", + "components.schemas.ElevenLabsSTTResponse.properties.transcription_id.description": "e397b546", + "components.schemas.ElevenLabsSTTResponse.properties.transcripts.description": "b3acf340", + "components.schemas.ElevenLabsSTTResponse.properties.words.description": "a12b2452", + "components.schemas.ElevenLabsSTTTranscript.description": "ac4a687e", + "components.schemas.ElevenLabsSTTTranscript.properties.additional_formats.description": "08762e4d", + "components.schemas.ElevenLabsSTTTranscript.properties.channel_index.description": "ef4dbf03", + "components.schemas.ElevenLabsSTTTranscript.properties.entities.description": "f9e99b8c", + "components.schemas.ElevenLabsSTTTranscript.properties.language_code.description": "1b82990e", + "components.schemas.ElevenLabsSTTTranscript.properties.language_probability.description": "6809c7c0", + "components.schemas.ElevenLabsSTTTranscript.properties.text.description": "4436753b", + "components.schemas.ElevenLabsSTTTranscript.properties.words.description": "a12b2452", + "components.schemas.ElevenLabsSTTWord.description": "dd938872", + "components.schemas.ElevenLabsSTTWord.properties.characters.description": "19ff9964", + "components.schemas.ElevenLabsSTTWord.properties.end.description": "e850c283", + "components.schemas.ElevenLabsSTTWord.properties.logprob.description": "e3b8a1f5", + "components.schemas.ElevenLabsSTTWord.properties.speaker_id.description": "a233fff3", + "components.schemas.ElevenLabsSTTWord.properties.start.description": "d3ac8637", + "components.schemas.ElevenLabsSTTWord.properties.text.description": "4dfce431", + "components.schemas.ElevenLabsSTTWord.properties.type.description": "33e7e9d4", + "components.schemas.ElevenLabsSharedVoice.properties.fiat_rate.description": "39ed0154", + "components.schemas.ElevenLabsSharedVoice.properties.verified_languages.description": "0f397d1c", + "components.schemas.ElevenLabsSharedVoicesPaginatedResponse.description": "5d4a3ee3", + "components.schemas.ElevenLabsSharedVoicesPaginatedResponse.properties.has_more.description": "998df11e", + "components.schemas.ElevenLabsSharedVoicesPaginatedResponse.properties.items.description": "2e2759e6", + "components.schemas.ElevenLabsSoundGenerationRequest.description": "34115d4a", + "components.schemas.ElevenLabsSoundGenerationRequest.properties.duration_seconds.description": "956b8c0c", + "components.schemas.ElevenLabsSoundGenerationRequest.properties.loop.description": "9a8fa559", + "components.schemas.ElevenLabsSoundGenerationRequest.properties.model_id.description": "365dc4bc", + "components.schemas.ElevenLabsSoundGenerationRequest.properties.prompt_influence.description": "69fd7daf", + "components.schemas.ElevenLabsSoundGenerationRequest.properties.text.description": "2f9d29d3", + "components.schemas.ElevenLabsSpeechToSpeechRequest.description": "5de9a797", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.audio.description": "70a74235", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.file_format.description": "25e2d946", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.model_id.description": "00222de2", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.remove_background_noise.description": "573b4b9a", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.seed.description": "2cf5b26d", + "components.schemas.ElevenLabsSpeechToSpeechRequest.properties.voice_settings.description": "adb18b3f", + "components.schemas.ElevenLabsTTSRequest.description": "dfe763d1", + "components.schemas.ElevenLabsTTSRequest.properties.apply_language_text_normalization.description": "53532c84", + "components.schemas.ElevenLabsTTSRequest.properties.apply_text_normalization.description": "5f03ef59", + "components.schemas.ElevenLabsTTSRequest.properties.language_code.description": "62fed9a4", + "components.schemas.ElevenLabsTTSRequest.properties.model_id.description": "b98e4fde", + "components.schemas.ElevenLabsTTSRequest.properties.next_request_ids.description": "180a37e8", + "components.schemas.ElevenLabsTTSRequest.properties.next_text.description": "f30c0dc3", + "components.schemas.ElevenLabsTTSRequest.properties.previous_request_ids.description": "c1143446", + "components.schemas.ElevenLabsTTSRequest.properties.previous_text.description": "8820b076", + "components.schemas.ElevenLabsTTSRequest.properties.pronunciation_dictionary_locators.description": "65f08720", + "components.schemas.ElevenLabsTTSRequest.properties.seed.description": "50f1afe9", + "components.schemas.ElevenLabsTTSRequest.properties.text.description": "698cf9bb", + "components.schemas.ElevenLabsTTSRequest.properties.use_pvc_as_ivc.description": "6a9a3ffe", + "components.schemas.ElevenLabsTextToDialogueRequest.description": "be374b6c", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.apply_text_normalization.description": "c52b83c1", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.inputs.description": "8f1e91c5", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.language_code.description": "5c013990", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.model_id.description": "57c38f67", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.pronunciation_dictionary_locators.description": "6e5864d3", + "components.schemas.ElevenLabsTextToDialogueRequest.properties.seed.description": "2cf5b26d", + "components.schemas.ElevenLabsValidationError.description": "08ecec1d", + "components.schemas.ElevenLabsValidationError.properties.detail.description": "75c58c3b", + "components.schemas.ElevenLabsValidationError.properties.detail.properties.message.description": "a5dc35f1", + "components.schemas.ElevenLabsValidationError.properties.detail.properties.status.description": "eafa4401", + "components.schemas.ElevenLabsVerifiedVoiceLanguage.properties.accent.description": "015e274d", + "components.schemas.ElevenLabsVerifiedVoiceLanguage.properties.language.description": "4e9943d5", + "components.schemas.ElevenLabsVerifiedVoiceLanguage.properties.locale.description": "07549bdd", + "components.schemas.ElevenLabsVerifiedVoiceLanguage.properties.model_id.description": "604f4e7c", + "components.schemas.ElevenLabsVerifiedVoiceLanguage.properties.preview_url.description": "e5754f97", + "components.schemas.ElevenLabsVoice.description": "717f5b57", + "components.schemas.ElevenLabsVoice.properties.category.description": "29bdcc75", + "components.schemas.ElevenLabsVoice.properties.labels.description": "c6fdf71f", + "components.schemas.ElevenLabsVoice.properties.verified_languages.description": "0f397d1c", + "components.schemas.ElevenLabsVoiceSettings.description": "ea7ad062", + "components.schemas.ElevenLabsVoiceSettings.properties.similarity_boost.description": "bc316515", + "components.schemas.ElevenLabsVoiceSettings.properties.speed.description": "9f956b6f", + "components.schemas.ElevenLabsVoiceSettings.properties.stability.description": "5784eb59", + "components.schemas.ElevenLabsVoiceSettings.properties.style.description": "6586a26b", + "components.schemas.ElevenLabsVoiceSettings.properties.use_speaker_boost.description": "a77a6bf2", + "components.schemas.ElevenLabsVoicesPaginatedResponse.description": "a0ba6be3", + "components.schemas.ElevenLabsVoicesPaginatedResponse.properties.has_more.description": "bc639ead", + "components.schemas.ElevenLabsVoicesPaginatedResponse.properties.items.description": "1a3ece98", + "components.schemas.ElevenLabsVoicesPaginatedResponse.properties.next_page_token.description": "720ba291", + "components.schemas.Error.properties.details.description": "ec60a618", + "components.schemas.Error.properties.message.description": "2ff29892", + "components.schemas.FalPatinaMaterialExtractRequest.description": "f8c3bc5f", + "components.schemas.FalPatinaMaterialExtractRequest.properties.enable_prompt_expansion.description": "83491200", + "components.schemas.FalPatinaMaterialExtractRequest.properties.enable_safety_checker.description": "2a829228", + "components.schemas.FalPatinaMaterialExtractRequest.properties.image_size.description": "91303ba2", + "components.schemas.FalPatinaMaterialExtractRequest.properties.image_url.description": "33437c88", + "components.schemas.FalPatinaMaterialExtractRequest.properties.maps.description": "1001eba1", + "components.schemas.FalPatinaMaterialExtractRequest.properties.num_images.description": "64b3e9e3", + "components.schemas.FalPatinaMaterialExtractRequest.properties.num_inference_steps.description": "14f3ad24", + "components.schemas.FalPatinaMaterialExtractRequest.properties.output_format.description": "31b8dc72", + "components.schemas.FalPatinaMaterialExtractRequest.properties.prompt.description": "cd2696b5", + "components.schemas.FalPatinaMaterialExtractRequest.properties.seed.description": "706cfbdd", + "components.schemas.FalPatinaMaterialExtractRequest.properties.strength.description": "89c8565e", + "components.schemas.FalPatinaMaterialExtractRequest.properties.tile_size.description": "e14ffa90", + "components.schemas.FalPatinaMaterialExtractRequest.properties.tile_stride.description": "912826be", + "components.schemas.FalPatinaMaterialExtractRequest.properties.tiling_mode.description": "af4b6100", + "components.schemas.FalPatinaMaterialExtractRequest.properties.upscale_factor.description": "9abf62cd", + "components.schemas.FalPatinaMaterialImage.description": "493dbf4d", + "components.schemas.FalPatinaMaterialImage.properties.map_type.description": "ca4b7c82", + "components.schemas.FalPatinaMaterialImage.properties.url.description": "ddb55997", + "components.schemas.FalPatinaMaterialRequest.description": "118170aa", + "components.schemas.FalPatinaMaterialRequest.properties.enable_prompt_expansion.description": "83491200", + "components.schemas.FalPatinaMaterialRequest.properties.enable_safety_checker.description": "2a829228", + "components.schemas.FalPatinaMaterialRequest.properties.image_size.description": "f9d1b04a", + "components.schemas.FalPatinaMaterialRequest.properties.image_url.description": "e4d07927", + "components.schemas.FalPatinaMaterialRequest.properties.maps.description": "6240dcf2", + "components.schemas.FalPatinaMaterialRequest.properties.mask_url.description": "d20e5f42", + "components.schemas.FalPatinaMaterialRequest.properties.num_images.description": "64b3e9e3", + "components.schemas.FalPatinaMaterialRequest.properties.num_inference_steps.description": "14f3ad24", + "components.schemas.FalPatinaMaterialRequest.properties.output_format.description": "31b8dc72", + "components.schemas.FalPatinaMaterialRequest.properties.prompt.description": "a7c44f59", + "components.schemas.FalPatinaMaterialRequest.properties.seed.description": "706cfbdd", + "components.schemas.FalPatinaMaterialRequest.properties.strength.description": "42879b3e", + "components.schemas.FalPatinaMaterialRequest.properties.tile_size.description": "e14ffa90", + "components.schemas.FalPatinaMaterialRequest.properties.tile_stride.description": "912826be", + "components.schemas.FalPatinaMaterialRequest.properties.tiling_mode.description": "af4b6100", + "components.schemas.FalPatinaMaterialRequest.properties.upscale_factor.description": "098359ea", + "components.schemas.FalPatinaMaterialResponse.description": "4ec6da1e", + "components.schemas.FalPatinaMaterialResponse.properties.images.description": "d70a5205", + "components.schemas.FalPatinaMaterialResponse.properties.prompt.description": "061bc3ea", + "components.schemas.FalPatinaMaterialResponse.properties.seed.description": "46615a68", + "components.schemas.FalPatinaMaterialResponse.properties.timings.description": "466f6009", + "components.schemas.FalPatinaRequest.description": "8f31dc28", + "components.schemas.FalPatinaRequest.properties.enable_safety_checker.description": "bc8b8bd1", + "components.schemas.FalPatinaRequest.properties.image_url.description": "9a4fdec9", + "components.schemas.FalPatinaRequest.properties.maps.description": "1001eba1", + "components.schemas.FalPatinaRequest.properties.output_format.description": "e7756131", + "components.schemas.FalPatinaRequest.properties.seed.description": "0ccdb5ac", + "components.schemas.FalPatinaRequest.properties.sync_mode.description": "f6e68164", + "components.schemas.FalQueueStatus.description": "4208e145", + "components.schemas.FalQueueStatus.properties.queue_position.description": "39f19be6", + "components.schemas.FalQueueStatus.properties.request_id.description": "f6386d74", + "components.schemas.FalQueueStatus.properties.status.description": "b093094f", + "components.schemas.FeaturesResponse.properties.partner_node_conversion_rate.description": "cbbce998", + "components.schemas.FileSearchTool.properties.type.description": "1201b87a", + "components.schemas.FileSearchTool.properties.vector_store_ids.description": "0bd09eb9", + "components.schemas.FileSearchToolCall.description": "bc942fd0", + "components.schemas.FileSearchToolCall.properties.id.description": "c82f7934", + "components.schemas.FileSearchToolCall.properties.queries.description": "83596062", + "components.schemas.FileSearchToolCall.properties.results.description": "3db73b84", + "components.schemas.FileSearchToolCall.properties.results.items.properties.file_id.description": "4c17f5c4", + "components.schemas.FileSearchToolCall.properties.results.items.properties.filename.description": "21724504", + "components.schemas.FileSearchToolCall.properties.results.items.properties.score.description": "f3fa221a", + "components.schemas.FileSearchToolCall.properties.results.items.properties.text.description": "e3842e23", + "components.schemas.FileSearchToolCall.properties.status.description": "4ef38826", + "components.schemas.FileSearchToolCall.properties.type.description": "59ab7e3d", + "components.schemas.FreeTierGrantState.description": "2f5648d1", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.blacks.description": "53d73778", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.brightness.description": "9af7f276", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.contrast.description": "528bfb7b", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.engine.description": "a1a2ff99", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.fixed_generation.description": "b91d1723", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.saturation.description": "dec4de2d", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.transfer_light_a.description": "ac1329b6", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.transfer_light_b.description": "8bffbaea", + "components.schemas.FreepikMagnificRelightRequest.properties.advanced_settings.properties.whites.description": "0aeae12b", + "components.schemas.FreepikMagnificRelightRequest.properties.change_background.description": "53236f58", + "components.schemas.FreepikMagnificRelightRequest.properties.image.description": "44a68bd9", + "components.schemas.FreepikMagnificRelightRequest.properties.interpolate_from_original.description": "ed1206fc", + "components.schemas.FreepikMagnificRelightRequest.properties.light_transfer_strength.description": "8ea323b8", + "components.schemas.FreepikMagnificRelightRequest.properties.preserve_details.description": "e5986288", + "components.schemas.FreepikMagnificRelightRequest.properties.prompt.description": "e3fd4a46", + "components.schemas.FreepikMagnificRelightRequest.properties.style.description": "7ac9c0ee", + "components.schemas.FreepikMagnificRelightRequest.properties.transfer_light_from_lightmap.description": "6ae4ea4c", + "components.schemas.FreepikMagnificRelightRequest.properties.transfer_light_from_reference_image.description": "e1db9d56", + "components.schemas.FreepikMagnificRelightRequest.properties.webhook_url.description": "05e5a4f8", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.engine.description": "6406f181", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.fixed_generation.description": "b91d1723", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.flavor.description": "6c950c4c", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.image.description": "255aa1fc", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.is_portrait.description": "3ec5fc64", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.portrait_beautifier.description": "479fcd5e", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.portrait_style.description": "5ee59ede", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.prompt.description": "3a98e9d7", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.reference_image.description": "b6e1dd3f", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.structure_strength.description": "ad6eefca", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.style_strength.description": "0a28533d", + "components.schemas.FreepikMagnificStyleTransferRequest.properties.webhook_url.description": "479383a5", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.creativity.description": "061b807f", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.engine.description": "4597b593", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.fractality.description": "1a029460", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.hdr.description": "70ae846b", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.image.description": "2e11ac1b", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.optimized_for.description": "f7ec56f3", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.prompt.description": "04f34c7f", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.resemblance.description": "71359848", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.scale_factor.description": "e6808154", + "components.schemas.FreepikMagnificUpscalerCreativeRequest.properties.webhook_url.description": "05e5a4f8", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.flavor.description": "bdbd7347", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.image.description": "18b312d7", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.scale_factor.description": "69216a86", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.sharpen.description": "807cec6c", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.smart_grain.description": "261d4404", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.ultra_detail.description": "0002a973", + "components.schemas.FreepikMagnificUpscalerPrecisionV2Request.properties.webhook_url.description": "81525e46", + "components.schemas.FreepikSkinEnhancerCreativeRequest.properties.image.description": "8c5f48b2", + "components.schemas.FreepikSkinEnhancerCreativeRequest.properties.sharpen.description": "5caac155", + "components.schemas.FreepikSkinEnhancerCreativeRequest.properties.smart_grain.description": "6619a40a", + "components.schemas.FreepikSkinEnhancerCreativeRequest.properties.webhook_url.description": "479383a5", + "components.schemas.FreepikSkinEnhancerFaithfulRequest.properties.image.description": "8c5f48b2", + "components.schemas.FreepikSkinEnhancerFaithfulRequest.properties.sharpen.description": "5caac155", + "components.schemas.FreepikSkinEnhancerFaithfulRequest.properties.skin_detail.description": "288840e2", + "components.schemas.FreepikSkinEnhancerFaithfulRequest.properties.smart_grain.description": "6619a40a", + "components.schemas.FreepikSkinEnhancerFaithfulRequest.properties.webhook_url.description": "479383a5", + "components.schemas.FreepikSkinEnhancerFlexibleRequest.properties.image.description": "8c5f48b2", + "components.schemas.FreepikSkinEnhancerFlexibleRequest.properties.optimized_for.description": "dbc1b3fb", + "components.schemas.FreepikSkinEnhancerFlexibleRequest.properties.sharpen.description": "5caac155", + "components.schemas.FreepikSkinEnhancerFlexibleRequest.properties.smart_grain.description": "6619a40a", + "components.schemas.FreepikSkinEnhancerFlexibleRequest.properties.webhook_url.description": "479383a5", + "components.schemas.FreepikTaskData.properties.generated.description": "0fc39b0b", + "components.schemas.FunctionTool.properties.description.description": "ee0d5f90", + "components.schemas.FunctionTool.properties.name.description": "dbb1b999", + "components.schemas.FunctionTool.properties.parameters.description": "b4fc330d", + "components.schemas.FunctionTool.properties.type.description": "1201b87a", + "components.schemas.FunctionToolCall.description": "820a743f", + "components.schemas.FunctionToolCall.properties.arguments.description": "2eb2cacc", + "components.schemas.FunctionToolCall.properties.call_id.description": "2042f931", + "components.schemas.FunctionToolCall.properties.id.description": "b73764ab", + "components.schemas.FunctionToolCall.properties.name.description": "f6fc1363", + "components.schemas.FunctionToolCall.properties.status.description": "d3371813", + "components.schemas.FunctionToolCall.properties.type.description": "4a5936ac", + "components.schemas.GeminiContent.description": "6d190ca4", + "components.schemas.GeminiFileData.description": "385be319", + "components.schemas.GeminiFileData.properties.fileUri.description": "d70fbad8", + "components.schemas.GeminiFunctionDeclaration.properties.parameters.description": "8ff3bfe9", + "components.schemas.GeminiGenerateContentRequest.properties.uploadImagesToStorage.description": "4c64e456", + "components.schemas.GeminiGenerateContentResponse.properties.createTime.description": "e66293ab", + "components.schemas.GeminiGenerateContentResponse.properties.modelVersion.description": "1aba9833", + "components.schemas.GeminiGenerateContentResponse.properties.responseId.description": "bdf46c32", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.description": "7e4e8956", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.properties.aspectRatio.description": "526ba40b", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.properties.imageOutputOptions.description": "3b20cbc5", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.properties.imageOutputOptions.properties.compressionQuality.description": "7021514a", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.properties.imageOutputOptions.properties.mimeType.description": "cf8c7d85", + "components.schemas.GeminiGenerationConfig.properties.imageConfig.properties.imageSize.description": "2233b3b7", + "components.schemas.GeminiGenerationConfig.properties.maxOutputTokens.description": "b089d858", + "components.schemas.GeminiGenerationConfig.properties.seed.description": "f26fd4f5", + "components.schemas.GeminiGenerationConfig.properties.temperature.description": "2f473098", + "components.schemas.GeminiGenerationConfig.properties.thinkingConfig.description": "ad1e24f0", + "components.schemas.GeminiGenerationConfig.properties.thinkingConfig.properties.includeThoughts.description": "f4edc661", + "components.schemas.GeminiGenerationConfig.properties.thinkingConfig.properties.thinkingBudget.description": "16af7ed2", + "components.schemas.GeminiGenerationConfig.properties.thinkingConfig.properties.thinkingLevel.description": "b30cfcc8", + "components.schemas.GeminiGenerationConfig.properties.topK.description": "541ee31f", + "components.schemas.GeminiGenerationConfig.properties.topP.description": "ce833ada", + "components.schemas.GeminiInlineData.description": "cee2a496", + "components.schemas.GeminiInlineData.properties.data.description": "7492ede9", + "components.schemas.GeminiMimeType.description": "4969583c", + "components.schemas.GeminiOffset.description": "13e32e3d", + "components.schemas.GeminiOffset.properties.nanos.description": "4629fa64", + "components.schemas.GeminiOffset.properties.seconds.description": "ff66926e", + "components.schemas.GeminiPart.properties.text.description": "8191792f", + "components.schemas.GeminiPart.properties.thought.description": "a827eac8", + "components.schemas.GeminiSafetyRating.properties.probability.description": "2965cf1b", + "components.schemas.GeminiSafetySetting.description": "97e849fd", + "components.schemas.GeminiSystemInstructionContent.description": "6ce6d661", + "components.schemas.GeminiSystemInstructionContent.properties.parts.description": "f3c5afea", + "components.schemas.GeminiSystemInstructionContent.properties.role.description": "186fdbb2", + "components.schemas.GeminiTextPart.properties.text.description": "8191792f", + "components.schemas.GeminiTool.description": "92056849", + "components.schemas.GeminiUsageMetadata.properties.cachedContentTokenCount.description": "9420b1e6", + "components.schemas.GeminiUsageMetadata.properties.candidatesTokenCount.description": "845030ca", + "components.schemas.GeminiUsageMetadata.properties.candidatesTokensDetails.description": "6f32ca49", + "components.schemas.GeminiUsageMetadata.properties.promptTokenCount.description": "c4bc7c7c", + "components.schemas.GeminiUsageMetadata.properties.promptTokensDetails.description": "0d5785a5", + "components.schemas.GeminiUsageMetadata.properties.thoughtsTokenCount.description": "a8b398e6", + "components.schemas.GeminiUsageMetadata.properties.toolUsePromptTokenCount.description": "51dba92b", + "components.schemas.GeminiUsageMetadata.properties.totalTokenCount.description": "cb0e21e2", + "components.schemas.GeminiUsageMetadata.properties.trafficType.description": "b1b3549f", + "components.schemas.GeminiVideoMetadata.description": "a75d40d7", + "components.schemas.GitCommitSummary.properties.author.description": "ca8d53a3", + "components.schemas.GitCommitSummary.properties.branch_name.description": "61a7a588", + "components.schemas.GitCommitSummary.properties.commit_hash.description": "5d73c6d8", + "components.schemas.GitCommitSummary.properties.commit_name.description": "c00c5cec", + "components.schemas.GitCommitSummary.properties.status_summary.description": "dc10b47e", + "components.schemas.GitCommitSummary.properties.timestamp.description": "625a8d83", + "components.schemas.GithubEnterprise.description": "cd23322b", + "components.schemas.GithubEnterprise.properties.avatar_url.description": "5987d8de", + "components.schemas.GithubEnterprise.properties.created_at.description": "abd58fff", + "components.schemas.GithubEnterprise.properties.description.description": "47e2cd96", + "components.schemas.GithubEnterprise.properties.html_url.description": "7cf25068", + "components.schemas.GithubEnterprise.properties.id.description": "21a23a8e", + "components.schemas.GithubEnterprise.properties.name.description": "e20f1f26", + "components.schemas.GithubEnterprise.properties.node_id.description": "3fd6b24a", + "components.schemas.GithubEnterprise.properties.slug.description": "07c5dc40", + "components.schemas.GithubEnterprise.properties.updated_at.description": "7580fd4b", + "components.schemas.GithubEnterprise.properties.website_url.description": "ba798ad2", + "components.schemas.GithubInstallation.description": "9f09d41a", + "components.schemas.GithubInstallation.properties.access_tokens_url.description": "65294e30", + "components.schemas.GithubInstallation.properties.app_id.description": "0cfd4fa8", + "components.schemas.GithubInstallation.properties.created_at.description": "a136a691", + "components.schemas.GithubInstallation.properties.events.description": "094c77b6", + "components.schemas.GithubInstallation.properties.html_url.description": "9e9bce92", + "components.schemas.GithubInstallation.properties.id.description": "6755bd24", + "components.schemas.GithubInstallation.properties.permissions.description": "fcb8712d", + "components.schemas.GithubInstallation.properties.repositories_url.description": "945fa0c3", + "components.schemas.GithubInstallation.properties.repository_selection.description": "a159055e", + "components.schemas.GithubInstallation.properties.single_file_name.description": "50a448c0", + "components.schemas.GithubInstallation.properties.target_id.description": "beab32d2", + "components.schemas.GithubInstallation.properties.target_type.description": "4ff96532", + "components.schemas.GithubInstallation.properties.updated_at.description": "dab24551", + "components.schemas.GithubOrganization.description": "d69d397d", + "components.schemas.GithubOrganization.properties.avatar_url.description": "09711234", + "components.schemas.GithubOrganization.properties.description.description": "f7f28225", + "components.schemas.GithubOrganization.properties.events_url.description": "86f3decf", + "components.schemas.GithubOrganization.properties.hooks_url.description": "73d46b25", + "components.schemas.GithubOrganization.properties.id.description": "38592c32", + "components.schemas.GithubOrganization.properties.issues_url.description": "b55cc0a7", + "components.schemas.GithubOrganization.properties.login.description": "41b36792", + "components.schemas.GithubOrganization.properties.members_url.description": "a47d83fb", + "components.schemas.GithubOrganization.properties.node_id.description": "a9640ad9", + "components.schemas.GithubOrganization.properties.public_members_url.description": "806874e6", + "components.schemas.GithubOrganization.properties.repos_url.description": "8e46c242", + "components.schemas.GithubOrganization.properties.url.description": "afb3b9c6", + "components.schemas.GithubReleaseAsset.description": "75329d6e", + "components.schemas.GithubReleaseAsset.properties.browser_download_url.description": "7f422fa3", + "components.schemas.GithubReleaseAsset.properties.content_type.description": "598e95fc", + "components.schemas.GithubReleaseAsset.properties.created_at.description": "20b975c7", + "components.schemas.GithubReleaseAsset.properties.download_count.description": "80fd4cdf", + "components.schemas.GithubReleaseAsset.properties.id.description": "df635067", + "components.schemas.GithubReleaseAsset.properties.label.description": "4d76cb60", + "components.schemas.GithubReleaseAsset.properties.name.description": "b1dac04b", + "components.schemas.GithubReleaseAsset.properties.node_id.description": "a324219b", + "components.schemas.GithubReleaseAsset.properties.size.description": "ce8d87f8", + "components.schemas.GithubReleaseAsset.properties.state.description": "8b30f12f", + "components.schemas.GithubReleaseAsset.properties.updated_at.description": "3f1e16a5", + "components.schemas.GithubReleaseWebhook.description": "a142618e", + "components.schemas.GithubReleaseWebhook.properties.action.description": "8f85b59b", + "components.schemas.GithubReleaseWebhook.properties.release.description": "9c6d762d", + "components.schemas.GithubReleaseWebhook.properties.release.properties.assets.description": "59bc9d75", + "components.schemas.GithubReleaseWebhook.properties.release.properties.assets_url.description": "ecca9ff0", + "components.schemas.GithubReleaseWebhook.properties.release.properties.body.description": "4a243ab5", + "components.schemas.GithubReleaseWebhook.properties.release.properties.created_at.description": "8127b843", + "components.schemas.GithubReleaseWebhook.properties.release.properties.draft.description": "aa4cc6cc", + "components.schemas.GithubReleaseWebhook.properties.release.properties.html_url.description": "dd650a65", + "components.schemas.GithubReleaseWebhook.properties.release.properties.id.description": "ca58ef4f", + "components.schemas.GithubReleaseWebhook.properties.release.properties.name.description": "f28ae12d", + "components.schemas.GithubReleaseWebhook.properties.release.properties.node_id.description": "1a99803e", + "components.schemas.GithubReleaseWebhook.properties.release.properties.prerelease.description": "44165d44", + "components.schemas.GithubReleaseWebhook.properties.release.properties.published_at.description": "c1977317", + "components.schemas.GithubReleaseWebhook.properties.release.properties.tag_name.description": "b2ed3bef", + "components.schemas.GithubReleaseWebhook.properties.release.properties.tarball_url.description": "be2e2d57", + "components.schemas.GithubReleaseWebhook.properties.release.properties.target_commitish.description": "ea6703dd", + "components.schemas.GithubReleaseWebhook.properties.release.properties.upload_url.description": "52ff0c0f", + "components.schemas.GithubReleaseWebhook.properties.release.properties.url.description": "74046c7a", + "components.schemas.GithubReleaseWebhook.properties.release.properties.zipball_url.description": "51ebf767", + "components.schemas.GithubRepository.description": "10a88a02", + "components.schemas.GithubRepository.properties.clone_url.description": "b82e5385", + "components.schemas.GithubRepository.properties.created_at.description": "fa2ab0a2", + "components.schemas.GithubRepository.properties.default_branch.description": "7426c264", + "components.schemas.GithubRepository.properties.description.description": "3a7a9358", + "components.schemas.GithubRepository.properties.fork.description": "0a441526", + "components.schemas.GithubRepository.properties.full_name.description": "d1fc238b", + "components.schemas.GithubRepository.properties.git_url.description": "73182b72", + "components.schemas.GithubRepository.properties.html_url.description": "63bccf71", + "components.schemas.GithubRepository.properties.id.description": "411151e9", + "components.schemas.GithubRepository.properties.name.description": "707cdfc2", + "components.schemas.GithubRepository.properties.node_id.description": "edc425a8", + "components.schemas.GithubRepository.properties.private.description": "c6f93e3e", + "components.schemas.GithubRepository.properties.pushed_at.description": "e50b29ec", + "components.schemas.GithubRepository.properties.ssh_url.description": "68dde328", + "components.schemas.GithubRepository.properties.updated_at.description": "03b08b7d", + "components.schemas.GithubRepository.properties.url.description": "3343e6bd", + "components.schemas.GithubUser.description": "ee01fde2", + "components.schemas.GithubUser.properties.avatar_url.description": "dc5af4e1", + "components.schemas.GithubUser.properties.gravatar_id.description": "19d92dee", + "components.schemas.GithubUser.properties.html_url.description": "8230f5cc", + "components.schemas.GithubUser.properties.id.description": "d865a85f", + "components.schemas.GithubUser.properties.login.description": "3dbfdff7", + "components.schemas.GithubUser.properties.node_id.description": "d561dc8b", + "components.schemas.GithubUser.properties.site_admin.description": "3c23d6ab", + "components.schemas.GithubUser.properties.type.description": "dedcdac1", + "components.schemas.GithubUser.properties.url.description": "ad27a3e1", + "components.schemas.HitPawErrorResponse.description": "a38f8202", + "components.schemas.HitPawErrorResponse.properties.error_code.description": "0570b384", + "components.schemas.HitPawErrorResponse.properties.message.description": "a5dc35f1", + "components.schemas.HitPawJobResponse.description": "fbf98d13", + "components.schemas.HitPawJobResponse.properties.code.description": "b5e3f7b0", + "components.schemas.HitPawJobResponse.properties.data.properties.consume_coins.description": "9b4fa755", + "components.schemas.HitPawJobResponse.properties.data.properties.job_id.description": "cd49bf8f", + "components.schemas.HitPawJobResponse.properties.message.description": "575e8608", + "components.schemas.HitPawPhotoEnhancerRequest.description": "020f636c", + "components.schemas.HitPawPhotoEnhancerRequest.properties.DPI.description": "78c001fb", + "components.schemas.HitPawPhotoEnhancerRequest.properties.exif.description": "69edfa45", + "components.schemas.HitPawPhotoEnhancerRequest.properties.extension.description": "88ef4a49", + "components.schemas.HitPawPhotoEnhancerRequest.properties.img_url.description": "f45a855e", + "components.schemas.HitPawPhotoEnhancerRequest.properties.model_name.description": "83a54d63", + "components.schemas.HitPawTaskStatusRequest.description": "75ca6594", + "components.schemas.HitPawTaskStatusRequest.properties.job_id.description": "7f28c87b", + "components.schemas.HitPawTaskStatusResponse.description": "b971ade8", + "components.schemas.HitPawTaskStatusResponse.properties.code.description": "b5e3f7b0", + "components.schemas.HitPawTaskStatusResponse.properties.data.properties.job_id.description": "3e0cce3a", + "components.schemas.HitPawTaskStatusResponse.properties.data.properties.original_url.description": "be5e61ce", + "components.schemas.HitPawTaskStatusResponse.properties.data.properties.res_url.description": "dfecef5c", + "components.schemas.HitPawTaskStatusResponse.properties.data.properties.status.description": "4785e775", + "components.schemas.HitPawTaskStatusResponse.properties.message.description": "575e8608", + "components.schemas.HitPawVideoEnhancerRequest.description": "71f9162c", + "components.schemas.HitPawVideoEnhancerRequest.properties.extension.description": "51c80a25", + "components.schemas.HitPawVideoEnhancerRequest.properties.model_name.description": "a946ce05", + "components.schemas.HitPawVideoEnhancerRequest.properties.original_resolution.description": "6dd78e7a", + "components.schemas.HitPawVideoEnhancerRequest.properties.resolution.description": "4e559b3e", + "components.schemas.HitPawVideoEnhancerRequest.properties.video_url.description": "cf2cc7b6", + "components.schemas.IdeogramColorPalette.description": "cbed8244", + "components.schemas.IdeogramColorPalette.oneOf[0].properties.name.description": "7306eb37", + "components.schemas.IdeogramColorPalette.oneOf[1].properties.members.description": "f8a0032e", + "components.schemas.IdeogramColorPalette.oneOf[1].properties.members.items.properties.color.description": "65448a27", + "components.schemas.IdeogramColorPalette.oneOf[1].properties.members.items.properties.weight.description": "56eecd01", + "components.schemas.IdeogramGenerateRequest.description": "50e63a69", + "components.schemas.IdeogramGenerateRequest.properties.image_request.description": "092952fa", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.aspect_ratio.description": "245b6284", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.color_palette.description": "3f4e60c4", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.magic_prompt_option.description": "5705d27e", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.model.description": "671a2dcc", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.negative_prompt.description": "1758790e", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.num_images.description": "1c02782e", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.prompt.description": "049acdf6", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.resolution.description": "8ccbb2f1", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.seed.description": "b8ab5b5f", + "components.schemas.IdeogramGenerateRequest.properties.image_request.properties.style_type.description": "4afe6df2", + "components.schemas.IdeogramGenerateResponse.description": "d24bef27", + "components.schemas.IdeogramGenerateResponse.properties.created.description": "4a5ccef2", + "components.schemas.IdeogramGenerateResponse.properties.data.description": "806a2ee8", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.is_image_safe.description": "9f0681b9", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.prompt.description": "47813ab6", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.resolution.description": "09b3d8cb", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.seed.description": "72ca88f8", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.style_type.description": "77a5decc", + "components.schemas.IdeogramGenerateResponse.properties.data.items.properties.url.description": "4058ecad", + "components.schemas.IdeogramV3EditRequest.properties.character_reference_images.description": "e4424e85", + "components.schemas.IdeogramV3EditRequest.properties.character_reference_images_mask.description": "3109c4a8", + "components.schemas.IdeogramV3EditRequest.properties.image.description": "ad402569", + "components.schemas.IdeogramV3EditRequest.properties.magic_prompt.description": "fbc52e9b", + "components.schemas.IdeogramV3EditRequest.properties.mask.description": "a4e8ea3c", + "components.schemas.IdeogramV3EditRequest.properties.num_images.description": "4b673228", + "components.schemas.IdeogramV3EditRequest.properties.prompt.description": "8ddd5832", + "components.schemas.IdeogramV3EditRequest.properties.seed.description": "96e94f94", + "components.schemas.IdeogramV3EditRequest.properties.style_codes.description": "9b3506cf", + "components.schemas.IdeogramV3EditRequest.properties.style_reference_images.description": "d4fcf08c", + "components.schemas.IdeogramV3RemixRequest.properties.character_reference_images.description": "e4424e85", + "components.schemas.IdeogramV3RemixRequest.properties.character_reference_images_mask.description": "3109c4a8", + "components.schemas.IdeogramV3Request.properties.aspect_ratio.description": "ea09d583", + "components.schemas.IdeogramV3Request.properties.character_reference_images.description": "e4424e85", + "components.schemas.IdeogramV3Request.properties.character_reference_images_mask.description": "3109c4a8", + "components.schemas.IdeogramV3Request.properties.color_palette.properties.name.description": "3eaf95a9", + "components.schemas.IdeogramV3Request.properties.magic_prompt.description": "7f00ecee", + "components.schemas.IdeogramV3Request.properties.negative_prompt.description": "ac9daf8f", + "components.schemas.IdeogramV3Request.properties.num_images.description": "1fb366eb", + "components.schemas.IdeogramV3Request.properties.prompt.description": "7f1a3d35", + "components.schemas.IdeogramV3Request.properties.resolution.description": "c3eb2021", + "components.schemas.IdeogramV3Request.properties.seed.description": "1e0448c3", + "components.schemas.IdeogramV3Request.properties.style_codes.description": "aa625598", + "components.schemas.IdeogramV3Request.properties.style_reference_images.description": "46fee1de", + "components.schemas.IdeogramV4Request.description": "00d82b06", + "components.schemas.IdeogramV4Request.properties.enable_copyright_detection.description": "78523439", + "components.schemas.IdeogramV4Request.properties.json_prompt.description": "e7a9aa86", + "components.schemas.IdeogramV4Request.properties.resolution.description": "98a28498", + "components.schemas.IdeogramV4Request.properties.text_prompt.description": "219b7175", + "components.schemas.ImageGenerationServerTool_OpenRouter.description": "629fb7b3", + "components.schemas.ImagenImageGenerationInstance.properties.prompt.description": "80e0d34a", + "components.schemas.ImagenImagePrediction.properties.bytesBase64Encoded.description": "faaabc4e", + "components.schemas.ImagenImagePrediction.properties.mimeType.description": "c8af3a36", + "components.schemas.ImagenImagePrediction.properties.prompt.description": "b0c86d8a", + "components.schemas.Includable.description": "cd9a54ed", + "components.schemas.InputFileContent.description": "85622d1d", + "components.schemas.InputFileContent.properties.file_data.description": "689eaa2f", + "components.schemas.InputFileContent.properties.file_id.description": "85d64188", + "components.schemas.InputFileContent.properties.filename.description": "852ff03c", + "components.schemas.InputFileContent.properties.type.description": "86f01c25", + "components.schemas.InputImageContent.description": "7bf06972", + "components.schemas.InputImageContent.properties.detail.description": "4a94d1be", + "components.schemas.InputImageContent.properties.file_id.description": "85d64188", + "components.schemas.InputImageContent.properties.image_url.description": "7e548e34", + "components.schemas.InputImageContent.properties.type.description": "6b728f27", + "components.schemas.InputMessageContentList.description": "02ac12e9", + "components.schemas.InputTextContent.description": "c3b01a4b", + "components.schemas.InputTextContent.properties.text.description": "c092ca65", + "components.schemas.InputTextContent.properties.type.description": "96af07d2", + "components.schemas.Item.description": "75773418", + "components.schemas.KlingAudioUploadType.description": "c1f431e5", + "components.schemas.KlingAvatarMode.description": "87222c5b", + "components.schemas.KlingAvatarRequest.properties.audio_id.description": "ff86c9dd", + "components.schemas.KlingAvatarRequest.properties.callback_url.description": "3c0657d9", + "components.schemas.KlingAvatarRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingAvatarRequest.properties.image.description": "066360df", + "components.schemas.KlingAvatarRequest.properties.prompt.description": "b7ef46c2", + "components.schemas.KlingAvatarRequest.properties.sound_file.description": "a27c4c53", + "components.schemas.KlingAvatarRequest.properties.watermark_info.properties.enabled.description": "2c530c23", + "components.schemas.KlingAvatarResponse.properties.code.description": "0570b384", + "components.schemas.KlingAvatarResponse.properties.data.properties.created_at.description": "5d77aa39", + "components.schemas.KlingAvatarResponse.properties.data.properties.final_unit_deduction.description": "a080e1a2", + "components.schemas.KlingAvatarResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingAvatarResponse.properties.data.properties.task_status_msg.description": "e0565888", + "components.schemas.KlingAvatarResponse.properties.data.properties.updated_at.description": "63ce5101", + "components.schemas.KlingAvatarResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingAvatarResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingCameraConfig.properties.horizontal.description": "a9f00ccc", + "components.schemas.KlingCameraConfig.properties.pan.description": "708dd250", + "components.schemas.KlingCameraConfig.properties.roll.description": "4f6df63c", + "components.schemas.KlingCameraConfig.properties.tilt.description": "7bb9188d", + "components.schemas.KlingCameraConfig.properties.vertical.description": "99d85f29", + "components.schemas.KlingCameraConfig.properties.zoom.description": "fcb5265d", + "components.schemas.KlingCameraControlType.description": "95ade433", + "components.schemas.KlingCharacterEffectModelName.description": "fe48ebef", + "components.schemas.KlingDualCharacterEffectsScene.description": "60253259", + "components.schemas.KlingDualCharacterImages.items.description": "aef244d3", + "components.schemas.KlingErrorResponse.properties.code.description": "ffb72142", + "components.schemas.KlingErrorResponse.properties.message.description": "52710385", + "components.schemas.KlingErrorResponse.properties.request_id.description": "cd1b3a95", + "components.schemas.KlingImage2VideoRequest.properties.callback_url.description": "f95e5959", + "components.schemas.KlingImage2VideoRequest.properties.dynamic_masks.description": "81f4d628", + "components.schemas.KlingImage2VideoRequest.properties.dynamic_masks.items.properties.mask.description": "47664ada", + "components.schemas.KlingImage2VideoRequest.properties.dynamic_masks.items.properties.trajectories.items.properties.x.description": "1be27cf9", + "components.schemas.KlingImage2VideoRequest.properties.dynamic_masks.items.properties.trajectories.items.properties.y.description": "6f1924a5", + "components.schemas.KlingImage2VideoRequest.properties.element_list.description": "a2d90fff", + "components.schemas.KlingImage2VideoRequest.properties.element_list.items.properties.element_id.description": "77509169", + "components.schemas.KlingImage2VideoRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingImage2VideoRequest.properties.image.description": "b4f435da", + "components.schemas.KlingImage2VideoRequest.properties.image_tail.description": "fcc00d76", + "components.schemas.KlingImage2VideoRequest.properties.multi_prompt.description": "cf2fc9cf", + "components.schemas.KlingImage2VideoRequest.properties.multi_prompt.items.properties.duration.description": "6aeaff72", + "components.schemas.KlingImage2VideoRequest.properties.multi_prompt.items.properties.index.description": "26fa0516", + "components.schemas.KlingImage2VideoRequest.properties.multi_prompt.items.properties.prompt.description": "d56d233a", + "components.schemas.KlingImage2VideoRequest.properties.multi_shot.description": "f86cb835", + "components.schemas.KlingImage2VideoRequest.properties.negative_prompt.description": "463fe9af", + "components.schemas.KlingImage2VideoRequest.properties.prompt.description": "b081ce99", + "components.schemas.KlingImage2VideoRequest.properties.shot_type.description": "6324f020", + "components.schemas.KlingImage2VideoRequest.properties.sound.description": "f83eda08", + "components.schemas.KlingImage2VideoRequest.properties.static_mask.description": "98468045", + "components.schemas.KlingImage2VideoRequest.properties.voice_list.description": "802ae668", + "components.schemas.KlingImage2VideoRequest.properties.voice_list.items.properties.voice_id.description": "e84c097a", + "components.schemas.KlingImage2VideoRequest.properties.watermark_info.description": "a768050c", + "components.schemas.KlingImage2VideoRequest.properties.watermark_info.properties.enabled.description": "755ad8ab", + "components.schemas.KlingImageGenAspectRatio.description": "7e44e5e3", + "components.schemas.KlingImageGenImageReferenceType.description": "53a4c1aa", + "components.schemas.KlingImageGenModelName.description": "a501a70a", + "components.schemas.KlingImageGenerationsRequest.properties.callback_url.description": "70bbd919", + "components.schemas.KlingImageGenerationsRequest.properties.element_list.description": "e9859f59", + "components.schemas.KlingImageGenerationsRequest.properties.element_list.items.properties.element_id.description": "77509169", + "components.schemas.KlingImageGenerationsRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingImageGenerationsRequest.properties.human_fidelity.description": "0c3cb6ed", + "components.schemas.KlingImageGenerationsRequest.properties.image.description": "7e7e2111", + "components.schemas.KlingImageGenerationsRequest.properties.image_fidelity.description": "92c84603", + "components.schemas.KlingImageGenerationsRequest.properties.n.description": "70f7af7d", + "components.schemas.KlingImageGenerationsRequest.properties.negative_prompt.description": "6268b46e", + "components.schemas.KlingImageGenerationsRequest.properties.prompt.description": "f65ec204", + "components.schemas.KlingImageGenerationsRequest.properties.resolution.description": "80e7a807", + "components.schemas.KlingImageGenerationsResponse.properties.code.description": "0570b384", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.created_at.description": "34c09a78", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.final_unit_deduction.description": "a080e1a2", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.task_info.properties.external_task_id.description": "523ced72", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.task_status_msg.description": "9c4268b5", + "components.schemas.KlingImageGenerationsResponse.properties.data.properties.updated_at.description": "66a1376e", + "components.schemas.KlingImageGenerationsResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingImageGenerationsResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingImageResult.properties.index.description": "e79576a5", + "components.schemas.KlingImageResult.properties.url.description": "f8e5207c", + "components.schemas.KlingLipSyncInputObject.properties.audio_file.description": "88aa2adf", + "components.schemas.KlingLipSyncInputObject.properties.audio_url.description": "62b4f244", + "components.schemas.KlingLipSyncInputObject.properties.text.description": "c2c7055f", + "components.schemas.KlingLipSyncInputObject.properties.video_id.description": "cc706bec", + "components.schemas.KlingLipSyncInputObject.properties.video_url.description": "4ac56d45", + "components.schemas.KlingLipSyncInputObject.properties.voice_id.description": "b1e8b822", + "components.schemas.KlingLipSyncInputObject.properties.voice_speed.description": "4a7553ba", + "components.schemas.KlingLipSyncMode.description": "a1e88026", + "components.schemas.KlingLipSyncRequest.properties.callback_url.description": "f95e5959", + "components.schemas.KlingLipSyncResponse.properties.code.description": "0570b384", + "components.schemas.KlingLipSyncResponse.properties.data.properties.created_at.description": "5d77aa39", + "components.schemas.KlingLipSyncResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingLipSyncResponse.properties.data.properties.updated_at.description": "63ce5101", + "components.schemas.KlingLipSyncResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingLipSyncResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingLipSyncVoiceLanguage.description": "0aede926", + "components.schemas.KlingMotionControlRequest.properties.callback_url.description": "bc5327da", + "components.schemas.KlingMotionControlRequest.properties.character_orientation.description": "44cec623", + "components.schemas.KlingMotionControlRequest.properties.element_list.description": "fde0cb37", + "components.schemas.KlingMotionControlRequest.properties.element_list.items.properties.element_id.description": "77509169", + "components.schemas.KlingMotionControlRequest.properties.external_task_id.description": "5afede4c", + "components.schemas.KlingMotionControlRequest.properties.image_url.description": "e05669af", + "components.schemas.KlingMotionControlRequest.properties.keep_original_sound.description": "d5db1242", + "components.schemas.KlingMotionControlRequest.properties.mode.description": "137955a6", + "components.schemas.KlingMotionControlRequest.properties.model_name.description": "4996115a", + "components.schemas.KlingMotionControlRequest.properties.prompt.description": "548ff7e0", + "components.schemas.KlingMotionControlRequest.properties.video_url.description": "5721c0c2", + "components.schemas.KlingMotionControlRequest.properties.watermark_info.description": "a768050c", + "components.schemas.KlingMotionControlRequest.properties.watermark_info.properties.enabled.description": "755ad8ab", + "components.schemas.KlingMotionControlResponse.properties.code.description": "0570b384", + "components.schemas.KlingMotionControlResponse.properties.data.properties.created_at.description": "1754e5ec", + "components.schemas.KlingMotionControlResponse.properties.data.properties.final_unit_deduction.description": "a080e1a2", + "components.schemas.KlingMotionControlResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingMotionControlResponse.properties.data.properties.task_info.properties.external_task_id.description": "523ced72", + "components.schemas.KlingMotionControlResponse.properties.data.properties.task_status_msg.description": "9c4268b5", + "components.schemas.KlingMotionControlResponse.properties.data.properties.updated_at.description": "03349877", + "components.schemas.KlingMotionControlResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingMotionControlResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingMotionControlVideoResult.properties.duration.description": "571c9ed2", + "components.schemas.KlingMotionControlVideoResult.properties.id.description": "5ea6eadd", + "components.schemas.KlingMotionControlVideoResult.properties.url.description": "8a14b774", + "components.schemas.KlingMotionControlVideoResult.properties.watermark_url.description": "95f2aa97", + "components.schemas.KlingOmniImageRequest.properties.aspect_ratio.description": "0b010657", + "components.schemas.KlingOmniImageRequest.properties.callback_url.description": "bc5327da", + "components.schemas.KlingOmniImageRequest.properties.element_list.description": "e9859f59", + "components.schemas.KlingOmniImageRequest.properties.element_list.items.properties.element_id.description": "77509169", + "components.schemas.KlingOmniImageRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingOmniImageRequest.properties.image_list.description": "b5f268a9", + "components.schemas.KlingOmniImageRequest.properties.image_list.items.properties.image.description": "894920d1", + "components.schemas.KlingOmniImageRequest.properties.model_name.description": "a501a70a", + "components.schemas.KlingOmniImageRequest.properties.n.description": "70f7af7d", + "components.schemas.KlingOmniImageRequest.properties.prompt.description": "985fe223", + "components.schemas.KlingOmniImageRequest.properties.resolution.description": "5c1565fe", + "components.schemas.KlingOmniImageRequest.properties.result_type.description": "6f725b78", + "components.schemas.KlingOmniImageRequest.properties.series_amount.description": "09825ba9", + "components.schemas.KlingOmniImageResponse.properties.code.description": "0570b384", + "components.schemas.KlingOmniImageResponse.properties.data.properties.created_at.description": "34c09a78", + "components.schemas.KlingOmniImageResponse.properties.data.properties.final_unit_deduction.description": "a080e1a2", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_info.properties.external_task_id.description": "523ced72", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_result.properties.result_type.description": "0bda7c58", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_result.properties.series_images.description": "c1817fea", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_result.properties.series_images.items.properties.index.description": "c89e9185", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_result.properties.series_images.items.properties.url.description": "f8e5207c", + "components.schemas.KlingOmniImageResponse.properties.data.properties.task_status_msg.description": "baa63663", + "components.schemas.KlingOmniImageResponse.properties.data.properties.updated_at.description": "66a1376e", + "components.schemas.KlingOmniImageResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingOmniImageResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingOmniVideoRequest.properties.aspect_ratio.description": "efa92fd4", + "components.schemas.KlingOmniVideoRequest.properties.callback_url.description": "bc5327da", + "components.schemas.KlingOmniVideoRequest.properties.duration.description": "53d6a804", + "components.schemas.KlingOmniVideoRequest.properties.element_list.description": "e23cc470", + "components.schemas.KlingOmniVideoRequest.properties.element_list.items.properties.element_id.description": "77509169", + "components.schemas.KlingOmniVideoRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingOmniVideoRequest.properties.image_list.description": "7915f15e", + "components.schemas.KlingOmniVideoRequest.properties.image_list.items.properties.image_url.description": "f9b9fb19", + "components.schemas.KlingOmniVideoRequest.properties.image_list.items.properties.type.description": "e0e027c0", + "components.schemas.KlingOmniVideoRequest.properties.mode.description": "45655874", + "components.schemas.KlingOmniVideoRequest.properties.model_name.description": "a501a70a", + "components.schemas.KlingOmniVideoRequest.properties.multi_prompt.description": "cf2fc9cf", + "components.schemas.KlingOmniVideoRequest.properties.multi_prompt.items.properties.duration.description": "6aeaff72", + "components.schemas.KlingOmniVideoRequest.properties.multi_prompt.items.properties.index.description": "26fa0516", + "components.schemas.KlingOmniVideoRequest.properties.multi_prompt.items.properties.prompt.description": "d56d233a", + "components.schemas.KlingOmniVideoRequest.properties.multi_shot.description": "f86cb835", + "components.schemas.KlingOmniVideoRequest.properties.prompt.description": "383c64fd", + "components.schemas.KlingOmniVideoRequest.properties.shot_type.description": "6324f020", + "components.schemas.KlingOmniVideoRequest.properties.sound.description": "0b7d6480", + "components.schemas.KlingOmniVideoRequest.properties.video_list.description": "cc48aacc", + "components.schemas.KlingOmniVideoRequest.properties.video_list.items.properties.keep_original_sound.description": "8778a62f", + "components.schemas.KlingOmniVideoRequest.properties.video_list.items.properties.refer_type.description": "2b2d874f", + "components.schemas.KlingOmniVideoRequest.properties.video_list.items.properties.video_url.description": "bb1db105", + "components.schemas.KlingOmniVideoRequest.properties.watermark_info.description": "a768050c", + "components.schemas.KlingOmniVideoRequest.properties.watermark_info.properties.enabled.description": "755ad8ab", + "components.schemas.KlingPresetsElementTask.properties.created_at.description": "2db7b589", + "components.schemas.KlingPresetsElementTask.properties.updated_at.description": "fc336b8a", + "components.schemas.KlingQueryTaskResponse.properties.code.description": "0570b384", + "components.schemas.KlingQueryTaskResponse.properties.data.properties.created_at.description": "34c09a78", + "components.schemas.KlingQueryTaskResponse.properties.data.properties.final_unit_deduction.description": "a080e1a2", + "components.schemas.KlingQueryTaskResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingQueryTaskResponse.properties.data.properties.task_status_msg.description": "9c4268b5", + "components.schemas.KlingQueryTaskResponse.properties.data.properties.updated_at.description": "66a1376e", + "components.schemas.KlingQueryTaskResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingQueryTaskResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingResourcePackageResponse.properties.code.description": "d8378b01", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.code.description": "d8378b01", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.msg.description": "128c11ab", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.description": "f864d5a3", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.effective_time.description": "62f35649", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.invalid_time.description": "bddf2910", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.purchase_time.description": "f0e38499", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.remaining_quantity.description": "92ebd4f0", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.resource_pack_id.description": "6efffa2a", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.resource_pack_name.description": "9d56db0d", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.resource_pack_type.description": "73bc4327", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.status.description": "c8e1c4a6", + "components.schemas.KlingResourcePackageResponse.properties.data.properties.resource_pack_subscribe_infos.items.properties.total_quantity.description": "d9c71159", + "components.schemas.KlingResourcePackageResponse.properties.message.description": "128c11ab", + "components.schemas.KlingResourcePackageResponse.properties.request_id.description": "62d00656", + "components.schemas.KlingSingleImageEffectDuration.description": "236b95d5", + "components.schemas.KlingSingleImageEffectInput.properties.image.description": "8f3c19e6", + "components.schemas.KlingSingleImageEffectModelName.description": "214c4904", + "components.schemas.KlingSingleImageEffectsScene.description": "2cfee1b0", + "components.schemas.KlingTaskStatus.description": "63428ae5", + "components.schemas.KlingText2VideoRequest.properties.callback_url.description": "70bbd919", + "components.schemas.KlingText2VideoRequest.properties.external_task_id.description": "b13cb4aa", + "components.schemas.KlingText2VideoRequest.properties.multi_prompt.description": "cf2fc9cf", + "components.schemas.KlingText2VideoRequest.properties.multi_prompt.items.properties.duration.description": "6aeaff72", + "components.schemas.KlingText2VideoRequest.properties.multi_prompt.items.properties.index.description": "26fa0516", + "components.schemas.KlingText2VideoRequest.properties.multi_prompt.items.properties.prompt.description": "d56d233a", + "components.schemas.KlingText2VideoRequest.properties.multi_shot.description": "f86cb835", + "components.schemas.KlingText2VideoRequest.properties.negative_prompt.description": "463fe9af", + "components.schemas.KlingText2VideoRequest.properties.prompt.description": "b081ce99", + "components.schemas.KlingText2VideoRequest.properties.shot_type.description": "6324f020", + "components.schemas.KlingText2VideoRequest.properties.sound.description": "f83eda08", + "components.schemas.KlingText2VideoRequest.properties.watermark_info.description": "a768050c", + "components.schemas.KlingText2VideoRequest.properties.watermark_info.properties.enabled.description": "755ad8ab", + "components.schemas.KlingTextToVideoModelName.description": "a501a70a", + "components.schemas.KlingV2CreateTaskResponse.description": "cfe83d07", + "components.schemas.KlingV2CreateTaskResponse.properties.code.description": "b79bc486", + "components.schemas.KlingV2CreateTaskResponse.properties.data.properties.create_time.description": "4de40456", + "components.schemas.KlingV2CreateTaskResponse.properties.data.properties.external_id.description": "9b8d8c4a", + "components.schemas.KlingV2CreateTaskResponse.properties.data.properties.id.description": "68109191", + "components.schemas.KlingV2CreateTaskResponse.properties.data.properties.status.description": "4f63ad23", + "components.schemas.KlingV2CreateTaskResponse.properties.data.properties.update_time.description": "84bcd8d3", + "components.schemas.KlingV2CreateTaskResponse.properties.message.description": "d0e4554d", + "components.schemas.KlingV2CreateTaskResponse.properties.request_id.description": "42e56ac5", + "components.schemas.KlingV2Image2VideoRequest.properties.contents.description": "a83e77f5", + "components.schemas.KlingV2Image2VideoRequest.properties.contents.items.properties.text.description": "e574ecd2", + "components.schemas.KlingV2Image2VideoRequest.properties.contents.items.properties.type.description": "cfd2ddec", + "components.schemas.KlingV2Image2VideoRequest.properties.contents.items.properties.url.description": "4a0c917a", + "components.schemas.KlingV2Image2VideoRequest.properties.settings.description": "a2022c69", + "components.schemas.KlingV2Image2VideoRequest.properties.settings.properties.duration.description": "3cc2ffff", + "components.schemas.KlingV2Image2VideoRequest.properties.settings.properties.resolution.description": "c0f447b2", + "components.schemas.KlingV2Options.description": "cb7ef32a", + "components.schemas.KlingV2Options.properties.callback_url.description": "b003efb4", + "components.schemas.KlingV2Options.properties.external_task_id.description": "7bc26876", + "components.schemas.KlingV2Options.properties.watermark_info.description": "61a5d6a2", + "components.schemas.KlingV2Options.properties.watermark_info.properties.enabled.description": "3187212d", + "components.schemas.KlingV2Output.description": "6b8fd4b2", + "components.schemas.KlingV2Output.properties.duration.description": "5765cb86", + "components.schemas.KlingV2Output.properties.group_id.description": "a02eecd2", + "components.schemas.KlingV2Output.properties.id.description": "3a4dbf4a", + "components.schemas.KlingV2Output.properties.mp3_duration.description": "9e0f91e3", + "components.schemas.KlingV2Output.properties.mp3_url.description": "52dd1f77", + "components.schemas.KlingV2Output.properties.name.description": "81e7813e", + "components.schemas.KlingV2Output.properties.owned_by.description": "82bf267d", + "components.schemas.KlingV2Output.properties.status.description": "6cb7f1c7", + "components.schemas.KlingV2Output.properties.type.description": "2200ac61", + "components.schemas.KlingV2Output.properties.url.description": "94972c8d", + "components.schemas.KlingV2Output.properties.watermark_url.description": "a2b98aed", + "components.schemas.KlingV2Output.properties.wav_duration.description": "3192a43c", + "components.schemas.KlingV2Output.properties.wav_url.description": "544bd8a4", + "components.schemas.KlingV2QueryTaskResponse.description": "6f7b6060", + "components.schemas.KlingV2QueryTaskResponse.properties.code.description": "b79bc486", + "components.schemas.KlingV2QueryTaskResponse.properties.data.description": "79bc39d8", + "components.schemas.KlingV2QueryTaskResponse.properties.message.description": "d0e4554d", + "components.schemas.KlingV2QueryTaskResponse.properties.request_id.description": "42e56ac5", + "components.schemas.KlingV2Task.description": "e8bcc2c8", + "components.schemas.KlingV2Task.properties.billing.description": "86a75bb6", + "components.schemas.KlingV2Task.properties.billing.items.properties.amount.description": "9c8a1040", + "components.schemas.KlingV2Task.properties.billing.items.properties.charge_type.description": "4999e7f5", + "components.schemas.KlingV2Task.properties.billing.items.properties.package_type.description": "35af4dec", + "components.schemas.KlingV2Task.properties.create_time.description": "4de40456", + "components.schemas.KlingV2Task.properties.external_id.description": "9b8d8c4a", + "components.schemas.KlingV2Task.properties.id.description": "3db7c34e", + "components.schemas.KlingV2Task.properties.message.description": "bf416ceb", + "components.schemas.KlingV2Task.properties.outputs.description": "32069eb4", + "components.schemas.KlingV2Task.properties.status.description": "4f63ad23", + "components.schemas.KlingV2Task.properties.update_time.description": "84bcd8d3", + "components.schemas.KlingV2Text2VideoRequest.properties.prompt.description": "8af33dfb", + "components.schemas.KlingV2Text2VideoRequest.properties.settings.description": "801e2db1", + "components.schemas.KlingV2Text2VideoRequest.properties.settings.properties.aspect_ratio.description": "f88caede", + "components.schemas.KlingV2Text2VideoRequest.properties.settings.properties.duration.description": "3cc2ffff", + "components.schemas.KlingV2Text2VideoRequest.properties.settings.properties.resolution.description": "c0f447b2", + "components.schemas.KlingVideoEffectsRequest.properties.callback_url.description": "3c0657d9", + "components.schemas.KlingVideoEffectsRequest.properties.external_task_id.description": "df212fc1", + "components.schemas.KlingVideoEffectsResponse.properties.code.description": "0570b384", + "components.schemas.KlingVideoEffectsResponse.properties.data.properties.created_at.description": "5d77aa39", + "components.schemas.KlingVideoEffectsResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingVideoEffectsResponse.properties.data.properties.updated_at.description": "63ce5101", + "components.schemas.KlingVideoEffectsResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingVideoEffectsResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingVideoExtendRequest.properties.callback_url.description": "f95e5959", + "components.schemas.KlingVideoExtendRequest.properties.negative_prompt.description": "87de36e0", + "components.schemas.KlingVideoExtendRequest.properties.prompt.description": "f6bb7282", + "components.schemas.KlingVideoExtendRequest.properties.video_id.description": "04df9acd", + "components.schemas.KlingVideoExtendResponse.properties.code.description": "0570b384", + "components.schemas.KlingVideoExtendResponse.properties.data.properties.created_at.description": "5d77aa39", + "components.schemas.KlingVideoExtendResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingVideoExtendResponse.properties.data.properties.updated_at.description": "63ce5101", + "components.schemas.KlingVideoExtendResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingVideoExtendResponse.properties.request_id.description": "d561f528", + "components.schemas.KlingVideoGenAspectRatio.description": "0369e1fa", + "components.schemas.KlingVideoGenCfgScale.description": "63efa46a", + "components.schemas.KlingVideoGenDuration.description": "d7ee3a61", + "components.schemas.KlingVideoGenMode.description": "00c2d33f", + "components.schemas.KlingVideoGenModelName.description": "a501a70a", + "components.schemas.KlingVideoResult.properties.duration.description": "fde7639a", + "components.schemas.KlingVideoResult.properties.id.description": "b7086e46", + "components.schemas.KlingVideoResult.properties.url.description": "07f2aaac", + "components.schemas.KlingVideoResult.properties.watermark_url.description": "95698e33", + "components.schemas.KlingVirtualTryOnModelName.description": "a501a70a", + "components.schemas.KlingVirtualTryOnRequest.properties.callback_url.description": "70bbd919", + "components.schemas.KlingVirtualTryOnRequest.properties.cloth_image.description": "b4e6dbd5", + "components.schemas.KlingVirtualTryOnRequest.properties.human_image.description": "0adf9d41", + "components.schemas.KlingVirtualTryOnResponse.properties.code.description": "0570b384", + "components.schemas.KlingVirtualTryOnResponse.properties.data.properties.created_at.description": "5d77aa39", + "components.schemas.KlingVirtualTryOnResponse.properties.data.properties.task_id.description": "3e0cce3a", + "components.schemas.KlingVirtualTryOnResponse.properties.data.properties.task_status_msg.description": "e0565888", + "components.schemas.KlingVirtualTryOnResponse.properties.data.properties.updated_at.description": "63ce5101", + "components.schemas.KlingVirtualTryOnResponse.properties.message.description": "a5dc35f1", + "components.schemas.KlingVirtualTryOnResponse.properties.request_id.description": "d561f528", + "components.schemas.KreaAssetUploadRequest.properties.description.description": "29847c37", + "components.schemas.KreaAssetUploadRequest.properties.file.description": "091e8bfe", + "components.schemas.KreaGenerateImageRequest.properties.aspect_ratio.description": "deada7d2", + "components.schemas.KreaGenerateImageRequest.properties.creativity.description": "e81eaa77", + "components.schemas.KreaGenerateImageRequest.properties.image_style_references.description": "e75b343f", + "components.schemas.KreaGenerateImageRequest.properties.moodboards.description": "7dcd6af7", + "components.schemas.KreaGenerateImageRequest.properties.resolution.description": "bf8c583e", + "components.schemas.KreaGenerateImageRequest.properties.styles.description": "58c6d253", + "components.schemas.KreaJob.properties.status.description": "f116e6f9", + "components.schemas.LTXImage2VideoRequest.properties.duration.description": "de4fb026", + "components.schemas.LTXImage2VideoRequest.properties.fps.description": "6d1aab34", + "components.schemas.LTXImage2VideoRequest.properties.generate_audio.description": "5aa1d296", + "components.schemas.LTXImage2VideoRequest.properties.image_uri.description": "abeee955", + "components.schemas.LTXImage2VideoRequest.properties.model.description": "d2ad8216", + "components.schemas.LTXImage2VideoRequest.properties.prompt.description": "1ae8f5fc", + "components.schemas.LTXImage2VideoRequest.properties.resolution.description": "e5f00815", + "components.schemas.LTXText2VideoRequest.properties.duration.description": "de4fb026", + "components.schemas.LTXText2VideoRequest.properties.fps.description": "6d1aab34", + "components.schemas.LTXText2VideoRequest.properties.generate_audio.description": "5aa1d296", + "components.schemas.LTXText2VideoRequest.properties.model.description": "d2ad8216", + "components.schemas.LTXText2VideoRequest.properties.prompt.description": "42d0198e", + "components.schemas.LTXText2VideoRequest.properties.resolution.description": "e5f00815", + "components.schemas.LumaAgentsAspectRatio.description": "41f92a90", + "components.schemas.LumaAgentsError.description": "d49a0492", + "components.schemas.LumaAgentsError.properties.detail.description": "84e45725", + "components.schemas.LumaAgentsFailureCode.description": "0be4f0ae", + "components.schemas.LumaAgentsGeneration.description": "6ed283a2", + "components.schemas.LumaAgentsGeneration.properties.created_at.description": "377d1833", + "components.schemas.LumaAgentsGeneration.properties.failure_reason.description": "f0101539", + "components.schemas.LumaAgentsGeneration.properties.id.description": "03235f39", + "components.schemas.LumaAgentsGeneration.properties.model.description": "24a0459f", + "components.schemas.LumaAgentsGenerationOutput.description": "9c722f47", + "components.schemas.LumaAgentsGenerationOutput.properties.type.description": "cf7e03c2", + "components.schemas.LumaAgentsGenerationOutput.properties.url.description": "b0cd3a25", + "components.schemas.LumaAgentsGenerationRequest.description": "114786ae", + "components.schemas.LumaAgentsGenerationRequest.properties.image_ref.description": "eee33835", + "components.schemas.LumaAgentsGenerationRequest.properties.model.description": "4f5a50a5", + "components.schemas.LumaAgentsGenerationRequest.properties.prompt.description": "0588414e", + "components.schemas.LumaAgentsGenerationRequest.properties.web_search.description": "71eff12b", + "components.schemas.LumaAgentsGenerationType.description": "ed10d99f", + "components.schemas.LumaAgentsImageRef.description": "614d3f3e", + "components.schemas.LumaAgentsImageRef.properties.data.description": "459cdb19", + "components.schemas.LumaAgentsImageRef.properties.generation_id.description": "62923861", + "components.schemas.LumaAgentsImageRef.properties.media_type.description": "327a5548", + "components.schemas.LumaAgentsImageRef.properties.url.description": "d43b40ee", + "components.schemas.LumaAgentsOutputFormat.description": "ebb90ddf", + "components.schemas.LumaAgentsState.description": "96b3dc88", + "components.schemas.LumaAgentsStyle.description": "0ebd9d0f", + "components.schemas.LumaAgentsVideoDuration.description": "37b59319", + "components.schemas.LumaAgentsVideoOptions.description": "256348d5", + "components.schemas.LumaAgentsVideoOptions.properties.exr_export.description": "ec42834c", + "components.schemas.LumaAgentsVideoOptions.properties.hdr.description": "9714f0e9", + "components.schemas.LumaAgentsVideoOptions.properties.keyframes.description": "700e5fd9", + "components.schemas.LumaAgentsVideoOptions.properties.loop.description": "44c3f3d1", + "components.schemas.LumaAgentsVideoResolution.description": "b1a48eb5", + "components.schemas.LumaAspectRatio.description": "549259bf", + "components.schemas.LumaAssets.description": "b9ea723b", + "components.schemas.LumaAssets.properties.image.description": "d9839da6", + "components.schemas.LumaAssets.properties.progress_video.description": "2af611b5", + "components.schemas.LumaAssets.properties.video.description": "96fb87d9", + "components.schemas.LumaAudioGenerationRequest.description": "0e6ae858", + "components.schemas.LumaAudioGenerationRequest.properties.callback_url.description": "7b1cfb18", + "components.schemas.LumaAudioGenerationRequest.properties.negative_prompt.description": "77322dd8", + "components.schemas.LumaAudioGenerationRequest.properties.prompt.description": "c86bac31", + "components.schemas.LumaError.description": "d49a0492", + "components.schemas.LumaError.properties.detail.description": "84e45725", + "components.schemas.LumaGeneration.description": "31dd7d8c", + "components.schemas.LumaGeneration.properties.created_at.description": "60d4e8cf", + "components.schemas.LumaGeneration.properties.failure_reason.description": "df79bf4c", + "components.schemas.LumaGeneration.properties.id.description": "84f8c18e", + "components.schemas.LumaGeneration.properties.model.description": "24431f99", + "components.schemas.LumaGeneration.properties.request.description": "ad19405a", + "components.schemas.LumaGenerationReference.description": "1520f7be", + "components.schemas.LumaGenerationReference.properties.id.description": "84f8c18e", + "components.schemas.LumaGenerationRequest.description": "d1705797", + "components.schemas.LumaGenerationRequest.properties.callback_url.description": "3f93fff2", + "components.schemas.LumaGenerationRequest.properties.loop.description": "9c16759d", + "components.schemas.LumaGenerationRequest.properties.prompt.description": "54c9965b", + "components.schemas.LumaImageGenerationRequest.description": "2ec5636f", + "components.schemas.LumaImageGenerationRequest.properties.callback_url.description": "faf25a74", + "components.schemas.LumaImageGenerationRequest.properties.prompt.description": "54c9965b", + "components.schemas.LumaImageIdentity.description": "f680d145", + "components.schemas.LumaImageIdentity.properties.images.description": "a6a6c44b", + "components.schemas.LumaImageModel.description": "eae10126", + "components.schemas.LumaImageRef.description": "3d12543b", + "components.schemas.LumaImageRef.properties.url.description": "17b64161", + "components.schemas.LumaImageRef.properties.weight.description": "76ed7c3c", + "components.schemas.LumaImageReference.description": "8929cd80", + "components.schemas.LumaImageReference.properties.url.description": "d9839da6", + "components.schemas.LumaKeyframe.description": "b6bd7ad4", + "components.schemas.LumaKeyframes.description": "2514bff1", + "components.schemas.LumaModifyImageRef.description": "18428bb4", + "components.schemas.LumaModifyImageRef.properties.url.description": "17b64161", + "components.schemas.LumaModifyImageRef.properties.weight.description": "68c8c66a", + "components.schemas.LumaState.description": "17934f9b", + "components.schemas.LumaUpscaleVideoGenerationRequest.description": "bb4b2ce9", + "components.schemas.LumaUpscaleVideoGenerationRequest.properties.callback_url.description": "033b1cfc", + "components.schemas.LumaVideoModel.description": "7da67e38", + "components.schemas.MachineStats.properties.cpu_capacity.description": "b5431dab", + "components.schemas.MachineStats.properties.disk_capacity.description": "100dd8b1", + "components.schemas.MachineStats.properties.gpu_type.description": "b03d0d1d", + "components.schemas.MachineStats.properties.initial_cpu.description": "d10b9791", + "components.schemas.MachineStats.properties.initial_disk.description": "42c19c80", + "components.schemas.MachineStats.properties.initial_ram.description": "9188dbb1", + "components.schemas.MachineStats.properties.machine_name.description": "d386d457", + "components.schemas.MachineStats.properties.memory_capacity.description": "39cb936c", + "components.schemas.MachineStats.properties.os_version.description": "c1c53e2c", + "components.schemas.MachineStats.properties.pip_freeze.description": "22f82680", + "components.schemas.MachineStats.properties.vram_time_series.description": "a27916b1", + "components.schemas.MeshyAiModel.description": "acf507af", + "components.schemas.MeshyAnimationCreateResponse.properties.result.description": "fa49a86e", + "components.schemas.MeshyAnimationPostProcess.description": "6a1bd500", + "components.schemas.MeshyAnimationPostProcess.properties.fps.description": "aeb73f0a", + "components.schemas.MeshyAnimationPostProcess.properties.operation_type.description": "5090cebe", + "components.schemas.MeshyAnimationRequest.properties.action_id.description": "4cc8606d", + "components.schemas.MeshyAnimationRequest.properties.rig_task_id.description": "285ae47e", + "components.schemas.MeshyAnimationResult.description": "40a90e7c", + "components.schemas.MeshyAnimationResult.properties.animation_fbx_url.description": "dca8e5e0", + "components.schemas.MeshyAnimationResult.properties.animation_glb_url.description": "437349a3", + "components.schemas.MeshyAnimationResult.properties.processed_animation_fps_fbx_url.description": "6568267c", + "components.schemas.MeshyAnimationResult.properties.processed_armature_fbx_url.description": "0e6d8738", + "components.schemas.MeshyAnimationResult.properties.processed_usdz_url.description": "03899c05", + "components.schemas.MeshyAnimationTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyAnimationTask.properties.expires_at.description": "80d10a12", + "components.schemas.MeshyAnimationTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyAnimationTask.properties.id.description": "98bfade1", + "components.schemas.MeshyAnimationTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyAnimationTask.properties.progress.description": "4081a742", + "components.schemas.MeshyAnimationTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyAnimationTask.properties.type.description": "8238093d", + "components.schemas.MeshyArtStyle.description": "2da7a38a", + "components.schemas.MeshyImageTo3DCreateResponse.properties.result.description": "7124af44", + "components.schemas.MeshyImageTo3DModelUrls.description": "17b6a660", + "components.schemas.MeshyImageTo3DModelUrls.properties.fbx.description": "72d83dac", + "components.schemas.MeshyImageTo3DModelUrls.properties.glb.description": "ee6c296f", + "components.schemas.MeshyImageTo3DModelUrls.properties.mtl.description": "67b905a4", + "components.schemas.MeshyImageTo3DModelUrls.properties.obj.description": "91ac082b", + "components.schemas.MeshyImageTo3DModelUrls.properties.pre_remeshed_glb.description": "dbb8041c", + "components.schemas.MeshyImageTo3DModelUrls.properties.usdz.description": "10a6d5db", + "components.schemas.MeshyImageTo3DRequest.properties.enable_pbr.description": "026a457f", + "components.schemas.MeshyImageTo3DRequest.properties.image_url.description": "b78198ec", + "components.schemas.MeshyImageTo3DRequest.properties.is_a_t_pose.description": "f52e42da", + "components.schemas.MeshyImageTo3DRequest.properties.model_type.description": "bb4c331e", + "components.schemas.MeshyImageTo3DRequest.properties.moderation.description": "f91fb7f2", + "components.schemas.MeshyImageTo3DRequest.properties.save_pre_remeshed_model.description": "d7193d87", + "components.schemas.MeshyImageTo3DRequest.properties.should_remesh.description": "de59f43a", + "components.schemas.MeshyImageTo3DRequest.properties.should_texture.description": "57740dce", + "components.schemas.MeshyImageTo3DRequest.properties.target_polycount.description": "4fbdc431", + "components.schemas.MeshyImageTo3DRequest.properties.texture_image_url.description": "abd0d960", + "components.schemas.MeshyImageTo3DRequest.properties.texture_prompt.description": "6e254655", + "components.schemas.MeshyImageTo3DTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyImageTo3DTask.properties.expires_at.description": "80d10a12", + "components.schemas.MeshyImageTo3DTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyImageTo3DTask.properties.id.description": "98bfade1", + "components.schemas.MeshyImageTo3DTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyImageTo3DTask.properties.progress.description": "2474e077", + "components.schemas.MeshyImageTo3DTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyImageTo3DTask.properties.texture_image_url.description": "5605187c", + "components.schemas.MeshyImageTo3DTask.properties.texture_prompt.description": "4f74abde", + "components.schemas.MeshyImageTo3DTask.properties.texture_urls.description": "1fe6fe81", + "components.schemas.MeshyImageTo3DTask.properties.thumbnail_url.description": "5492457d", + "components.schemas.MeshyImageTo3DTask.properties.type.description": "be25e63b", + "components.schemas.MeshyModelUrls.description": "68a32190", + "components.schemas.MeshyModelUrls.properties.fbx.description": "72d83dac", + "components.schemas.MeshyModelUrls.properties.glb.description": "ee6c296f", + "components.schemas.MeshyModelUrls.properties.mtl.description": "67b905a4", + "components.schemas.MeshyModelUrls.properties.obj.description": "91ac082b", + "components.schemas.MeshyModelUrls.properties.usdz.description": "10a6d5db", + "components.schemas.MeshyMultiImageTo3DCreateResponse.properties.result.description": "5cec1f28", + "components.schemas.MeshyMultiImageTo3DRequest.properties.ai_model.description": "acf507af", + "components.schemas.MeshyMultiImageTo3DRequest.properties.enable_pbr.description": "026a457f", + "components.schemas.MeshyMultiImageTo3DRequest.properties.image_urls.description": "988c89d8", + "components.schemas.MeshyMultiImageTo3DRequest.properties.is_a_t_pose.description": "f52e42da", + "components.schemas.MeshyMultiImageTo3DRequest.properties.moderation.description": "f91fb7f2", + "components.schemas.MeshyMultiImageTo3DRequest.properties.save_pre_remeshed_model.description": "d7193d87", + "components.schemas.MeshyMultiImageTo3DRequest.properties.should_remesh.description": "de59f43a", + "components.schemas.MeshyMultiImageTo3DRequest.properties.should_texture.description": "462650b4", + "components.schemas.MeshyMultiImageTo3DRequest.properties.target_polycount.description": "4fbdc431", + "components.schemas.MeshyMultiImageTo3DRequest.properties.texture_image_url.description": "abd0d960", + "components.schemas.MeshyMultiImageTo3DRequest.properties.texture_prompt.description": "6e254655", + "components.schemas.MeshyMultiImageTo3DTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyMultiImageTo3DTask.properties.expires_at.description": "80d10a12", + "components.schemas.MeshyMultiImageTo3DTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyMultiImageTo3DTask.properties.id.description": "98bfade1", + "components.schemas.MeshyMultiImageTo3DTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyMultiImageTo3DTask.properties.progress.description": "2474e077", + "components.schemas.MeshyMultiImageTo3DTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyMultiImageTo3DTask.properties.texture_prompt.description": "4f74abde", + "components.schemas.MeshyMultiImageTo3DTask.properties.texture_urls.description": "1fe6fe81", + "components.schemas.MeshyMultiImageTo3DTask.properties.thumbnail_url.description": "5492457d", + "components.schemas.MeshyMultiImageTo3DTask.properties.type.description": "79ce249b", + "components.schemas.MeshyPoseMode.description": "e9cce28d", + "components.schemas.MeshyRemeshCreateResponse.properties.result.description": "58188e30", + "components.schemas.MeshyRemeshModelUrls.description": "fe054dcd", + "components.schemas.MeshyRemeshModelUrls.properties.blend.description": "1aed70c2", + "components.schemas.MeshyRemeshModelUrls.properties.fbx.description": "72d83dac", + "components.schemas.MeshyRemeshModelUrls.properties.glb.description": "ee6c296f", + "components.schemas.MeshyRemeshModelUrls.properties.obj.description": "91ac082b", + "components.schemas.MeshyRemeshModelUrls.properties.stl.description": "1ffdeaa6", + "components.schemas.MeshyRemeshModelUrls.properties.usdz.description": "10a6d5db", + "components.schemas.MeshyRemeshRequest.properties.convert_format_only.description": "333c063b", + "components.schemas.MeshyRemeshRequest.properties.input_task_id.description": "2ff3f538", + "components.schemas.MeshyRemeshRequest.properties.model_url.description": "600aa96a", + "components.schemas.MeshyRemeshRequest.properties.origin_at.description": "21f550c2", + "components.schemas.MeshyRemeshRequest.properties.resize_height.description": "2f5cc96e", + "components.schemas.MeshyRemeshRequest.properties.target_formats.description": "82bdc5d3", + "components.schemas.MeshyRemeshRequest.properties.target_polycount.description": "4fbdc431", + "components.schemas.MeshyRemeshTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyRemeshTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyRemeshTask.properties.id.description": "98bfade1", + "components.schemas.MeshyRemeshTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyRemeshTask.properties.progress.description": "2474e077", + "components.schemas.MeshyRemeshTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyRemeshTask.properties.type.description": "0e956405", + "components.schemas.MeshyRemeshTaskStatus.description": "64fb0037", + "components.schemas.MeshyRetextureCreateResponse.properties.result.description": "218841e4", + "components.schemas.MeshyRetextureModelUrls.description": "825a4590", + "components.schemas.MeshyRetextureModelUrls.properties.fbx.description": "72d83dac", + "components.schemas.MeshyRetextureModelUrls.properties.glb.description": "ee6c296f", + "components.schemas.MeshyRetextureModelUrls.properties.usdz.description": "10a6d5db", + "components.schemas.MeshyRetextureRequest.properties.enable_original_uv.description": "0c427b4e", + "components.schemas.MeshyRetextureRequest.properties.enable_pbr.description": "026a457f", + "components.schemas.MeshyRetextureRequest.properties.image_style_url.description": "e36ce617", + "components.schemas.MeshyRetextureRequest.properties.input_task_id.description": "d8971a01", + "components.schemas.MeshyRetextureRequest.properties.model_url.description": "b25c7156", + "components.schemas.MeshyRetextureRequest.properties.text_style_prompt.description": "9bf455ff", + "components.schemas.MeshyRetextureTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyRetextureTask.properties.expires_at.description": "80d10a12", + "components.schemas.MeshyRetextureTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyRetextureTask.properties.id.description": "98bfade1", + "components.schemas.MeshyRetextureTask.properties.image_style_url.description": "b2e403e3", + "components.schemas.MeshyRetextureTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyRetextureTask.properties.progress.description": "2474e077", + "components.schemas.MeshyRetextureTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyRetextureTask.properties.text_style_prompt.description": "0e0eda16", + "components.schemas.MeshyRetextureTask.properties.texture_urls.description": "1fe6fe81", + "components.schemas.MeshyRetextureTask.properties.thumbnail_url.description": "5492457d", + "components.schemas.MeshyRetextureTask.properties.type.description": "383ee410", + "components.schemas.MeshyRiggingBasicAnimations.description": "184e787a", + "components.schemas.MeshyRiggingBasicAnimations.properties.running_armature_glb_url.description": "7b1a5b33", + "components.schemas.MeshyRiggingBasicAnimations.properties.running_fbx_url.description": "eb39efa7", + "components.schemas.MeshyRiggingBasicAnimations.properties.running_glb_url.description": "090ac81e", + "components.schemas.MeshyRiggingBasicAnimations.properties.walking_armature_glb_url.description": "1a53b24e", + "components.schemas.MeshyRiggingBasicAnimations.properties.walking_fbx_url.description": "012b5118", + "components.schemas.MeshyRiggingBasicAnimations.properties.walking_glb_url.description": "0e97a05c", + "components.schemas.MeshyRiggingCreateResponse.properties.result.description": "41f6a6fa", + "components.schemas.MeshyRiggingRequest.properties.height_meters.description": "a4aa2f5a", + "components.schemas.MeshyRiggingRequest.properties.input_task_id.description": "2cdb526f", + "components.schemas.MeshyRiggingRequest.properties.model_url.description": "abbebd9d", + "components.schemas.MeshyRiggingRequest.properties.texture_image_url.description": "895dd6e1", + "components.schemas.MeshyRiggingResult.description": "85f3282e", + "components.schemas.MeshyRiggingResult.properties.rigged_character_fbx_url.description": "5df48720", + "components.schemas.MeshyRiggingResult.properties.rigged_character_glb_url.description": "6111191f", + "components.schemas.MeshyRiggingTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyRiggingTask.properties.expires_at.description": "80d10a12", + "components.schemas.MeshyRiggingTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyRiggingTask.properties.id.description": "98bfade1", + "components.schemas.MeshyRiggingTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyRiggingTask.properties.progress.description": "fb1d1e24", + "components.schemas.MeshyRiggingTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyRiggingTask.properties.type.description": "177be62d", + "components.schemas.MeshySymmetryMode.description": "64a05dac", + "components.schemas.MeshyTaskError.description": "410b2cc7", + "components.schemas.MeshyTaskError.properties.message.description": "1259fbc0", + "components.schemas.MeshyTaskStatus.description": "7defa597", + "components.schemas.MeshyTextTo3DCreateResponse.properties.result.description": "0f3430c5", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.is_a_t_pose.description": "f52e42da", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.mode.description": "3e450a2d", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.moderation.description": "f91fb7f2", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.prompt.description": "4a6e0eb0", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.should_remesh.description": "de59f43a", + "components.schemas.MeshyTextTo3DPreviewRequest.properties.target_polycount.description": "4fbdc431", + "components.schemas.MeshyTextTo3DRefineRequest.properties.enable_pbr.description": "6c109d93", + "components.schemas.MeshyTextTo3DRefineRequest.properties.mode.description": "36ec2960", + "components.schemas.MeshyTextTo3DRefineRequest.properties.moderation.description": "f91fb7f2", + "components.schemas.MeshyTextTo3DRefineRequest.properties.preview_task_id.description": "56689f45", + "components.schemas.MeshyTextTo3DRefineRequest.properties.texture_image_url.description": "abd0d960", + "components.schemas.MeshyTextTo3DRefineRequest.properties.texture_prompt.description": "a94998a3", + "components.schemas.MeshyTextTo3DTask.properties.art_style.description": "0ad4fe68", + "components.schemas.MeshyTextTo3DTask.properties.created_at.description": "4b18d7d5", + "components.schemas.MeshyTextTo3DTask.properties.finished_at.description": "217b7221", + "components.schemas.MeshyTextTo3DTask.properties.id.description": "98bfade1", + "components.schemas.MeshyTextTo3DTask.properties.negative_prompt.description": "3de11737", + "components.schemas.MeshyTextTo3DTask.properties.preceding_tasks.description": "82c827e7", + "components.schemas.MeshyTextTo3DTask.properties.progress.description": "2474e077", + "components.schemas.MeshyTextTo3DTask.properties.prompt.description": "d47d55f4", + "components.schemas.MeshyTextTo3DTask.properties.started_at.description": "9f769b82", + "components.schemas.MeshyTextTo3DTask.properties.texture_image_url.description": "5605187c", + "components.schemas.MeshyTextTo3DTask.properties.texture_prompt.description": "7db699b8", + "components.schemas.MeshyTextTo3DTask.properties.texture_richness.description": "3de11737", + "components.schemas.MeshyTextTo3DTask.properties.texture_urls.description": "1fe6fe81", + "components.schemas.MeshyTextTo3DTask.properties.thumbnail_url.description": "5492457d", + "components.schemas.MeshyTextTo3DTask.properties.type.description": "e9526463", + "components.schemas.MeshyTextTo3DTask.properties.video_url.description": "80485fac", + "components.schemas.MeshyTextureUrls.description": "05150b8b", + "components.schemas.MeshyTextureUrls.properties.base_color.description": "8ebb4fc4", + "components.schemas.MeshyTextureUrls.properties.metallic.description": "e05b11ce", + "components.schemas.MeshyTextureUrls.properties.normal.description": "223a032e", + "components.schemas.MeshyTextureUrls.properties.roughness.description": "59b9aee4", + "components.schemas.MeshyTopology.description": "a3d7026d", + "components.schemas.MigrationAPIKey.description": "305b1f22", + "components.schemas.MinimaxBaseResponse.description": "e7a77540", + "components.schemas.MinimaxBaseResponse.properties.status_code.description": "834f26be", + "components.schemas.MinimaxBaseResponse.properties.status_msg.description": "707ffac7", + "components.schemas.MinimaxFileRetrieveResponse.description": "88beb806", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.bytes.description": "a8a1db04", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.created_at.description": "d0852956", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.download_url.description": "9abc4bde", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.file_id.description": "004d7871", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.filename.description": "95ce404f", + "components.schemas.MinimaxFileRetrieveResponse.properties.file.properties.purpose.description": "6dd4c542", + "components.schemas.MinimaxTaskResultResponse.description": "538ee2b0", + "components.schemas.MinimaxTaskResultResponse.properties.file_id.description": "eb9e950c", + "components.schemas.MinimaxTaskResultResponse.properties.status.description": "80b53998", + "components.schemas.MinimaxTaskResultResponse.properties.task_id.description": "e8fdb470", + "components.schemas.MinimaxVideoGenerationRequest.description": "d671fb30", + "components.schemas.MinimaxVideoGenerationRequest.properties.callback_url.description": "c94f5cb8", + "components.schemas.MinimaxVideoGenerationRequest.properties.duration.description": "aa99f88a", + "components.schemas.MinimaxVideoGenerationRequest.properties.first_frame_image.description": "58f54f5b", + "components.schemas.MinimaxVideoGenerationRequest.properties.model.description": "eae23619", + "components.schemas.MinimaxVideoGenerationRequest.properties.prompt.description": "5e439c63", + "components.schemas.MinimaxVideoGenerationRequest.properties.prompt_optimizer.description": "fdccabc0", + "components.schemas.MinimaxVideoGenerationRequest.properties.resolution.description": "92a77b74", + "components.schemas.MinimaxVideoGenerationRequest.properties.subject_reference.description": "9bd30202", + "components.schemas.MinimaxVideoGenerationRequest.properties.subject_reference.items.properties.image.description": "14c67a10", + "components.schemas.MinimaxVideoGenerationRequest.properties.subject_reference.items.properties.mask.description": "aba92885", + "components.schemas.MinimaxVideoGenerationResponse.description": "f59b227f", + "components.schemas.MinimaxVideoGenerationResponse.properties.task_id.description": "51e812c2", + "components.schemas.Modality.description": "9f5d6ee6", + "components.schemas.ModalityTokenCount.properties.tokenCount.description": "b03fd501", + "components.schemas.ModelClassification.properties.cost_cents.description": "bf51c0d8", + "components.schemas.ModelClassification.properties.effective_tier.description": "1956d163", + "components.schemas.ModelClassification.properties.override.description": "c46c5eb5", + "components.schemas.ModelClassification.properties.reason.description": "4a0e393a", + "components.schemas.ModelResponseProperties.description": "147677ad", + "components.schemas.ModelResponseProperties.properties.instructions.description": "e06d41d6", + "components.schemas.ModelResponseProperties.properties.max_output_tokens.description": "877bc91a", + "components.schemas.ModelResponseProperties.properties.model.description": "cf74118d", + "components.schemas.ModelResponseProperties.properties.temperature.description": "1153e2de", + "components.schemas.ModelResponseProperties.properties.top_p.description": "3c0ab569", + "components.schemas.ModelResponseProperties.properties.truncation.description": "0e57d1ed", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.guidance_scale.description": "4a840966", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.height.description": "c69ac5f6", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.negative_prompt.description": "87f8a8bb", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.seed.description": "e59d4294", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.steps.description": "d7bc1b6d", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.use_negative_prompts.description": "3e2f5420", + "components.schemas.MoonvalleyTextToVideoInferenceParams.properties.width.description": "7f093622", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.control_params.properties.motion_intensity.description": "e4766e0a", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.guidance_scale.description": "4a840966", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.negative_prompt.description": "87f8a8bb", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.seed.description": "e59d4294", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.steps.description": "d7bc1b6d", + "components.schemas.MoonvalleyVideoToVideoInferenceParams.properties.use_negative_prompts.description": "3e2f5420", + "components.schemas.MoonvalleyVideoToVideoRequest.properties.control_type.description": "a713a5a7", + "components.schemas.MoonvalleyVideoToVideoRequest.properties.image_url.description": "0429e8c0", + "components.schemas.MoonvalleyVideoToVideoRequest.properties.prompt_text.description": "cf4b2f4d", + "components.schemas.MoonvalleyVideoToVideoRequest.properties.video_url.description": "61e974a4", + "components.schemas.MoonvalleyVideoToVideoRequest.properties.webhook_url.description": "5af599a0", + "components.schemas.Node.properties.banner_url.description": "b4afb85e", + "components.schemas.Node.properties.category.description": "f65e5591", + "components.schemas.Node.properties.created_at.description": "55266bbf", + "components.schemas.Node.properties.downloads.description": "02c640c2", + "components.schemas.Node.properties.github_stars.description": "7fd15716", + "components.schemas.Node.properties.icon.description": "85303563", + "components.schemas.Node.properties.id.description": "6cc84bef", + "components.schemas.Node.properties.license.description": "125ce0e3", + "components.schemas.Node.properties.name.description": "0c87b954", + "components.schemas.Node.properties.preempted_comfy_node_names.description": "0da0ae68", + "components.schemas.Node.properties.rating.description": "f8825d99", + "components.schemas.Node.properties.repository.description": "ebca0d93", + "components.schemas.Node.properties.search_ranking.description": "640b1936", + "components.schemas.Node.properties.status_detail.description": "3ceac554", + "components.schemas.Node.properties.supported_accelerators.description": "f9f8a16f", + "components.schemas.Node.properties.supported_comfyui_frontend_version.description": "aeaa3824", + "components.schemas.Node.properties.supported_comfyui_version.description": "30d0a237", + "components.schemas.Node.properties.supported_os.description": "951ad4c1", + "components.schemas.Node.properties.tags_admin.description": "fd8fe569", + "components.schemas.Node.properties.translations.description": "120513fb", + "components.schemas.NodeVersion.properties.changelog.description": "5a9f9e5e", + "components.schemas.NodeVersion.properties.comfy_node_extract_status.description": "4a90cf13", + "components.schemas.NodeVersion.properties.createdAt.description": "97a89278", + "components.schemas.NodeVersion.properties.dependencies.description": "b29e372e", + "components.schemas.NodeVersion.properties.deprecated.description": "78a52a28", + "components.schemas.NodeVersion.properties.downloadUrl.description": "0cf0e2a8", + "components.schemas.NodeVersion.properties.node_id.description": "6cc84bef", + "components.schemas.NodeVersion.properties.supported_accelerators.description": "f9f8a16f", + "components.schemas.NodeVersion.properties.supported_comfyui_frontend_version.description": "aeaa3824", + "components.schemas.NodeVersion.properties.supported_comfyui_version.description": "30d0a237", + "components.schemas.NodeVersion.properties.supported_os.description": "951ad4c1", + "components.schemas.NodeVersion.properties.tags_admin.description": "fd8fe569", + "components.schemas.NodeVersion.properties.version.description": "4b2231e9", + "components.schemas.NodeVersionIdentifier.properties.node_id.description": "8d181606", + "components.schemas.NodeVersionIdentifier.properties.version.description": "6c0c021c", + "components.schemas.NodeVersionUpdateRequest.properties.changelog.description": "6785bd2e", + "components.schemas.NodeVersionUpdateRequest.properties.deprecated.description": "d36bae5f", + "components.schemas.OpenAICreateResponse.allOf[2].properties.include.description": "cd9a54ed", + "components.schemas.OpenAICreateResponse.allOf[2].properties.input.description": "0fea5c5e", + "components.schemas.OpenAICreateResponse.allOf[2].properties.input.oneOf[0].description": "9b87e08d", + "components.schemas.OpenAICreateResponse.allOf[2].properties.input.oneOf[1].description": "009896cb", + "components.schemas.OpenAICreateResponse.allOf[2].properties.parallel_tool_calls.description": "9c6a880b", + "components.schemas.OpenAICreateResponse.allOf[2].properties.store.description": "6977bff8", + "components.schemas.OpenAICreateResponse.allOf[2].properties.stream.description": "2b7b9901", + "components.schemas.OpenAIImageEditRequest.properties.background.description": "d76b2b77", + "components.schemas.OpenAIImageEditRequest.properties.model.description": "1a7e244b", + "components.schemas.OpenAIImageEditRequest.properties.moderation.description": "559af91f", + "components.schemas.OpenAIImageEditRequest.properties.n.description": "dbe4dbb2", + "components.schemas.OpenAIImageEditRequest.properties.output_compression.description": "98f5f71b", + "components.schemas.OpenAIImageEditRequest.properties.output_format.description": "0d827e39", + "components.schemas.OpenAIImageEditRequest.properties.prompt.description": "658a1a2b", + "components.schemas.OpenAIImageEditRequest.properties.quality.description": "56e4ba14", + "components.schemas.OpenAIImageEditRequest.properties.size.description": "0cef06c7", + "components.schemas.OpenAIImageEditRequest.properties.user.description": "167a4ef1", + "components.schemas.OpenAIImageGenerationRequest.properties.background.description": "d76b2b77", + "components.schemas.OpenAIImageGenerationRequest.properties.model.description": "c972a079", + "components.schemas.OpenAIImageGenerationRequest.properties.moderation.description": "559af91f", + "components.schemas.OpenAIImageGenerationRequest.properties.n.description": "36d21eea", + "components.schemas.OpenAIImageGenerationRequest.properties.output_compression.description": "98f5f71b", + "components.schemas.OpenAIImageGenerationRequest.properties.output_format.description": "0d827e39", + "components.schemas.OpenAIImageGenerationRequest.properties.prompt.description": "c4e2d1e9", + "components.schemas.OpenAIImageGenerationRequest.properties.quality.description": "9dffa87b", + "components.schemas.OpenAIImageGenerationRequest.properties.response_format.description": "7e0e4877", + "components.schemas.OpenAIImageGenerationRequest.properties.size.description": "a380125e", + "components.schemas.OpenAIImageGenerationRequest.properties.style.description": "7a11e7c0", + "components.schemas.OpenAIImageGenerationRequest.properties.user.description": "167a4ef1", + "components.schemas.OpenAIImageGenerationResponse.properties.data.items.properties.b64_json.description": "23d8f4e3", + "components.schemas.OpenAIImageGenerationResponse.properties.data.items.properties.revised_prompt.description": "5424c782", + "components.schemas.OpenAIImageGenerationResponse.properties.data.items.properties.url.description": "c1cf625e", + "components.schemas.OpenAIResponse.allOf[2].properties.created_at.description": "7fecc7f7", + "components.schemas.OpenAIResponse.allOf[2].properties.id.description": "6466ec2a", + "components.schemas.OpenAIResponse.allOf[2].properties.incomplete_details.description": "5d3d4e6c", + "components.schemas.OpenAIResponse.allOf[2].properties.incomplete_details.properties.reason.description": "e199589f", + "components.schemas.OpenAIResponse.allOf[2].properties.object.description": "f6ba34d7", + "components.schemas.OpenAIResponse.allOf[2].properties.output.description": "394e3864", + "components.schemas.OpenAIResponse.allOf[2].properties.output_text.description": "273b6f37", + "components.schemas.OpenAIResponse.allOf[2].properties.parallel_tool_calls.description": "9c6a880b", + "components.schemas.OpenAIResponse.allOf[2].properties.status.description": "cd73198a", + "components.schemas.OpenAIResponse.description": "8d46ae7d", + "components.schemas.OpenAIResponseStreamEvent.description": "fbd4c6a4", + "components.schemas.OpenAIVideoCreateRequest.properties.input_reference.description": "79b2f8df", + "components.schemas.OpenAIVideoCreateRequest.properties.model.description": "8e8eb0e3", + "components.schemas.OpenAIVideoCreateRequest.properties.prompt.description": "52b84912", + "components.schemas.OpenAIVideoCreateRequest.properties.seconds.description": "40aeba88", + "components.schemas.OpenAIVideoCreateRequest.properties.size.description": "129d3d70", + "components.schemas.OpenAIVideoJob.properties.completed_at.description": "d37e4420", + "components.schemas.OpenAIVideoJob.properties.created_at.description": "5daeaf34", + "components.schemas.OpenAIVideoJob.properties.error.description": "0ef0cbc3", + "components.schemas.OpenAIVideoJob.properties.error.properties.code.description": "0570b384", + "components.schemas.OpenAIVideoJob.properties.error.properties.message.description": "52710385", + "components.schemas.OpenAIVideoJob.properties.expires_at.description": "8ce30771", + "components.schemas.OpenAIVideoJob.properties.id.description": "ce15ebd2", + "components.schemas.OpenAIVideoJob.properties.model.description": "6149392d", + "components.schemas.OpenAIVideoJob.properties.object.description": "f12ebe66", + "components.schemas.OpenAIVideoJob.properties.progress.description": "7565e24d", + "components.schemas.OpenAIVideoJob.properties.quality.description": "317678b7", + "components.schemas.OpenAIVideoJob.properties.remixed_from_video_id.description": "c611e832", + "components.schemas.OpenAIVideoJob.properties.seconds.description": "72466e85", + "components.schemas.OpenAIVideoJob.properties.size.description": "a6a90994", + "components.schemas.OpenAIVideoJob.properties.status.description": "8da9bfd1", + "components.schemas.OpenRouterAnthropicCacheControlDirective.description": "680a8359", + "components.schemas.OpenRouterBigNumberUnion.description": "7c821e8d", + "components.schemas.OpenRouterChatAssistantImages.description": "6a4a9ddb", + "components.schemas.OpenRouterChatAssistantImagesItemsImageUrl.properties.url.description": "68e117ed", + "components.schemas.OpenRouterChatAssistantMessage.description": "bb767c7f", + "components.schemas.OpenRouterChatAssistantMessage.properties.name.description": "97eb6394", + "components.schemas.OpenRouterChatAssistantMessage.properties.reasoning.description": "f85860ca", + "components.schemas.OpenRouterChatAssistantMessage.properties.refusal.description": "93ed6e23", + "components.schemas.OpenRouterChatAssistantMessage.properties.tool_calls.description": "f62f41f4", + "components.schemas.OpenRouterChatAudioOutput.description": "3bf490f1", + "components.schemas.OpenRouterChatAudioOutput.properties.data.description": "7c200c11", + "components.schemas.OpenRouterChatAudioOutput.properties.expires_at.description": "9aa821ba", + "components.schemas.OpenRouterChatAudioOutput.properties.id.description": "1fdd54d2", + "components.schemas.OpenRouterChatAudioOutput.properties.transcript.description": "7b65e858", + "components.schemas.OpenRouterChatChoice.description": "126473d9", + "components.schemas.OpenRouterChatChoice.properties.index.description": "13307f40", + "components.schemas.OpenRouterChatContentCacheControl.description": "013b31f5", + "components.schemas.OpenRouterChatContentItems.description": "8475990d", + "components.schemas.OpenRouterChatContentItems.oneOf[0].description": "3f927e9b", + "components.schemas.OpenRouterChatContentItems.oneOf[0].properties.type.description": "fd4f1156", + "components.schemas.OpenRouterChatContentItems.oneOf[1].description": "7da44e66", + "components.schemas.OpenRouterChatContentItems.oneOf[1].properties.type.description": "d7f2eeab", + "components.schemas.OpenRouterChatContentItems.oneOf[2].description": "5bb39323", + "components.schemas.OpenRouterChatContentItems.oneOf[2].properties.type.description": "8a046f75", + "components.schemas.OpenRouterChatContentItems.oneOf[3].description": "d71ff4bc", + "components.schemas.OpenRouterChatContentItems.oneOf[4].description": "9b578a3b", + "components.schemas.OpenRouterChatContentItems.oneOf[5].description": "d74433ae", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingFileFile.properties.file_data.description": "2c916d73", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingFileFile.properties.file_id.description": "6108dde5", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingFileFile.properties.filename.description": "3f57bc21", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrl.properties.url.description": "fa16ed72", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrlDetail.description": "af909e98", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingInputAudioInputAudio.properties.data.description": "7c200c11", + "components.schemas.OpenRouterChatContentItemsDiscriminatorMappingInputAudioInputAudio.properties.format.description": "780d21e8", + "components.schemas.OpenRouterChatContentText.description": "9b578a3b", + "components.schemas.OpenRouterChatContentVideoInput.description": "9de1b424", + "components.schemas.OpenRouterChatContentVideoInput.properties.url.description": "9f58f6ab", + "components.schemas.OpenRouterChatDebugOptions.description": "fdbdcf57", + "components.schemas.OpenRouterChatDebugOptions.properties.echo_upstream_body.description": "9d9e2966", + "components.schemas.OpenRouterChatFunctionTool.description": "bd538ef2", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.description": "fe79b809", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.properties.description.description": "a859c669", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.properties.name.description": "6365ece5", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.properties.parameters.additionalProperties.description": "b05fc1fe", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.properties.parameters.description": "bd51a597", + "components.schemas.OpenRouterChatFunctionToolOneOf0Function.properties.strict.description": "cf38d1c3", + "components.schemas.OpenRouterChatJsonSchemaConfig.description": "fa3eb798", + "components.schemas.OpenRouterChatJsonSchemaConfig.properties.description.description": "67c8601a", + "components.schemas.OpenRouterChatJsonSchemaConfig.properties.name.description": "4649ed33", + "components.schemas.OpenRouterChatJsonSchemaConfig.properties.schema.additionalProperties.description": "b05fc1fe", + "components.schemas.OpenRouterChatJsonSchemaConfig.properties.schema.description": "5d898255", + "components.schemas.OpenRouterChatJsonSchemaConfig.properties.strict.description": "cf38d1c3", + "components.schemas.OpenRouterChatMessages.description": "2afe219c", + "components.schemas.OpenRouterChatMessages.oneOf[0].description": "bb767c7f", + "components.schemas.OpenRouterChatMessages.oneOf[0].properties.name.description": "97eb6394", + "components.schemas.OpenRouterChatMessages.oneOf[0].properties.reasoning.description": "f85860ca", + "components.schemas.OpenRouterChatMessages.oneOf[0].properties.refusal.description": "93ed6e23", + "components.schemas.OpenRouterChatMessages.oneOf[0].properties.role.description": "cb3ec495", + "components.schemas.OpenRouterChatMessages.oneOf[0].properties.tool_calls.description": "f62f41f4", + "components.schemas.OpenRouterChatMessages.oneOf[1].description": "5a2b1eb5", + "components.schemas.OpenRouterChatMessages.oneOf[1].properties.name.description": "5b6a94fe", + "components.schemas.OpenRouterChatMessages.oneOf[1].properties.role.description": "14120985", + "components.schemas.OpenRouterChatMessages.oneOf[2].description": "ba82b15d", + "components.schemas.OpenRouterChatMessages.oneOf[2].properties.name.description": "175334e6", + "components.schemas.OpenRouterChatMessages.oneOf[3].description": "a98ee7e5", + "components.schemas.OpenRouterChatMessages.oneOf[3].properties.tool_call_id.description": "c18e21c8", + "components.schemas.OpenRouterChatMessages.oneOf[4].description": "e3462c81", + "components.schemas.OpenRouterChatMessages.oneOf[4].properties.name.description": "43aa37c6", + "components.schemas.OpenRouterChatMessagesDiscriminatorMappingAssistantContent.description": "62d2f3ba", + "components.schemas.OpenRouterChatMessagesDiscriminatorMappingAssistantContent.oneOf[2].description": "b05fc1fe", + "components.schemas.OpenRouterChatMessagesDiscriminatorMappingDeveloperContent.description": "80d91f1c", + "components.schemas.OpenRouterChatModelNames.description": "bb30db48", + "components.schemas.OpenRouterChatNamedToolChoice.description": "a52e1037", + "components.schemas.OpenRouterChatNamedToolChoiceFunction.properties.name.description": "3e81c88d", + "components.schemas.OpenRouterChatReasoningDetails.description": "0a43efb8", + "components.schemas.OpenRouterChatRequest.description": "02a6e1c0", + "components.schemas.OpenRouterChatRequest.properties.frequency_penalty.description": "62fac28e", + "components.schemas.OpenRouterChatRequest.properties.logit_bias.description": "45c08300", + "components.schemas.OpenRouterChatRequest.properties.logprobs.description": "ede67e86", + "components.schemas.OpenRouterChatRequest.properties.max_completion_tokens.description": "edd6630f", + "components.schemas.OpenRouterChatRequest.properties.max_tokens.description": "08254ae8", + "components.schemas.OpenRouterChatRequest.properties.messages.description": "3201cb00", + "components.schemas.OpenRouterChatRequest.properties.metadata.description": "60f59bf3", + "components.schemas.OpenRouterChatRequest.properties.modalities.description": "950c013a", + "components.schemas.OpenRouterChatRequest.properties.parallel_tool_calls.description": "1e774692", + "components.schemas.OpenRouterChatRequest.properties.plugins.description": "8eff09ee", + "components.schemas.OpenRouterChatRequest.properties.presence_penalty.description": "39c0e5a9", + "components.schemas.OpenRouterChatRequest.properties.route.description": "b05fc1fe", + "components.schemas.OpenRouterChatRequest.properties.seed.description": "ea1aa27f", + "components.schemas.OpenRouterChatRequest.properties.service_tier.description": "c3d0e65d", + "components.schemas.OpenRouterChatRequest.properties.session_id.description": "ac888e9c", + "components.schemas.OpenRouterChatRequest.properties.stream.description": "242f08e3", + "components.schemas.OpenRouterChatRequest.properties.temperature.description": "72d5a02f", + "components.schemas.OpenRouterChatRequest.properties.tools.description": "cf46ce14", + "components.schemas.OpenRouterChatRequest.properties.top_logprobs.description": "0473fcd0", + "components.schemas.OpenRouterChatRequest.properties.top_p.description": "454eb2fe", + "components.schemas.OpenRouterChatRequest.properties.user.description": "8ebc1b4a", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[0].description": "1f093ca6", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[0].properties.allowed_models.description": "00cd446a", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[0].properties.enabled.description": "cb79193e", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[0].properties.id.description": "0b273855", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[1].description": "5da38fa7", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[1].properties.enabled.description": "4839c79d", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[1].properties.id.description": "68d75c36", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[2].description": "7a57a6c6", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[2].properties.enabled.description": "e2446150", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[2].properties.id.description": "7c652d21", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].description": "ae4f9820", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].properties.analysis_models.description": "040cafce", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].properties.enabled.description": "b794eaf2", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].properties.id.description": "c087daa6", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].properties.max_tool_calls.description": "92740e5f", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[3].properties.model.description": "1f500a55", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[4].description": "5fa42875", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[4].properties.id.description": "17843ed7", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[5].description": "df5ba701", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[5].properties.enabled.description": "71ca71aa", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[5].properties.id.description": "067a2753", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[5].properties.min_coding_score.description": "04c19d51", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[6].description": "f741afee", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[6].properties.enabled.description": "39385d7d", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[6].properties.id.description": "ecb9fd9c", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[7].description": "cbf47696", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[7].properties.enabled.description": "8ccae1c4", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[7].properties.exclude_domains.description": "dea6fe46", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[7].properties.include_domains.description": "83262c88", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[7].properties.max_uses.description": "08306d66", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[8].description": "6da9be78", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[8].properties.allowed_domains.description": "bc180fba", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[8].properties.blocked_domains.description": "51d26650", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[8].properties.max_content_tokens.description": "ad129adf", + "components.schemas.OpenRouterChatRequestPluginsItems.oneOf[8].properties.max_uses.description": "264887ec", + "components.schemas.OpenRouterChatRequestReasoning.description": "3054a540", + "components.schemas.OpenRouterChatRequestReasoning.properties.effort.description": "bca384a1", + "components.schemas.OpenRouterChatRequestReasoningEffort.description": "bca384a1", + "components.schemas.OpenRouterChatRequestResponseFormat.description": "0f22d169", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[0].description": "84b8d962", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[0].properties.grammar.description": "8bf305a4", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[0].properties.type.description": "fd91ccb8", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[1].description": "485f9997", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[2].description": "8f889ade", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[2].properties.type.description": "b6a090ec", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[3].description": "1bdaafda", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[3].properties.type.description": "13cbd5c9", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[4].description": "b7624311", + "components.schemas.OpenRouterChatRequestResponseFormat.oneOf[4].properties.type.description": "2333e0d2", + "components.schemas.OpenRouterChatRequestServiceTier.description": "c3d0e65d", + "components.schemas.OpenRouterChatRequestStop.description": "d539b768", + "components.schemas.OpenRouterChatRequestStop.oneOf[2].description": "b05fc1fe", + "components.schemas.OpenRouterChatResult.description": "42dd023f", + "components.schemas.OpenRouterChatResult.properties.choices.description": "b6fd4ef0", + "components.schemas.OpenRouterChatResult.properties.created.description": "2e566ad2", + "components.schemas.OpenRouterChatResult.properties.id.description": "540d04b6", + "components.schemas.OpenRouterChatResult.properties.model.description": "2a3a210f", + "components.schemas.OpenRouterChatResult.properties.service_tier.description": "b68a0a00", + "components.schemas.OpenRouterChatResult.properties.system_fingerprint.description": "f1b83674", + "components.schemas.OpenRouterChatSearchModelsServerTool.description": "7929ff46", + "components.schemas.OpenRouterChatStreamOptions.description": "ef9e8719", + "components.schemas.OpenRouterChatStreamOptions.properties.include_usage.description": "c2bd3936", + "components.schemas.OpenRouterChatSystemMessageContent.description": "f61d352e", + "components.schemas.OpenRouterChatTokenLogprob.description": "50debeed", + "components.schemas.OpenRouterChatTokenLogprob.properties.bytes.description": "500f20f7", + "components.schemas.OpenRouterChatTokenLogprob.properties.logprob.description": "a84f1d4f", + "components.schemas.OpenRouterChatTokenLogprob.properties.token.description": "d22bffce", + "components.schemas.OpenRouterChatTokenLogprob.properties.top_logprobs.description": "456f407b", + "components.schemas.OpenRouterChatTokenLogprobs.description": "467f1a52", + "components.schemas.OpenRouterChatTokenLogprobs.properties.content.description": "7dace0fb", + "components.schemas.OpenRouterChatTokenLogprobs.properties.refusal.description": "c634af84", + "components.schemas.OpenRouterChatToolCall.description": "d67f524c", + "components.schemas.OpenRouterChatToolCall.properties.id.description": "d0ed8ee4", + "components.schemas.OpenRouterChatToolCallFunction.properties.arguments.description": "3e0b8034", + "components.schemas.OpenRouterChatToolCallFunction.properties.name.description": "3e81c88d", + "components.schemas.OpenRouterChatToolChoice.description": "9ec37bbf", + "components.schemas.OpenRouterChatToolMessageContent.description": "9e2c40a1", + "components.schemas.OpenRouterChatUsage.description": "aeabfa87", + "components.schemas.OpenRouterChatUsage.properties.completion_tokens.description": "e0458a08", + "components.schemas.OpenRouterChatUsage.properties.completion_tokens_details.description": "e2ca0002", + "components.schemas.OpenRouterChatUsage.properties.cost.description": "e5fa64ca", + "components.schemas.OpenRouterChatUsage.properties.is_byok.description": "5de30d47", + "components.schemas.OpenRouterChatUsage.properties.prompt_tokens.description": "63cbfc6a", + "components.schemas.OpenRouterChatUsage.properties.prompt_tokens_details.description": "c0bb210d", + "components.schemas.OpenRouterChatUsage.properties.total_tokens.description": "2ecc5e36", + "components.schemas.OpenRouterChatUsageCompletionTokensDetails.description": "e2ca0002", + "components.schemas.OpenRouterChatUsageCompletionTokensDetails.properties.accepted_prediction_tokens.description": "ddb6ed05", + "components.schemas.OpenRouterChatUsageCompletionTokensDetails.properties.audio_tokens.description": "8b734c24", + "components.schemas.OpenRouterChatUsageCompletionTokensDetails.properties.reasoning_tokens.description": "6f78d894", + "components.schemas.OpenRouterChatUsageCompletionTokensDetails.properties.rejected_prediction_tokens.description": "809cf8f1", + "components.schemas.OpenRouterChatUsagePromptTokensDetails.description": "c0bb210d", + "components.schemas.OpenRouterChatUsagePromptTokensDetails.properties.audio_tokens.description": "749d120a", + "components.schemas.OpenRouterChatUsagePromptTokensDetails.properties.cache_write_tokens.description": "a1946f63", + "components.schemas.OpenRouterChatUsagePromptTokensDetails.properties.cached_tokens.description": "0a158c6c", + "components.schemas.OpenRouterChatUsagePromptTokensDetails.properties.video_tokens.description": "687d1a22", + "components.schemas.OpenRouterChatUserMessageContent.description": "fe78331d", + "components.schemas.OpenRouterChatWebSearchShorthand.description": "ebef2c45", + "components.schemas.OpenRouterChatWebSearchShorthand.properties.allowed_domains.description": "c6e96bda", + "components.schemas.OpenRouterChatWebSearchShorthand.properties.excluded_domains.description": "19e5acfa", + "components.schemas.OpenRouterChatWebSearchShorthand.properties.max_results.description": "76f577c2", + "components.schemas.OpenRouterChatWebSearchShorthand.properties.max_total_results.description": "61095a55", + "components.schemas.OpenRouterContextCompressionEngine.description": "4373d0d0", + "components.schemas.OpenRouterCostDetails.description": "fe318890", + "components.schemas.OpenRouterDatetimeServerTool.description": "21e7fa7a", + "components.schemas.OpenRouterDatetimeServerToolConfig.description": "3a3951da", + "components.schemas.OpenRouterDatetimeServerToolConfig.properties.timezone.description": "2050e63c", + "components.schemas.OpenRouterImageConfig.oneOf[2].items.description": "b05fc1fe", + "components.schemas.OpenRouterImageGenerationServerToolConfig.description": "e705cf0c", + "components.schemas.OpenRouterImageGenerationServerToolConfig.properties.model.description": "2370e716", + "components.schemas.OpenRouterModelName.description": "5ffb33d2", + "components.schemas.OpenRouterPDFParserEngine.description": "812bb1cc", + "components.schemas.OpenRouterPDFParserOptions.description": "033d18f8", + "components.schemas.OpenRouterPercentileLatencyCutoffs.description": "ccaf50a6", + "components.schemas.OpenRouterPercentileLatencyCutoffs.properties.p50.description": "fd0fe2a9", + "components.schemas.OpenRouterPercentileLatencyCutoffs.properties.p75.description": "b5433a0b", + "components.schemas.OpenRouterPercentileLatencyCutoffs.properties.p90.description": "a8a34206", + "components.schemas.OpenRouterPercentileLatencyCutoffs.properties.p99.description": "99fb6ff9", + "components.schemas.OpenRouterPercentileThroughputCutoffs.description": "91c007c5", + "components.schemas.OpenRouterPercentileThroughputCutoffs.properties.p50.description": "ff768fbf", + "components.schemas.OpenRouterPercentileThroughputCutoffs.properties.p75.description": "54337cae", + "components.schemas.OpenRouterPercentileThroughputCutoffs.properties.p90.description": "2181e08f", + "components.schemas.OpenRouterPercentileThroughputCutoffs.properties.p99.description": "a7b2a5f6", + "components.schemas.OpenRouterPipelineStage.properties.data.additionalProperties.description": "b05fc1fe", + "components.schemas.OpenRouterPipelineStageType.description": "ec3c620d", + "components.schemas.OpenRouterPreferredMaxLatency.description": "99478c8f", + "components.schemas.OpenRouterPreferredMaxLatency.oneOf[2].description": "b05fc1fe", + "components.schemas.OpenRouterPreferredMinThroughput.description": "9a3f5ba8", + "components.schemas.OpenRouterPreferredMinThroughput.oneOf[2].description": "b05fc1fe", + "components.schemas.OpenRouterProviderPreferences.description": "840eba80", + "components.schemas.OpenRouterProviderPreferences.properties.allow_fallbacks.description": "d4daa180", + "components.schemas.OpenRouterProviderPreferences.properties.data_collection.description": "dd76fe92", + "components.schemas.OpenRouterProviderPreferences.properties.enforce_distillable_text.description": "e09a1385", + "components.schemas.OpenRouterProviderPreferences.properties.ignore.description": "473edd17", + "components.schemas.OpenRouterProviderPreferences.properties.only.description": "484e45c6", + "components.schemas.OpenRouterProviderPreferences.properties.order.description": "de8a80ab", + "components.schemas.OpenRouterProviderPreferences.properties.quantizations.description": "e3e6fb29", + "components.schemas.OpenRouterProviderPreferences.properties.require_parameters.description": "6b6095a8", + "components.schemas.OpenRouterProviderPreferences.properties.zdr.description": "6bf6fed4", + "components.schemas.OpenRouterProviderPreferencesDataCollection.description": "dd76fe92", + "components.schemas.OpenRouterProviderPreferencesMaxPrice.description": "ab2d58e0", + "components.schemas.OpenRouterProviderPreferencesSort.description": "59d43321", + "components.schemas.OpenRouterProviderPreferencesSort.oneOf[2].description": "b05fc1fe", + "components.schemas.OpenRouterProviderSort.description": "8eabaddd", + "components.schemas.OpenRouterProviderSortConfig.description": "8eabaddd", + "components.schemas.OpenRouterProviderSortConfig.properties.by.description": "8eabaddd", + "components.schemas.OpenRouterProviderSortConfig.properties.partition.description": "d050e0f9", + "components.schemas.OpenRouterProviderSortConfigBy.description": "8eabaddd", + "components.schemas.OpenRouterProviderSortConfigPartition.description": "d050e0f9", + "components.schemas.OpenRouterReasoningDetailUnion.description": "a0d776e0", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[0].description": "248279d4", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[0].properties.type.description": "784dc131", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[1].description": "25ce0029", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[1].properties.type.description": "b0667270", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[2].description": "9caafca8", + "components.schemas.OpenRouterReasoningDetailUnion.oneOf[2].properties.type.description": "c0c67d5c", + "components.schemas.OpenRouterSearchModelsServerToolConfig.description": "9bcd6819", + "components.schemas.OpenRouterSearchModelsServerToolConfig.properties.max_results.description": "eea302f3", + "components.schemas.OpenRouterSearchQualityLevel.description": "ac6dd940", + "components.schemas.OpenRouterStopServerToolsWhen.description": "aed5c34d", + "components.schemas.OpenRouterStopServerToolsWhenCondition.description": "92c0facd", + "components.schemas.OpenRouterStopServerToolsWhenCondition.oneOf[0].description": "1a1ab806", + "components.schemas.OpenRouterStopServerToolsWhenCondition.oneOf[1].description": "84f92e3e", + "components.schemas.OpenRouterStopServerToolsWhenCondition.oneOf[2].description": "e6d63bb4", + "components.schemas.OpenRouterStopServerToolsWhenCondition.oneOf[3].description": "86d656e8", + "components.schemas.OpenRouterStopServerToolsWhenCondition.oneOf[4].description": "3a9e5471", + "components.schemas.OpenRouterTraceConfig.description": "54252342", + "components.schemas.OpenRouterWebFetchEngineEnum.description": "e48aed71", + "components.schemas.OpenRouterWebFetchServerTool.description": "5c5f1980", + "components.schemas.OpenRouterWebFetchServerToolConfig.description": "b09be011", + "components.schemas.OpenRouterWebFetchServerToolConfig.properties.allowed_domains.description": "bc180fba", + "components.schemas.OpenRouterWebFetchServerToolConfig.properties.blocked_domains.description": "51d26650", + "components.schemas.OpenRouterWebFetchServerToolConfig.properties.max_content_tokens.description": "ad129adf", + "components.schemas.OpenRouterWebFetchServerToolConfig.properties.max_uses.description": "264887ec", + "components.schemas.OpenRouterWebSearchConfig.properties.allowed_domains.description": "c6e96bda", + "components.schemas.OpenRouterWebSearchConfig.properties.excluded_domains.description": "19e5acfa", + "components.schemas.OpenRouterWebSearchConfig.properties.max_results.description": "76f577c2", + "components.schemas.OpenRouterWebSearchConfig.properties.max_total_results.description": "61095a55", + "components.schemas.OpenRouterWebSearchEngine.description": "34e8542d", + "components.schemas.OpenRouterWebSearchEngineEnum.description": "f0e22a7c", + "components.schemas.OpenRouterWebSearchPluginUserLocation.description": "80b0f08f", + "components.schemas.OpenRouterWebSearchServerTool.description": "5b617fdc", + "components.schemas.OpenRouterWebSearchUserLocationServerTool.description": "30bcf43c", + "components.schemas.OutputAudioContent.properties.data.description": "7830a88a", + "components.schemas.OutputAudioContent.properties.transcript.description": "c1c2f093", + "components.schemas.OutputAudioContent.properties.type.description": "7b68ba13", + "components.schemas.OutputMessage.properties.content.description": "6560fe96", + "components.schemas.OutputMessage.properties.role.description": "8d2c7fec", + "components.schemas.OutputMessage.properties.type.description": "24fb6ba6", + "components.schemas.OutputTextContent.properties.text.description": "23be5a69", + "components.schemas.OutputTextContent.properties.type.description": "7b68ba13", + "components.schemas.PersonalAccessToken.properties.createdAt.description": "beb448e6", + "components.schemas.PersonalAccessToken.properties.description.description": "ea415ec0", + "components.schemas.PersonalAccessToken.properties.id.description": "2770e66d", + "components.schemas.PersonalAccessToken.properties.name.description": "b8517d35", + "components.schemas.PersonalAccessToken.properties.token.description": "f0f0c592", + "components.schemas.PikaBody_generate_2_2_c2v_generate_2_2_pikascenes_post.properties.aspectRatio.description": "f4e63425", + "components.schemas.PikaBody_generate_2_2_keyframe_generate_2_2_pikaframes_post.properties.keyFrames.description": "50752229", + "components.schemas.PikaBody_generate_2_2_t2v_generate_2_2_t2v_post.properties.aspectRatio.description": "f4e63425", + "components.schemas.PikaBody_generate_pikaswaps_generate_pikaswaps_post.properties.modifyRegionMask.description": "54e429bc", + "components.schemas.PikaBody_generate_pikaswaps_generate_pikaswaps_post.properties.modifyRegionRoi.description": "b7d98a3d", + "components.schemas.PixverseVideoResultResponse.properties.Resp.properties.status.description": "03fa78cd", + "components.schemas.PromoCodeResponse.properties.active.description": "be3bb58e", + "components.schemas.PromoCodeResponse.properties.code.description": "9b5bcced", + "components.schemas.PromoCodeResponse.properties.coupon_id.description": "7cc99cb5", + "components.schemas.PromoCodeResponse.properties.expires_at.description": "3d7537c4", + "components.schemas.PromoCodeResponse.properties.id.description": "ad922f9c", + "components.schemas.PromoCodeResponse.properties.max_redemptions.description": "ef30da1d", + "components.schemas.PromoCodeResponse.properties.metadata.description": "10282a4b", + "components.schemas.PromoCodeResponse.properties.times_redeemed.description": "8336271b", + "components.schemas.Publisher.properties.createdAt.description": "da46736d", + "components.schemas.Publisher.properties.id.description": "68abdd65", + "components.schemas.Publisher.properties.logo.description": "708211ec", + "components.schemas.Publisher.properties.members.description": "9deae0e3", + "components.schemas.PublisherMember.properties.id.description": "03dfcab4", + "components.schemas.PublisherMember.properties.role.description": "896b93f6", + "components.schemas.PublisherUser.properties.email.description": "0b83b7bc", + "components.schemas.PublisherUser.properties.id.description": "1b856ced", + "components.schemas.PublisherUser.properties.name.description": "dc61ade2", + "components.schemas.QuiverImageObject.description": "e4a0f2ac", + "components.schemas.QuiverImageObject.properties.base64.description": "665f7e21", + "components.schemas.QuiverImageObject.properties.url.description": "36bcea64", + "components.schemas.QuiverImageToSVGRequest.description": "76c53fbd", + "components.schemas.QuiverImageToSVGRequest.properties.auto_crop.description": "d5f17b7a", + "components.schemas.QuiverImageToSVGRequest.properties.max_output_tokens.description": "b71fc1d2", + "components.schemas.QuiverImageToSVGRequest.properties.model.description": "c771a45e", + "components.schemas.QuiverImageToSVGRequest.properties.presence_penalty.description": "65570b9b", + "components.schemas.QuiverImageToSVGRequest.properties.stream.description": "12c220d8", + "components.schemas.QuiverImageToSVGRequest.properties.target_size.description": "bac5b995", + "components.schemas.QuiverImageToSVGRequest.properties.temperature.description": "fff8c2b8", + "components.schemas.QuiverImageToSVGRequest.properties.top_p.description": "95a1a133", + "components.schemas.QuiverSVGResponse.description": "f5ddcf72", + "components.schemas.QuiverSVGResponse.properties.created.description": "2e566ad2", + "components.schemas.QuiverSVGResponse.properties.credits.description": "87edc573", + "components.schemas.QuiverSVGResponse.properties.data.items.properties.mime_type.description": "f5e34cc5", + "components.schemas.QuiverSVGResponse.properties.data.items.properties.svg.description": "e6a3c5e7", + "components.schemas.QuiverSVGResponse.properties.id.description": "345becf3", + "components.schemas.QuiverSVGResponse.properties.usage.description": "ea5f0314", + "components.schemas.QuiverSVGResponse.properties.usage.properties.input_tokens.description": "15009292", + "components.schemas.QuiverSVGResponse.properties.usage.properties.output_tokens.description": "15009292", + "components.schemas.QuiverSVGResponse.properties.usage.properties.total_tokens.description": "15009292", + "components.schemas.QuiverTextToSVGRequest.description": "ec10e3d5", + "components.schemas.QuiverTextToSVGRequest.properties.instructions.description": "91560d48", + "components.schemas.QuiverTextToSVGRequest.properties.max_output_tokens.description": "b71fc1d2", + "components.schemas.QuiverTextToSVGRequest.properties.model.description": "7df06581", + "components.schemas.QuiverTextToSVGRequest.properties.n.description": "baac2a2d", + "components.schemas.QuiverTextToSVGRequest.properties.presence_penalty.description": "65570b9b", + "components.schemas.QuiverTextToSVGRequest.properties.prompt.description": "d182f349", + "components.schemas.QuiverTextToSVGRequest.properties.references.description": "3c6129b7", + "components.schemas.QuiverTextToSVGRequest.properties.references.items.oneOf[1].description": "e15edce8", + "components.schemas.QuiverTextToSVGRequest.properties.temperature.description": "fff8c2b8", + "components.schemas.QuiverTextToSVGRequest.properties.top_p.description": "95a1a133", + "components.schemas.RGBColor.description": "7c286492", + "components.schemas.Reasoning.description": "2b615ac4", + "components.schemas.Reasoning.properties.generate_summary.description": "a1351b60", + "components.schemas.Reasoning.properties.summary.description": "ffb137e8", + "components.schemas.ReasoningEffort.description": "78194d62", + "components.schemas.ReasoningItem.description": "c8af3943", + "components.schemas.ReasoningItem.properties.id.description": "27ca543d", + "components.schemas.ReasoningItem.properties.status.description": "d3371813", + "components.schemas.ReasoningItem.properties.summary.description": "4e902c9e", + "components.schemas.ReasoningItem.properties.summary.items.properties.text.description": "c806fff6", + "components.schemas.ReasoningItem.properties.summary.items.properties.type.description": "2053fbfe", + "components.schemas.ReasoningItem.properties.type.description": "69ffb623", + "components.schemas.RecraftCreateStyleRequest.description": "ee66c46b", + "components.schemas.RecraftCreateStyleRequest.properties.file1.description": "63fb8d5d", + "components.schemas.RecraftCreateStyleRequest.properties.file2.description": "2754ad1a", + "components.schemas.RecraftCreateStyleRequest.properties.file3.description": "66aa3b4c", + "components.schemas.RecraftCreateStyleRequest.properties.file4.description": "e6241e55", + "components.schemas.RecraftCreateStyleRequest.properties.file5.description": "dd15b0a6", + "components.schemas.RecraftCreateStyleRequest.properties.style.description": "bff74c4f", + "components.schemas.RecraftCreateStyleResponse.description": "1d647c3e", + "components.schemas.RecraftCreateStyleResponse.properties.id.description": "6653dd9a", + "components.schemas.RecraftImageGenerationRequest.description": "3f460ada", + "components.schemas.RecraftImageGenerationRequest.properties.controls.description": "697d2b9a", + "components.schemas.RecraftImageGenerationRequest.properties.controls.properties.artistic_level.description": "c7c0cfdd", + "components.schemas.RecraftImageGenerationRequest.properties.controls.properties.colors.description": "8589818a", + "components.schemas.RecraftImageGenerationRequest.properties.controls.properties.no_text.description": "aed4873d", + "components.schemas.RecraftImageGenerationRequest.properties.model.description": "26262f44", + "components.schemas.RecraftImageGenerationRequest.properties.n.description": "dbe4dbb2", + "components.schemas.RecraftImageGenerationRequest.properties.prompt.description": "6b20c1ee", + "components.schemas.RecraftImageGenerationRequest.properties.size.description": "0fb352f1", + "components.schemas.RecraftImageGenerationRequest.properties.style.description": "e61c60e6", + "components.schemas.RecraftImageGenerationRequest.properties.style_id.description": "915435af", + "components.schemas.RecraftImageGenerationResponse.description": "9aaf447d", + "components.schemas.RecraftImageGenerationResponse.properties.created.description": "6b8f3f77", + "components.schemas.RecraftImageGenerationResponse.properties.credits.description": "5df048a8", + "components.schemas.RecraftImageGenerationResponse.properties.data.description": "c6c5d006", + "components.schemas.RecraftImageGenerationResponse.properties.data.items.properties.image_id.description": "57a07e45", + "components.schemas.RecraftImageGenerationResponse.properties.data.items.properties.url.description": "92377eea", + "components.schemas.ReleaseNote.properties.attention.description": "63feef49", + "components.schemas.ReleaseNote.properties.content.description": "b9d1b944", + "components.schemas.ReleaseNote.properties.id.description": "7166ad85", + "components.schemas.ReleaseNote.properties.project.description": "32af4377", + "components.schemas.ReleaseNote.properties.published_at.description": "4e5ccca2", + "components.schemas.ReleaseNote.properties.version.description": "88d7f345", + "components.schemas.RenderingSpeed.description": "ad95b312", + "components.schemas.ResponseCompletedEvent.description": "16f2182d", + "components.schemas.ResponseCompletedEvent.properties.type.description": "e4440eb7", + "components.schemas.ResponseContentPartAddedEvent.description": "8f3692d4", + "components.schemas.ResponseContentPartAddedEvent.properties.content_index.description": "c229235c", + "components.schemas.ResponseContentPartAddedEvent.properties.item_id.description": "1883dbf1", + "components.schemas.ResponseContentPartAddedEvent.properties.output_index.description": "8ef4d157", + "components.schemas.ResponseContentPartAddedEvent.properties.type.description": "691d7ae6", + "components.schemas.ResponseContentPartDoneEvent.description": "63717634", + "components.schemas.ResponseContentPartDoneEvent.properties.content_index.description": "7d62fd94", + "components.schemas.ResponseContentPartDoneEvent.properties.item_id.description": "1883dbf1", + "components.schemas.ResponseContentPartDoneEvent.properties.output_index.description": "8ef4d157", + "components.schemas.ResponseContentPartDoneEvent.properties.type.description": "a4ded0bf", + "components.schemas.ResponseCreatedEvent.description": "32dfb2bf", + "components.schemas.ResponseCreatedEvent.properties.type.description": "0a2201d1", + "components.schemas.ResponseError.description": "e99aa79e", + "components.schemas.ResponseError.properties.message.description": "bb566ccd", + "components.schemas.ResponseErrorCode.description": "931e2933", + "components.schemas.ResponseErrorEvent.description": "76269e10", + "components.schemas.ResponseErrorEvent.properties.code.description": "4db46728", + "components.schemas.ResponseErrorEvent.properties.message.description": "4348690e", + "components.schemas.ResponseErrorEvent.properties.param.description": "dccfe3e5", + "components.schemas.ResponseErrorEvent.properties.type.description": "cdb13a90", + "components.schemas.ResponseFailedEvent.description": "a3a9cfcf", + "components.schemas.ResponseFailedEvent.properties.type.description": "895bb2f9", + "components.schemas.ResponseFormatJsonObject.description": "7b3a0c32", + "components.schemas.ResponseFormatJsonObject.properties.type.description": "bee28d32", + "components.schemas.ResponseFormatJsonSchemaSchema.description": "87f07d44", + "components.schemas.ResponseFormatText.description": "af866342", + "components.schemas.ResponseFormatText.properties.type.description": "a437f9c1", + "components.schemas.ResponseInProgressEvent.description": "06621d59", + "components.schemas.ResponseInProgressEvent.properties.type.description": "6fffdd61", + "components.schemas.ResponseIncompleteEvent.description": "63dc3613", + "components.schemas.ResponseIncompleteEvent.properties.type.description": "981e07ff", + "components.schemas.ResponseOutputItemAddedEvent.description": "4133cbbc", + "components.schemas.ResponseOutputItemAddedEvent.properties.output_index.description": "36ee9532", + "components.schemas.ResponseOutputItemAddedEvent.properties.type.description": "3f755dde", + "components.schemas.ResponseOutputItemDoneEvent.description": "eb9fdf3b", + "components.schemas.ResponseOutputItemDoneEvent.properties.output_index.description": "40457626", + "components.schemas.ResponseOutputItemDoneEvent.properties.type.description": "80b04542", + "components.schemas.ResponseProperties.properties.instructions.description": "a778c23a", + "components.schemas.ResponseProperties.properties.max_output_tokens.description": "df0fb0b4", + "components.schemas.ResponseProperties.properties.previous_response_id.description": "b580eaf6", + "components.schemas.ResponseProperties.properties.tool_choice.description": "3b35d9fb", + "components.schemas.ResponseProperties.properties.truncation.description": "ae703bfc", + "components.schemas.ResponseUsage.description": "4dea91ac", + "components.schemas.ResponseUsage.properties.input_tokens.description": "1a223172", + "components.schemas.ResponseUsage.properties.input_tokens_details.description": "b20c9c1c", + "components.schemas.ResponseUsage.properties.input_tokens_details.properties.cached_tokens.description": "344e294f", + "components.schemas.ResponseUsage.properties.output_tokens.description": "17322447", + "components.schemas.ResponseUsage.properties.output_tokens_details.description": "4cd70899", + "components.schemas.ResponseUsage.properties.output_tokens_details.properties.reasoning_tokens.description": "8f887b08", + "components.schemas.ResponseUsage.properties.total_tokens.description": "6f2f28a3", + "components.schemas.ReveImageCreateRequest.description": "25c3c011", + "components.schemas.ReveImageCreateRequest.properties.aspect_ratio.description": "22b9bb0f", + "components.schemas.ReveImageCreateRequest.properties.postprocessing.description": "8529198b", + "components.schemas.ReveImageCreateRequest.properties.prompt.description": "1d05a279", + "components.schemas.ReveImageCreateRequest.properties.test_time_scaling.description": "5a3d4f9d", + "components.schemas.ReveImageCreateRequest.properties.version.description": "ca67ff3a", + "components.schemas.ReveImageEditRequest.description": "e4366cec", + "components.schemas.ReveImageEditRequest.properties.aspect_ratio.description": "de56f1ae", + "components.schemas.ReveImageEditRequest.properties.edit_instruction.description": "67101fd5", + "components.schemas.ReveImageEditRequest.properties.postprocessing.description": "8529198b", + "components.schemas.ReveImageEditRequest.properties.reference_image.description": "1d94d17d", + "components.schemas.ReveImageEditRequest.properties.test_time_scaling.description": "5a3d4f9d", + "components.schemas.ReveImageEditRequest.properties.version.description": "2e967caa", + "components.schemas.ReveImageRemixRequest.description": "cb7ccd8e", + "components.schemas.ReveImageRemixRequest.properties.aspect_ratio.description": "f9dc9e04", + "components.schemas.ReveImageRemixRequest.properties.postprocessing.description": "8529198b", + "components.schemas.ReveImageRemixRequest.properties.prompt.description": "a504f7aa", + "components.schemas.ReveImageRemixRequest.properties.reference_images.description": "6e335911", + "components.schemas.ReveImageRemixRequest.properties.test_time_scaling.description": "5a3d4f9d", + "components.schemas.ReveImageRemixRequest.properties.version.description": "85dacf1e", + "components.schemas.ReveImageResponse.description": "6c6062e7", + "components.schemas.ReveImageResponse.properties.content_violation.description": "f46aadb9", + "components.schemas.ReveImageResponse.properties.credits_remaining.description": "e7376c0c", + "components.schemas.ReveImageResponse.properties.credits_used.description": "bcbf44b2", + "components.schemas.ReveImageResponse.properties.image.description": "ab061d89", + "components.schemas.ReveImageResponse.properties.request_id.description": "f8910590", + "components.schemas.ReveImageResponse.properties.version.description": "4a7e7ed5", + "components.schemas.RevePostprocessingOperation.description": "b06133dd", + "components.schemas.RevePostprocessingOperation.properties.effect_name.description": "00e63313", + "components.schemas.RevePostprocessingOperation.properties.effect_parameters.description": "382dcdc0", + "components.schemas.RevePostprocessingOperation.properties.max_dim.description": "97180032", + "components.schemas.RevePostprocessingOperation.properties.max_height.description": "0ffd5ae5", + "components.schemas.RevePostprocessingOperation.properties.max_width.description": "0b24b22a", + "components.schemas.RevePostprocessingOperation.properties.process.description": "3596dca2", + "components.schemas.RevePostprocessingOperation.properties.upscale_factor.description": "072efc24", + "components.schemas.Rodin3DCheckStatusRequest.properties.subscription_key.description": "1868fae2", + "components.schemas.Rodin3DCheckStatusResponse.properties.jobs.description": "c778d6de", + "components.schemas.Rodin3DDownloadRequest.properties.task_uuid.description": "b7b2d645", + "components.schemas.Rodin3DGenerateRequest.properties.TAPose.description": "1c13e054", + "components.schemas.Rodin3DGenerateRequest.properties.addons.description": "3b8d4d9d", + "components.schemas.Rodin3DGenerateRequest.properties.bbox_condition.description": "97899d53", + "components.schemas.Rodin3DGenerateRequest.properties.hd_texture.description": "048339d5", + "components.schemas.Rodin3DGenerateRequest.properties.images.description": "7ea54bf9", + "components.schemas.Rodin3DGenerateRequest.properties.is_micro.description": "bb302a42", + "components.schemas.Rodin3DGenerateRequest.properties.is_symmetric.description": "934dcd40", + "components.schemas.Rodin3DGenerateRequest.properties.mesh_simplify.description": "82c8ab53", + "components.schemas.Rodin3DGenerateRequest.properties.mesh_smooth.description": "d12a6fe9", + "components.schemas.Rodin3DGenerateRequest.properties.preview_render.description": "5a840d21", + "components.schemas.Rodin3DGenerateRequest.properties.prompt.description": "8e554fb1", + "components.schemas.Rodin3DGenerateRequest.properties.quality_override.description": "916b2660", + "components.schemas.Rodin3DGenerateRequest.properties.seed.description": "b1b20ed3", + "components.schemas.Rodin3DGenerateRequest.properties.texture_delight.description": "a3a9a459", + "components.schemas.Rodin3DGenerateRequest.properties.use_original_alpha.description": "30971398", + "components.schemas.Rodin3DGenerateResponse.properties.error.description": "c005fc23", + "components.schemas.Rodin3DGenerateResponse.properties.message.description": "9b226fb0", + "components.schemas.Rodin3DGenerateResponse.properties.prompt.description": "c779f11a", + "components.schemas.Rodin3DGenerateResponse.properties.submit_time.description": "28fab766", + "components.schemas.Rodin3DGenerateResponse.properties.uuid.description": "f7ed38bd", + "components.schemas.RodinAddonType.description": "d6648cf2", + "components.schemas.RodinCheckStatusJobItem.properties.uuid.description": "6b6a5f8c", + "components.schemas.RodinConditionModeType.description": "940b9c89", + "components.schemas.RodinGenerateJobsData.properties.subscription_key.description": "96a9f259", + "components.schemas.RodinGenerateJobsData.properties.uuids.description": "aa1e9b87", + "components.schemas.RodinGeometryFileFormatType.description": "5bf98a5c", + "components.schemas.RodinGeometryInstructModeType.description": "ab82e826", + "components.schemas.RodinMaterialType.description": "d5480e64", + "components.schemas.RodinMeshModeType.description": "12400ddb", + "components.schemas.RodinQualityType.description": "f897a479", + "components.schemas.RodinResourceItem.properties.name.description": "3efed3de", + "components.schemas.RodinResourceItem.properties.url.description": "48af528a", + "components.schemas.RodinTextureModeType.description": "4d4ca65a", + "components.schemas.RodinTierType.description": "e945adc6", + "components.schemas.RunwayContentModeration.description": "77a62ea5", + "components.schemas.RunwayContentModeration.properties.publicFigureThreshold.description": "52e03b95", + "components.schemas.RunwayImageToVideoRequest.properties.promptText.description": "7173ccdf", + "components.schemas.RunwayImageToVideoRequest.properties.seed.description": "150353d2", + "components.schemas.RunwayImageToVideoResponse.properties.id.description": "3e0cce3a", + "components.schemas.RunwayModelEnum.description": "67477ea6", + "components.schemas.RunwayPromptImageDetailedObject.description": "b142182c", + "components.schemas.RunwayPromptImageDetailedObject.properties.position.description": "1f3576a9", + "components.schemas.RunwayPromptImageDetailedObject.properties.uri.description": "2dcb70f8", + "components.schemas.RunwayPromptImageObject.description": "fed715b9", + "components.schemas.RunwayPromptImageObject.oneOf[0].description": "5e7ab798", + "components.schemas.RunwayPromptImageObject.oneOf[1].description": "9fd91e4a", + "components.schemas.RunwayTaskStatusEnum.description": "e63345ba", + "components.schemas.RunwayTaskStatusResponse.properties.createdAt.description": "81e2ca0b", + "components.schemas.RunwayTaskStatusResponse.properties.id.description": "3e0cce3a", + "components.schemas.RunwayTaskStatusResponse.properties.output.description": "1ca41c4a", + "components.schemas.RunwayTaskStatusResponse.properties.progress.description": "777154b2", + "components.schemas.RunwayTextToImageRequest.properties.model.description": "d2ad8216", + "components.schemas.RunwayTextToImageRequest.properties.promptText.description": "6c65ecef", + "components.schemas.RunwayTextToImageRequest.properties.referenceImages.description": "d81f7263", + "components.schemas.RunwayTextToImageRequest.properties.referenceImages.items.properties.uri.description": "04825174", + "components.schemas.RunwayTextToImageResponse.properties.id.description": "3e0cce3a", + "components.schemas.RunwayVideoToVideoKeyframe.description": "bcbc9788", + "components.schemas.RunwayVideoToVideoKeyframe.oneOf[0].properties.seconds.description": "ef99262b", + "components.schemas.RunwayVideoToVideoKeyframe.oneOf[0].properties.uri.description": "7ed2dd0c", + "components.schemas.RunwayVideoToVideoKeyframe.oneOf[1].properties.at.description": "40b8fb9b", + "components.schemas.RunwayVideoToVideoKeyframe.oneOf[1].properties.uri.description": "7ed2dd0c", + "components.schemas.RunwayVideoToVideoModelEnum.description": "32e2081b", + "components.schemas.RunwayVideoToVideoPromptImage.description": "405d1129", + "components.schemas.RunwayVideoToVideoPromptImage.properties.uri.description": "7ed2dd0c", + "components.schemas.RunwayVideoToVideoPromptImagePosition.description": "43379c94", + "components.schemas.RunwayVideoToVideoPromptImagePosition.oneOf[0].description": "0e6ca89d", + "components.schemas.RunwayVideoToVideoPromptImagePosition.oneOf[1].description": "bf7dd4e6", + "components.schemas.RunwayVideoToVideoPromptImagePosition.oneOf[1].properties.timestampSeconds.description": "3032ce97", + "components.schemas.RunwayVideoToVideoPromptImagePosition.oneOf[2].description": "31a2eedb", + "components.schemas.RunwayVideoToVideoPromptImagePosition.oneOf[2].properties.positionPercentage.description": "64e216b6", + "components.schemas.RunwayVideoToVideoRequest.description": "bf36b1a9", + "components.schemas.RunwayVideoToVideoRequest.properties.keyframes.description": "a9fea2ce", + "components.schemas.RunwayVideoToVideoRequest.properties.promptImage.description": "893bfb4f", + "components.schemas.RunwayVideoToVideoRequest.properties.promptText.description": "c891a370", + "components.schemas.RunwayVideoToVideoRequest.properties.seed.description": "51676443", + "components.schemas.RunwayVideoToVideoRequest.properties.videoUri.description": "4ca3d14d", + "components.schemas.RunwayVideoToVideoResponse.properties.id.description": "3e0cce3a", + "components.schemas.SeedanceAssetModeration.properties.strategy.description": "d038bd85", + "components.schemas.SeedanceCreateAssetRequest.properties.group_id.description": "7e5d8c7d", + "components.schemas.SeedanceCreateAssetRequest.properties.name.description": "ac330db2", + "components.schemas.SeedanceCreateAssetRequest.properties.project_name.description": "d30a8dc7", + "components.schemas.SeedanceCreateAssetRequest.properties.url.description": "dcf1731f", + "components.schemas.SeedanceCreateAssetResponse.properties.asset_id.description": "42bce9f9", + "components.schemas.SeedanceCreateVisualValidateSessionRequest.properties.name.description": "05c81766", + "components.schemas.SeedanceCreateVisualValidateSessionResponse.properties.h5_link.description": "2d69808f", + "components.schemas.SeedanceCreateVisualValidateSessionResponse.properties.session_id.description": "035b3e7d", + "components.schemas.SeedanceGetAssetResponse.properties.url.description": "b662dafd", + "components.schemas.SeedanceGetVisualValidateSessionResponse.properties.group_id.description": "8aec2fa0", + "components.schemas.SeedanceGetVisualValidateSessionResponse.properties.name.description": "58267097", + "components.schemas.SeedanceListUserAssetsResponse.properties.truncated.description": "421ca6a0", + "components.schemas.SeedanceUserAsset.properties.group_name.description": "75e23554", + "components.schemas.SeedanceUserAsset.properties.url.description": "b1c95ac5", + "components.schemas.SeedanceVirtualLibraryCreateAssetRequest.properties.asset_type.description": "60997314", + "components.schemas.SeedanceVirtualLibraryCreateAssetRequest.properties.hash.description": "e7237c10", + "components.schemas.SeedanceVirtualLibraryCreateAssetRequest.properties.url.description": "d7167587", + "components.schemas.SeedanceVirtualLibraryCreateAssetResponse.properties.asset_id.description": "42bce9f9", + "components.schemas.SeedanceVisualValidationGroup.properties.group_id.description": "f4319651", + "components.schemas.SeedanceVisualValidationGroup.properties.name.description": "38349b6b", + "components.schemas.SoniloErrorResponse.properties.detail.properties.code.description": "0570b384", + "components.schemas.SoniloErrorResponse.properties.detail.properties.message.description": "52710385", + "components.schemas.SoniloStreamEvent.description": "5b1c1d40", + "components.schemas.SoniloStreamEvent.oneOf[0].properties.summary.description": "f7bd49ed", + "components.schemas.SoniloStreamEvent.oneOf[1].properties.data.description": "e006b976", + "components.schemas.SoniloTextToMusicRequest.properties.duration.description": "e19fb73c", + "components.schemas.SoniloTextToMusicRequest.properties.prompt.description": "91f64608", + "components.schemas.SoniloVideoToMusicRequest.oneOf[0].properties.prompt.description": "46500ab2", + "components.schemas.SoniloVideoToMusicRequest.oneOf[0].properties.video.description": "a0669efc", + "components.schemas.SoniloVideoToMusicRequest.oneOf[1].properties.prompt.description": "46500ab2", + "components.schemas.SoniloVideoToMusicRequest.oneOf[1].properties.video_url.description": "84580c85", + "components.schemas.StorageFile.properties.file_path.description": "8f6f4f84", + "components.schemas.StorageFile.properties.id.description": "aa201f2c", + "components.schemas.StorageFile.properties.public_url.description": "f7b60b04", + "components.schemas.SubscriptionDuration.description": "7bcd6c52", + "components.schemas.SubscriptionTier.description": "8f16c35e", + "components.schemas.TencentErrorResponse.description": "39badb6a", + "components.schemas.TencentErrorResponse.properties.Response.properties.Error.properties.Code.description": "0570b384", + "components.schemas.TencentErrorResponse.properties.Response.properties.Error.properties.Message.description": "a5dc35f1", + "components.schemas.TencentErrorResponse.properties.Response.properties.RequestId.description": "9a0f8423", + "components.schemas.TencentFile3D.description": "f573e23f", + "components.schemas.TencentFile3D.properties.PreviewImageUrl.description": "be37bbe2", + "components.schemas.TencentFile3D.properties.Type.description": "db3e7569", + "components.schemas.TencentFile3D.properties.Url.description": "25f298d1", + "components.schemas.TencentHunyuan3DProRequest.description": "121967b2", + "components.schemas.TencentHunyuan3DProRequest.properties.EnablePBR.description": "db9c29a2", + "components.schemas.TencentHunyuan3DProRequest.properties.FaceCount.description": "6e291804", + "components.schemas.TencentHunyuan3DProRequest.properties.GenerateType.description": "bbb89efe", + "components.schemas.TencentHunyuan3DProRequest.properties.ImageBase64.description": "9e70ba61", + "components.schemas.TencentHunyuan3DProRequest.properties.ImageUrl.description": "5b0af767", + "components.schemas.TencentHunyuan3DProRequest.properties.Model.description": "3125c826", + "components.schemas.TencentHunyuan3DProRequest.properties.MultiViewImages.description": "d2b9d105", + "components.schemas.TencentHunyuan3DProRequest.properties.PolygonType.description": "5be0bcd3", + "components.schemas.TencentHunyuan3DProRequest.properties.Prompt.description": "ac28f960", + "components.schemas.TencentHunyuan3DProResponse.description": "075f5199", + "components.schemas.TencentHunyuan3DProResponse.properties.Response.properties.Error.description": "49a6745b", + "components.schemas.TencentHunyuan3DProResponse.properties.Response.properties.Error.properties.Code.description": "0570b384", + "components.schemas.TencentHunyuan3DProResponse.properties.Response.properties.Error.properties.Message.description": "a5dc35f1", + "components.schemas.TencentHunyuan3DProResponse.properties.Response.properties.JobId.description": "acdd1eb4", + "components.schemas.TencentHunyuan3DProResponse.properties.Response.properties.RequestId.description": "9a0f8423", + "components.schemas.TencentHunyuan3DQueryRequest.properties.JobId.description": "c40827de", + "components.schemas.TencentHunyuan3DQueryResponse.description": "4a21c0aa", + "components.schemas.TencentHunyuan3DQueryResponse.properties.Response.properties.ErrorCode.description": "6f5a03e1", + "components.schemas.TencentHunyuan3DQueryResponse.properties.Response.properties.ErrorMessage.description": "66871e88", + "components.schemas.TencentHunyuan3DQueryResponse.properties.Response.properties.RequestId.description": "9a0f8423", + "components.schemas.TencentHunyuan3DQueryResponse.properties.Response.properties.ResultFile3Ds.description": "7491283f", + "components.schemas.TencentHunyuan3DQueryResponse.properties.Response.properties.Status.description": "a2d43823", + "components.schemas.TencentHunyuan3DSmartTopologyRequest.description": "703bc635", + "components.schemas.TencentHunyuan3DSmartTopologyRequest.properties.FaceLevel.description": "36efddc6", + "components.schemas.TencentHunyuan3DSmartTopologyRequest.properties.PolygonType.description": "0276df96", + "components.schemas.TencentHunyuan3DTextureEditRequest.description": "13d39140", + "components.schemas.TencentHunyuan3DTextureEditRequest.properties.EnablePBR.description": "77b74e65", + "components.schemas.TencentHunyuan3DTextureEditRequest.properties.Prompt.description": "dbae51b4", + "components.schemas.TencentHunyuan3DUVRequest.description": "bbf4c68b", + "components.schemas.TencentHunyuan3DUVResponse.description": "ae944ee6", + "components.schemas.TencentHunyuan3DUVResponse.properties.Response.properties.Error.description": "49a6745b", + "components.schemas.TencentHunyuan3DUVResponse.properties.Response.properties.Error.properties.Code.description": "0570b384", + "components.schemas.TencentHunyuan3DUVResponse.properties.Response.properties.Error.properties.Message.description": "a5dc35f1", + "components.schemas.TencentHunyuan3DUVResponse.properties.Response.properties.JobId.description": "4eb2dd48", + "components.schemas.TencentHunyuan3DUVResponse.properties.Response.properties.RequestId.description": "9a0f8423", + "components.schemas.TencentImageInfo.description": "aa4dd984", + "components.schemas.TencentImageInfo.properties.ImageBase64.description": "830f830a", + "components.schemas.TencentImageInfo.properties.ImageUrl.description": "1f490f49", + "components.schemas.TencentInputFile3D.description": "a726e257", + "components.schemas.TencentInputFile3D.properties.Type.description": "f3107d2e", + "components.schemas.TencentInputFile3D.properties.Url.description": "4e40c00f", + "components.schemas.TencentViewImage.description": "e02a71ea", + "components.schemas.TencentViewImage.properties.ViewImageBase64.description": "a6b8504f", + "components.schemas.TencentViewImage.properties.ViewImageUrl.description": "d99f0e10", + "components.schemas.TencentViewImage.properties.ViewType.description": "2d2b66df", + "components.schemas.TextResponseFormatConfiguration.description": "01265447", + "components.schemas.TextResponseFormatJsonSchema.description": "3fd72045", + "components.schemas.TextResponseFormatJsonSchema.properties.description.description": "dbaeddc3", + "components.schemas.TextResponseFormatJsonSchema.properties.name.description": "c7f7e7e4", + "components.schemas.TextResponseFormatJsonSchema.properties.strict.description": "d71a08d1", + "components.schemas.TextResponseFormatJsonSchema.properties.type.description": "a481f850", + "components.schemas.ToolChoiceFunction.description": "00938a65", + "components.schemas.ToolChoiceFunction.properties.name.description": "5071f76f", + "components.schemas.ToolChoiceFunction.properties.type.description": "2e6ff905", + "components.schemas.ToolChoiceOptions.description": "f681129d", + "components.schemas.ToolChoiceTypes.description": "5925bc07", + "components.schemas.ToolChoiceTypes.properties.type.description": "ec9200cd", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.description": "39208bb6", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.container.description": "b396d61b", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.endNumber.description": "dbfd161f", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.frameCount.description": "ad78628b", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.frameRate.description": "04211c3e", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.resolution.description": "ae8244ab", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.resolution.properties.height.description": "6717d280", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.resolution.properties.width.description": "c10714c7", + "components.schemas.TopazCreateRequestImageSequenceSchema.properties.source.properties.startNumber.description": "324d91b9", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.description": "39208bb6", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.container.description": "9199cc6e", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.duration.description": "9396e243", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.frameCount.description": "b9126dec", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.frameRate.description": "04211c3e", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.resolution.description": "69bdec5c", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.resolution.properties.height.description": "f9b8ffb6", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.resolution.properties.width.description": "b58a6599", + "components.schemas.TopazCreateRequestVideoSchema.properties.source.properties.size.description": "ca4b6f92", + "components.schemas.TopazCredentialsS3.properties.externalId.description": "092494ed", + "components.schemas.TopazCredentialsS3.properties.roleArn.description": "1b42e5bd", + "components.schemas.TopazDownloadResponse.properties.download_url.description": "9bae6022", + "components.schemas.TopazDownloadResponse.properties.expiry.description": "6cbc41c6", + "components.schemas.TopazDownloadResponse.properties.head_url.description": "04f62b74", + "components.schemas.TopazEnhanceGenRequest.properties.color_preservation.description": "d7881c96", + "components.schemas.TopazEnhanceGenRequest.properties.creativity.description": "3f44e2ee", + "components.schemas.TopazEnhanceGenRequest.properties.crop_to_fill.description": "6674805b", + "components.schemas.TopazEnhanceGenRequest.properties.face_enhancement.description": "1fe6e614", + "components.schemas.TopazEnhanceGenRequest.properties.face_enhancement_creativity.description": "8d1ed95b", + "components.schemas.TopazEnhanceGenRequest.properties.face_enhancement_strength.description": "d07d3124", + "components.schemas.TopazEnhanceGenRequest.properties.face_preservation.description": "1ba44d01", + "components.schemas.TopazEnhanceGenRequest.properties.image.description": "076815f6", + "components.schemas.TopazEnhanceGenRequest.properties.model.description": "d81d3b32", + "components.schemas.TopazEnhanceGenRequest.properties.output_format.description": "7355527b", + "components.schemas.TopazEnhanceGenRequest.properties.output_height.description": "4c50ab29", + "components.schemas.TopazEnhanceGenRequest.properties.output_width.description": "a04dd6ef", + "components.schemas.TopazEnhanceGenRequest.properties.prompt.description": "7089e651", + "components.schemas.TopazEnhanceGenRequest.properties.source_id.description": "91e25046", + "components.schemas.TopazEnhanceGenRequest.properties.source_url.description": "98d44db4", + "components.schemas.TopazEnhanceGenRequest.properties.subject_detection.description": "79019001", + "components.schemas.TopazEnhanceGenResponse.properties.eta.description": "aa2af218", + "components.schemas.TopazEnhanceGenResponse.properties.process_id.description": "40006c76", + "components.schemas.TopazEnhanceGenResponse.properties.source_id.description": "91e25046", + "components.schemas.TopazExternalStorage.properties.key.description": "423300a4", + "components.schemas.TopazInputFilters.description": "f352d720", + "components.schemas.TopazOutputInformationImageSequence.properties.codecId.description": "6c7ac797", + "components.schemas.TopazOutputInformationImageSequence.properties.container.description": "b9ffe4a3", + "components.schemas.TopazOutputInformationImageSequence.properties.cropToFit.description": "afaf8934", + "components.schemas.TopazOutputInformationImageSequence.properties.frameRate.description": "68e19e4c", + "components.schemas.TopazOutputInformationImageSequence.properties.resolution.description": "71f52c23", + "components.schemas.TopazOutputInformationImageSequence.properties.resolution.properties.height.description": "1d049c25", + "components.schemas.TopazOutputInformationImageSequence.properties.resolution.properties.width.description": "ea1b9b1c", + "components.schemas.TopazOutputInformationImageSequence.properties.videoProfile.description": "2722c9c0", + "components.schemas.TopazOutputInformationVideo.properties.audioBitrate.description": "d6557234", + "components.schemas.TopazOutputInformationVideo.properties.audioCodec.description": "d6336a8b", + "components.schemas.TopazOutputInformationVideo.properties.codecId.description": "6c7ac797", + "components.schemas.TopazOutputInformationVideo.properties.container.description": "cd5319c1", + "components.schemas.TopazOutputInformationVideo.properties.cropToFit.description": "afaf8934", + "components.schemas.TopazOutputInformationVideo.properties.dynamicCompressionLevel.description": "ce927818", + "components.schemas.TopazOutputInformationVideo.properties.frameRate.description": "68e19e4c", + "components.schemas.TopazOutputInformationVideo.properties.resolution.description": "71f52c23", + "components.schemas.TopazOutputInformationVideo.properties.resolution.properties.height.description": "1d049c25", + "components.schemas.TopazOutputInformationVideo.properties.resolution.properties.width.description": "ea1b9b1c", + "components.schemas.TopazOutputInformationVideo.properties.videoBitrate.description": "3211acf8", + "components.schemas.TopazOutputInformationVideo.properties.videoProfile.description": "cae22bbf", + "components.schemas.TopazStatusResponse.properties.category.description": "204e38ee", + "components.schemas.TopazStatusResponse.properties.creation_time.description": "79028bbc", + "components.schemas.TopazStatusResponse.properties.credits.description": "85ecf7a8", + "components.schemas.TopazStatusResponse.properties.crop_to_fill.description": "93c1756c", + "components.schemas.TopazStatusResponse.properties.eta.description": "aa2af218", + "components.schemas.TopazStatusResponse.properties.face_enhancement.description": "9ca90f63", + "components.schemas.TopazStatusResponse.properties.face_enhancement_creativity.description": "71e6bf4d", + "components.schemas.TopazStatusResponse.properties.face_enhancement_strength.description": "5a9de5ad", + "components.schemas.TopazStatusResponse.properties.filename.description": "e299ff7c", + "components.schemas.TopazStatusResponse.properties.input_format.description": "3a620e11", + "components.schemas.TopazStatusResponse.properties.input_height.description": "43843e50", + "components.schemas.TopazStatusResponse.properties.input_width.description": "fd7d459a", + "components.schemas.TopazStatusResponse.properties.model.description": "6763c9c0", + "components.schemas.TopazStatusResponse.properties.model_type.description": "fb5ca76f", + "components.schemas.TopazStatusResponse.properties.modification_time.description": "648c110c", + "components.schemas.TopazStatusResponse.properties.options_json.description": "90383038", + "components.schemas.TopazStatusResponse.properties.output_format.description": "0d827e39", + "components.schemas.TopazStatusResponse.properties.output_height.description": "a1e4f8e5", + "components.schemas.TopazStatusResponse.properties.output_width.description": "6d7254e9", + "components.schemas.TopazStatusResponse.properties.process_id.description": "40006c76", + "components.schemas.TopazStatusResponse.properties.progress.description": "d8433583", + "components.schemas.TopazStatusResponse.properties.source_id.description": "91e25046", + "components.schemas.TopazStatusResponse.properties.status.description": "16f26b03", + "components.schemas.TopazStatusResponse.properties.subject_detection.description": "0444b5f8", + "components.schemas.TopazStatusResponse.properties.sync.description": "92b198dd", + "components.schemas.TopazVideoAcceptResponse.properties.message.description": "575e8608", + "components.schemas.TopazVideoAcceptResponse.properties.uploadId.description": "fb4452b7", + "components.schemas.TopazVideoAcceptResponse.properties.urls.description": "3dbe28c3", + "components.schemas.TopazVideoCompleteUploadRequest.properties.md5Hash.description": "90954ac3", + "components.schemas.TopazVideoCompleteUploadRequest.properties.uploadResults.description": "014cbd9f", + "components.schemas.TopazVideoCompleteUploadRequest.properties.uploadResults.items.properties.eTag.description": "926c9050", + "components.schemas.TopazVideoCompleteUploadRequest.properties.uploadResults.items.properties.partNum.description": "5ff12662", + "components.schemas.TopazVideoCompleteUploadResponse.properties.message.description": "b736b1be", + "components.schemas.TopazVideoCreateResponse.properties.requestId.description": "911f0141", + "components.schemas.TopazVideoEnhancedDownload.description": "a50467c6", + "components.schemas.TopazVideoEnhancedDownload.properties.expiresAt.description": "0d6ad91c", + "components.schemas.TopazVideoEnhancedDownload.properties.expiresIn.description": "9c5947d4", + "components.schemas.TopazVideoEnhancementFilter.properties.auto.description": "67bd8238", + "components.schemas.TopazVideoEnhancementFilter.properties.blur.description": "2f243c8d", + "components.schemas.TopazVideoEnhancementFilter.properties.compression.description": "efcb6e17", + "components.schemas.TopazVideoEnhancementFilter.properties.creativity.description": "9f07bb49", + "components.schemas.TopazVideoEnhancementFilter.properties.details.description": "4581e373", + "components.schemas.TopazVideoEnhancementFilter.properties.fieldOrder.description": "c43fd071", + "components.schemas.TopazVideoEnhancementFilter.properties.focusFixLevel.description": "66665da0", + "components.schemas.TopazVideoEnhancementFilter.properties.grain.description": "2a869d72", + "components.schemas.TopazVideoEnhancementFilter.properties.grainSize.description": "a30cb85e", + "components.schemas.TopazVideoEnhancementFilter.properties.halo.description": "ba5e831b", + "components.schemas.TopazVideoEnhancementFilter.properties.isOptimizedMode.description": "4767e228", + "components.schemas.TopazVideoEnhancementFilter.properties.model.description": "0ec89a2d", + "components.schemas.TopazVideoEnhancementFilter.properties.noise.description": "8230ff21", + "components.schemas.TopazVideoEnhancementFilter.properties.preblur.description": "e72a3669", + "components.schemas.TopazVideoEnhancementFilter.properties.prenoise.description": "41d62ee6", + "components.schemas.TopazVideoEnhancementFilter.properties.recoverOriginalDetailValue.description": "d12e7922", + "components.schemas.TopazVideoEnhancementFilter.properties.videoType.description": "117fcb7d", + "components.schemas.TopazVideoFrameInterpolationFilter.properties.duplicate.description": "7991c315", + "components.schemas.TopazVideoFrameInterpolationFilter.properties.duplicateThreshold.description": "1e839a3f", + "components.schemas.TopazVideoFrameInterpolationFilter.properties.fps.description": "5767f121", + "components.schemas.TopazVideoFrameInterpolationFilter.properties.model.description": "0ec89a2d", + "components.schemas.TopazVideoFrameInterpolationFilter.properties.slowmo.description": "7d1a17eb", + "components.schemas.TopazVideoRequestEstimates.description": "78c0050d", + "components.schemas.TopazVideoRequestEstimates.properties.cost.description": "b06897ff", + "components.schemas.TopazVideoRequestEstimates.properties.time.description": "4475109b", + "components.schemas.TopazVideoStatusResponse.properties.averageFps.description": "a3464da4", + "components.schemas.TopazVideoStatusResponse.properties.combinedFps.description": "5f2006b7", + "components.schemas.TopazVideoStatusResponse.properties.outputSize.description": "9d9623e8", + "components.schemas.TopazVideoStatusResponse.properties.progress.description": "dd3399d7", + "components.schemas.TopazVideoStatusResponse.properties.status.description": "79c5e63e", + "components.schemas.TripoImageToModel.description": "d49b42de", + "components.schemas.TripoModelStyle.description": "6e5ee3b8", + "components.schemas.TripoModelVersion.description": "f5c4fc9c", + "components.schemas.TripoMultiviewMode.description": "89aa2335", + "components.schemas.TripoMultiviewToModel.description": "9ed7a9c9", + "components.schemas.TripoResponseSuccessCode.description": "f7e9065a", + "components.schemas.TripoSuccessTask.properties.data.properties.task_id.description": "d9020f5e", + "components.schemas.TripoTask.properties.consumed_credit.description": "746de6b2", + "components.schemas.TripoTextToModel.description": "2e07644c", + "components.schemas.UpdateCouponRequest.properties.metadata.description": "10282a4b", + "components.schemas.UpdateCouponRequest.properties.name.description": "c2c0afba", + "components.schemas.UpdatePromoCodeRequest.properties.active.description": "2a5d2ad7", + "components.schemas.UpdatePromoCodeRequest.properties.metadata.description": "10282a4b", + "components.schemas.UsageBalance.description": "282d4104", + "components.schemas.UsageBreakdownRow.properties.cost_micros.description": "dd5b88fb", + "components.schemas.UsageBreakdownRow.properties.share.description": "caaa8299", + "components.schemas.UsageBucket.properties.cost_micros.description": "09fb69ef", + "components.schemas.UsageBucket.properties.group_key.description": "057febdb", + "components.schemas.UsageBucket.properties.period_end.description": "a4adcfad", + "components.schemas.UsageBucket.properties.period_start.description": "c18a1998", + "components.schemas.UsageSummary.properties.spend_micros.description": "386bb7ca", + "components.schemas.User.properties.email.description": "0b83b7bc", + "components.schemas.User.properties.id.description": "1b856ced", + "components.schemas.User.properties.isAdmin.description": "868cc4c4", + "components.schemas.User.properties.isApproved.description": "428f5861", + "components.schemas.User.properties.name.description": "dc61ade2", + "components.schemas.Veo2GenVidPollRequest.properties.operationName.description": "3b6b90ac", + "components.schemas.Veo2GenVidPollResponse.properties.error.description": "9fae1f78", + "components.schemas.Veo2GenVidPollResponse.properties.error.properties.code.description": "0570b384", + "components.schemas.Veo2GenVidPollResponse.properties.error.properties.message.description": "a5dc35f1", + "components.schemas.Veo2GenVidPollResponse.properties.response.description": "12504f36", + "components.schemas.Veo2GenVidPollResponse.properties.response.properties.raiMediaFilteredCount.description": "b56f1ab7", + "components.schemas.Veo2GenVidPollResponse.properties.response.properties.raiMediaFilteredReasons.description": "67f0cd2a", + "components.schemas.Veo2GenVidPollResponse.properties.response.properties.videos.items.properties.bytesBase64Encoded.description": "b0990a76", + "components.schemas.Veo2GenVidPollResponse.properties.response.properties.videos.items.properties.gcsUri.description": "786e8121", + "components.schemas.Veo2GenVidPollResponse.properties.response.properties.videos.items.properties.mimeType.description": "b48c126a", + "components.schemas.Veo2GenVidRequest.properties.instances.items.properties.image.description": "7cab5bec", + "components.schemas.Veo2GenVidRequest.properties.instances.items.properties.prompt.description": "06f4cd2d", + "components.schemas.Veo2GenVidRequest.properties.parameters.properties.storageUri.description": "739993cc", + "components.schemas.Veo2GenVidResponse.properties.name.description": "cd793c1a", + "components.schemas.VeoGenVidPollRequest.properties.operationName.description": "e682a989", + "components.schemas.VeoGenVidPollResponse.description": "ff67741e", + "components.schemas.VeoGenVidPollResponse.properties.done.description": "42f1fccb", + "components.schemas.VeoGenVidPollResponse.properties.error.description": "e47e556e", + "components.schemas.VeoGenVidPollResponse.properties.error.properties.code.description": "c4116cde", + "components.schemas.VeoGenVidPollResponse.properties.error.properties.message.description": "a5dc35f1", + "components.schemas.VeoGenVidPollResponse.properties.name.description": "cd793c1a", + "components.schemas.VeoGenVidPollResponse.properties.response.description": "515b3f24", + "components.schemas.VeoGenVidPollResponse.properties.response.properties.raiMediaFilteredCount.description": "e826825a", + "components.schemas.VeoGenVidPollResponse.properties.response.properties.raiMediaFilteredReasons.description": "7b8c02ee", + "components.schemas.VeoGenVidPollResponse.properties.response.properties.videos.items.properties.bytesBase64Encoded.description": "b0990a76", + "components.schemas.VeoGenVidPollResponse.properties.response.properties.videos.items.properties.gcsUri.description": "ab9f01ec", + "components.schemas.VeoGenVidPollResponse.properties.response.properties.videos.items.properties.mimeType.description": "01acef1a", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.cameraControl.description": "204c094b", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.image.description": "02bbb8d0", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.image.properties.bytesBase64Encoded.description": "9692f763", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.image.properties.gcsUri.description": "c9506ea9", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.image.properties.mimeType.description": "6c2f9452", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.lastFrame.description": "39923b23", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.lastFrame.properties.bytesBase64Encoded.description": "9692f763", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.lastFrame.properties.gcsUri.description": "c9506ea9", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.lastFrame.properties.mimeType.description": "6c2f9452", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.mask.description": "4688c044", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.mask.properties.bytesBase64Encoded.description": "473cf281", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.mask.properties.gcsUri.description": "188c9a7c", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.mask.properties.maskMode.description": "f58a2ab1", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.mask.properties.mimeType.description": "15594e3f", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.prompt.description": "acaebf6a", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.description": "fd9551fe", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.items.properties.image.properties.bytesBase64Encoded.description": "9692f763", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.items.properties.image.properties.gcsUri.description": "c9506ea9", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.items.properties.image.properties.mimeType.description": "6c2f9452", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.items.properties.referenceId.description": "e288ee81", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.referenceImages.items.properties.referenceType.description": "e346d6c4", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.video.description": "17842681", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.video.properties.bytesBase64Encoded.description": "c4585ddf", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.video.properties.gcsUri.description": "ade773af", + "components.schemas.VeoGenVidRequest.properties.instances.items.properties.video.properties.mimeType.description": "d88e3258", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.aspectRatio.description": "b6440519", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.compressionQuality.description": "f9a6d58a", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.durationSeconds.description": "2340cd79", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.enhancePrompt.description": "9906ac4c", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.fps.description": "107696c7", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.generateAudio.description": "0169ca20", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.negativePrompt.description": "8fe758a2", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.personGeneration.description": "aca78527", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.pubsubTopic.description": "1a69a6ec", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.resizeMode.description": "5e57b43a", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.resolution.description": "7085da48", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.sampleCount.description": "20aae7fa", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.seed.description": "096b65d2", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.storageUri.description": "60be6b21", + "components.schemas.VeoGenVidRequest.properties.parameters.properties.task.description": "119dd33e", + "components.schemas.VeoGenVidResponse.description": "5a79ef64", + "components.schemas.VeoGenVidResponse.properties.name.description": "bd6fb441", + "components.schemas.ViduExtendRequest.properties.callback_url.description": "29b68c59", + "components.schemas.ViduExtendRequest.properties.duration.description": "f05999e7", + "components.schemas.ViduExtendRequest.properties.images.description": "2c0632bc", + "components.schemas.ViduExtendRequest.properties.model.description": "689a58ce", + "components.schemas.ViduExtendRequest.properties.payload.description": "25286f22", + "components.schemas.ViduExtendRequest.properties.prompt.description": "624bb1b1", + "components.schemas.ViduExtendRequest.properties.resolution.description": "b09a06da", + "components.schemas.ViduExtendRequest.properties.video_creation_id.description": "bac00f62", + "components.schemas.ViduExtendRequest.properties.video_url.description": "f3f67f3a", + "components.schemas.ViduImageSetting.properties.duration.description": "7e64a4f5", + "components.schemas.ViduImageSetting.properties.key_image.description": "1664524a", + "components.schemas.ViduImageSetting.properties.prompt.description": "e4d31f4e", + "components.schemas.ViduMultiframeRequest.properties.callback_url.description": "29b68c59", + "components.schemas.ViduMultiframeRequest.properties.image_settings.description": "96df3473", + "components.schemas.ViduMultiframeRequest.properties.model.description": "689a58ce", + "components.schemas.ViduMultiframeRequest.properties.payload.description": "25286f22", + "components.schemas.ViduMultiframeRequest.properties.resolution.description": "ab5d9dce", + "components.schemas.ViduMultiframeRequest.properties.start_image.description": "c29a1edb", + "components.schemas.ViduTaskReply.properties.bgm.description": "b7242add", + "components.schemas.ViduTaskReply.properties.off_peak.description": "d2c7146c", + "components.schemas.ViduTaskReply.properties.payload.description": "b4427d50", + "components.schemas.ViduTaskReply.properties.watermark.description": "a5015dca", + "components.schemas.ViduTaskRequest.properties.audio.description": "972144eb", + "components.schemas.ViduTaskRequest.properties.audio_type.description": "7280f8da", + "components.schemas.ViduTaskRequest.properties.bgm.description": "01c31a7c", + "components.schemas.ViduTaskRequest.properties.callback_url.description": "29b68c59", + "components.schemas.ViduTaskRequest.properties.duration.description": "14423d1f", + "components.schemas.ViduTaskRequest.properties.images.description": "c07eece4", + "components.schemas.ViduTaskRequest.properties.is_rec.description": "cae6d584", + "components.schemas.ViduTaskRequest.properties.meta_data.description": "82a0ba01", + "components.schemas.ViduTaskRequest.properties.model.description": "b1c064f6", + "components.schemas.ViduTaskRequest.properties.movement_amplitude.description": "af7bab1e", + "components.schemas.ViduTaskRequest.properties.off_peak.description": "7b273970", + "components.schemas.ViduTaskRequest.properties.payload.description": "25286f22", + "components.schemas.ViduTaskRequest.properties.prompt.description": "624bb1b1", + "components.schemas.ViduTaskRequest.properties.resolution.description": "91f1b230", + "components.schemas.ViduTaskRequest.properties.seed.description": "5c4a1d85", + "components.schemas.ViduTaskRequest.properties.voice_id.description": "3c8a2660", + "components.schemas.ViduTaskRequest.properties.watermark.description": "8dd382ac", + "components.schemas.ViduTaskRequest.properties.wm_position.description": "54327260", + "components.schemas.ViduTaskRequest.properties.wm_url.description": "b579d9fd", + "components.schemas.WanImage2ImageGenerationRequest.properties.input.description": "c68c856c", + "components.schemas.WanImage2ImageGenerationRequest.properties.input.properties.images.description": "2700cdb2", + "components.schemas.WanImage2ImageGenerationRequest.properties.input.properties.images.items.description": "89994e4a", + "components.schemas.WanImage2ImageGenerationRequest.properties.input.properties.negative_prompt.description": "8d9fc0fc", + "components.schemas.WanImage2ImageGenerationRequest.properties.input.properties.prompt.description": "182c5f0a", + "components.schemas.WanImage2ImageGenerationRequest.properties.model.description": "9a203334", + "components.schemas.WanImage2ImageGenerationRequest.properties.parameters.description": "6ea04a4e", + "components.schemas.WanImage2ImageGenerationRequest.properties.parameters.properties.n.description": "b20094a7", + "components.schemas.WanImage2ImageGenerationRequest.properties.parameters.properties.seed.description": "9814a8a7", + "components.schemas.WanImage2ImageGenerationRequest.properties.parameters.properties.size.description": "54e62b26", + "components.schemas.WanImage2ImageGenerationRequest.properties.parameters.properties.watermark.description": "93f1edad", + "components.schemas.WanImage2ImageGenerationResponse.properties.code.description": "e8b013da", + "components.schemas.WanImage2ImageGenerationResponse.properties.message.description": "a2213eff", + "components.schemas.WanImage2ImageGenerationResponse.properties.output.properties.task_id.description": "3e0cce3a", + "components.schemas.WanImage2ImageGenerationResponse.properties.output.properties.task_status.description": "3fd71308", + "components.schemas.WanImage2ImageGenerationResponse.properties.request_id.description": "71ec0a25", + "components.schemas.WanImageGenerationRequest.properties.input.description": "6d493c89", + "components.schemas.WanImageGenerationRequest.properties.input.properties.negative_prompt.description": "8d9fc0fc", + "components.schemas.WanImageGenerationRequest.properties.input.properties.prompt.description": "00164cdb", + "components.schemas.WanImageGenerationRequest.properties.model.description": "2bf189b1", + "components.schemas.WanImageGenerationRequest.properties.parameters.description": "6ea04a4e", + "components.schemas.WanImageGenerationRequest.properties.parameters.properties.n.description": "401d4182", + "components.schemas.WanImageGenerationRequest.properties.parameters.properties.prompt_extend.description": "601cacaf", + "components.schemas.WanImageGenerationRequest.properties.parameters.properties.seed.description": "9814a8a7", + "components.schemas.WanImageGenerationRequest.properties.parameters.properties.size.description": "8b317ffe", + "components.schemas.WanImageGenerationRequest.properties.parameters.properties.watermark.description": "93f1edad", + "components.schemas.WanImageGenerationResponse.properties.code.description": "e8b013da", + "components.schemas.WanImageGenerationResponse.properties.message.description": "a2213eff", + "components.schemas.WanImageGenerationResponse.properties.output.properties.task_id.description": "3e0cce3a", + "components.schemas.WanImageGenerationResponse.properties.output.properties.task_status.description": "3fd71308", + "components.schemas.WanImageGenerationResponse.properties.request_id.description": "71ec0a25", + "components.schemas.WanTaskQueryResponse.properties.output.properties.actual_prompt.description": "db9476fa", + "components.schemas.WanTaskQueryResponse.properties.output.properties.check_audio.description": "b09802cf", + "components.schemas.WanTaskQueryResponse.properties.output.properties.code.description": "e8b013da", + "components.schemas.WanTaskQueryResponse.properties.output.properties.end_time.description": "74c4cef6", + "components.schemas.WanTaskQueryResponse.properties.output.properties.message.description": "a2213eff", + "components.schemas.WanTaskQueryResponse.properties.output.properties.orig_prompt.description": "24b4b37f", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.description": "04525eb4", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.items.properties.actual_prompt.description": "411fea98", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.items.properties.code.description": "11deb0a5", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.items.properties.message.description": "27e67b31", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.items.properties.orig_prompt.description": "a693cabd", + "components.schemas.WanTaskQueryResponse.properties.output.properties.results.items.properties.url.description": "55c82241", + "components.schemas.WanTaskQueryResponse.properties.output.properties.scheduled_time.description": "2c00380c", + "components.schemas.WanTaskQueryResponse.properties.output.properties.submit_time.description": "c39732d0", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_id.description": "3e0cce3a", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_metrics.description": "cd73bafd", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_metrics.properties.FAILED.description": "02847942", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_metrics.properties.SUCCEEDED.description": "5affd8e3", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_metrics.properties.TOTAL.description": "b53a4988", + "components.schemas.WanTaskQueryResponse.properties.output.properties.task_status.description": "3fd71308", + "components.schemas.WanTaskQueryResponse.properties.output.properties.video_url.description": "54ce5643", + "components.schemas.WanTaskQueryResponse.properties.request_id.description": "71ec0a25", + "components.schemas.WanTaskQueryResponse.properties.usage.description": "ac6b7bd9", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.SR.description": "9ab8b22e", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.duration.description": "454c1fa4", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.image_count.description": "bc2d470c", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.size.description": "84b92d30", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.video_count.description": "e14a08c0", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.video_duration.description": "df621ed4", + "components.schemas.WanTaskQueryResponse.properties.usage.properties.video_ratio.description": "8ee697a0", + "components.schemas.WanVideoGenerationRequest.properties.input.description": "6d493c89", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.audio_url.description": "7dece319", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.img_url.description": "37ba3521", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.media.description": "ee11a595", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.media.items.properties.type.description": "99ac28a1", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.media.items.properties.url.description": "4199defc", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.negative_prompt.description": "b1aad208", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.prompt.description": "6f7f986e", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.reference_video_urls.description": "359b59af", + "components.schemas.WanVideoGenerationRequest.properties.input.properties.template.description": "45d1e25b", + "components.schemas.WanVideoGenerationRequest.properties.model.description": "c5246297", + "components.schemas.WanVideoGenerationRequest.properties.parameters.description": "eada50cb", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.audio.description": "e8dff0cd", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.audio_setting.description": "61168c99", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.duration.description": "60d6781d", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.prompt_extend.description": "9675a7f7", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.ratio.description": "183da858", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.resolution.description": "57bb13e1", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.seed.description": "09f453b5", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.shot_type.description": "c2d51ef7", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.size.description": "482f866a", + "components.schemas.WanVideoGenerationRequest.properties.parameters.properties.watermark.description": "ce3b790e", + "components.schemas.WanVideoGenerationResponse.properties.code.description": "e8b013da", + "components.schemas.WanVideoGenerationResponse.properties.message.description": "a2213eff", + "components.schemas.WanVideoGenerationResponse.properties.output.properties.task_id.description": "3e0cce3a", + "components.schemas.WanVideoGenerationResponse.properties.output.properties.task_status.description": "3fd71308", + "components.schemas.WanVideoGenerationResponse.properties.request_id.description": "71ec0a25", + "components.schemas.WavespeedFlashVSRRequest.description": "442c7b54", + "components.schemas.WavespeedFlashVSRRequest.properties.duration.description": "c30cf7f2", + "components.schemas.WavespeedFlashVSRRequest.properties.target_resolution.description": "99cc2a2f", + "components.schemas.WavespeedFlashVSRRequest.properties.video.description": "0e9123ae", + "components.schemas.WavespeedSeedVR2ImageRequest.description": "5de6061c", + "components.schemas.WavespeedSeedVR2ImageRequest.properties.enable_base64_output.description": "26632c66", + "components.schemas.WavespeedSeedVR2ImageRequest.properties.image.description": "dbf79ac3", + "components.schemas.WavespeedSeedVR2ImageRequest.properties.output_format.description": "33731010", + "components.schemas.WavespeedSeedVR2ImageRequest.properties.target_resolution.description": "c3210ade", + "components.schemas.WavespeedTaskResponse.description": "a6fe3a2b", + "components.schemas.WavespeedTaskResponse.properties.code.description": "29f3e57a", + "components.schemas.WavespeedTaskResponse.properties.data.properties.created_at.description": "2a37b19a", + "components.schemas.WavespeedTaskResponse.properties.data.properties.error.description": "4200ac8b", + "components.schemas.WavespeedTaskResponse.properties.data.properties.has_nsfw_contents.description": "6e223f2d", + "components.schemas.WavespeedTaskResponse.properties.data.properties.id.description": "540bc378", + "components.schemas.WavespeedTaskResponse.properties.data.properties.model.description": "dfeb1a15", + "components.schemas.WavespeedTaskResponse.properties.data.properties.outputs.description": "7092a667", + "components.schemas.WavespeedTaskResponse.properties.data.properties.status.description": "6adc8982", + "components.schemas.WavespeedTaskResponse.properties.data.properties.timings.properties.inference.description": "95b95885", + "components.schemas.WavespeedTaskResponse.properties.data.properties.urls.properties.get.description": "483369e1", + "components.schemas.WavespeedTaskResponse.properties.message.description": "a56a92ba", + "components.schemas.WavespeedTaskResultResponse.description": "d0f63c7a", + "components.schemas.WavespeedTaskResultResponse.properties.code.description": "29f3e57a", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.created_at.description": "2a37b19a", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.error.description": "4200ac8b", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.id.description": "540bc378", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.model.description": "dfeb1a15", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.outputs.description": "7092a667", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.status.description": "6adc8982", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.timings.properties.inference.description": "95b95885", + "components.schemas.WavespeedTaskResultResponse.properties.data.properties.urls.properties.get.description": "483369e1", + "components.schemas.WavespeedTaskResultResponse.properties.message.description": "a56a92ba", + "components.schemas.WebSearchPreviewTool.description": "b30519d3", + "components.schemas.WebSearchPreviewTool.properties.search_context_size.description": "34c4a0d0", + "components.schemas.WebSearchPreviewTool.properties.type.description": "6855d85e", + "components.schemas.WebSearchToolCall.description": "a5f46919", + "components.schemas.WebSearchToolCall.properties.id.description": "e8b58b85", + "components.schemas.WebSearchToolCall.properties.status.description": "10d194f8", + "components.schemas.WebSearchToolCall.properties.type.description": "4fcd071d", + "components.schemas.XAIGeneratedImage.description": "8b50f8cb", + "components.schemas.XAIGeneratedImage.properties.b64_json.description": "15a9e664", + "components.schemas.XAIGeneratedImage.properties.mime_type.description": "a36c75a5", + "components.schemas.XAIGeneratedImage.properties.url.description": "41c2775e", + "components.schemas.XAIGeneratedVideo.description": "8d330402", + "components.schemas.XAIGeneratedVideo.properties.duration.description": "f7a1d7dc", + "components.schemas.XAIGeneratedVideo.properties.respect_moderation.description": "41e21b3d", + "components.schemas.XAIGeneratedVideo.properties.url.description": "db09752b", + "components.schemas.XAIImageEditRequest.description": "00eb3b7e", + "components.schemas.XAIImageEditRequest.properties.aspect_ratio.description": "0aacb785", + "components.schemas.XAIImageEditRequest.properties.images.description": "295ae15e", + "components.schemas.XAIImageEditRequest.properties.model.description": "cd8e85f5", + "components.schemas.XAIImageEditRequest.properties.n.description": "497cf55e", + "components.schemas.XAIImageEditRequest.properties.prompt.description": "9d6bcfee", + "components.schemas.XAIImageEditRequest.properties.quality.description": "1963a340", + "components.schemas.XAIImageEditRequest.properties.resolution.description": "4e430a4f", + "components.schemas.XAIImageEditRequest.properties.response_format.description": "962489d4", + "components.schemas.XAIImageEditRequest.properties.size.description": "db09113e", + "components.schemas.XAIImageEditRequest.properties.style.description": "a2b3a051", + "components.schemas.XAIImageEditRequest.properties.user.description": "0f4193f3", + "components.schemas.XAIImageGenerationRequest.description": "f9a1ff60", + "components.schemas.XAIImageGenerationRequest.properties.aspect_ratio.description": "bb197640", + "components.schemas.XAIImageGenerationRequest.properties.model.description": "cd8e85f5", + "components.schemas.XAIImageGenerationRequest.properties.n.description": "05c56c74", + "components.schemas.XAIImageGenerationRequest.properties.prompt.description": "a01d81c1", + "components.schemas.XAIImageGenerationRequest.properties.quality.description": "1963a340", + "components.schemas.XAIImageGenerationRequest.properties.resolution.description": "4e430a4f", + "components.schemas.XAIImageGenerationRequest.properties.response_format.description": "962489d4", + "components.schemas.XAIImageGenerationRequest.properties.size.description": "db09113e", + "components.schemas.XAIImageGenerationRequest.properties.style.description": "a2b3a051", + "components.schemas.XAIImageGenerationRequest.properties.user.description": "0f4193f3", + "components.schemas.XAIImageGenerationResponse.description": "c6293016", + "components.schemas.XAIImageGenerationResponse.properties.block_reason.description": "03d5f247", + "components.schemas.XAIImageGenerationResponse.properties.data.description": "e19c6b77", + "components.schemas.XAIImageObject.description": "e2004b3c", + "components.schemas.XAIImageObject.properties.type.description": "cd49911b", + "components.schemas.XAIImageObject.properties.url.description": "86aaabd9", + "components.schemas.XAIImageUsage.description": "170ff274", + "components.schemas.XAIImageUsage.properties.cost_in_usd_ticks.description": "d4793320", + "components.schemas.XAIReferenceImageObject.description": "3ec7cdeb", + "components.schemas.XAIReferenceImageObject.properties.url.description": "631dcdc8", + "components.schemas.XAIVideoAsyncResponse.description": "887ccfba", + "components.schemas.XAIVideoAsyncResponse.properties.request_id.description": "e4c808ed", + "components.schemas.XAIVideoEditRequest.description": "f21d3cc2", + "components.schemas.XAIVideoEditRequest.properties.model.description": "cd8e85f5", + "components.schemas.XAIVideoEditRequest.properties.output.description": "f593af51", + "components.schemas.XAIVideoEditRequest.properties.prompt.description": "3ab2df17", + "components.schemas.XAIVideoEditRequest.properties.user.description": "3e4d0d47", + "components.schemas.XAIVideoExtensionRequest.description": "5f69e249", + "components.schemas.XAIVideoExtensionRequest.properties.duration.description": "5fc9e502", + "components.schemas.XAIVideoExtensionRequest.properties.model.description": "b056a505", + "components.schemas.XAIVideoExtensionRequest.properties.prompt.description": "936940e5", + "components.schemas.XAIVideoGenerationRequest.description": "a10d3e18", + "components.schemas.XAIVideoGenerationRequest.properties.aspect_ratio.description": "a10c8b81", + "components.schemas.XAIVideoGenerationRequest.properties.duration.description": "a6dfd588", + "components.schemas.XAIVideoGenerationRequest.properties.model.description": "cd8e85f5", + "components.schemas.XAIVideoGenerationRequest.properties.output.description": "f593af51", + "components.schemas.XAIVideoGenerationRequest.properties.prompt.description": "f04cb720", + "components.schemas.XAIVideoGenerationRequest.properties.reference_images.description": "3108f4b4", + "components.schemas.XAIVideoGenerationRequest.properties.resolution.description": "c25d9879", + "components.schemas.XAIVideoGenerationRequest.properties.size.description": "aa7f0dfe", + "components.schemas.XAIVideoGenerationRequest.properties.user.description": "3e4d0d47", + "components.schemas.XAIVideoObject.description": "a1d827d4", + "components.schemas.XAIVideoObject.properties.url.description": "1d1dabf2", + "components.schemas.XAIVideoResultResponse.description": "ef57cb7e", + "components.schemas.XAIVideoResultResponse.properties.block_reason.description": "03d5f247", + "components.schemas.XAIVideoResultResponse.properties.model.description": "8fe883d8", + "components.schemas.XAIVideoResultResponse.properties.status.description": "37be3173", + "components.schemas.XAIVideoUsage.description": "1345f5e1", + "components.schemas.XAIVideoUsage.properties.cost_in_usd_ticks.description": "e889a6d3", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.description": "773070ef", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.parameters[0].description": "5b95ab5d", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.parameters[1].description": "1ae8340e", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.200.content.application/json.schema.properties.message.description": "306f66dc", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.200.description": "890d8ac7", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.400.description": "06204192", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.401.description": "8cfddd2a", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/archive-metronome-data.post.summary": "c5bcf60e", + "paths./admin/customers/{customer_id}/balance.get.description": "f7532a6d", + "paths./admin/customers/{customer_id}/balance.get.responses.200.description": "fd2756cb", + "paths./admin/customers/{customer_id}/balance.get.responses.401.description": "d089c8a9", + "paths./admin/customers/{customer_id}/balance.get.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/balance.get.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/balance.get.summary": "fd84b49b", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.description": "2bb7692d", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.parameters[0].description": "b0067f70", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.parameters[1].description": "1ae8340e", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.end_date.description": "6366a64e", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.has_fund.description": "d39628b2", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.is_active.description": "6c8493cf", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.renewal_date.description": "80a37068", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.subscription_id.description": "9b6918af", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.200.description": "823dcc58", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.401.description": "8cfddd2a", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/cloud-subscription-status.get.summary": "5bcf1941", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.description": "cafb9234", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.responses.200.description": "70535378", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.responses.401.description": "d089c8a9", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.delete.summary": "e244bb7d", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.description": "fb49813a", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.200.content.application/json.schema.properties.effective_limit.description": "e333fa3d", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.200.content.application/json.schema.properties.engine_limit.description": "db7605df", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.200.content.application/json.schema.properties.lifetime_paid_spend_cents.description": "c86c6e74", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.200.content.application/json.schema.properties.override.description": "f0240649", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.200.description": "47d3a2a3", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.401.description": "d089c8a9", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.get.summary": "ef1f6575", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.description": "4164f5b6", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.requestBody.content.application/json.schema.properties.override.description": "56512d99", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.responses.200.description": "ae2dc1f1", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.responses.400.description": "50c88257", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.responses.401.description": "d089c8a9", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/partner-node-concurrency-override.put.summary": "a0e83515", + "paths./admin/customers/{customer_id}/stripe-data.delete.description": "8d19d27a", + "paths./admin/customers/{customer_id}/stripe-data.delete.parameters[0].description": "558a7ccc", + "paths./admin/customers/{customer_id}/stripe-data.delete.parameters[1].description": "1ae8340e", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.200.content.application/json.schema.properties.message.description": "306f66dc", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.200.description": "133c0638", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.400.description": "06204192", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.401.description": "8cfddd2a", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.404.description": "5e3f5824", + "paths./admin/customers/{customer_id}/stripe-data.delete.responses.500.description": "f74d7444", + "paths./admin/customers/{customer_id}/stripe-data.delete.summary": "a5a394e2", + "paths./admin/generate-token.post.description": "be45b67f", + "paths./admin/generate-token.post.responses.200.content.application/json.schema.properties.expires_at.description": "cccab49f", + "paths./admin/generate-token.post.responses.200.content.application/json.schema.properties.token.description": "001256b0", + "paths./admin/generate-token.post.responses.200.description": "7e9711ff", + "paths./admin/generate-token.post.responses.401.description": "fd4a48dc", + "paths./admin/generate-token.post.responses.500.description": "f74d7444", + "paths./admin/generate-token.post.summary": "5e8288a8", + "paths./admin/nodes.post.responses.201.description": "aaaa9f70", + "paths./admin/nodes.post.responses.400.description": "6f1bff5c", + "paths./admin/nodes.post.responses.401.description": "d089c8a9", + "paths./admin/nodes.post.responses.409.description": "d27979bd", + "paths./admin/nodes.post.responses.500.description": "f74d7444", + "paths./admin/nodes.post.summary": "02595ac9", + "paths./admin/nodes/{nodeId}.put.description": "c3f1f45b", + "paths./admin/nodes/{nodeId}.put.responses.200.description": "eb81f62a", + "paths./admin/nodes/{nodeId}.put.responses.400.description": "6f1bff5c", + "paths./admin/nodes/{nodeId}.put.responses.401.description": "d089c8a9", + "paths./admin/nodes/{nodeId}.put.responses.403.description": "78342a09", + "paths./admin/nodes/{nodeId}.put.responses.404.description": "aa0a65c4", + "paths./admin/nodes/{nodeId}.put.responses.500.description": "f74d7444", + "paths./admin/nodes/{nodeId}.put.summary": "4a2ea61a", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.description": "25cc0fcf", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.requestBody.content.application/json.schema.properties.status_reason.description": "113a5d08", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.requestBody.content.application/json.schema.properties.supported_accelerators.description": "f9f8a16f", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.requestBody.content.application/json.schema.properties.supported_comfyui_frontend_version.description": "aeaa3824", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.requestBody.content.application/json.schema.properties.supported_comfyui_version.description": "30d0a237", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.requestBody.content.application/json.schema.properties.supported_os.description": "951ad4c1", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.200.description": "00fe4ff4", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.400.description": "6f1bff5c", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.401.description": "d089c8a9", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.403.description": "78342a09", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.404.description": "a8f65ec3", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.responses.500.description": "f74d7444", + "paths./admin/nodes/{nodeId}/versions/{versionNumber}.put.summary": "e683d55b", + "paths./admin/nodeversions.get.description": "2514cf20", + "paths./admin/nodeversions.get.parameters[3].description": "6ec2b657", + "paths./admin/nodeversions.get.parameters[4].description": "ed00c158", + "paths./admin/nodeversions.get.parameters[5].description": "72d501b9", + "paths./admin/nodeversions.get.parameters[6].description": "cbaa791a", + "paths./admin/nodeversions.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./admin/nodeversions.get.responses.200.content.application/json.schema.properties.pageSize.description": "eef6d527", + "paths./admin/nodeversions.get.responses.200.content.application/json.schema.properties.total.description": "3f0069e4", + "paths./admin/nodeversions.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./admin/nodeversions.get.responses.200.description": "ef524454", + "paths./admin/nodeversions.get.responses.400.description": "46a3caa3", + "paths./admin/nodeversions.get.responses.401.description": "d089c8a9", + "paths./admin/nodeversions.get.responses.403.description": "78342a09", + "paths./admin/nodeversions.get.responses.500.description": "f74d7444", + "paths./admin/nodeversions.get.summary": "031b8375", + "paths./admin/partner-node-model-overrides.get.description": "4b8c6482", + "paths./admin/partner-node-model-overrides.get.responses.200.description": "ef7d829b", + "paths./admin/partner-node-model-overrides.get.responses.401.description": "d089c8a9", + "paths./admin/partner-node-model-overrides.get.responses.500.description": "f74d7444", + "paths./admin/partner-node-model-overrides.get.summary": "a68ce612", + "paths./admin/partner-node-model-overrides/{model}.delete.description": "d0e37930", + "paths./admin/partner-node-model-overrides/{model}.delete.responses.200.description": "70535378", + "paths./admin/partner-node-model-overrides/{model}.delete.responses.400.description": "330509ca", + "paths./admin/partner-node-model-overrides/{model}.delete.responses.401.description": "d089c8a9", + "paths./admin/partner-node-model-overrides/{model}.delete.responses.500.description": "f74d7444", + "paths./admin/partner-node-model-overrides/{model}.delete.summary": "dadff92a", + "paths./admin/partner-node-model-overrides/{model}.get.description": "fad517d5", + "paths./admin/partner-node-model-overrides/{model}.get.responses.200.description": "817ea1ee", + "paths./admin/partner-node-model-overrides/{model}.get.responses.400.description": "330509ca", + "paths./admin/partner-node-model-overrides/{model}.get.responses.401.description": "d089c8a9", + "paths./admin/partner-node-model-overrides/{model}.get.responses.500.description": "f74d7444", + "paths./admin/partner-node-model-overrides/{model}.get.summary": "16c7c9a4", + "paths./admin/partner-node-model-overrides/{model}.put.description": "a693744c", + "paths./admin/partner-node-model-overrides/{model}.put.requestBody.content.application/json.schema.properties.tier.description": "de551dd3", + "paths./admin/partner-node-model-overrides/{model}.put.responses.200.description": "ae2dc1f1", + "paths./admin/partner-node-model-overrides/{model}.put.responses.400.description": "dbc3a2c0", + "paths./admin/partner-node-model-overrides/{model}.put.responses.401.description": "d089c8a9", + "paths./admin/partner-node-model-overrides/{model}.put.responses.500.description": "f74d7444", + "paths./admin/partner-node-model-overrides/{model}.put.summary": "1868b04b", + "paths./admin/sync-api-key-deletion.post.description": "97f3e624", + "paths./admin/sync-api-key-deletion.post.parameters[0].description": "1ae8340e", + "paths./admin/sync-api-key-deletion.post.requestBody.content.application/json.schema.properties.customer_id.description": "a1bccbe2", + "paths./admin/sync-api-key-deletion.post.requestBody.content.application/json.schema.properties.event.description": "166327e4", + "paths./admin/sync-api-key-deletion.post.requestBody.content.application/json.schema.properties.key_hash.description": "0df08c0a", + "paths./admin/sync-api-key-deletion.post.responses.200.content.application/json.schema.properties.result.description": "78138ad9", + "paths./admin/sync-api-key-deletion.post.responses.200.description": "19ea92ec", + "paths./admin/sync-api-key-deletion.post.responses.400.description": "d253bd3f", + "paths./admin/sync-api-key-deletion.post.responses.401.description": "8cfddd2a", + "paths./admin/sync-api-key-deletion.post.responses.500.description": "f74d7444", + "paths./admin/sync-api-key-deletion.post.summary": "2921eba6", + "paths./admin/verify-api-key.post.description": "13c5aed4", + "paths./admin/verify-api-key.post.parameters[0].description": "1ae8340e", + "paths./admin/verify-api-key.post.requestBody.content.application/json.schema.properties.api_key.description": "9d881cc9", + "paths./admin/verify-api-key.post.requestBody.content.application/json.schema.properties.include_customer_keys.description": "628d12e7", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.customer_api_keys.description": "ad1a31ac", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.email.description": "567d15e7", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.firebase_uid.description": "0b35b8db", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.is_admin.description": "039ea9c7", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.key_description.description": "3e08d9dc", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.key_name.description": "238a2e1d", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.name.description": "7f42d4b6", + "paths./admin/verify-api-key.post.responses.200.content.application/json.schema.properties.valid.description": "50c7e891", + "paths./admin/verify-api-key.post.responses.200.description": "63b55e28", + "paths./admin/verify-api-key.post.responses.401.description": "8cfddd2a", + "paths./admin/verify-api-key.post.responses.403.description": "ea09494a", + "paths./admin/verify-api-key.post.responses.404.description": "ac67dac0", + "paths./admin/verify-api-key.post.responses.500.description": "f74d7444", + "paths./admin/verify-api-key.post.summary": "1d77639d", + "paths./branch.get.description": "1408a61a", + "paths./branch.get.parameters[0].description": "fe676c70", + "paths./branch.get.responses.200.description": "101fd1dc", + "paths./branch.get.responses.404.description": "d9070d1a", + "paths./branch.get.responses.500.description": "f74d7444", + "paths./branch.get.summary": "c8dbe6d9", + "paths./bulk/nodes/versions.post.responses.200.description": "5fa890b4", + "paths./bulk/nodes/versions.post.responses.400.description": "217a5233", + "paths./bulk/nodes/versions.post.responses.500.description": "f74d7444", + "paths./bulk/nodes/versions.post.summary": "dd5d31b9", + "paths./comfy-nodes.get.parameters[1].description": "e285661b", + "paths./comfy-nodes.get.parameters[2].description": "b002def9", + "paths./comfy-nodes.get.parameters[3].description": "0b4abb17", + "paths./comfy-nodes.get.parameters[4].description": "5fa96745", + "paths./comfy-nodes.get.responses.200.content.application/json.schema.properties.total.description": "c4a3f12c", + "paths./comfy-nodes.get.responses.200.description": "565339bc", + "paths./comfy-nodes.get.responses.400.description": "6f1bff5c", + "paths./comfy-nodes.get.responses.401.description": "d089c8a9", + "paths./comfy-nodes.get.responses.403.description": "78342a09", + "paths./comfy-nodes.get.responses.500.description": "f74d7444", + "paths./comfy-nodes.get.summary": "6ab0c8e7", + "paths./comfy-nodes/backfill.post.responses.204.description": "b07b5418", + "paths./comfy-nodes/backfill.post.responses.400.description": "6f1bff5c", + "paths./comfy-nodes/backfill.post.responses.401.description": "d089c8a9", + "paths./comfy-nodes/backfill.post.responses.403.description": "78342a09", + "paths./comfy-nodes/backfill.post.responses.500.description": "f74d7444", + "paths./comfy-nodes/backfill.post.summary": "2011e3e5", + "paths./comfy-nodes/{comfyNodeName}/node.get.description": "0f089a1b", + "paths./comfy-nodes/{comfyNodeName}/node.get.parameters[0].description": "9a7e1568", + "paths./comfy-nodes/{comfyNodeName}/node.get.responses.200.description": "835881a0", + "paths./comfy-nodes/{comfyNodeName}/node.get.responses.404.description": "60fa2cdc", + "paths./comfy-nodes/{comfyNodeName}/node.get.responses.500.description": "f74d7444", + "paths./comfy-nodes/{comfyNodeName}/node.get.summary": "3065be89", + "paths./customers.get.description": "72b594a6", + "paths./customers.get.parameters[0].description": "62da4015", + "paths./customers.get.parameters[1].description": "1b9baaa2", + "paths./customers.get.parameters[2].description": "2fcba01b", + "paths./customers.get.parameters[3].description": "c9b8ed67", + "paths./customers.get.parameters[4].description": "fdd2c4a9", + "paths./customers.get.parameters[5].description": "4e858bcf", + "paths./customers.get.responses.200.content.application/json.schema.properties.limit.description": "467fcd3c", + "paths./customers.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./customers.get.responses.200.content.application/json.schema.properties.total.description": "27f8edf2", + "paths./customers.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./customers.get.responses.200.description": "8681743c", + "paths./customers.get.responses.400.description": "51443a02", + "paths./customers.get.responses.401.description": "d089c8a9", + "paths./customers.get.responses.403.description": "c41200b8", + "paths./customers.get.responses.500.description": "f74d7444", + "paths./customers.get.summary": "fe00ede9", + "paths./customers.post.description": "2d401f22", + "paths./customers.post.responses.200.description": "d4c922e4", + "paths./customers.post.responses.201.description": "494c64b4", + "paths./customers.post.responses.400.description": "330509ca", + "paths./customers.post.responses.401.description": "d089c8a9", + "paths./customers.post.responses.500.description": "f74d7444", + "paths./customers.post.summary": "ef69805a", + "paths./customers/admin/coupons.get.description": "60179833", + "paths./customers/admin/coupons.get.parameters[0].description": "40672389", + "paths./customers/admin/coupons.get.responses.200.content.application/json.schema.properties.has_more.description": "1fd8e105", + "paths./customers/admin/coupons.get.responses.200.description": "1c84019d", + "paths./customers/admin/coupons.get.responses.401.description": "d089c8a9", + "paths./customers/admin/coupons.get.responses.403.description": "dd0b7dec", + "paths./customers/admin/coupons.get.responses.500.description": "f74d7444", + "paths./customers/admin/coupons.get.summary": "19bde767", + "paths./customers/admin/coupons.post.description": "dc8f5f16", + "paths./customers/admin/coupons.post.responses.201.description": "dbf25ca3", + "paths./customers/admin/coupons.post.responses.400.description": "917ef22f", + "paths./customers/admin/coupons.post.responses.401.description": "d089c8a9", + "paths./customers/admin/coupons.post.responses.403.description": "dd0b7dec", + "paths./customers/admin/coupons.post.responses.500.description": "f74d7444", + "paths./customers/admin/coupons.post.summary": "799e000e", + "paths./customers/admin/coupons/{coupon_id}.delete.description": "d5de8ac1", + "paths./customers/admin/coupons/{coupon_id}.delete.parameters[0].description": "b5b1562e", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.200.content.application/json.schema.properties.coupon_id.description": "c1713e6e", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.200.content.application/json.schema.properties.message.description": "306f66dc", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.200.description": "93e28f54", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.401.description": "d089c8a9", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.403.description": "dd0b7dec", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.404.description": "2e1f3f04", + "paths./customers/admin/coupons/{coupon_id}.delete.responses.500.description": "f74d7444", + "paths./customers/admin/coupons/{coupon_id}.delete.summary": "55eaffa9", + "paths./customers/admin/coupons/{coupon_id}.get.description": "8dddf040", + "paths./customers/admin/coupons/{coupon_id}.get.parameters[0].description": "b5b1562e", + "paths./customers/admin/coupons/{coupon_id}.get.responses.200.description": "39207a07", + "paths./customers/admin/coupons/{coupon_id}.get.responses.401.description": "d089c8a9", + "paths./customers/admin/coupons/{coupon_id}.get.responses.403.description": "dd0b7dec", + "paths./customers/admin/coupons/{coupon_id}.get.responses.404.description": "2e1f3f04", + "paths./customers/admin/coupons/{coupon_id}.get.responses.500.description": "f74d7444", + "paths./customers/admin/coupons/{coupon_id}.get.summary": "f6cb6a17", + "paths./customers/admin/coupons/{coupon_id}.patch.description": "bd29488a", + "paths./customers/admin/coupons/{coupon_id}.patch.parameters[0].description": "b5b1562e", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.200.description": "a4af06bb", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.400.description": "917ef22f", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.401.description": "d089c8a9", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.403.description": "dd0b7dec", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.404.description": "2e1f3f04", + "paths./customers/admin/coupons/{coupon_id}.patch.responses.500.description": "f74d7444", + "paths./customers/admin/coupons/{coupon_id}.patch.summary": "1acc3200", + "paths./customers/admin/promo-codes.get.description": "f6763805", + "paths./customers/admin/promo-codes.get.parameters[0].description": "5205799f", + "paths./customers/admin/promo-codes.get.parameters[1].description": "50326376", + "paths./customers/admin/promo-codes.get.responses.200.content.application/json.schema.properties.has_more.description": "1fd8e105", + "paths./customers/admin/promo-codes.get.responses.200.description": "fefd07fb", + "paths./customers/admin/promo-codes.get.responses.401.description": "d089c8a9", + "paths./customers/admin/promo-codes.get.responses.403.description": "dd0b7dec", + "paths./customers/admin/promo-codes.get.responses.500.description": "f74d7444", + "paths./customers/admin/promo-codes.get.summary": "cab7cb92", + "paths./customers/admin/promo-codes.post.description": "e794eb4a", + "paths./customers/admin/promo-codes.post.responses.201.description": "56ccaeed", + "paths./customers/admin/promo-codes.post.responses.400.description": "917ef22f", + "paths./customers/admin/promo-codes.post.responses.401.description": "d089c8a9", + "paths./customers/admin/promo-codes.post.responses.403.description": "dd0b7dec", + "paths./customers/admin/promo-codes.post.responses.500.description": "f74d7444", + "paths./customers/admin/promo-codes.post.summary": "bf180ec1", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.description": "b6a02e9c", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.parameters[0].description": "ad922f9c", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.200.content.application/json.schema.properties.message.description": "306f66dc", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.200.content.application/json.schema.properties.promo_code_id.description": "9dc58731", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.200.description": "a14751a0", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.401.description": "d089c8a9", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.403.description": "dd0b7dec", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.404.description": "7be63944", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.responses.500.description": "f74d7444", + "paths./customers/admin/promo-codes/{promo_code_id}.delete.summary": "0d4e3d8d", + "paths./customers/admin/promo-codes/{promo_code_id}.get.description": "e241f084", + "paths./customers/admin/promo-codes/{promo_code_id}.get.parameters[0].description": "ad922f9c", + "paths./customers/admin/promo-codes/{promo_code_id}.get.responses.200.description": "98efc371", + "paths./customers/admin/promo-codes/{promo_code_id}.get.responses.401.description": "d089c8a9", + "paths./customers/admin/promo-codes/{promo_code_id}.get.responses.403.description": "dd0b7dec", + "paths./customers/admin/promo-codes/{promo_code_id}.get.responses.404.description": "7be63944", + "paths./customers/admin/promo-codes/{promo_code_id}.get.responses.500.description": "f74d7444", + "paths./customers/admin/promo-codes/{promo_code_id}.get.summary": "3892cf96", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.description": "8ab44e25", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.parameters[0].description": "ad922f9c", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.200.description": "8086a97c", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.400.description": "917ef22f", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.401.description": "d089c8a9", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.403.description": "dd0b7dec", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.404.description": "7be63944", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.responses.500.description": "f74d7444", + "paths./customers/admin/promo-codes/{promo_code_id}.patch.summary": "953337e3", + "paths./customers/api-keys.get.responses.200.description": "83981de8", + "paths./customers/api-keys.get.responses.401.description": "d089c8a9", + "paths./customers/api-keys.get.responses.404.description": "5e3f5824", + "paths./customers/api-keys.get.responses.500.description": "f74d7444", + "paths./customers/api-keys.get.summary": "d141f9cc", + "paths./customers/api-keys.post.responses.201.description": "c8019ecb", + "paths./customers/api-keys.post.responses.400.description": "917ef22f", + "paths./customers/api-keys.post.responses.401.description": "d089c8a9", + "paths./customers/api-keys.post.responses.404.description": "3461cb54", + "paths./customers/api-keys.post.responses.500.description": "f74d7444", + "paths./customers/api-keys.post.summary": "c971d229", + "paths./customers/api-keys/{api_key_id}.delete.responses.204.description": "2a2e2a1a", + "paths./customers/api-keys/{api_key_id}.delete.responses.401.description": "d089c8a9", + "paths./customers/api-keys/{api_key_id}.delete.responses.404.description": "3461cb54", + "paths./customers/api-keys/{api_key_id}.delete.responses.500.description": "f74d7444", + "paths./customers/api-keys/{api_key_id}.delete.summary": "506e6a85", + "paths./customers/balance.get.description": "c12d574a", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.amount_micros.description": "1715e24e", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.cloud_credit_balance_micros.description": "7f605bd2", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.currency.description": "ef20d1f9", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.effective_balance_micros.description": "43ec3112", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.pending_charges_micros.description": "31b9c36e", + "paths./customers/balance.get.responses.200.content.application/json.schema.properties.prepaid_balance_micros.description": "c4a36482", + "paths./customers/balance.get.responses.200.description": "fd2756cb", + "paths./customers/balance.get.responses.401.description": "89f3b274", + "paths./customers/balance.get.responses.404.description": "5e3f5824", + "paths./customers/balance.get.responses.500.description": "f74d7444", + "paths./customers/balance.get.summary": "2148e04f", + "paths./customers/billing.post.description": "53bbd91a", + "paths./customers/billing.post.requestBody.content.application/json.schema.properties.return_url.description": "74a2c2c4", + "paths./customers/billing.post.requestBody.content.application/json.schema.properties.target_tier.description": "edc132c3", + "paths./customers/billing.post.responses.200.content.application/json.schema.properties.billing_portal_url.description": "78ffab8c", + "paths./customers/billing.post.responses.200.description": "ada48db6", + "paths./customers/billing.post.responses.400.description": "217a5233", + "paths./customers/billing.post.responses.401.description": "89f3b274", + "paths./customers/billing.post.responses.500.description": "f74d7444", + "paths./customers/billing.post.summary": "6e5dd863", + "paths./customers/cloud-subscription-checkout.post.description": "5a112f2f", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.ga_client_id.description": "e12a09fd", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.ga_session_id.description": "a4d4b676", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.ga_session_number.description": "d9e64aa6", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.gbraid.description": "b260db65", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.gclid.description": "82927423", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.im_ref.description": "9cdb2b29", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.rewardful_referral.description": "56682a4c", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.utm_campaign.description": "0000d871", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.utm_content.description": "f4c57124", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.utm_medium.description": "9938fc29", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.utm_source.description": "789f4d8c", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.utm_term.description": "7ceeb79a", + "paths./customers/cloud-subscription-checkout.post.requestBody.content.application/json.schema.properties.wbraid.description": "ffe11333", + "paths./customers/cloud-subscription-checkout.post.responses.201.content.application/json.schema.properties.checkout_url.description": "068743e5", + "paths./customers/cloud-subscription-checkout.post.responses.201.description": "2569ab8b", + "paths./customers/cloud-subscription-checkout.post.responses.400.description": "217a5233", + "paths./customers/cloud-subscription-checkout.post.responses.401.description": "89f3b274", + "paths./customers/cloud-subscription-checkout.post.responses.500.description": "f74d7444", + "paths./customers/cloud-subscription-checkout.post.summary": "04e1f339", + "paths./customers/cloud-subscription-checkout/{tier}.post.description": "08fecca7", + "paths./customers/cloud-subscription-checkout/{tier}.post.parameters[0].description": "9269b667", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.ga_client_id.description": "e12a09fd", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.ga_session_id.description": "a4d4b676", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.ga_session_number.description": "d9e64aa6", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.gbraid.description": "b260db65", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.gclid.description": "82927423", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.im_ref.description": "9cdb2b29", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.rewardful_referral.description": "56682a4c", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.utm_campaign.description": "0000d871", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.utm_content.description": "f4c57124", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.utm_medium.description": "9938fc29", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.utm_source.description": "789f4d8c", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.utm_term.description": "7ceeb79a", + "paths./customers/cloud-subscription-checkout/{tier}.post.requestBody.content.application/json.schema.properties.wbraid.description": "ffe11333", + "paths./customers/cloud-subscription-checkout/{tier}.post.responses.201.content.application/json.schema.properties.checkout_url.description": "068743e5", + "paths./customers/cloud-subscription-checkout/{tier}.post.responses.201.description": "2569ab8b", + "paths./customers/cloud-subscription-checkout/{tier}.post.responses.400.description": "9bbc63d1", + "paths./customers/cloud-subscription-checkout/{tier}.post.responses.401.description": "89f3b274", + "paths./customers/cloud-subscription-checkout/{tier}.post.responses.500.description": "f74d7444", + "paths./customers/cloud-subscription-checkout/{tier}.post.summary": "0883a642", + "paths./customers/cloud-subscription-status.get.description": "c26dcb01", + "paths./customers/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.end_date.description": "6366a64e", + "paths./customers/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.has_fund.description": "d39628b2", + "paths./customers/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.is_active.description": "6c8493cf", + "paths./customers/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.renewal_date.description": "80a37068", + "paths./customers/cloud-subscription-status.get.responses.200.content.application/json.schema.properties.subscription_id.description": "9b6918af", + "paths./customers/cloud-subscription-status.get.responses.200.description": "823dcc58", + "paths./customers/cloud-subscription-status.get.responses.401.description": "89f3b274", + "paths./customers/cloud-subscription-status.get.responses.500.description": "f74d7444", + "paths./customers/cloud-subscription-status.get.summary": "ca912de8", + "paths./customers/credit.post.requestBody.content.application/json.schema.properties.amount_micros.description": "2cdd182d", + "paths./customers/credit.post.requestBody.content.application/json.schema.properties.currency.description": "07727b75", + "paths./customers/credit.post.responses.201.content.application/json.schema.properties.checkout_url.description": "5d33b0a0", + "paths./customers/credit.post.responses.201.description": "e56003bd", + "paths./customers/credit.post.responses.400.description": "fe9bf60b", + "paths./customers/credit.post.responses.401.description": "89f3b274", + "paths./customers/credit.post.responses.500.description": "f74d7444", + "paths./customers/credit.post.summary": "eac2f1fd", + "paths./customers/events.get.parameters[0].description": "c4e7217e", + "paths./customers/events.get.parameters[1].description": "53a39ce1", + "paths./customers/events.get.parameters[2].description": "344ec03f", + "paths./customers/events.get.parameters[3].description": "15e88081", + "paths./customers/events.get.parameters[4].description": "a129551a", + "paths./customers/events.get.responses.200.content.application/json.schema.properties.limit.description": "fcc7d3ca", + "paths./customers/events.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./customers/events.get.responses.200.content.application/json.schema.properties.total.description": "08591fc8", + "paths./customers/events.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./customers/events.get.responses.200.description": "05394f8d", + "paths./customers/events.get.responses.400.description": "46a3caa3", + "paths./customers/events.get.responses.404.description": "e3ebaa16", + "paths./customers/events.get.responses.500.description": "f74d7444", + "paths./customers/events.get.summary": "713005cb", + "paths./customers/me.get.description": "3ce7cfc4", + "paths./customers/me.get.responses.200.description": "c078613b", + "paths./customers/me.get.responses.401.description": "89f3b274", + "paths./customers/me.get.responses.404.description": "5e3f5824", + "paths./customers/me.get.responses.500.description": "f74d7444", + "paths./customers/me.get.summary": "1e46a2ef", + "paths./customers/storage.post.description": "7686239e", + "paths./customers/storage.post.requestBody.content.application/json.schema.properties.content_type.description": "73107988", + "paths./customers/storage.post.requestBody.content.application/json.schema.properties.file_hash.description": "8c107f3a", + "paths./customers/storage.post.requestBody.content.application/json.schema.properties.file_name.description": "0a6fb428", + "paths./customers/storage.post.responses.200.description": "0dbb382d", + "paths./customers/storage.post.responses.400.description": "917ef22f", + "paths./customers/storage.post.responses.401.description": "d089c8a9", + "paths./customers/storage.post.responses.500.description": "f74d7444", + "paths./customers/storage.post.summary": "f20b7907", + "paths./customers/usage.post.description": "a65e00cc", + "paths./customers/usage.post.requestBody.content.application/json.schema.properties.color_overrides.description": "192cd9c5", + "paths./customers/usage.post.requestBody.content.application/json.schema.properties.color_overrides.items.properties.name.description": "15c16f2c", + "paths./customers/usage.post.requestBody.content.application/json.schema.properties.color_overrides.items.properties.value.description": "13c6443c", + "paths./customers/usage.post.requestBody.content.application/json.schema.properties.dashboard_type.description": "01981259", + "paths./customers/usage.post.responses.200.content.application/json.schema.properties.url.description": "ae23d1f1", + "paths./customers/usage.post.responses.200.description": "40c36e17", + "paths./customers/usage.post.responses.401.description": "89f3b274", + "paths./customers/usage.post.responses.404.description": "5e3f5824", + "paths./customers/usage.post.responses.500.description": "f74d7444", + "paths./customers/usage.post.summary": "2e15c28a", + "paths./customers/usage/timeseries.get.description": "f631c695", + "paths./customers/usage/timeseries.get.parameters[0].description": "c4280b62", + "paths./customers/usage/timeseries.get.parameters[1].description": "eaaca904", + "paths./customers/usage/timeseries.get.parameters[2].description": "e8105078", + "paths./customers/usage/timeseries.get.parameters[3].description": "6cae86f5", + "paths./customers/usage/timeseries.get.parameters[4].description": "4544fd01", + "paths./customers/usage/timeseries.get.responses.200.description": "f4bda3ae", + "paths./customers/usage/timeseries.get.responses.401.description": "89f3b274", + "paths./customers/usage/timeseries.get.responses.404.description": "5e3f5824", + "paths./customers/usage/timeseries.get.responses.500.description": "f74d7444", + "paths./customers/usage/timeseries.get.summary": "7e4bfca6", + "paths./customers/{customer_id}.get.description": "52a20a2f", + "paths./customers/{customer_id}.get.responses.200.description": "c078613b", + "paths./customers/{customer_id}.get.responses.401.description": "89f3b274", + "paths./customers/{customer_id}.get.responses.404.description": "5e3f5824", + "paths./customers/{customer_id}.get.responses.500.description": "f74d7444", + "paths./customers/{customer_id}.get.summary": "ba1a7e82", + "paths./customers/{customer_id}/balance.get.description": "415209cb", + "paths./customers/{customer_id}/balance.get.parameters[0].description": "d6957c80", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.amount_micros.description": "1715e24e", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.cloud_credit_balance_micros.description": "7f605bd2", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.currency.description": "ef20d1f9", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.effective_balance_micros.description": "43ec3112", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.pending_charges_micros.description": "31b9c36e", + "paths./customers/{customer_id}/balance.get.responses.200.content.application/json.schema.properties.prepaid_balance_micros.description": "c4a36482", + "paths./customers/{customer_id}/balance.get.responses.200.description": "fd2756cb", + "paths./customers/{customer_id}/balance.get.responses.400.description": "917ef22f", + "paths./customers/{customer_id}/balance.get.responses.401.description": "89f3b274", + "paths./customers/{customer_id}/balance.get.responses.404.description": "5e3f5824", + "paths./customers/{customer_id}/balance.get.responses.500.description": "f74d7444", + "paths./customers/{customer_id}/balance.get.summary": "9fa305d3", + "paths./customers/{customer_id}/events.get.parameters[1].description": "c4e7217e", + "paths./customers/{customer_id}/events.get.parameters[2].description": "53a39ce1", + "paths./customers/{customer_id}/events.get.parameters[3].description": "344ec03f", + "paths./customers/{customer_id}/events.get.parameters[4].description": "15e88081", + "paths./customers/{customer_id}/events.get.parameters[5].description": "a129551a", + "paths./customers/{customer_id}/events.get.responses.200.content.application/json.schema.properties.limit.description": "fcc7d3ca", + "paths./customers/{customer_id}/events.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./customers/{customer_id}/events.get.responses.200.content.application/json.schema.properties.total.description": "08591fc8", + "paths./customers/{customer_id}/events.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./customers/{customer_id}/events.get.responses.200.description": "05394f8d", + "paths./customers/{customer_id}/events.get.responses.400.description": "46a3caa3", + "paths./customers/{customer_id}/events.get.responses.404.description": "e3ebaa16", + "paths./customers/{customer_id}/events.get.responses.500.description": "f74d7444", + "paths./customers/{customer_id}/events.get.summary": "713005cb", + "paths./customers/{customer_id}/usage.post.description": "8c9a08ba", + "paths./customers/{customer_id}/usage.post.parameters[0].description": "2a3cfd72", + "paths./customers/{customer_id}/usage.post.parameters[1].description": "1ae8340e", + "paths./customers/{customer_id}/usage.post.requestBody.content.application/json.schema.properties.params.description": "def2c3a8", + "paths./customers/{customer_id}/usage.post.requestBody.content.application/json.schema.properties.timestamp.description": "99d78eac", + "paths./customers/{customer_id}/usage.post.requestBody.content.application/json.schema.properties.transaction_id.description": "e44e9751", + "paths./customers/{customer_id}/usage.post.responses.200.content.application/json.schema.properties.message.description": "306f66dc", + "paths./customers/{customer_id}/usage.post.responses.200.description": "beb7848c", + "paths./customers/{customer_id}/usage.post.responses.400.description": "917ef22f", + "paths./customers/{customer_id}/usage.post.responses.401.description": "89f3b274", + "paths./customers/{customer_id}/usage.post.responses.404.description": "5e3f5824", + "paths./customers/{customer_id}/usage.post.responses.500.description": "f74d7444", + "paths./customers/{customer_id}/usage.post.summary": "8338156e", + "paths./features.get.description": "bad57340", + "paths./features.get.responses.200.description": "c88a0b90", + "paths./features.get.summary": "06d46bcb", + "paths./gitcommit.get.description": "d948022d", + "paths./gitcommit.get.parameters[0].description": "4fae9947", + "paths./gitcommit.get.parameters[1].description": "c4dae1c4", + "paths./gitcommit.get.parameters[2].description": "f5121d7f", + "paths./gitcommit.get.parameters[3].description": "da5cf3ff", + "paths./gitcommit.get.parameters[4].description": "6ec2b657", + "paths./gitcommit.get.parameters[5].description": "ed00c158", + "paths./gitcommit.get.parameters[6].description": "fe676c70", + "paths./gitcommit.get.responses.200.description": "c5c771d7", + "paths./gitcommit.get.responses.404.description": "54ff4f53", + "paths./gitcommit.get.responses.500.description": "f74d7444", + "paths./gitcommit.get.summary": "0587ac74", + "paths./gitcommitsummary.get.description": "6a82b747", + "paths./gitcommitsummary.get.parameters[0].description": "d9d568c2", + "paths./gitcommitsummary.get.parameters[1].description": "a0d90f3c", + "paths./gitcommitsummary.get.parameters[2].description": "6ec2b657", + "paths./gitcommitsummary.get.parameters[3].description": "ed00c158", + "paths./gitcommitsummary.get.responses.200.description": "7b32f102", + "paths./gitcommitsummary.get.responses.500.description": "f74d7444", + "paths./gitcommitsummary.get.summary": "d5930444", + "paths./nodes.get.description": "b28938da", + "paths./nodes.get.parameters[0].description": "c4e7217e", + "paths./nodes.get.parameters[1].description": "53a39ce1", + "paths./nodes.get.parameters[2].description": "72954caf", + "paths./nodes.get.parameters[3].description": "4d301ebe", + "paths./nodes.get.parameters[4].description": "53a39ce1", + "paths./nodes.get.parameters[5].description": "06c33129", + "paths./nodes.get.parameters[6].description": "f68b6bea", + "paths./nodes.get.parameters[7].description": "050df4dc", + "paths./nodes.get.parameters[8].description": "30a21c52", + "paths./nodes.get.parameters[9].description": "f6a03210", + "paths./nodes.get.parameters[10].description": "48771ec2", + "paths./nodes.get.responses.200.content.application/json.schema.properties.limit.description": "fcc7d3ca", + "paths./nodes.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./nodes.get.responses.200.content.application/json.schema.properties.total.description": "162e699d", + "paths./nodes.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./nodes.get.responses.200.description": "05394f8d", + "paths./nodes.get.responses.400.description": "46a3caa3", + "paths./nodes.get.responses.404.description": "e3ebaa16", + "paths./nodes.get.responses.500.description": "f74d7444", + "paths./nodes.get.summary": "963cf976", + "paths./nodes/reindex.post.parameters[0].description": "392d2432", + "paths./nodes/reindex.post.responses.200.description": "06639246", + "paths./nodes/reindex.post.responses.400.description": "0105d84e", + "paths./nodes/reindex.post.responses.500.description": "f74d7444", + "paths./nodes/reindex.post.summary": "74095660", + "paths./nodes/search.get.description": "b28938da", + "paths./nodes/search.get.parameters[0].description": "c4e7217e", + "paths./nodes/search.get.parameters[1].description": "53a39ce1", + "paths./nodes/search.get.parameters[2].description": "931f72df", + "paths./nodes/search.get.parameters[3].description": "655922f5", + "paths./nodes/search.get.parameters[4].description": "2a067c7d", + "paths./nodes/search.get.parameters[5].description": "72954caf", + "paths./nodes/search.get.parameters[6].description": "4d301ebe", + "paths./nodes/search.get.parameters[7].description": "53a39ce1", + "paths./nodes/search.get.responses.200.content.application/json.schema.properties.limit.description": "fcc7d3ca", + "paths./nodes/search.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./nodes/search.get.responses.200.content.application/json.schema.properties.total.description": "162e699d", + "paths./nodes/search.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./nodes/search.get.responses.200.description": "05394f8d", + "paths./nodes/search.get.responses.400.description": "46a3caa3", + "paths./nodes/search.get.responses.404.description": "e3ebaa16", + "paths./nodes/search.get.responses.500.description": "f74d7444", + "paths./nodes/search.get.summary": "963cf976", + "paths./nodes/update-github-stars.post.parameters[0].description": "c4edaf40", + "paths./nodes/update-github-stars.post.responses.200.description": "3c18c6c2", + "paths./nodes/update-github-stars.post.responses.400.description": "0105d84e", + "paths./nodes/update-github-stars.post.responses.401.description": "d089c8a9", + "paths./nodes/update-github-stars.post.responses.500.description": "f74d7444", + "paths./nodes/update-github-stars.post.summary": "0d8e1915", + "paths./nodes/{nodeId}.get.description": "0a60f4ee", + "paths./nodes/{nodeId}.get.parameters[1].description": "381803b4", + "paths./nodes/{nodeId}.get.responses.200.description": "835881a0", + "paths./nodes/{nodeId}.get.responses.302.description": "f7acfe11", + "paths./nodes/{nodeId}.get.responses.302.headers.Location.description": "ce63a150", + "paths./nodes/{nodeId}.get.responses.403.description": "78342a09", + "paths./nodes/{nodeId}.get.responses.404.description": "aa0a65c4", + "paths./nodes/{nodeId}.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}.get.summary": "06f64199", + "paths./nodes/{nodeId}/install.get.description": "03269adc", + "paths./nodes/{nodeId}/install.get.parameters[0].description": "6cc84bef", + "paths./nodes/{nodeId}/install.get.parameters[1].description": "32b9d424", + "paths./nodes/{nodeId}/install.get.responses.200.description": "06ceff4a", + "paths./nodes/{nodeId}/install.get.responses.400.description": "3119d9d6", + "paths./nodes/{nodeId}/install.get.responses.403.description": "78342a09", + "paths./nodes/{nodeId}/install.get.responses.404.description": "5e503038", + "paths./nodes/{nodeId}/install.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/install.get.summary": "0bb50904", + "paths./nodes/{nodeId}/reviews.post.parameters[1].description": "c19a43ce", + "paths./nodes/{nodeId}/reviews.post.responses.200.description": "c36cc3bf", + "paths./nodes/{nodeId}/reviews.post.responses.400.description": "7c41b898", + "paths./nodes/{nodeId}/reviews.post.responses.404.description": "b0bacd91", + "paths./nodes/{nodeId}/reviews.post.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/reviews.post.summary": "1b2f93c0", + "paths./nodes/{nodeId}/translations.post.parameters[0].description": "6cc84bef", + "paths./nodes/{nodeId}/translations.post.responses.201.description": "c36cc3bf", + "paths./nodes/{nodeId}/translations.post.responses.400.description": "7c41b898", + "paths./nodes/{nodeId}/translations.post.responses.404.description": "b0bacd91", + "paths./nodes/{nodeId}/translations.post.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/translations.post.summary": "6f772d03", + "paths./nodes/{nodeId}/versions.get.responses.200.description": "ef524454", + "paths./nodes/{nodeId}/versions.get.responses.403.description": "5f496730", + "paths./nodes/{nodeId}/versions.get.responses.404.description": "aa0a65c4", + "paths./nodes/{nodeId}/versions.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions.get.summary": "288bb03d", + "paths./nodes/{nodeId}/versions/{versionId}.get.parameters[1].description": "875e2c39", + "paths./nodes/{nodeId}/versions/{versionId}.get.responses.200.description": "b9652819", + "paths./nodes/{nodeId}/versions/{versionId}.get.responses.404.description": "b0bacd91", + "paths./nodes/{nodeId}/versions/{versionId}.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions/{versionId}.get.summary": "d087ffc4", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.parameters[0].description": "6ec2b657", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.parameters[1].description": "ed00c158", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.responses.200.description": "e103eeb9", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.responses.401.description": "d089c8a9", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.responses.403.description": "78342a09", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.responses.404.description": "a8f65ec3", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.get.summary": "ab97f806", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.204.description": "29286d32", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.401.description": "d089c8a9", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.403.description": "78342a09", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.404.description": "a8f65ec3", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.409.description": "850654aa", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes.post.summary": "9184bb08", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.responses.200.description": "29286d32", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.responses.401.description": "d089c8a9", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.responses.403.description": "78342a09", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.responses.404.description": "a8f65ec3", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.get.summary": "d9bc2157", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.200.description": "62058370", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.400.description": "dba61b63", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.401.description": "d089c8a9", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.403.description": "78342a09", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.404.description": "4db76366", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.responses.500.description": "f74d7444", + "paths./nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}.put.summary": "afca5476", + "paths./proxy/anthropic/v1/messages.post.description": "399901f2", + "paths./proxy/anthropic/v1/messages.post.responses.200.content.text/event-stream.schema.description": "8aa1c9b2", + "paths./proxy/anthropic/v1/messages.post.responses.200.description": "418e81b3", + "paths./proxy/anthropic/v1/messages.post.responses.400.description": "917ef22f", + "paths./proxy/anthropic/v1/messages.post.responses.401.description": "d089c8a9", + "paths./proxy/anthropic/v1/messages.post.responses.402.description": "7248dc26", + "paths./proxy/anthropic/v1/messages.post.responses.429.description": "edfc871b", + "paths./proxy/anthropic/v1/messages.post.responses.500.description": "f74d7444", + "paths./proxy/anthropic/v1/messages.post.summary": "89d488a2", + "paths./proxy/beeble/v1/switchx/generations.post.description": "ece908e0", + "paths./proxy/beeble/v1/switchx/generations.post.responses.200.description": "61471ce7", + "paths./proxy/beeble/v1/switchx/generations.post.responses.400.description": "917ef22f", + "paths./proxy/beeble/v1/switchx/generations.post.responses.401.description": "d089c8a9", + "paths./proxy/beeble/v1/switchx/generations.post.responses.402.description": "7248dc26", + "paths./proxy/beeble/v1/switchx/generations.post.responses.429.description": "edfc871b", + "paths./proxy/beeble/v1/switchx/generations.post.responses.500.description": "f74d7444", + "paths./proxy/beeble/v1/switchx/generations.post.summary": "aeca4e9e", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.description": "3e7b12c4", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.parameters[0].description": "c8adadc7", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.responses.200.description": "3bd14415", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.responses.404.description": "56930ecf", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.responses.500.description": "f74d7444", + "paths./proxy/beeble/v1/switchx/generations/{job_id}.get.summary": "11fe1290", + "paths./proxy/beeble/v1/uploads.post.description": "e6375eb2", + "paths./proxy/beeble/v1/uploads.post.responses.200.description": "72982a20", + "paths./proxy/beeble/v1/uploads.post.responses.400.description": "917ef22f", + "paths./proxy/beeble/v1/uploads.post.responses.401.description": "d089c8a9", + "paths./proxy/beeble/v1/uploads.post.responses.500.description": "f74d7444", + "paths./proxy/beeble/v1/uploads.post.summary": "66b0aa4d", + "paths./proxy/bfl/flux-2-max/generate.post.description": "1f300a1e", + "paths./proxy/bfl/flux-2-max/generate.post.responses.200.description": "0b25e60a", + "paths./proxy/bfl/flux-2-max/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-2-max/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-2-max/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-2-max/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-2-max/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-2-max/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-2-max/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-2-max/generate.post.summary": "e43e5258", + "paths./proxy/bfl/flux-2-pro/generate.post.description": "76326726", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.200.description": "89edd73c", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-2-pro/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-2-pro/generate.post.summary": "15af7272", + "paths./proxy/bfl/flux-kontext-max/generate.post.description": "2016e5b3", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.200.description": "1bd85494", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-kontext-max/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-kontext-max/generate.post.summary": "ae531409", + "paths./proxy/bfl/flux-kontext-pro/generate.post.description": "ce78020e", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.200.description": "fcb96430", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-kontext-pro/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-kontext-pro/generate.post.summary": "c7f3d786", + "paths./proxy/bfl/flux-pro-1.0-canny/generate.post.description": "34ea0061", + "paths./proxy/bfl/flux-pro-1.0-canny/generate.post.responses.200.description": "25123ce6", + "paths./proxy/bfl/flux-pro-1.0-canny/generate.post.responses.422.description": "142762b3", + "paths./proxy/bfl/flux-pro-1.0-canny/generate.post.summary": "44b453cf", + "paths./proxy/bfl/flux-pro-1.0-depth/generate.post.description": "b5fbe356", + "paths./proxy/bfl/flux-pro-1.0-depth/generate.post.responses.200.description": "25123ce6", + "paths./proxy/bfl/flux-pro-1.0-depth/generate.post.responses.422.description": "142762b3", + "paths./proxy/bfl/flux-pro-1.0-depth/generate.post.summary": "29395241", + "paths./proxy/bfl/flux-pro-1.0-expand/generate.post.description": "c0e84930", + "paths./proxy/bfl/flux-pro-1.0-expand/generate.post.responses.200.description": "25123ce6", + "paths./proxy/bfl/flux-pro-1.0-expand/generate.post.responses.422.description": "142762b3", + "paths./proxy/bfl/flux-pro-1.0-expand/generate.post.summary": "6669ce35", + "paths./proxy/bfl/flux-pro-1.0-fill/generate.post.description": "3c77ffd5", + "paths./proxy/bfl/flux-pro-1.0-fill/generate.post.responses.200.description": "25123ce6", + "paths./proxy/bfl/flux-pro-1.0-fill/generate.post.responses.422.description": "142762b3", + "paths./proxy/bfl/flux-pro-1.0-fill/generate.post.summary": "2a5faf4d", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.description": "16576941", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.200.description": "d6629988", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-pro-1.1-ultra/generate.post.summary": "89455990", + "paths./proxy/bfl/flux-pro-1.1/generate.post.description": "760f7418", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.200.description": "d6629988", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/flux-pro-1.1/generate.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/flux-pro-1.1/generate.post.summary": "95582171", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.description": "32789913", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.200.description": "ec0cb634", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/v1/flux-tools/erase-v1.post.summary": "47dfa2ef", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.description": "b6bf6bff", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.200.description": "9c8d08e1", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.400.description": "9f7eaca8", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.401.description": "d089c8a9", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.402.description": "a117c80b", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.429.description": "359d6ef1", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.500.description": "ee066afe", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.502.description": "53f2ce27", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.responses.504.description": "f95fafb1", + "paths./proxy/bfl/v1/flux-tools/vto-v1.post.summary": "6a55e17e", + "paths./proxy/bria/v2/image/edit.post.description": "830d889d", + "paths./proxy/bria/v2/image/edit.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/image/edit.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/image/edit.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/image/edit.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/image/edit.post.responses.422.description": "640a245a", + "paths./proxy/bria/v2/image/edit.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/image/edit.post.summary": "172299f3", + "paths./proxy/bria/v2/image/edit/remove_background.post.description": "60e259a8", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.422.description": "640a245a", + "paths./proxy/bria/v2/image/edit/remove_background.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/image/edit/remove_background.post.summary": "306ee41b", + "paths./proxy/bria/v2/status/{request_id}.get.description": "6183e679", + "paths./proxy/bria/v2/status/{request_id}.get.parameters[0].description": "76fb04f1", + "paths./proxy/bria/v2/status/{request_id}.get.responses.200.description": "be1404b0", + "paths./proxy/bria/v2/status/{request_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/status/{request_id}.get.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/status/{request_id}.get.responses.404.description": "d0b5d9ad", + "paths./proxy/bria/v2/status/{request_id}.get.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/status/{request_id}.get.summary": "9b0a4ab3", + "paths./proxy/bria/v2/structured_instruction/generate.post.description": "74eb1c3d", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.422.description": "640a245a", + "paths./proxy/bria/v2/structured_instruction/generate.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/structured_instruction/generate.post.summary": "a46d2e84", + "paths./proxy/bria/v2/video/edit/green_screen.post.description": "a7310bee", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.422.description": "9dc5d1e9", + "paths./proxy/bria/v2/video/edit/green_screen.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/video/edit/green_screen.post.summary": "f0c56b81", + "paths./proxy/bria/v2/video/edit/remove_background.post.description": "73c90a70", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.422.description": "9dc5d1e9", + "paths./proxy/bria/v2/video/edit/remove_background.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/video/edit/remove_background.post.summary": "b4b90626", + "paths./proxy/bria/v2/video/edit/replace_background.post.description": "8608c110", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.202.description": "0e246abc", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.400.description": "7c41b898", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.401.description": "d089c8a9", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.402.description": "a117c80b", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.422.description": "9dc5d1e9", + "paths./proxy/bria/v2/video/edit/replace_background.post.responses.500.description": "e41656eb", + "paths./proxy/bria/v2/video/edit/replace_background.post.summary": "4e776fa3", + "paths./proxy/byteplus-seedance2/api/v3/contents/generations/tasks/{task_id}.get.parameters[0].description": "5512c236", + "paths./proxy/byteplus-seedance2/api/v3/contents/generations/tasks/{task_id}.get.responses.200.description": "149612f9", + "paths./proxy/byteplus-seedance2/api/v3/contents/generations/tasks/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/contents/generations/tasks.post.responses.200.description": "dbfebbe0", + "paths./proxy/byteplus/api/v3/contents/generations/tasks.post.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/contents/generations/tasks/{task_id}.get.parameters[0].description": "f5ebb3e7", + "paths./proxy/byteplus/api/v3/contents/generations/tasks/{task_id}.get.responses.200.description": "149612f9", + "paths./proxy/byteplus/api/v3/contents/generations/tasks/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/files.post.description": "e86aafc5", + "paths./proxy/byteplus/api/v3/files.post.responses.200.description": "2cd92465", + "paths./proxy/byteplus/api/v3/files.post.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/files.post.summary": "1c76adbe", + "paths./proxy/byteplus/api/v3/files/{id}.get.description": "ad8fa55c", + "paths./proxy/byteplus/api/v3/files/{id}.get.parameters[0].description": "72b9418e", + "paths./proxy/byteplus/api/v3/files/{id}.get.responses.200.description": "b7fdc1ab", + "paths./proxy/byteplus/api/v3/files/{id}.get.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/files/{id}.get.summary": "bc592ef8", + "paths./proxy/byteplus/api/v3/images/generations.post.responses.200.description": "cb1a49c9", + "paths./proxy/byteplus/api/v3/images/generations.post.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/responses.post.description": "6a7999de", + "paths./proxy/byteplus/api/v3/responses.post.responses.200.description": "5db68f86", + "paths./proxy/byteplus/api/v3/responses.post.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/responses.post.summary": "5ca165ed", + "paths./proxy/byteplus/api/v3/tts/create.post.description": "aac88273", + "paths./proxy/byteplus/api/v3/tts/create.post.responses.200.description": "9ef16735", + "paths./proxy/byteplus/api/v3/tts/create.post.responses.default.description": "8409f13c", + "paths./proxy/byteplus/api/v3/tts/create.post.summary": "e9d1a6cc", + "paths./proxy/dummy.post.description": "d7836ef7", + "paths./proxy/dummy.post.responses.200.description": "06639246", + "paths./proxy/dummy.post.summary": "213c0f6c", + "paths./proxy/elevenlabs/v1/audio-isolation.post.description": "d6e2df3e", + "paths./proxy/elevenlabs/v1/audio-isolation.post.responses.200.description": "2f420f54", + "paths./proxy/elevenlabs/v1/audio-isolation.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/audio-isolation.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/audio-isolation.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/audio-isolation.post.summary": "64d39763", + "paths./proxy/elevenlabs/v1/shared-voices.get.description": "9a36c52b", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[0].description": "092882bd", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[1].description": "aa2e3ee3", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[2].description": "85d626d4", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[3].description": "ff1269b3", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[4].description": "1edef563", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[5].description": "3a80dab8", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[6].description": "051dcd59", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[7].description": "8d4bb287", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[8].description": "8db28899", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[9].description": "963b9a24", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[10].description": "706fee66", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[11].description": "1526fff5", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[12].description": "0090f6de", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[13].description": "a9c2d62f", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[14].description": "19ccc4c2", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[15].description": "64225d23", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[16].description": "c4fa4695", + "paths./proxy/elevenlabs/v1/shared-voices.get.parameters[17].description": "05fa2e3b", + "paths./proxy/elevenlabs/v1/shared-voices.get.responses.200.description": "553d2366", + "paths./proxy/elevenlabs/v1/shared-voices.get.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/shared-voices.get.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/shared-voices.get.summary": "03e68be6", + "paths./proxy/elevenlabs/v1/sound-generation.post.description": "c25a222d", + "paths./proxy/elevenlabs/v1/sound-generation.post.parameters[0].description": "8ae5950c", + "paths./proxy/elevenlabs/v1/sound-generation.post.responses.200.description": "3dfb32b6", + "paths./proxy/elevenlabs/v1/sound-generation.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/sound-generation.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/sound-generation.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/sound-generation.post.summary": "ffc294ce", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.description": "ecbaf19b", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.parameters[0].description": "857e9fc9", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.parameters[1].description": "a1fd11cf", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.parameters[2].description": "3c9ecc2b", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.parameters[3].description": "8ae5950c", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.responses.200.description": "1d301dc9", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/speech-to-speech/{voice_id}.post.summary": "d6580d01", + "paths./proxy/elevenlabs/v1/speech-to-text.post.description": "41478334", + "paths./proxy/elevenlabs/v1/speech-to-text.post.parameters[0].description": "2f7477ad", + "paths./proxy/elevenlabs/v1/speech-to-text.post.responses.200.description": "21ba308b", + "paths./proxy/elevenlabs/v1/speech-to-text.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/speech-to-text.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/speech-to-text.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/speech-to-text.post.summary": "2cad879e", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.description": "43c68938", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.parameters[0].description": "8ae5950c", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.responses.200.description": "1d301dc9", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/text-to-dialogue.post.summary": "044d3939", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.description": "c96e7167", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.parameters[0].description": "24910c62", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.parameters[1].description": "7617db29", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.parameters[2].description": "565cef24", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.parameters[3].description": "7a6f8049", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.responses.200.description": "1d301dc9", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/text-to-speech/{voice_id}.post.summary": "71507dfe", + "paths./proxy/elevenlabs/v1/voices/add.post.description": "700d9a46", + "paths./proxy/elevenlabs/v1/voices/add.post.responses.200.description": "2d833ec4", + "paths./proxy/elevenlabs/v1/voices/add.post.responses.400.description": "7c41b898", + "paths./proxy/elevenlabs/v1/voices/add.post.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v1/voices/add.post.responses.422.description": "142762b3", + "paths./proxy/elevenlabs/v1/voices/add.post.summary": "f81ce6eb", + "paths./proxy/elevenlabs/v2/voices.get.description": "04a1fa0d", + "paths./proxy/elevenlabs/v2/voices.get.parameters[0].description": "dccd3c6d", + "paths./proxy/elevenlabs/v2/voices.get.parameters[1].description": "8faa875b", + "paths./proxy/elevenlabs/v2/voices.get.parameters[2].description": "31f8a4a4", + "paths./proxy/elevenlabs/v2/voices.get.responses.200.description": "2f41e6c7", + "paths./proxy/elevenlabs/v2/voices.get.responses.401.description": "d089c8a9", + "paths./proxy/elevenlabs/v2/voices.get.summary": "761d4746", + "paths./proxy/fal/fal-ai/patina.post.description": "bb78a71d", + "paths./proxy/fal/fal-ai/patina.post.responses.200.description": "340fb696", + "paths./proxy/fal/fal-ai/patina.post.responses.400.description": "7c41b898", + "paths./proxy/fal/fal-ai/patina.post.responses.401.description": "d089c8a9", + "paths./proxy/fal/fal-ai/patina.post.responses.402.description": "a117c80b", + "paths./proxy/fal/fal-ai/patina.post.responses.429.description": "95a111e3", + "paths./proxy/fal/fal-ai/patina.post.responses.500.description": "e41656eb", + "paths./proxy/fal/fal-ai/patina.post.summary": "47e30ab1", + "paths./proxy/fal/fal-ai/patina/material.post.description": "41e5e062", + "paths./proxy/fal/fal-ai/patina/material.post.responses.200.description": "340fb696", + "paths./proxy/fal/fal-ai/patina/material.post.responses.400.description": "7c41b898", + "paths./proxy/fal/fal-ai/patina/material.post.responses.401.description": "d089c8a9", + "paths./proxy/fal/fal-ai/patina/material.post.responses.402.description": "a117c80b", + "paths./proxy/fal/fal-ai/patina/material.post.responses.429.description": "95a111e3", + "paths./proxy/fal/fal-ai/patina/material.post.responses.500.description": "e41656eb", + "paths./proxy/fal/fal-ai/patina/material.post.summary": "2945c576", + "paths./proxy/fal/fal-ai/patina/material/extract.post.description": "cbfcfe15", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.200.description": "340fb696", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.400.description": "7c41b898", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.401.description": "d089c8a9", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.402.description": "a117c80b", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.429.description": "95a111e3", + "paths./proxy/fal/fal-ai/patina/material/extract.post.responses.500.description": "e41656eb", + "paths./proxy/fal/fal-ai/patina/material/extract.post.summary": "e54eda11", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.description": "c3db636e", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.parameters[0].description": "ed268f7e", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.responses.200.description": "288a7b6d", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.responses.404.description": "bb08e040", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.responses.500.description": "e41656eb", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}.get.summary": "640f095b", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.description": "ea92e919", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.parameters[0].description": "ed268f7e", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.responses.200.description": "f78f8c98", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.responses.401.description": "d089c8a9", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.responses.404.description": "bb08e040", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.responses.500.description": "e41656eb", + "paths./proxy/fal/fal-ai/patina/requests/{request_id}/status.get.summary": "a34cbf81", + "paths./proxy/freepik/v1/ai/image-relight.post.description": "18d859d1", + "paths./proxy/freepik/v1/ai/image-relight.post.responses.200.description": "abe856cf", + "paths./proxy/freepik/v1/ai/image-relight.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/image-relight.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-relight.post.summary": "ba224310", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.description": "e02307dd", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.parameters[0].description": "05f6132e", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.responses.200.description": "7713f971", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-relight/{task_id}.get.summary": "e02307dd", + "paths./proxy/freepik/v1/ai/image-style-transfer.post.description": "03a2111b", + "paths./proxy/freepik/v1/ai/image-style-transfer.post.responses.200.description": "0564f0bc", + "paths./proxy/freepik/v1/ai/image-style-transfer.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/image-style-transfer.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-style-transfer.post.summary": "94a8ca5e", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.description": "7a105cb8", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.parameters[0].description": "05f6132e", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.responses.200.description": "7713f971", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-style-transfer/{task_id}.get.summary": "7a105cb8", + "paths./proxy/freepik/v1/ai/image-upscaler.post.description": "ea01f025", + "paths./proxy/freepik/v1/ai/image-upscaler.post.responses.200.description": "b6824795", + "paths./proxy/freepik/v1/ai/image-upscaler.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/image-upscaler.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-upscaler.post.summary": "893e4ca4", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2.post.description": "b21ea8fe", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2.post.responses.200.description": "b6824795", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2.post.summary": "0a83b28c", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.description": "a1e39207", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.parameters[0].description": "05f6132e", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.responses.200.description": "7713f971", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}.get.summary": "756713da", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.description": "6d0fb33f", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.parameters[0].description": "05f6132e", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.responses.200.description": "7713f971", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/image-upscaler/{task_id}.get.summary": "6d0fb33f", + "paths./proxy/freepik/v1/ai/skin-enhancer/creative.post.description": "6ca28952", + "paths./proxy/freepik/v1/ai/skin-enhancer/creative.post.responses.200.description": "df6e48be", + "paths./proxy/freepik/v1/ai/skin-enhancer/creative.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/skin-enhancer/creative.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/skin-enhancer/creative.post.summary": "8dd16700", + "paths./proxy/freepik/v1/ai/skin-enhancer/faithful.post.description": "4fdfe7a6", + "paths./proxy/freepik/v1/ai/skin-enhancer/faithful.post.responses.200.description": "df6e48be", + "paths./proxy/freepik/v1/ai/skin-enhancer/faithful.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/skin-enhancer/faithful.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/skin-enhancer/faithful.post.summary": "42064736", + "paths./proxy/freepik/v1/ai/skin-enhancer/flexible.post.description": "8040e4da", + "paths./proxy/freepik/v1/ai/skin-enhancer/flexible.post.responses.200.description": "df6e48be", + "paths./proxy/freepik/v1/ai/skin-enhancer/flexible.post.responses.400.description": "7c41b898", + "paths./proxy/freepik/v1/ai/skin-enhancer/flexible.post.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/skin-enhancer/flexible.post.summary": "8a0610ca", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.description": "abe18786", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.parameters[0].description": "05f6132e", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.responses.200.description": "7713f971", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.responses.500.description": "e41656eb", + "paths./proxy/freepik/v1/ai/skin-enhancer/{task_id}.get.summary": "5c070745", + "paths./proxy/hitpaw/api/photo-enhancer.post.description": "e492b571", + "paths./proxy/hitpaw/api/photo-enhancer.post.responses.200.description": "8edcb694", + "paths./proxy/hitpaw/api/photo-enhancer.post.responses.400.description": "7c41b898", + "paths./proxy/hitpaw/api/photo-enhancer.post.responses.401.description": "d089c8a9", + "paths./proxy/hitpaw/api/photo-enhancer.post.responses.402.description": "a117c80b", + "paths./proxy/hitpaw/api/photo-enhancer.post.responses.500.description": "e41656eb", + "paths./proxy/hitpaw/api/photo-enhancer.post.summary": "b8877b7f", + "paths./proxy/hitpaw/api/task-status.post.description": "b5d6381a", + "paths./proxy/hitpaw/api/task-status.post.responses.200.description": "582b91c5", + "paths./proxy/hitpaw/api/task-status.post.responses.400.description": "7c41b898", + "paths./proxy/hitpaw/api/task-status.post.responses.401.description": "d089c8a9", + "paths./proxy/hitpaw/api/task-status.post.responses.500.description": "e41656eb", + "paths./proxy/hitpaw/api/task-status.post.summary": "5d5ece88", + "paths./proxy/hitpaw/api/video-enhancer.post.description": "3fe2e735", + "paths./proxy/hitpaw/api/video-enhancer.post.responses.200.description": "8edcb694", + "paths./proxy/hitpaw/api/video-enhancer.post.responses.400.description": "7c41b898", + "paths./proxy/hitpaw/api/video-enhancer.post.responses.401.description": "d089c8a9", + "paths./proxy/hitpaw/api/video-enhancer.post.responses.402.description": "7248dc26", + "paths./proxy/hitpaw/api/video-enhancer.post.responses.500.description": "e41656eb", + "paths./proxy/hitpaw/api/video-enhancer.post.summary": "a63b5217", + "paths./proxy/ideogram/generate.post.description": "1e9d6c21", + "paths./proxy/ideogram/generate.post.responses.200.description": "dc4fd3ef", + "paths./proxy/ideogram/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/ideogram/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/ideogram/generate.post.responses.402.description": "a117c80b", + "paths./proxy/ideogram/generate.post.responses.429.description": "f0e25a11", + "paths./proxy/ideogram/generate.post.responses.500.description": "ee066afe", + "paths./proxy/ideogram/generate.post.responses.502.description": "5fc7ad99", + "paths./proxy/ideogram/generate.post.responses.504.description": "55199507", + "paths./proxy/ideogram/generate.post.summary": "55533837", + "paths./proxy/ideogram/ideogram-v3/edit.post.description": "3cb32af3", + "paths./proxy/ideogram/ideogram-v3/edit.post.requestBody.description": "745b0e68", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.200.description": "dc4fd3ef", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.400.description": "9f7eaca8", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.401.description": "d089c8a9", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.422.description": "65a30886", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.429.description": "f0e25a11", + "paths./proxy/ideogram/ideogram-v3/edit.post.responses.500.description": "ee066afe", + "paths./proxy/ideogram/ideogram-v3/edit.post.summary": "ee732ede", + "paths./proxy/ideogram/ideogram-v3/generate.post.description": "1e9d6c21", + "paths./proxy/ideogram/ideogram-v3/generate.post.requestBody.description": "9db3c32e", + "paths./proxy/ideogram/ideogram-v3/generate.post.responses.200.description": "dc4fd3ef", + "paths./proxy/ideogram/ideogram-v3/generate.post.responses.500.description": "ee066afe", + "paths./proxy/ideogram/ideogram-v3/generate.post.summary": "55533837", + "paths./proxy/ideogram/ideogram-v3/reframe.post.responses.200.description": "663079d5", + "paths./proxy/ideogram/ideogram-v3/reframe.post.responses.400.description": "7c41b898", + "paths./proxy/ideogram/ideogram-v3/reframe.post.responses.401.description": "d089c8a9", + "paths./proxy/ideogram/ideogram-v3/reframe.post.responses.422.description": "9dc5d1e9", + "paths./proxy/ideogram/ideogram-v3/reframe.post.responses.429.description": "3850dfdb", + "paths./proxy/ideogram/ideogram-v3/reframe.post.summary": "79ade7b9", + "paths./proxy/ideogram/ideogram-v3/remix.post.responses.200.description": "d06367b6", + "paths./proxy/ideogram/ideogram-v3/remix.post.responses.400.description": "7c41b898", + "paths./proxy/ideogram/ideogram-v3/remix.post.responses.403.description": "78342a09", + "paths./proxy/ideogram/ideogram-v3/remix.post.responses.422.description": "9dc5d1e9", + "paths./proxy/ideogram/ideogram-v3/remix.post.responses.429.description": "3850dfdb", + "paths./proxy/ideogram/ideogram-v3/remix.post.summary": "56c68ec5", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.responses.200.description": "5c49474f", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.responses.400.description": "7c41b898", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.responses.401.description": "d089c8a9", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.responses.422.description": "9dc5d1e9", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.responses.429.description": "3850dfdb", + "paths./proxy/ideogram/ideogram-v3/replace-background.post.summary": "1750c8da", + "paths./proxy/ideogram/ideogram-v4/generate.post.description": "8ce4ae42", + "paths./proxy/ideogram/ideogram-v4/generate.post.requestBody.description": "ab44be7e", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.200.description": "dc4fd3ef", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.402.description": "a117c80b", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.429.description": "f0e25a11", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.500.description": "ee066afe", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.502.description": "5fc7ad99", + "paths./proxy/ideogram/ideogram-v4/generate.post.responses.504.description": "55199507", + "paths./proxy/ideogram/ideogram-v4/generate.post.summary": "3f9945df", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.requestBody.description": "808b67bb", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.200.description": "3151586d", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.400.description": "51443a02", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.401.description": "93821eb7", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.429.description": "266777a4", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.responses.500.description": "f74d7444", + "paths./proxy/kling/image-to-video/kling-3.0-turbo.post.summary": "91585161", + "paths./proxy/kling/tasks.get.parameters[0].description": "2bebc1bb", + "paths./proxy/kling/tasks.get.parameters[1].description": "c7c70fd9", + "paths./proxy/kling/tasks.get.responses.200.description": "3151586d", + "paths./proxy/kling/tasks.get.responses.400.description": "51443a02", + "paths./proxy/kling/tasks.get.responses.401.description": "93821eb7", + "paths./proxy/kling/tasks.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/tasks.get.responses.429.description": "266777a4", + "paths./proxy/kling/tasks.get.responses.500.description": "f74d7444", + "paths./proxy/kling/tasks.get.summary": "d3ff06b1", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.requestBody.description": "76a7d9af", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.200.description": "3151586d", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.400.description": "51443a02", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.401.description": "93821eb7", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.429.description": "266777a4", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.responses.500.description": "f74d7444", + "paths./proxy/kling/text-to-video/kling-3.0-turbo.post.summary": "4635ab36", + "paths./proxy/kling/v1/account/costs.get.parameters[0].schema.description": "2050c75b", + "paths./proxy/kling/v1/account/costs.get.parameters[1].schema.description": "da97d8e5", + "paths./proxy/kling/v1/account/costs.get.parameters[2].schema.description": "961f504c", + "paths./proxy/kling/v1/account/costs.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/account/costs.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/account/costs.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/account/costs.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/account/costs.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/account/costs.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/account/costs.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/account/costs.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/account/costs.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/account/costs.get.summary": "54906b8b", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.description": "9f72f15e", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.parameters[0].description": "f0129c23", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.parameters[1].description": "fbd81520", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.responses.200.description": "0570a75b", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.responses.400.description": "7c41b898", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.responses.429.description": "95a111e3", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/general/advanced-presets-elements.get.summary": "94ca544c", + "paths./proxy/kling/v1/images/generations.get.parameters[0].description": "05fa2e3b", + "paths./proxy/kling/v1/images/generations.get.parameters[1].description": "a8748dc9", + "paths./proxy/kling/v1/images/generations.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/generations.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/generations.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/generations.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/generations.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/generations.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/generations.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/generations.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/generations.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/generations.get.summary": "64217a63", + "paths./proxy/kling/v1/images/generations.post.requestBody.description": "c2782b1f", + "paths./proxy/kling/v1/images/generations.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/generations.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/generations.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/generations.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/generations.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/generations.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/generations.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/generations.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/generations.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/generations.post.summary": "68cd404c", + "paths./proxy/kling/v1/images/generations/{id}.get.parameters[0].description": "3e0cce3a", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/generations/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/generations/{id}.get.summary": "dcc3baa4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.parameters[0].description": "05fa2e3b", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.parameters[1].description": "a8748dc9", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.get.summary": "1b251b13", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.requestBody.description": "1dbce76f", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/kolors-virtual-try-on.post.summary": "f7ce06b8", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.parameters[0].description": "3e0cce3a", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/kolors-virtual-try-on/{id}.get.summary": "7970aef8", + "paths./proxy/kling/v1/images/omni-image.post.requestBody.description": "c96dc3d6", + "paths./proxy/kling/v1/images/omni-image.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/omni-image.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/omni-image.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/omni-image.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/omni-image.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/omni-image.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/omni-image.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/omni-image.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/omni-image.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/omni-image.post.summary": "25934527", + "paths./proxy/kling/v1/images/omni-image/{id}.get.parameters[0].description": "b7ed2f0c", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/images/omni-image/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/images/omni-image/{id}.get.summary": "dc5d1a55", + "paths./proxy/kling/v1/videos/avatar/image2video.post.requestBody.description": "62da81d0", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/avatar/image2video.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/avatar/image2video.post.summary": "373edb31", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/avatar/image2video/{id}.get.summary": "53727b91", + "paths./proxy/kling/v1/videos/effects.get.parameters[0].description": "05fa2e3b", + "paths./proxy/kling/v1/videos/effects.get.parameters[1].description": "a8748dc9", + "paths./proxy/kling/v1/videos/effects.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/effects.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/effects.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/effects.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/effects.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/effects.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/effects.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/effects.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/effects.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/effects.get.summary": "3d29cea9", + "paths./proxy/kling/v1/videos/effects.post.requestBody.description": "6c758b87", + "paths./proxy/kling/v1/videos/effects.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/effects.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/effects.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/effects.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/effects.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/effects.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/effects.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/effects.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/effects.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/effects.post.summary": "d39a1fdb", + "paths./proxy/kling/v1/videos/effects/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/effects/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/effects/{id}.get.summary": "d5d4fcb2", + "paths./proxy/kling/v1/videos/image2video.post.requestBody.description": "74a34b41", + "paths./proxy/kling/v1/videos/image2video.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/image2video.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/image2video.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/image2video.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/image2video.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/image2video.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/image2video.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/image2video.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/image2video.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/image2video.post.summary": "c459c8e8", + "paths./proxy/kling/v1/videos/image2video/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/image2video/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/image2video/{id}.get.summary": "798c2063", + "paths./proxy/kling/v1/videos/lip-sync.get.parameters[0].description": "05fa2e3b", + "paths./proxy/kling/v1/videos/lip-sync.get.parameters[1].description": "a8748dc9", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/lip-sync.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/lip-sync.get.summary": "bbab27e0", + "paths./proxy/kling/v1/videos/lip-sync.post.requestBody.description": "1b2945d3", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/lip-sync.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/lip-sync.post.summary": "d64ec2ad", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/lip-sync/{id}.get.summary": "71d1303c", + "paths./proxy/kling/v1/videos/motion-control.post.requestBody.description": "ad4e0a95", + "paths./proxy/kling/v1/videos/motion-control.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/motion-control.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/motion-control.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/motion-control.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/motion-control.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/motion-control.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/motion-control.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/motion-control.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/motion-control.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/motion-control.post.summary": "655da70e", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/motion-control/{id}.get.summary": "69cb191d", + "paths./proxy/kling/v1/videos/omni-video.post.requestBody.description": "87376aa8", + "paths./proxy/kling/v1/videos/omni-video.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/omni-video.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/omni-video.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/omni-video.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/omni-video.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/omni-video.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/omni-video.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/omni-video.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/omni-video.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/omni-video.post.summary": "3165e049", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.parameters[0].description": "b7ed2f0c", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/omni-video/{id}.get.summary": "2d39a204", + "paths./proxy/kling/v1/videos/text2video.post.requestBody.description": "eaec02db", + "paths./proxy/kling/v1/videos/text2video.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/text2video.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/text2video.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/text2video.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/text2video.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/text2video.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/text2video.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/text2video.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/text2video.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/text2video.post.summary": "af31d9a5", + "paths./proxy/kling/v1/videos/text2video/{id}.get.parameters[0].description": "3a4c547f", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/text2video/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/text2video/{id}.get.summary": "97fd14ff", + "paths./proxy/kling/v1/videos/video-extend.get.parameters[0].description": "05fa2e3b", + "paths./proxy/kling/v1/videos/video-extend.get.parameters[1].description": "a8748dc9", + "paths./proxy/kling/v1/videos/video-extend.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/video-extend.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/video-extend.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/video-extend.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/video-extend.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/video-extend.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/video-extend.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/video-extend.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/video-extend.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/video-extend.get.summary": "4822c43d", + "paths./proxy/kling/v1/videos/video-extend.post.requestBody.description": "7e251954", + "paths./proxy/kling/v1/videos/video-extend.post.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/video-extend.post.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/video-extend.post.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/video-extend.post.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/video-extend.post.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/video-extend.post.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/video-extend.post.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/video-extend.post.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/video-extend.post.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/video-extend.post.summary": "ede8a6fd", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.parameters[0].description": "3e0cce3a", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.200.description": "3151586d", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.400.description": "51443a02", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.401.description": "93821eb7", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.403.description": "4ffc2105", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.404.description": "739e3da4", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.429.description": "266777a4", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.500.description": "f74d7444", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.503.description": "461b88ea", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.responses.504.description": "1f208284", + "paths./proxy/kling/v1/videos/video-extend/{id}.get.summary": "6d248620", + "paths./proxy/krea/assets.post.description": "a7372e9a", + "paths./proxy/krea/assets.post.responses.200.description": "e8eb6327", + "paths./proxy/krea/assets.post.responses.400.description": "60d5619a", + "paths./proxy/krea/assets.post.responses.401.description": "d089c8a9", + "paths./proxy/krea/assets.post.responses.500.description": "f74d7444", + "paths./proxy/krea/assets.post.summary": "a7372e9a", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.description": "634f3f95", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.200.description": "eaad669e", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.400.description": "917ef22f", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.401.description": "d089c8a9", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.402.description": "7248dc26", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.429.description": "edfc871b", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.responses.500.description": "f74d7444", + "paths./proxy/krea/generate/image/krea/krea-2/large.post.summary": "341e5867", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.description": "f989e6d4", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.200.description": "eaad669e", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.400.description": "917ef22f", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.401.description": "d089c8a9", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.402.description": "7248dc26", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.429.description": "edfc871b", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.responses.500.description": "f74d7444", + "paths./proxy/krea/generate/image/krea/krea-2/medium.post.summary": "c8e412f1", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.description": "557852e7", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.200.description": "eaad669e", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.400.description": "917ef22f", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.401.description": "d089c8a9", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.402.description": "7248dc26", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.429.description": "edfc871b", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.responses.500.description": "f74d7444", + "paths./proxy/krea/generate/image/krea/krea-2/medium-turbo.post.summary": "7a3dda22", + "paths./proxy/krea/jobs/{job_id}.get.description": "0e49db7e", + "paths./proxy/krea/jobs/{job_id}.get.parameters[0].description": "b58ddbc0", + "paths./proxy/krea/jobs/{job_id}.get.responses.200.description": "c664992b", + "paths./proxy/krea/jobs/{job_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/krea/jobs/{job_id}.get.responses.404.description": "56930ecf", + "paths./proxy/krea/jobs/{job_id}.get.responses.500.description": "f74d7444", + "paths./proxy/krea/jobs/{job_id}.get.summary": "0e49db7e", + "paths./proxy/ltx/v1/image-to-video.post.description": "02bda9d2", + "paths./proxy/ltx/v1/image-to-video.post.requestBody.description": "50f7dcaf", + "paths./proxy/ltx/v1/image-to-video.post.responses.200.description": "82f60389", + "paths./proxy/ltx/v1/image-to-video.post.responses.default.description": "8409f13c", + "paths./proxy/ltx/v1/image-to-video.post.summary": "b081389c", + "paths./proxy/ltx/v1/text-to-video.post.description": "52b0c009", + "paths./proxy/ltx/v1/text-to-video.post.requestBody.description": "9b48e782", + "paths./proxy/ltx/v1/text-to-video.post.responses.200.description": "82f60389", + "paths./proxy/ltx/v1/text-to-video.post.responses.default.description": "8409f13c", + "paths./proxy/ltx/v1/text-to-video.post.summary": "c557754e", + "paths./proxy/luma/generations.post.description": "9383995b", + "paths./proxy/luma/generations.post.requestBody.description": "d1705797", + "paths./proxy/luma/generations.post.responses.201.description": "ec40d5dc", + "paths./proxy/luma/generations.post.responses.default.description": "54a0e8c1", + "paths./proxy/luma/generations.post.summary": "efc51802", + "paths./proxy/luma/generations/image.post.description": "2da8402c", + "paths./proxy/luma/generations/image.post.requestBody.description": "2ec5636f", + "paths./proxy/luma/generations/image.post.responses.201.description": "516ee055", + "paths./proxy/luma/generations/image.post.responses.default.description": "54a0e8c1", + "paths./proxy/luma/generations/image.post.summary": "88daee9e", + "paths./proxy/luma/generations/{id}.get.description": "df38d257", + "paths./proxy/luma/generations/{id}.get.parameters[0].description": "84f8c18e", + "paths./proxy/luma/generations/{id}.get.responses.200.description": "26e8948a", + "paths./proxy/luma/generations/{id}.get.responses.default.description": "54a0e8c1", + "paths./proxy/luma/generations/{id}.get.summary": "5bef2699", + "paths./proxy/luma_2/generations.post.description": "2a003401", + "paths./proxy/luma_2/generations.post.requestBody.description": "d1705797", + "paths./proxy/luma_2/generations.post.responses.200.description": "d8f2125c", + "paths./proxy/luma_2/generations.post.responses.default.description": "54a0e8c1", + "paths./proxy/luma_2/generations.post.summary": "37fe0075", + "paths./proxy/luma_2/generations/{generation_id}.get.description": "fdae40f5", + "paths./proxy/luma_2/generations/{generation_id}.get.parameters[0].description": "84f8c18e", + "paths./proxy/luma_2/generations/{generation_id}.get.responses.200.description": "26e8948a", + "paths./proxy/luma_2/generations/{generation_id}.get.responses.default.description": "54a0e8c1", + "paths./proxy/luma_2/generations/{generation_id}.get.summary": "be1c6af3", + "paths./proxy/meshy/openapi/v1/animations.post.description": "bb726ebb", + "paths./proxy/meshy/openapi/v1/animations.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/animations.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/animations.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/animations.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/animations.post.summary": "359f4688", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.description": "b09c15b0", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/animations/{task_id}.get.summary": "ecbf3486", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.description": "a8c5fe9b", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/image-to-3d.post.summary": "de3da996", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.description": "868dd46a", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/image-to-3d/{task_id}.get.summary": "d119028a", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.description": "8a12c3ce", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d.post.summary": "f947167a", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.description": "5b59b06d", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}.get.summary": "f12ef76f", + "paths./proxy/meshy/openapi/v1/remesh.post.description": "e4d9dc40", + "paths./proxy/meshy/openapi/v1/remesh.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/remesh.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/remesh.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/remesh.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/remesh.post.summary": "4fb74976", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.description": "e41adb7d", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/remesh/{task_id}.get.summary": "772c6c12", + "paths./proxy/meshy/openapi/v1/retexture.post.description": "81d79c58", + "paths./proxy/meshy/openapi/v1/retexture.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/retexture.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/retexture.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/retexture.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/retexture.post.summary": "047a385b", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.description": "cfef01b1", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/retexture/{task_id}.get.summary": "201ff2f9", + "paths./proxy/meshy/openapi/v1/rigging.post.description": "dbb22bff", + "paths./proxy/meshy/openapi/v1/rigging.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v1/rigging.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v1/rigging.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v1/rigging.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/rigging.post.summary": "4567a698", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.description": "4727e7ee", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v1/rigging/{task_id}.get.summary": "11131548", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.description": "9994d0cd", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.responses.200.description": "8ee2e918", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.responses.400.description": "51443a02", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.responses.401.description": "93821eb7", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v2/text-to-3d.post.summary": "d7428b44", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.description": "49328002", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.parameters[0].description": "992c5626", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.responses.200.description": "b73c17f5", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/meshy/openapi/v2/text-to-3d/{task_id}.get.summary": "04283cf1", + "paths./proxy/minimax/files/retrieve.post.description": "a6aad64f", + "paths./proxy/minimax/files/retrieve.post.parameters[0].description": "30a8d795", + "paths./proxy/minimax/files/retrieve.post.responses.200.description": "829c8932", + "paths./proxy/minimax/files/retrieve.post.responses.400.description": "9f7eaca8", + "paths./proxy/minimax/files/retrieve.post.responses.401.description": "d089c8a9", + "paths./proxy/minimax/files/retrieve.post.responses.402.description": "a117c80b", + "paths./proxy/minimax/files/retrieve.post.responses.429.description": "a3d8ecdd", + "paths./proxy/minimax/files/retrieve.post.responses.500.description": "ee066afe", + "paths./proxy/minimax/files/retrieve.post.responses.502.description": "0a1ecf1e", + "paths./proxy/minimax/files/retrieve.post.responses.504.description": "45a94bcd", + "paths./proxy/minimax/files/retrieve.post.summary": "ba963a34", + "paths./proxy/minimax/query/video_generation.get.description": "4627658b", + "paths./proxy/minimax/query/video_generation.get.parameters[0].description": "d405b05a", + "paths./proxy/minimax/query/video_generation.get.responses.200.description": "abb958e6", + "paths./proxy/minimax/query/video_generation.get.responses.400.description": "9f7eaca8", + "paths./proxy/minimax/query/video_generation.get.responses.401.description": "d089c8a9", + "paths./proxy/minimax/query/video_generation.get.responses.402.description": "a117c80b", + "paths./proxy/minimax/query/video_generation.get.responses.429.description": "a3d8ecdd", + "paths./proxy/minimax/query/video_generation.get.responses.500.description": "ee066afe", + "paths./proxy/minimax/query/video_generation.get.responses.502.description": "0a1ecf1e", + "paths./proxy/minimax/query/video_generation.get.responses.504.description": "45a94bcd", + "paths./proxy/minimax/query/video_generation.get.summary": "c6534f27", + "paths./proxy/minimax/video_generation.post.description": "0624bc36", + "paths./proxy/minimax/video_generation.post.responses.200.description": "38982e91", + "paths./proxy/minimax/video_generation.post.responses.400.description": "9f7eaca8", + "paths./proxy/minimax/video_generation.post.responses.401.description": "d089c8a9", + "paths./proxy/minimax/video_generation.post.responses.402.description": "a117c80b", + "paths./proxy/minimax/video_generation.post.responses.429.description": "a3d8ecdd", + "paths./proxy/minimax/video_generation.post.responses.500.description": "ee066afe", + "paths./proxy/minimax/video_generation.post.responses.502.description": "0a1ecf1e", + "paths./proxy/minimax/video_generation.post.responses.504.description": "45a94bcd", + "paths./proxy/minimax/video_generation.post.summary": "7749af3b", + "paths./proxy/moonvalley/prompts/image-to-video.post.responses.201.description": "8ce11e7a", + "paths./proxy/moonvalley/prompts/image-to-video.post.summary": "5e6c2517", + "paths./proxy/moonvalley/prompts/text-to-image.post.responses.201.description": "8ce11e7a", + "paths./proxy/moonvalley/prompts/text-to-image.post.summary": "f2ec4321", + "paths./proxy/moonvalley/prompts/text-to-video.post.responses.201.description": "8ce11e7a", + "paths./proxy/moonvalley/prompts/text-to-video.post.summary": "aa1720c6", + "paths./proxy/moonvalley/prompts/video-to-video.post.responses.201.description": "8ce11e7a", + "paths./proxy/moonvalley/prompts/video-to-video.post.summary": "1e7c7acb", + "paths./proxy/moonvalley/prompts/video-to-video/resize.post.responses.201.description": "8ce11e7a", + "paths./proxy/moonvalley/prompts/video-to-video/resize.post.summary": "29850f5d", + "paths./proxy/moonvalley/prompts/{prompt_id}.get.responses.200.description": "a0780488", + "paths./proxy/moonvalley/prompts/{prompt_id}.get.summary": "5377c875", + "paths./proxy/moonvalley/uploads.post.responses.200.description": "2cd92465", + "paths./proxy/moonvalley/uploads.post.summary": "990578cf", + "paths./proxy/openai/images/edits.post.responses.200.description": "8015e228", + "paths./proxy/openai/images/edits.post.responses.400.description": "917ef22f", + "paths./proxy/openai/images/edits.post.responses.401.description": "d089c8a9", + "paths./proxy/openai/images/edits.post.responses.402.description": "a117c80b", + "paths./proxy/openai/images/edits.post.responses.500.description": "f74d7444", + "paths./proxy/openai/images/edits.post.summary": "c4ed8ce8", + "paths./proxy/openai/images/generations.post.responses.200.description": "7f6d431b", + "paths./proxy/openai/images/generations.post.responses.400.description": "917ef22f", + "paths./proxy/openai/images/generations.post.responses.401.description": "d089c8a9", + "paths./proxy/openai/images/generations.post.responses.402.description": "a117c80b", + "paths./proxy/openai/images/generations.post.responses.500.description": "f74d7444", + "paths./proxy/openai/images/generations.post.summary": "2b192a1e", + "paths./proxy/openai/v1/responses.post.responses.200.description": "565339bc", + "paths./proxy/openai/v1/responses/{id}.get.parameters[0].description": "c81a80ff", + "paths./proxy/openai/v1/responses/{id}.get.parameters[1].description": "4a3accaa", + "paths./proxy/openai/v1/responses/{id}.get.responses.200.description": "565339bc", + "paths./proxy/openai/v1/responses/{id}.get.summary": "3eee92e9", + "paths./proxy/openai/v1/videos.post.responses.200.description": "3389c1a2", + "paths./proxy/openai/v1/videos.post.responses.400.description": "917ef22f", + "paths./proxy/openai/v1/videos.post.responses.401.description": "d089c8a9", + "paths./proxy/openai/v1/videos.post.responses.402.description": "a117c80b", + "paths./proxy/openai/v1/videos.post.responses.500.description": "f74d7444", + "paths./proxy/openai/v1/videos.post.summary": "610578c2", + "paths./proxy/openai/v1/videos/{video_id}.get.parameters[0].description": "9242ad06", + "paths./proxy/openai/v1/videos/{video_id}.get.responses.200.description": "c4ea6adf", + "paths./proxy/openai/v1/videos/{video_id}.get.responses.400.description": "917ef22f", + "paths./proxy/openai/v1/videos/{video_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/openai/v1/videos/{video_id}.get.responses.404.description": "e861519b", + "paths./proxy/openai/v1/videos/{video_id}.get.responses.500.description": "f74d7444", + "paths./proxy/openai/v1/videos/{video_id}.get.summary": "f4be1828", + "paths./proxy/openai/v1/videos/{video_id}/content.get.parameters[0].description": "171b2f67", + "paths./proxy/openai/v1/videos/{video_id}/content.get.parameters[1].description": "c30d1fd5", + "paths./proxy/openai/v1/videos/{video_id}/content.get.responses.200.description": "4dd1cbc6", + "paths./proxy/openai/v1/videos/{video_id}/content.get.responses.400.description": "917ef22f", + "paths./proxy/openai/v1/videos/{video_id}/content.get.responses.401.description": "d089c8a9", + "paths./proxy/openai/v1/videos/{video_id}/content.get.responses.404.description": "e861519b", + "paths./proxy/openai/v1/videos/{video_id}/content.get.responses.500.description": "f74d7444", + "paths./proxy/openai/v1/videos/{video_id}/content.get.summary": "810ad783", + "paths./proxy/openrouter/api/v1/chat/completions.post.description": "efb060f1", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.200.description": "8bd7b8f6", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.400.description": "917ef22f", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.401.description": "d089c8a9", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.402.description": "7248dc26", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.429.description": "edfc871b", + "paths./proxy/openrouter/api/v1/chat/completions.post.responses.500.description": "f74d7444", + "paths./proxy/openrouter/api/v1/chat/completions.post.summary": "1c116908", + "paths./proxy/pika/generate/2.2/i2v.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/2.2/i2v.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/2.2/i2v.post.summary": "b62e82c9", + "paths./proxy/pika/generate/2.2/pikaframes.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/2.2/pikaframes.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/2.2/pikaframes.post.summary": "76d046c5", + "paths./proxy/pika/generate/2.2/pikascenes.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/2.2/pikascenes.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/2.2/pikascenes.post.summary": "ed656bb0", + "paths./proxy/pika/generate/2.2/t2v.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/2.2/t2v.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/2.2/t2v.post.summary": "3c32812f", + "paths./proxy/pika/generate/pikadditions.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/pikadditions.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/pikadditions.post.summary": "daf5c8d3", + "paths./proxy/pika/generate/pikaffects.post.description": "7f67a800", + "paths./proxy/pika/generate/pikaffects.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/pikaffects.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/pikaffects.post.summary": "6e97852b", + "paths./proxy/pika/generate/pikaswaps.post.description": "15b42812", + "paths./proxy/pika/generate/pikaswaps.post.responses.200.description": "25123ce6", + "paths./proxy/pika/generate/pikaswaps.post.responses.422.description": "142762b3", + "paths./proxy/pika/generate/pikaswaps.post.summary": "00054f9c", + "paths./proxy/pika/videos/{video_id}.get.responses.200.description": "25123ce6", + "paths./proxy/pika/videos/{video_id}.get.responses.422.description": "142762b3", + "paths./proxy/pika/videos/{video_id}.get.summary": "d11c0f6f", + "paths./proxy/pixverse/image/upload.post.responses.200.description": "6c3ba36c", + "paths./proxy/pixverse/image/upload.post.responses.400.description": "9f7eaca8", + "paths./proxy/pixverse/image/upload.post.responses.401.description": "d089c8a9", + "paths./proxy/pixverse/image/upload.post.responses.402.description": "a117c80b", + "paths./proxy/pixverse/image/upload.post.responses.429.description": "95a111e3", + "paths./proxy/pixverse/image/upload.post.responses.500.description": "ee066afe", + "paths./proxy/pixverse/image/upload.post.summary": "91152fda", + "paths./proxy/pixverse/video/img/generate.post.responses.200.description": "c88a0b90", + "paths./proxy/pixverse/video/img/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/pixverse/video/img/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/pixverse/video/img/generate.post.responses.402.description": "a117c80b", + "paths./proxy/pixverse/video/img/generate.post.responses.429.description": "95a111e3", + "paths./proxy/pixverse/video/img/generate.post.responses.500.description": "ee066afe", + "paths./proxy/pixverse/video/img/generate.post.summary": "a7ea32bc", + "paths./proxy/pixverse/video/result/{id}.get.responses.200.description": "4178f684", + "paths./proxy/pixverse/video/result/{id}.get.summary": "824a25cb", + "paths./proxy/pixverse/video/text/generate.post.responses.200.description": "c88a0b90", + "paths./proxy/pixverse/video/text/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/pixverse/video/text/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/pixverse/video/text/generate.post.responses.402.description": "a117c80b", + "paths./proxy/pixverse/video/text/generate.post.responses.429.description": "95a111e3", + "paths./proxy/pixverse/video/text/generate.post.responses.500.description": "ee066afe", + "paths./proxy/pixverse/video/text/generate.post.summary": "6211da87", + "paths./proxy/pixverse/video/transition/generate.post.responses.200.description": "c88a0b90", + "paths./proxy/pixverse/video/transition/generate.post.responses.400.description": "9f7eaca8", + "paths./proxy/pixverse/video/transition/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/pixverse/video/transition/generate.post.responses.402.description": "a117c80b", + "paths./proxy/pixverse/video/transition/generate.post.responses.429.description": "95a111e3", + "paths./proxy/pixverse/video/transition/generate.post.responses.500.description": "ee066afe", + "paths./proxy/pixverse/video/transition/generate.post.summary": "077f2628", + "paths./proxy/quiver/v1/svgs/generations.post.description": "06f40dad", + "paths./proxy/quiver/v1/svgs/generations.post.responses.200.description": "45d1da63", + "paths./proxy/quiver/v1/svgs/generations.post.responses.400.description": "917ef22f", + "paths./proxy/quiver/v1/svgs/generations.post.responses.401.description": "d089c8a9", + "paths./proxy/quiver/v1/svgs/generations.post.responses.402.description": "7248dc26", + "paths./proxy/quiver/v1/svgs/generations.post.responses.429.description": "edfc871b", + "paths./proxy/quiver/v1/svgs/generations.post.responses.500.description": "f74d7444", + "paths./proxy/quiver/v1/svgs/generations.post.summary": "2bec578e", + "paths./proxy/quiver/v1/svgs/vectorizations.post.description": "b3f62a10", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.200.description": "5da364f5", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.400.description": "917ef22f", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.401.description": "d089c8a9", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.402.description": "7248dc26", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.429.description": "edfc871b", + "paths./proxy/quiver/v1/svgs/vectorizations.post.responses.500.description": "f74d7444", + "paths./proxy/quiver/v1/svgs/vectorizations.post.summary": "e3d69581", + "paths./proxy/recraft/image_generation.post.description": "03ecc8f2", + "paths./proxy/recraft/image_generation.post.responses.200.description": "27e36b45", + "paths./proxy/recraft/image_generation.post.responses.400.description": "9f7eaca8", + "paths./proxy/recraft/image_generation.post.responses.401.description": "d089c8a9", + "paths./proxy/recraft/image_generation.post.responses.402.description": "a117c80b", + "paths./proxy/recraft/image_generation.post.responses.429.description": "95a111e3", + "paths./proxy/recraft/image_generation.post.responses.500.description": "ee066afe", + "paths./proxy/recraft/image_generation.post.responses.502.description": "54ad0adf", + "paths./proxy/recraft/image_generation.post.responses.504.description": "85156865", + "paths./proxy/recraft/image_generation.post.summary": "999597e2", + "paths./proxy/recraft/images/creativeUpscale.post.responses.200.description": "565339bc", + "paths./proxy/recraft/images/creativeUpscale.post.summary": "187af255", + "paths./proxy/recraft/images/crispUpscale.post.requestBody.content.multipart/form-data.schema.properties.file.description": "98a38389", + "paths./proxy/recraft/images/crispUpscale.post.responses.200.description": "f97a8651", + "paths./proxy/recraft/images/crispUpscale.post.responses.400.description": "62f8b967", + "paths./proxy/recraft/images/crispUpscale.post.responses.401.description": "41e101c9", + "paths./proxy/recraft/images/crispUpscale.post.summary": "c5809fb1", + "paths./proxy/recraft/images/imageToImage.post.responses.200.description": "565339bc", + "paths./proxy/recraft/images/imageToImage.post.summary": "5092afb8", + "paths./proxy/recraft/images/inpaint.post.responses.200.description": "565339bc", + "paths./proxy/recraft/images/inpaint.post.summary": "cec3a1df", + "paths./proxy/recraft/images/removeBackground.post.requestBody.content.multipart/form-data.schema.properties.file.description": "98a38389", + "paths./proxy/recraft/images/removeBackground.post.responses.200.content.application/json.schema.properties.image.properties.url.description": "5f5e6224", + "paths./proxy/recraft/images/removeBackground.post.responses.200.description": "f97a8651", + "paths./proxy/recraft/images/removeBackground.post.responses.400.description": "62f8b967", + "paths./proxy/recraft/images/removeBackground.post.responses.401.description": "41e101c9", + "paths./proxy/recraft/images/removeBackground.post.summary": "571a4d0e", + "paths./proxy/recraft/images/replaceBackground.post.responses.200.description": "565339bc", + "paths./proxy/recraft/images/replaceBackground.post.summary": "6098f769", + "paths./proxy/recraft/images/vectorize.post.requestBody.content.multipart/form-data.schema.properties.file.description": "98a38389", + "paths./proxy/recraft/images/vectorize.post.responses.200.description": "f97a8651", + "paths./proxy/recraft/images/vectorize.post.responses.400.description": "62f8b967", + "paths./proxy/recraft/images/vectorize.post.responses.401.description": "41e101c9", + "paths./proxy/recraft/images/vectorize.post.summary": "ba1c724e", + "paths./proxy/recraft/styles.post.description": "f6c5ddee", + "paths./proxy/recraft/styles.post.responses.200.description": "565339bc", + "paths./proxy/recraft/styles.post.summary": "5c02b638", + "paths./proxy/reve/v1/image/create.post.description": "c1717cbd", + "paths./proxy/reve/v1/image/create.post.responses.200.description": "645f32e9", + "paths./proxy/reve/v1/image/create.post.responses.400.description": "7c41b898", + "paths./proxy/reve/v1/image/create.post.responses.401.description": "d089c8a9", + "paths./proxy/reve/v1/image/create.post.responses.402.description": "a117c80b", + "paths./proxy/reve/v1/image/create.post.responses.429.description": "95a111e3", + "paths./proxy/reve/v1/image/create.post.responses.500.description": "e41656eb", + "paths./proxy/reve/v1/image/create.post.summary": "d5fee69e", + "paths./proxy/reve/v1/image/edit.post.description": "ee796760", + "paths./proxy/reve/v1/image/edit.post.responses.200.description": "645f32e9", + "paths./proxy/reve/v1/image/edit.post.responses.400.description": "7c41b898", + "paths./proxy/reve/v1/image/edit.post.responses.401.description": "d089c8a9", + "paths./proxy/reve/v1/image/edit.post.responses.402.description": "a117c80b", + "paths./proxy/reve/v1/image/edit.post.responses.429.description": "95a111e3", + "paths./proxy/reve/v1/image/edit.post.responses.500.description": "e41656eb", + "paths./proxy/reve/v1/image/edit.post.summary": "6b8353ce", + "paths./proxy/reve/v1/image/remix.post.description": "ee68bd2c", + "paths./proxy/reve/v1/image/remix.post.responses.200.description": "645f32e9", + "paths./proxy/reve/v1/image/remix.post.responses.400.description": "7c41b898", + "paths./proxy/reve/v1/image/remix.post.responses.401.description": "d089c8a9", + "paths./proxy/reve/v1/image/remix.post.responses.402.description": "a117c80b", + "paths./proxy/reve/v1/image/remix.post.responses.429.description": "95a111e3", + "paths./proxy/reve/v1/image/remix.post.responses.500.description": "e41656eb", + "paths./proxy/reve/v1/image/remix.post.summary": "cddde1cc", + "paths./proxy/rodin/api/v2/download.post.responses.200.description": "3999aec8", + "paths./proxy/rodin/api/v2/download.post.responses.400.description": "7c41b898", + "paths./proxy/rodin/api/v2/download.post.responses.401.description": "d089c8a9", + "paths./proxy/rodin/api/v2/download.post.responses.403.description": "78342a09", + "paths./proxy/rodin/api/v2/download.post.responses.404.description": "0019dfc4", + "paths./proxy/rodin/api/v2/download.post.responses.500.description": "e41656eb", + "paths./proxy/rodin/api/v2/download.post.summary": "095ff59e", + "paths./proxy/rodin/api/v2/rodin.post.responses.200.description": "0116fd55", + "paths./proxy/rodin/api/v2/rodin.post.responses.400.description": "7c41b898", + "paths./proxy/rodin/api/v2/rodin.post.responses.401.description": "d089c8a9", + "paths./proxy/rodin/api/v2/rodin.post.responses.403.description": "78342a09", + "paths./proxy/rodin/api/v2/rodin.post.responses.404.description": "0019dfc4", + "paths./proxy/rodin/api/v2/rodin.post.responses.500.description": "e41656eb", + "paths./proxy/rodin/api/v2/rodin.post.summary": "b2fc7293", + "paths./proxy/rodin/api/v2/status.post.responses.200.description": "27024051", + "paths./proxy/rodin/api/v2/status.post.responses.400.description": "7c41b898", + "paths./proxy/rodin/api/v2/status.post.responses.401.description": "d089c8a9", + "paths./proxy/rodin/api/v2/status.post.responses.403.description": "78342a09", + "paths./proxy/rodin/api/v2/status.post.responses.404.description": "0019dfc4", + "paths./proxy/rodin/api/v2/status.post.responses.500.description": "e41656eb", + "paths./proxy/rodin/api/v2/status.post.summary": "9e6ccafe", + "paths./proxy/runway/image_to_video.post.description": "673810c4", + "paths./proxy/runway/image_to_video.post.responses.200.description": "40c36e17", + "paths./proxy/runway/image_to_video.post.responses.400.description": "917ef22f", + "paths./proxy/runway/image_to_video.post.responses.401.description": "d089c8a9", + "paths./proxy/runway/image_to_video.post.responses.402.description": "a117c80b", + "paths./proxy/runway/image_to_video.post.responses.500.description": "f74d7444", + "paths./proxy/runway/image_to_video.post.summary": "2d4970b1", + "paths./proxy/runway/tasks/{task_id}.get.description": "3c1df576", + "paths./proxy/runway/tasks/{task_id}.get.parameters[0].description": "fbda5257", + "paths./proxy/runway/tasks/{task_id}.get.responses.200.description": "40c36e17", + "paths./proxy/runway/tasks/{task_id}.get.responses.400.description": "917ef22f", + "paths./proxy/runway/tasks/{task_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/runway/tasks/{task_id}.get.responses.402.description": "a117c80b", + "paths./proxy/runway/tasks/{task_id}.get.responses.404.description": "b19fa293", + "paths./proxy/runway/tasks/{task_id}.get.responses.500.description": "f74d7444", + "paths./proxy/runway/tasks/{task_id}.get.summary": "fb4c354d", + "paths./proxy/runway/text_to_image.post.description": "d0865efe", + "paths./proxy/runway/text_to_image.post.responses.200.description": "40c36e17", + "paths./proxy/runway/text_to_image.post.responses.400.description": "917ef22f", + "paths./proxy/runway/text_to_image.post.responses.401.description": "d089c8a9", + "paths./proxy/runway/text_to_image.post.responses.402.description": "a117c80b", + "paths./proxy/runway/text_to_image.post.responses.500.description": "f74d7444", + "paths./proxy/runway/text_to_image.post.summary": "d8c5983e", + "paths./proxy/runway/video_to_video.post.description": "a0a979c4", + "paths./proxy/runway/video_to_video.post.responses.200.description": "40c36e17", + "paths./proxy/runway/video_to_video.post.responses.400.description": "917ef22f", + "paths./proxy/runway/video_to_video.post.responses.401.description": "d089c8a9", + "paths./proxy/runway/video_to_video.post.responses.402.description": "a117c80b", + "paths./proxy/runway/video_to_video.post.responses.500.description": "f74d7444", + "paths./proxy/runway/video_to_video.post.summary": "ca19c74e", + "paths./proxy/seedance/assets.get.description": "b049439b", + "paths./proxy/seedance/assets.get.parameters[0].description": "2f0314bb", + "paths./proxy/seedance/assets.get.parameters[1].description": "0a5e90eb", + "paths./proxy/seedance/assets.get.responses.200.description": "e5631ebc", + "paths./proxy/seedance/assets.get.responses.default.description": "8409f13c", + "paths./proxy/seedance/assets.get.summary": "ff3dc0f1", + "paths./proxy/seedance/assets.post.responses.201.description": "b4371a21", + "paths./proxy/seedance/assets.post.responses.default.description": "8409f13c", + "paths./proxy/seedance/assets/{asset_id}.get.parameters[0].description": "0e67095f", + "paths./proxy/seedance/assets/{asset_id}.get.responses.200.description": "f77dd9dc", + "paths./proxy/seedance/assets/{asset_id}.get.responses.default.description": "8409f13c", + "paths./proxy/seedance/virtual-library/assets.post.responses.201.description": "b4371a21", + "paths./proxy/seedance/virtual-library/assets.post.responses.default.description": "8409f13c", + "paths./proxy/seedance/visual-validate/groups.get.description": "9d094e0e", + "paths./proxy/seedance/visual-validate/groups.get.responses.200.description": "a8237a93", + "paths./proxy/seedance/visual-validate/groups.get.responses.default.description": "8409f13c", + "paths./proxy/seedance/visual-validate/groups.get.summary": "d8060470", + "paths./proxy/seedance/visual-validate/sessions.post.responses.201.description": "d9eee2c8", + "paths./proxy/seedance/visual-validate/sessions.post.responses.default.description": "8409f13c", + "paths./proxy/seedance/visual-validate/sessions/{session_id}.get.parameters[0].description": "b4bdc3e9", + "paths./proxy/seedance/visual-validate/sessions/{session_id}.get.responses.200.description": "8b90128f", + "paths./proxy/seedance/visual-validate/sessions/{session_id}.get.responses.default.description": "8409f13c", + "paths./proxy/sonilo/t2m/generate.post.description": "f83aff50", + "paths./proxy/sonilo/t2m/generate.post.responses.200.description": "1965c62d", + "paths./proxy/sonilo/t2m/generate.post.responses.400.description": "7c41b898", + "paths./proxy/sonilo/t2m/generate.post.responses.401.description": "068db6e7", + "paths./proxy/sonilo/t2m/generate.post.responses.402.description": "97da4d58", + "paths./proxy/sonilo/t2m/generate.post.responses.422.description": "ecc1b371", + "paths./proxy/sonilo/t2m/generate.post.responses.429.description": "0711f0be", + "paths./proxy/sonilo/t2m/generate.post.responses.502.description": "fafda5e3", + "paths./proxy/sonilo/t2m/generate.post.summary": "9ad5f20f", + "paths./proxy/sonilo/v2m/generate.post.description": "205222dc", + "paths./proxy/sonilo/v2m/generate.post.responses.200.description": "1965c62d", + "paths./proxy/sonilo/v2m/generate.post.responses.400.description": "7c41b898", + "paths./proxy/sonilo/v2m/generate.post.responses.401.description": "068db6e7", + "paths./proxy/sonilo/v2m/generate.post.responses.402.description": "97da4d58", + "paths./proxy/sonilo/v2m/generate.post.responses.422.description": "ecc1b371", + "paths./proxy/sonilo/v2m/generate.post.responses.429.description": "0711f0be", + "paths./proxy/sonilo/v2m/generate.post.responses.502.description": "fafda5e3", + "paths./proxy/sonilo/v2m/generate.post.summary": "95239527", + "paths./proxy/tencent/hunyuan/3d-part.post.description": "bb702811", + "paths./proxy/tencent/hunyuan/3d-part.post.responses.200.description": "8edcb694", + "paths./proxy/tencent/hunyuan/3d-part.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-part.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-part.post.responses.402.description": "a117c80b", + "paths./proxy/tencent/hunyuan/3d-part.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-part.post.summary": "209a1ed2", + "paths./proxy/tencent/hunyuan/3d-part/query.post.description": "d080a90b", + "paths./proxy/tencent/hunyuan/3d-part/query.post.responses.200.description": "582b91c5", + "paths./proxy/tencent/hunyuan/3d-part/query.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-part/query.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-part/query.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-part/query.post.summary": "54c17887", + "paths./proxy/tencent/hunyuan/3d-pro.post.description": "1964bc92", + "paths./proxy/tencent/hunyuan/3d-pro.post.responses.200.description": "8edcb694", + "paths./proxy/tencent/hunyuan/3d-pro.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-pro.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-pro.post.responses.402.description": "a117c80b", + "paths./proxy/tencent/hunyuan/3d-pro.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-pro.post.summary": "153ad499", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.description": "3bcc3781", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.responses.200.description": "582b91c5", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-pro/query.post.summary": "114bfd7b", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.description": "0371fb60", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.responses.200.description": "8edcb694", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.responses.402.description": "a117c80b", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-smart-topology.post.summary": "3987286a", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.description": "559eeeb7", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.responses.200.description": "582b91c5", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-smart-topology/query.post.summary": "1aaa7644", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.description": "d084e935", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.responses.200.description": "8edcb694", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.responses.402.description": "a117c80b", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-texture-edit.post.summary": "e434d87f", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.description": "c12a07af", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.responses.200.description": "582b91c5", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-texture-edit/query.post.summary": "8c65d72a", + "paths./proxy/tencent/hunyuan/3d-uv.post.description": "8ef12ed5", + "paths./proxy/tencent/hunyuan/3d-uv.post.responses.200.description": "8edcb694", + "paths./proxy/tencent/hunyuan/3d-uv.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-uv.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-uv.post.responses.402.description": "a117c80b", + "paths./proxy/tencent/hunyuan/3d-uv.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-uv.post.summary": "5f33c0a3", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.description": "b8fcadf8", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.responses.200.description": "582b91c5", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.responses.400.description": "7c41b898", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.responses.401.description": "d089c8a9", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.responses.500.description": "e41656eb", + "paths./proxy/tencent/hunyuan/3d-uv/query.post.summary": "f7a9b0a1", + "paths./proxy/topaz/image/v1/download/{process_id}.get.parameters[0].description": "13f93401", + "paths./proxy/topaz/image/v1/download/{process_id}.get.responses.200.description": "f0838b5b", + "paths./proxy/topaz/image/v1/download/{process_id}.get.responses.default.description": "8409f13c", + "paths./proxy/topaz/image/v1/enhance-gen/async.post.responses.200.description": "30c9dfa3", + "paths./proxy/topaz/image/v1/enhance-gen/async.post.responses.default.description": "8409f13c", + "paths./proxy/topaz/image/v1/status/{process_id}.get.parameters[0].description": "13f93401", + "paths./proxy/topaz/image/v1/status/{process_id}.get.responses.200.description": "be1404b0", + "paths./proxy/topaz/image/v1/status/{process_id}.get.responses.default.description": "8409f13c", + "paths./proxy/topaz/video/.post.responses.200.description": "13b1332e", + "paths./proxy/topaz/video/.post.responses.default.description": "8409f13c", + "paths./proxy/topaz/video/{request_id}/accept.patch.parameters[0].description": "f963f77b", + "paths./proxy/topaz/video/{request_id}/accept.patch.responses.200.description": "4cd90302", + "paths./proxy/topaz/video/{request_id}/accept.patch.responses.default.description": "8409f13c", + "paths./proxy/topaz/video/{request_id}/complete-upload.patch.description": "4e83212b", + "paths./proxy/topaz/video/{request_id}/complete-upload.patch.parameters[0].description": "f963f77b", + "paths./proxy/topaz/video/{request_id}/complete-upload.patch.responses.202.description": "b63264af", + "paths./proxy/topaz/video/{request_id}/complete-upload.patch.responses.default.description": "8409f13c", + "paths./proxy/topaz/video/{request_id}/complete-upload.patch.summary": "e33d6cfb", + "paths./proxy/topaz/video/{request_id}/status.get.parameters[0].description": "f963f77b", + "paths./proxy/topaz/video/{request_id}/status.get.responses.200.description": "7d9d3e9a", + "paths./proxy/topaz/video/{request_id}/status.get.responses.default.description": "8409f13c", + "paths./proxy/tripo/v2/openapi/import.post.description": "3838102b", + "paths./proxy/tripo/v2/openapi/import.post.requestBody.content.application/json.schema.properties.format.description": "87dc40d2", + "paths./proxy/tripo/v2/openapi/import.post.requestBody.content.application/json.schema.properties.url.description": "59c448b7", + "paths./proxy/tripo/v2/openapi/import.post.responses.200.description": "64628cb3", + "paths./proxy/tripo/v2/openapi/import.post.responses.400.description": "51443a02", + "paths./proxy/tripo/v2/openapi/import.post.responses.401.description": "93821eb7", + "paths./proxy/tripo/v2/openapi/import.post.responses.403.description": "4ffc2105", + "paths./proxy/tripo/v2/openapi/import.post.responses.413.description": "ada8587c", + "paths./proxy/tripo/v2/openapi/import.post.responses.429.description": "266777a4", + "paths./proxy/tripo/v2/openapi/import.post.responses.500.description": "f74d7444", + "paths./proxy/tripo/v2/openapi/import.post.responses.502.description": "ec3813b3", + "paths./proxy/tripo/v2/openapi/import.post.responses.503.description": "461b88ea", + "paths./proxy/tripo/v2/openapi/import.post.responses.504.description": "1f208284", + "paths./proxy/tripo/v2/openapi/import.post.summary": "85d09df8", + "paths./proxy/tripo/v2/openapi/task.post.responses.200.description": "cea40f4f", + "paths./proxy/tripo/v2/openapi/task.post.responses.400.description": "51443a02", + "paths./proxy/tripo/v2/openapi/task.post.responses.401.description": "93821eb7", + "paths./proxy/tripo/v2/openapi/task.post.responses.403.description": "4ffc2105", + "paths./proxy/tripo/v2/openapi/task.post.responses.404.description": "739e3da4", + "paths./proxy/tripo/v2/openapi/task.post.responses.429.description": "266777a4", + "paths./proxy/tripo/v2/openapi/task.post.responses.500.description": "f74d7444", + "paths./proxy/tripo/v2/openapi/task.post.responses.503.description": "461b88ea", + "paths./proxy/tripo/v2/openapi/task.post.responses.504.description": "1f208284", + "paths./proxy/tripo/v2/openapi/task.post.summary": "4c901ae7", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.200.description": "cea40f4f", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.400.description": "51443a02", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.401.description": "93821eb7", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.403.description": "4ffc2105", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.404.description": "739e3da4", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.429.description": "266777a4", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.500.description": "f74d7444", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.503.description": "461b88ea", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.responses.504.description": "1f208284", + "paths./proxy/tripo/v2/openapi/task/{task_id}.get.summary": "e12523e1", + "paths./proxy/tripo/v2/openapi/upload.post.responses.200.description": "cea40f4f", + "paths./proxy/tripo/v2/openapi/upload.post.responses.400.description": "51443a02", + "paths./proxy/tripo/v2/openapi/upload.post.responses.401.description": "93821eb7", + "paths./proxy/tripo/v2/openapi/upload.post.responses.403.description": "4ffc2105", + "paths./proxy/tripo/v2/openapi/upload.post.responses.404.description": "739e3da4", + "paths./proxy/tripo/v2/openapi/upload.post.responses.429.description": "266777a4", + "paths./proxy/tripo/v2/openapi/upload.post.responses.500.description": "f74d7444", + "paths./proxy/tripo/v2/openapi/upload.post.responses.503.description": "461b88ea", + "paths./proxy/tripo/v2/openapi/upload.post.responses.504.description": "1f208284", + "paths./proxy/tripo/v2/openapi/upload.post.summary": "f7727c20", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.200.description": "cea40f4f", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.400.description": "51443a02", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.401.description": "93821eb7", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.403.description": "4ffc2105", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.404.description": "739e3da4", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.429.description": "266777a4", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.500.description": "f74d7444", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.503.description": "461b88ea", + "paths./proxy/tripo/v2/openapi/user/balance.get.responses.504.description": "1f208284", + "paths./proxy/tripo/v2/openapi/user/balance.get.summary": "6b09d03d", + "paths./proxy/veo/generate.post.responses.200.description": "dee1245c", + "paths./proxy/veo/generate.post.responses.400.description": "917ef22f", + "paths./proxy/veo/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/veo/generate.post.responses.403.description": "78342a09", + "paths./proxy/veo/generate.post.responses.500.description": "f74d7444", + "paths./proxy/veo/generate.post.summary": "9af18243", + "paths./proxy/veo/poll.post.responses.200.description": "7e41c698", + "paths./proxy/veo/poll.post.responses.400.description": "917ef22f", + "paths./proxy/veo/poll.post.responses.401.description": "d089c8a9", + "paths./proxy/veo/poll.post.responses.404.description": "3f88a5a0", + "paths./proxy/veo/poll.post.responses.500.description": "1dac8dea", + "paths./proxy/veo/poll.post.summary": "6055ef82", + "paths./proxy/veo/{modelId}/generate.post.parameters[0].description": "afb4b9e5", + "paths./proxy/veo/{modelId}/generate.post.responses.200.description": "dee1245c", + "paths./proxy/veo/{modelId}/generate.post.responses.400.description": "917ef22f", + "paths./proxy/veo/{modelId}/generate.post.responses.401.description": "d089c8a9", + "paths./proxy/veo/{modelId}/generate.post.responses.403.description": "78342a09", + "paths./proxy/veo/{modelId}/generate.post.responses.500.description": "f74d7444", + "paths./proxy/veo/{modelId}/generate.post.summary": "6acf95a2", + "paths./proxy/veo/{modelId}/poll.post.parameters[0].description": "a590ba10", + "paths./proxy/veo/{modelId}/poll.post.responses.200.description": "7e41c698", + "paths./proxy/veo/{modelId}/poll.post.responses.400.description": "917ef22f", + "paths./proxy/veo/{modelId}/poll.post.responses.401.description": "d089c8a9", + "paths./proxy/veo/{modelId}/poll.post.responses.404.description": "3f88a5a0", + "paths./proxy/veo/{modelId}/poll.post.responses.500.description": "1dac8dea", + "paths./proxy/veo/{modelId}/poll.post.summary": "3f5973fa", + "paths./proxy/vertexai/gemini/{model}.post.parameters[0].description": "586e9303", + "paths./proxy/vertexai/gemini/{model}.post.responses.200.description": "515d9b5f", + "paths./proxy/vertexai/gemini/{model}.post.responses.400.description": "7c41b898", + "paths./proxy/vertexai/gemini/{model}.post.responses.401.description": "d089c8a9", + "paths./proxy/vertexai/gemini/{model}.post.responses.403.description": "78342a09", + "paths./proxy/vertexai/gemini/{model}.post.responses.404.description": "0019dfc4", + "paths./proxy/vertexai/gemini/{model}.post.responses.500.description": "e41656eb", + "paths./proxy/vertexai/gemini/{model}.post.summary": "abf33cc6", + "paths./proxy/vertexai/imagen/{model}.parameters[0].description": "d5a70290", + "paths./proxy/vertexai/imagen/{model}.post.responses.200.description": "f192b5ee", + "paths./proxy/vertexai/imagen/{model}.post.responses.4XX.description": "bc19cec2", + "paths./proxy/vertexai/imagen/{model}.post.responses.5XX.description": "dfe0c2e8", + "paths./proxy/vertexai/imagen/{model}.post.summary": "cd30b88b", + "paths./proxy/vidu/extend.post.responses.200.description": "565339bc", + "paths./proxy/vidu/extend.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/extend.post.responses.default.description": "8409f13c", + "paths./proxy/vidu/img2video.post.responses.200.description": "565339bc", + "paths./proxy/vidu/img2video.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/img2video.post.responses.default.description": "8409f13c", + "paths./proxy/vidu/multiframe.post.responses.200.description": "565339bc", + "paths./proxy/vidu/multiframe.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/multiframe.post.responses.default.description": "8409f13c", + "paths./proxy/vidu/reference2video.post.responses.200.description": "565339bc", + "paths./proxy/vidu/reference2video.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/reference2video.post.responses.default.description": "8409f13c", + "paths./proxy/vidu/start-end2video.post.responses.200.description": "565339bc", + "paths./proxy/vidu/start-end2video.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/start-end2video.post.responses.default.description": "8409f13c", + "paths./proxy/vidu/tasks/{id}/creations.get.responses.200.description": "565339bc", + "paths./proxy/vidu/tasks/{id}/creations.get.responses.400.description": "8409f13c", + "paths./proxy/vidu/tasks/{id}/creations.get.responses.default.description": "8409f13c", + "paths./proxy/vidu/text2video.post.responses.200.description": "565339bc", + "paths./proxy/vidu/text2video.post.responses.400.description": "8409f13c", + "paths./proxy/vidu/text2video.post.responses.default.description": "8409f13c", + "paths./proxy/wan/api/v1/services/aigc/image2image/image-synthesis.post.responses.200.description": "54f0e9cc", + "paths./proxy/wan/api/v1/services/aigc/image2image/image-synthesis.post.responses.default.description": "8409f13c", + "paths./proxy/wan/api/v1/services/aigc/text2image/image-synthesis.post.responses.200.description": "9625b5ed", + "paths./proxy/wan/api/v1/services/aigc/text2image/image-synthesis.post.responses.default.description": "8409f13c", + "paths./proxy/wan/api/v1/services/aigc/video-generation/video-synthesis.post.responses.200.description": "dbfebbe0", + "paths./proxy/wan/api/v1/services/aigc/video-generation/video-synthesis.post.responses.default.description": "8409f13c", + "paths./proxy/wan/api/v1/tasks/{task_id}.get.parameters[0].description": "fd7b5d77", + "paths./proxy/wan/api/v1/tasks/{task_id}.get.responses.200.description": "047d6c18", + "paths./proxy/wan/api/v1/tasks/{task_id}.get.responses.default.description": "8409f13c", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.description": "d7bca488", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.parameters[0].description": "d94ca2ca", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.responses.200.description": "f5e1abbd", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.responses.401.description": "d089c8a9", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.responses.402.description": "a117c80b", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.responses.404.description": "b19fa293", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.responses.500.description": "e41656eb", + "paths./proxy/wavespeed/api/v3/predictions/{prediction_id}/result.get.summary": "cedc78a0", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.description": "7343b2c9", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.responses.200.description": "8edcb694", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.responses.400.description": "7c41b898", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.responses.401.description": "d089c8a9", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.responses.402.description": "a117c80b", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.responses.500.description": "e41656eb", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/flashvsr.post.summary": "5f2feac6", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.description": "4e43c396", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.responses.200.description": "8edcb694", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.responses.400.description": "7c41b898", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.responses.401.description": "d089c8a9", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.responses.402.description": "a117c80b", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.responses.500.description": "e41656eb", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image.post.summary": "7e17a689", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.description": "060c79fd", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.responses.200.description": "8edcb694", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.responses.400.description": "7c41b898", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.responses.401.description": "d089c8a9", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.responses.402.description": "a117c80b", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.responses.500.description": "e41656eb", + "paths./proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler.post.summary": "483a37e2", + "paths./proxy/xai/v1/images/edits.post.description": "59791ab2", + "paths./proxy/xai/v1/images/edits.post.responses.200.description": "8015e228", + "paths./proxy/xai/v1/images/edits.post.responses.400.description": "917ef22f", + "paths./proxy/xai/v1/images/edits.post.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/images/edits.post.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/images/edits.post.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/images/edits.post.summary": "02d84c09", + "paths./proxy/xai/v1/images/generations.post.description": "79cd9503", + "paths./proxy/xai/v1/images/generations.post.responses.200.description": "9d3c2d5e", + "paths./proxy/xai/v1/images/generations.post.responses.400.description": "917ef22f", + "paths./proxy/xai/v1/images/generations.post.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/images/generations.post.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/images/generations.post.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/images/generations.post.summary": "bc48f4ec", + "paths./proxy/xai/v1/videos/edits.post.description": "18969ba2", + "paths./proxy/xai/v1/videos/edits.post.responses.200.description": "ab0ff3a6", + "paths./proxy/xai/v1/videos/edits.post.responses.400.description": "917ef22f", + "paths./proxy/xai/v1/videos/edits.post.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/videos/edits.post.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/videos/edits.post.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/videos/edits.post.summary": "65a921b5", + "paths./proxy/xai/v1/videos/extensions.post.description": "c327279c", + "paths./proxy/xai/v1/videos/extensions.post.responses.200.description": "9e151d0e", + "paths./proxy/xai/v1/videos/extensions.post.responses.400.description": "917ef22f", + "paths./proxy/xai/v1/videos/extensions.post.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/videos/extensions.post.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/videos/extensions.post.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/videos/extensions.post.summary": "d1540c9d", + "paths./proxy/xai/v1/videos/generations.post.description": "38349c93", + "paths./proxy/xai/v1/videos/generations.post.responses.200.description": "3389c1a2", + "paths./proxy/xai/v1/videos/generations.post.responses.400.description": "917ef22f", + "paths./proxy/xai/v1/videos/generations.post.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/videos/generations.post.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/videos/generations.post.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/videos/generations.post.summary": "55d69e67", + "paths./proxy/xai/v1/videos/{request_id}.get.description": "08deaa6a", + "paths./proxy/xai/v1/videos/{request_id}.get.parameters[0].description": "e79e7873", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.200.description": "74c07da7", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.202.description": "5e4c4ba0", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.401.description": "d089c8a9", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.402.description": "a117c80b", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.404.description": "9a0d564f", + "paths./proxy/xai/v1/videos/{request_id}.get.responses.500.description": "f74d7444", + "paths./proxy/xai/v1/videos/{request_id}.get.summary": "97cfedc8", + "paths./publishers.get.responses.200.description": "92c8ac11", + "paths./publishers.get.responses.400.description": "dba61b63", + "paths./publishers.get.responses.500.description": "f74d7444", + "paths./publishers.get.summary": "cbb17385", + "paths./publishers.post.responses.201.description": "16c98905", + "paths./publishers.post.responses.400.description": "dba61b63", + "paths./publishers.post.responses.401.description": "d089c8a9", + "paths./publishers.post.responses.403.description": "78342a09", + "paths./publishers.post.responses.500.description": "f74d7444", + "paths./publishers.post.summary": "7c7459d7", + "paths./publishers/validate.get.description": "cf5aad52", + "paths./publishers/validate.get.parameters[0].description": "78cd7279", + "paths./publishers/validate.get.responses.200.content.application/json.schema.properties.isAvailable.description": "309380c7", + "paths./publishers/validate.get.responses.200.description": "640549fb", + "paths./publishers/validate.get.responses.400.description": "a9dfb554", + "paths./publishers/validate.get.responses.500.description": "f74d7444", + "paths./publishers/validate.get.summary": "d3ca8f05", + "paths./publishers/{publisherId}.delete.responses.204.description": "02837f17", + "paths./publishers/{publisherId}.delete.responses.404.description": "0740d653", + "paths./publishers/{publisherId}.delete.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}.delete.summary": "0d83f1bf", + "paths./publishers/{publisherId}.get.responses.200.description": "42694dd0", + "paths./publishers/{publisherId}.get.responses.404.description": "0740d653", + "paths./publishers/{publisherId}.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}.get.summary": "0cc04d7e", + "paths./publishers/{publisherId}.put.responses.200.description": "13ec6c24", + "paths./publishers/{publisherId}.put.responses.400.description": "dba61b63", + "paths./publishers/{publisherId}.put.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}.put.responses.404.description": "0740d653", + "paths./publishers/{publisherId}.put.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}.put.summary": "3644cd04", + "paths./publishers/{publisherId}/ban.post.responses.204.description": "370ecd5b", + "paths./publishers/{publisherId}/ban.post.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/ban.post.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/ban.post.responses.404.description": "0740d653", + "paths./publishers/{publisherId}/ban.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/ban.post.summary": "fa5408b8", + "paths./publishers/{publisherId}/nodes.get.parameters[1].description": "53a39ce1", + "paths./publishers/{publisherId}/nodes.get.responses.200.description": "5ff08fd0", + "paths./publishers/{publisherId}/nodes.get.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/nodes.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes.get.summary": "8bdb5301", + "paths./publishers/{publisherId}/nodes.post.responses.201.description": "aaaa9f70", + "paths./publishers/{publisherId}/nodes.post.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/nodes.post.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/nodes.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes.post.summary": "32db20d9", + "paths./publishers/{publisherId}/nodes/v2.get.parameters[1].description": "53a39ce1", + "paths./publishers/{publisherId}/nodes/v2.get.parameters[2].description": "c4e7217e", + "paths./publishers/{publisherId}/nodes/v2.get.parameters[3].description": "53a39ce1", + "paths./publishers/{publisherId}/nodes/v2.get.responses.200.content.application/json.schema.properties.limit.description": "fcc7d3ca", + "paths./publishers/{publisherId}/nodes/v2.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./publishers/{publisherId}/nodes/v2.get.responses.200.content.application/json.schema.properties.total.description": "162e699d", + "paths./publishers/{publisherId}/nodes/v2.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./publishers/{publisherId}/nodes/v2.get.responses.200.description": "5ff08fd0", + "paths./publishers/{publisherId}/nodes/v2.get.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/nodes/v2.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/v2.get.summary": "8bdb5301", + "paths./publishers/{publisherId}/nodes/{nodeId}.delete.responses.204.description": "39592c31", + "paths./publishers/{publisherId}/nodes/{nodeId}.delete.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/nodes/{nodeId}.delete.responses.404.description": "aa0a65c4", + "paths./publishers/{publisherId}/nodes/{nodeId}.delete.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}.delete.summary": "2bc562ee", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.200.description": "eb81f62a", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.400.description": "dba61b63", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.404.description": "aa0a65c4", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}.put.summary": "b4d0f8c2", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.responses.204.description": "79d047c9", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.responses.404.description": "3093d590", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}/ban.post.summary": "ff7cfa17", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.description": "86917fc1", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.204.description": "6fe8773e", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.400.description": "dba61b63", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.403.description": "7fc9087a", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.429.description": "2eb6f985", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.responses.503.description": "3c612faf", + "paths./publishers/{publisherId}/nodes/{nodeId}/claim-my-node.post.summary": "e0526ff8", + "paths./publishers/{publisherId}/nodes/{nodeId}/permissions.get.responses.200.description": "eb1f0160", + "paths./publishers/{publisherId}/nodes/{nodeId}/permissions.get.responses.400.description": "dba61b63", + "paths./publishers/{publisherId}/nodes/{nodeId}/permissions.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}/permissions.get.summary": "3b639104", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.responses.201.content.application/json.schema.properties.signedUrl.description": "c4a7b0b5", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.responses.201.description": "2df9fda5", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions.post.summary": "900d25f4", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.delete.responses.204.description": "dd1290c7", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.delete.responses.403.description": "13e5a8c8", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.delete.responses.404.description": "a8f65ec3", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.delete.responses.500.description": "a8f65ec3", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.delete.summary": "5dbbce05", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.description": "4253d9fe", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.200.description": "00fe4ff4", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.401.description": "d089c8a9", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.404.description": "a8f65ec3", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}.put.summary": "09c2b0bc", + "paths./publishers/{publisherId}/permissions.get.responses.200.description": "eb1f0160", + "paths./publishers/{publisherId}/permissions.get.responses.400.description": "dba61b63", + "paths./publishers/{publisherId}/permissions.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/permissions.get.summary": "3b639104", + "paths./publishers/{publisherId}/tokens.get.responses.200.description": "f787f537", + "paths./publishers/{publisherId}/tokens.get.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/tokens.get.responses.404.description": "6cd980a3", + "paths./publishers/{publisherId}/tokens.get.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/tokens.get.summary": "3411df77", + "paths./publishers/{publisherId}/tokens.post.responses.201.content.application/json.schema.properties.token.description": "be34f017", + "paths./publishers/{publisherId}/tokens.post.responses.201.description": "8a862b19", + "paths./publishers/{publisherId}/tokens.post.responses.400.description": "6f1bff5c", + "paths./publishers/{publisherId}/tokens.post.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/tokens.post.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/tokens.post.summary": "8e826869", + "paths./publishers/{publisherId}/tokens/{tokenId}.delete.responses.204.description": "b6f640d3", + "paths./publishers/{publisherId}/tokens/{tokenId}.delete.responses.403.description": "78342a09", + "paths./publishers/{publisherId}/tokens/{tokenId}.delete.responses.404.description": "4441b4b4", + "paths./publishers/{publisherId}/tokens/{tokenId}.delete.responses.500.description": "f74d7444", + "paths./publishers/{publisherId}/tokens/{tokenId}.delete.summary": "1624a59d", + "paths./releases.get.description": "e4fdf90d", + "paths./releases.get.parameters[0].description": "dd278d62", + "paths./releases.get.parameters[1].description": "e4d775ea", + "paths./releases.get.parameters[2].description": "a8c58a4f", + "paths./releases.get.parameters[3].description": "bb2e76a5", + "paths./releases.get.responses.200.description": "a4dd7cb8", + "paths./releases.get.responses.400.description": "917ef22f", + "paths./releases.get.responses.500.description": "f74d7444", + "paths./releases.get.summary": "14ada97f", + "paths./releases.post.description": "a842ef47", + "paths./releases.post.parameters[0].description": "909174b6", + "paths./releases.post.parameters[1].description": "d27e14a5", + "paths./releases.post.parameters[2].description": "c92d1bb8", + "paths./releases.post.parameters[3].description": "c94ce32a", + "paths./releases.post.parameters[4].description": "c8a554f1", + "paths./releases.post.parameters[5].description": "c0dc262a", + "paths./releases.post.responses.200.description": "95fdc4a3", + "paths./releases.post.responses.400.description": "917ef22f", + "paths./releases.post.responses.422.description": "e776259f", + "paths./releases.post.responses.500.description": "f74d7444", + "paths./releases.post.summary": "48f8f918", + "paths./security-scan.get.description": "c629b4bf", + "paths./security-scan.get.responses.200.description": "650ff67b", + "paths./security-scan.get.responses.400.description": "6f1bff5c", + "paths./security-scan.get.responses.401.description": "d089c8a9", + "paths./security-scan.get.responses.403.description": "78342a09", + "paths./security-scan.get.responses.500.description": "f74d7444", + "paths./security-scan.get.summary": "b34e683f", + "paths./seedance/complete.get.description": "33e9f874", + "paths./seedance/complete.get.responses.200.description": "73c25803", + "paths./seedance/complete.get.summary": "6d558167", + "paths./upload-artifact.post.description": "576e4b72", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.author.description": "ca8d53a3", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.avg_vram.description": "2ebb156c", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.bucket_name.description": "4f3266dc", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.comfy_logs_gcs_path.description": "1fb83c3b", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.comfy_run_flags.description": "d7ab2c4d", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.commit_message.description": "a9b3aa3b", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.commit_time.description": "e258160b", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.cuda_version.description": "33847c50", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.end_time.description": "3c8b1181", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.job_id.description": "1a700aa1", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.job_trigger_user.description": "23f77367", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.os.description": "cbb04682", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.output_files_gcs_paths.description": "782da257", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.peak_vram.description": "0e440b9d", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.pr_number.description": "4a1cf9cc", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.python_version.description": "47f1f629", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.pytorch_version.description": "177e7017", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.repo.description": "a2b1b3f2", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.run_id.description": "b2b34376", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.start_time.description": "df9e2884", + "paths./upload-artifact.post.requestBody.content.application/json.schema.properties.workflow_name.description": "53cac216", + "paths./upload-artifact.post.responses.200.description": "02a61c62", + "paths./upload-artifact.post.responses.400.description": "330509ca", + "paths./upload-artifact.post.responses.500.description": "f74d7444", + "paths./upload-artifact.post.summary": "576e4b72", + "paths./users.get.responses.200.description": "565339bc", + "paths./users.get.responses.401.description": "d089c8a9", + "paths./users.get.responses.404.description": "0019dfc4", + "paths./users.get.summary": "d22fc11c", + "paths./users/publishers/.get.responses.200.description": "92c8ac11", + "paths./users/publishers/.get.responses.400.description": "dba61b63", + "paths./users/publishers/.get.responses.500.description": "f74d7444", + "paths./users/publishers/.get.summary": "4149b709", + "paths./versions.get.parameters[3].description": "6ec2b657", + "paths./versions.get.parameters[4].description": "ed00c158", + "paths./versions.get.parameters[5].description": "72d501b9", + "paths./versions.get.responses.200.content.application/json.schema.properties.page.description": "5572dd48", + "paths./versions.get.responses.200.content.application/json.schema.properties.pageSize.description": "eef6d527", + "paths./versions.get.responses.200.content.application/json.schema.properties.total.description": "3f0069e4", + "paths./versions.get.responses.200.content.application/json.schema.properties.totalPages.description": "09f2f60b", + "paths./versions.get.responses.200.description": "ef524454", + "paths./versions.get.responses.400.description": "46a3caa3", + "paths./versions.get.responses.403.description": "5f496730", + "paths./versions.get.responses.500.description": "f74d7444", + "paths./versions.get.summary": "e44646cd", + "paths./webhook/metronome/zero-balance.post.requestBody.content.application/json.schema.properties.id.description": "71afb603", + "paths./webhook/metronome/zero-balance.post.requestBody.content.application/json.schema.properties.properties.properties.customer_id.description": "b39746e6", + "paths./webhook/metronome/zero-balance.post.requestBody.content.application/json.schema.properties.properties.properties.remaining_balance.description": "a3c74503", + "paths./webhook/metronome/zero-balance.post.requestBody.content.application/json.schema.properties.type.description": "f064ab97", + "paths./webhook/metronome/zero-balance.post.responses.200.description": "8834908a", + "paths./webhook/metronome/zero-balance.post.responses.400.description": "7c41b898", + "paths./webhook/metronome/zero-balance.post.responses.401.description": "d089c8a9", + "paths./webhook/metronome/zero-balance.post.responses.500.description": "ee066afe", + "paths./webhook/metronome/zero-balance.post.summary": "6c390474", + "paths./webhook/stripe/invoice-status.post.responses.200.description": "95fdc4a3", + "paths./webhook/stripe/invoice-status.post.responses.400.description": "7c41b898", + "paths./webhook/stripe/invoice-status.post.responses.401.description": "d089c8a9", + "paths./webhook/stripe/invoice-status.post.responses.500.description": "ee066afe", + "paths./webhook/stripe/invoice-status.post.summary": "4b2a25cc", + "paths./webhook/stripe/subscription.post.requestBody.content.application/json.schema.description": "e4f2fe17", + "paths./webhook/stripe/subscription.post.responses.200.description": "95fdc4a3", + "paths./webhook/stripe/subscription.post.responses.400.description": "7c41b898", + "paths./webhook/stripe/subscription.post.responses.401.description": "d089c8a9", + "paths./webhook/stripe/subscription.post.responses.500.description": "ee066afe", + "paths./webhook/stripe/subscription.post.summary": "9fb29d41", + "paths./workflowresult/{workflowResultId}.get.responses.200.description": "6e5e5410", + "paths./workflowresult/{workflowResultId}.get.responses.404.description": "54ff4f53", + "paths./workflowresult/{workflowResultId}.get.responses.500.description": "f74d7444", + "paths./workflowresult/{workflowResultId}.get.summary": "19ff5513" + } +} diff --git a/openapi-cloud.yaml b/openapi/cloud.en.yaml similarity index 100% rename from openapi-cloud.yaml rename to openapi/cloud.en.yaml diff --git a/openapi/cloud.ja.yaml b/openapi/cloud.ja.yaml new file mode 100644 index 000000000..8a4fa8f86 --- /dev/null +++ b/openapi/cloud.ja.yaml @@ -0,0 +1,3485 @@ +# translationSourceHash: ff9adab0 +# translationFrom: openapi/cloud.en.yaml + +openapi: 3.0.3 +info: + title: Comfy Cloud API + description: "\n**実験的API:** このAPIは実験的であり、変更される可能性があります。\nエンドポイント、リクエスト/レスポンス形式、および動作は予告なく変更される場合があります。\n\n\nComfy CloudのAPI - クラウドインフラ上でComfyUIワークフローを実行します。\n\nこのAPIを使用すると、Comfy Cloudとプログラムで連携できます。内容は次のとおりです。\n- ワークフローの送信と管理\n- ファイルのアップロードとダウンロード\n- ジョブの状態と進捗の監視\n\n## クラウド vs OSS ComfyUI 互換性\n\nComfy Cloudは最大限の互換性のためにOSS ComfyUIと同じAPIインターフェースを実装していますが、一部のフィールドは互換性のために受け入れられますが、異なる処理が行われたり無視されたりします。\n\n| フィールド | エンドポイント | クラウドの動作 |\n|-------|-----------|----------------|\n| `subfolder` | `/api/view`, `/api/upload/*` | **無視** - クラウドはコンテンツアドレスストレージ(ハッシュベース)を使用します。クライアント側の整理のためにレスポンスで返されます。 |\n| `type` (input/output/temp) | `/api/view`, `/api/upload/*` | 部分的に使用 - すべてのファイルはディレクトリ構造ではなくタグベースの整理で保存されます。 |\n| `overwrite` | `/api/upload/*` | **無視** - コンテンツアドレスストレージでは、同一のコンテンツは常に同じハッシュを持ちます。 |\n| `number`, `front` | `/api/prompt` | **無視** - クラウドはユーザーごとに独自の公平キュー スケジューリングを使用します。 |\n| `split`, `full_info` | `/api/userdata` | **無視** - クラウドは常に完全なファイルメタデータを返します。 |\n\nこれらのフィールドは、既存のComfyUIクライアントやワークフローとのドロップイン互換性のためにAPIスキーマに保持されています。\n" + version: 1.0.0 + license: + name: GNU General Public License v3.0 + url: https://github.com/Comfy-Org/ComfyUI/blob/master/LICENSE +servers: + - url: https://cloud.comfy.org + description: Comfy Cloud API +security: + - ApiKeyAuth: + [] +tags: + - name: workflow + description: "ワークフローを実行のために送信し、実行キューを管理します。\nこれはクラウド上でComfyUIワークフローを実行するための主要な方法です。\n" + - name: job + description: "ジョブステータスを監視し、実行履歴を表示し、実行中のジョブを管理します。\nジョブはPOST /api/promptを介してワークフローを送信するときに作成されます。\n" + - name: asset + description: "永続的なアセット(画像、モデル、出力)をアップロード、ダウンロード、管理します。\nアセットはタグ付けとメタデータサポートを備えた耐久性のあるストレージを提供します。\n" + - name: file + description: "ローカルのComfyUIと互換性のあるレガシーファイルのアップロードおよびダウンロードエンドポイント。\n新しい統合には、代わりにAssets APIの使用を検討してください。\n" + - name: model + description: "利用可能なAIモデルをブラウズします。モデルはクラウドインフラストラクチャにプリロードされています。\n" + - name: node + description: "利用可能なComfyUIノードとその入力/出力に関する情報を取得します。\n動的なワークフローインターフェースの構築に役立ちます。\n" + - name: user + description: "ユーザーアカウント情報と個人データの保存。\n" + - name: system + description: "サーバーステータス、ヘルスチェック、システム情報。\n" +x-tagGroups: + - name: Core + tags: + - workflow + - job + - name: Storage + tags: + - asset + - file + - name: Reference + tags: + - model + - node + - name: Account + tags: + - user + - system +paths: + /api/prompt: + post: + tags: + - workflow + summary: ワークフローを実行のために送信 + description: "バックエンドで実行されるワークフローを送信します。\nワークフローはノードとその接続を記述するJSONオブジェクトです。\n" + operationId: executePrompt + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/PromptRequest" + responses: + "200": + description: 成功 - プロンプトを受け付けました + content: + application/json: + schema: + $ref: "#/components/schemas/PromptResponse" + "400": + description: 無効なプロンプト + content: + application/json: + schema: + $ref: "#/components/schemas/PromptErrorResponse" + "402": + description: 支払いが必要 - クレジット不足 + content: + application/json: + schema: + $ref: "#/components/schemas/PromptErrorResponse" + "429": + description: 支払いが必要 - ユーザーが未払い + content: + application/json: + schema: + $ref: "#/components/schemas/PromptErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/PromptErrorResponse" + "503": + description: サービス利用不可 + content: + application/json: + schema: + $ref: "#/components/schemas/PromptErrorResponse" + get: + tags: + - workflow + summary: 現在のプロンプト実行に関する情報を取得 + description: 実行キュー内の現在のプロンプトに関する情報を返します + operationId: getPromptInfo + responses: + "200": + description: 成功 + content: + application/json: + schema: + $ref: "#/components/schemas/PromptInfo" + "401": + description: 認証エラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/object_info: + get: + tags: + - node + summary: すべてのノード情報を取得 + description: 利用可能なすべてのノードに関する情報を返します + operationId: getNodeInfo + responses: + "200": + description: 成功 + content: + application/json: + schema: + type: object + additionalProperties: + $ref: "#/components/schemas/NodeInfo" + /api/features: + get: + tags: + - node + summary: サーバーの機能フラグを取得 + description: サーバーの機能を返します + operationId: getFeatures + security: + - ApiKeyAuth: + [] + - {} + responses: + "200": + description: 成功 + content: + application/json: + schema: + type: object + properties: + supports_preview_metadata: + type: boolean + description: サーバーがプレビューメタデータをサポートするかどうか + max_upload_size: + type: integer + description: アップロード最大サイズ(バイト単位) + additionalProperties: true + /api/workflow_templates: + get: + tags: + - workflow + summary: 利用可能なワークフローテンプレートを取得 + description: 利用可能なワークフローテンプレートを返します + operationId: getWorkflowTemplates + security: + [] + responses: + "200": + description: 成功 + content: + application/json: + schema: + type: object + description: ワークフローテンプレート用の空のオブジェクト + /api/global_subgraphs: + get: + tags: + - workflow + summary: 利用可能なサブグラフブループリントを取得 + description: "グローバルに利用可能なサブグラフブループリントのリストを返します。\nこれらはノードとして使用できる事前構築されたワークフローコンポーネントです。\ndataフィールドには、完全なサブグラフJSONに解決されるプロミスが含まれています。\n" + operationId: getGlobalSubgraphs + security: + [] + responses: + "200": + description: 成功 - サブグラフIDからメタデータへのマップ + content: + application/json: + schema: + type: object + additionalProperties: + $ref: "#/components/schemas/GlobalSubgraphInfo" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/global_subgraphs/{id}": + get: + tags: + - workflow + summary: 特定のサブグラフブループリントを取得 + description: IDで特定のサブグラフブループリントの完全なデータを返します + operationId: getGlobalSubgraph + security: + [] + parameters: + - name: id + in: path + required: true + description: サブグラフブループリントの一意の識別子 + schema: + type: string + responses: + "200": + description: 成功 - 完全なサブグラフデータ + content: + application/json: + schema: + $ref: "#/components/schemas/GlobalSubgraphData" + "404": + description: サブグラフが見つかりません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/experiment/models: + get: + tags: + - model + summary: 利用可能なモデルフォルダーを取得 + description: "システムで利用可能なモデルフォルダーのリストを返します。\nこれはレガシーな/modelsエンドポイントを置き換える実験的なエンドポイントです。\n" + operationId: getModelFolders + security: + [] + responses: + "200": + description: 成功 - モデルフォルダーのリスト + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ModelFolder" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/experiment/models/{folder}": + get: + tags: + - model + summary: 特定のフォルダー内のモデルを取得 + description: "指定されたフォルダー内で利用可能なモデルのリストを返します。\nこれは実験的エンドポイントであり、拡張されたモデル情報を提供します。\n" + operationId: getModelsInFolder + security: + [] + parameters: + - name: folder + in: path + required: true + description: モデルを一覧表示するためのフォルダー名 + schema: + type: string + example: checkpoints + responses: + "200": + description: 成功 - フォルダー内のモデルのリスト + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ModelFile" + "404": + description: フォルダーが見つからないか、フォルダー内にモデルがありません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/experiment/models/preview/{folder}/{path_index}/{filename}": + get: + tags: + - model + summary: モデル画像プレビューを取得 + description: "指定されたモデルの画像プレビューを返します。\n画像は最適なパフォーマンスのためにWebP形式で返されます。\n" + operationId: getModelPreview + security: + [] + parameters: + - name: folder + in: path + required: true + description: モデルを含むフォルダー名 + schema: + type: string + example: checkpoints + - name: path_index + in: path + required: true + description: パスインデックス(通常はクラウドサービスの場合は0) + schema: + type: integer + example: 0 + - name: filename + in: path + required: true + description: モデルファイル名(.webp拡張子の有無にかかわらず) + schema: + type: string + example: model.safetensors + responses: + "200": + description: 成功 - モデルの画像プレビュー + content: + image/webp: + schema: + type: string + format: binary + "404": + description: モデルが見つからないか、プレビューが利用不可 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/history: + post: + tags: + - job + summary: 実行履歴の管理 + description: "認証されたユーザーの履歴をすべてクリアするか、特定のジョブIDを削除します。\nすべての履歴をクリアするか、特定のジョブIDを削除することをサポートします。\n" + operationId: manageHistory + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/HistoryManageRequest" + responses: + "200": + description: 成功 - 履歴管理操作が完了しました + "400": + description: 無効なリクエストパラメータ + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 認証が必要です + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/history_v2: + get: + tags: + - job + summary: 実行履歴の取得(v2) + deprecated: true + description: "**非推奨。** 代わりに[`/api/jobs`](#tag/job/GET/api/jobs)を使用してください。このエンドポイントはComfyUI互換性のために維持されていますが、将来のリリースで削除される予定です。削除日は未定です。\n\n認証されたユーザーの実行履歴をページネーションサポート付きで取得します。\nフィルタリングされたプロンプトデータを含む軽量な履歴形式を返します(extra_pnginfoからワークフローが除去されています)。\n" + operationId: getHistory + parameters: + - name: max_items + in: query + required: false + description: 返すアイテムの最大数 + schema: + type: integer + - name: offset + in: query + required: false + description: 開始位置(デフォルト0) + schema: + type: integer + default: 0 + responses: + "200": + description: 成功:実行履歴を取得しました + content: + application/json: + schema: + $ref: "#/components/schemas/HistoryResponse" + "401": + description: 認証が必要です + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/history_v2/{prompt_id}": + get: + tags: + - job + summary: 特定のプロンプトの履歴を取得 + deprecated: true + description: "**非推奨。** 代わりに[`/api/jobs/{job_id}`](#tag/job/GET/api/jobs/{job_id})を使用してください。`/api/prompt`が返す`prompt_id`は`job_id`と同じ値です。このエンドポイントはComfyUI互換性のために維持されていますが、将来のリリースで削除される予定です。削除日は未定です。\n\n特定のプロンプトIDの詳細な実行履歴を取得します。\n完全なプロンプト情報を含む履歴データを返します。\n" + operationId: getHistoryForPrompt + parameters: + - name: prompt_id + in: path + required: true + description: 履歴を取得するプロンプトID + schema: + type: string + responses: + "200": + description: 成功:プロンプトの履歴を取得しました + content: + application/json: + schema: + $ref: "#/components/schemas/HistoryDetailResponse" + "401": + description: 認証が必要です + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: プロンプトが見つかりません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/jobs: + get: + tags: + - job + summary: ページネーションとフィルタリングでジョブを一覧表示 + description: "認証されたユーザーのジョブのページネーション付きリストを取得します。\nリストビューに最適化された軽量なジョブデータを返します。\nペイロードサイズを削減するため、ワークフローと完全な出力は除外されています。\n" + operationId: listJobs + parameters: + - name: status + in: query + required: false + description: 1つ以上のステータスでフィルタ(カンマ区切り)。指定しない場合はすべてのジョブが返されます。 + schema: + type: string + example: "pending,in_progress" + - name: workflow_id + in: query + required: false + description: ワークフローIDでフィルタ(完全一致) + schema: + type: string + example: 550e8400-e29b-41d4-a716-446655440000 + - name: output_type + in: query + required: false + description: 出力メディアタイプでフィルタ(出力がある完了ジョブにのみ適用) + schema: + type: string + enum: + - image + - video + - audio + example: image + - name: sort_by + in: query + required: false + description: 並べ替え条件フィールド(create_time = ジョブが送信された時間、execution_time = ワークフローの実行にかかった時間) + schema: + type: string + enum: + - create_time + - execution_time + default: create_time + example: execution_time + - name: sort_order + in: query + required: false + description: "並び替え方向 (asc = 昇順, desc = 降順)" + schema: + type: string + enum: + - asc + - desc + default: desc + - name: offset + in: query + required: false + description: ページネーションオフセット (0基準) + schema: + type: integer + minimum: 0 + default: 0 + - name: limit + in: query + required: false + description: 1ページあたりの最大アイテム数 (1-1000) + schema: + type: integer + minimum: 1 + maximum: 1000 + default: 100 + responses: + "200": + description: 成功 - ジョブを取得しました + content: + application/json: + schema: + $ref: "#/components/schemas/JobsListResponse" + "401": + description: 認証エラー - 認証が必要です + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/jobs/{job_id}": + get: + tags: + - job + summary: ジョブの完全な詳細を取得 + description: "特定のジョブの完全な詳細(ワークフローと出力を含む)を取得します。\n詳細ビュー、ワークフローの再実行、デバッグに使用します。\n" + operationId: getJobDetail + parameters: + - name: job_id + in: path + required: true + description: ジョブ識別子 (UUID) + schema: + type: string + format: uuid + responses: + "200": + description: 成功 - ジョブ詳細を取得しました + content: + application/json: + schema: + $ref: "#/components/schemas/JobDetailResponse" + "401": + description: 認証エラー - 認証が必要です + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: アクセス禁止 - ジョブがユーザーに属していません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: ジョブが見つかりません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/view: + get: + tags: + - file + summary: ファイルを表示 + description: "ComfyUIファイルシステムからファイルを取得して表示します。このエンドポイントは通常、生成済み画像やその他の出力ファイルを表示するために使用されます。\n" + operationId: viewFile + parameters: + - name: filename + in: query + required: true + description: 表示するファイルの名前 + schema: + type: string + example: ComfyUI_00004_.png + - name: subfolder + in: query + required: false + description: "ファイルが配置されているサブフォルダパス。\n**注記:** ComfyUI API互換性のために受け入れられますが、クラウドでは**無視**されます。クラウドはコンテンツアドレスストレージを使用し、アセットはハッシュのみで保存されます。サブフォルダはクライアントサイドのUIメタデータであり、ストレージのルックアップには使用されません。\n" + schema: + type: string + example: tests/foo/bar + - name: type + in: query + required: false + description: "ファイルのタイプ(例:出力、入力、一時)。\n**注記:** クラウドでは、`output` ファイルと `temp` ファイルの両方が同じバケットに保存されます。typeパラメータは互換性のために使用されますが、ストレージの場所はハッシュによって決定されます。\n" + schema: + type: string + example: output + - name: fullpath + in: query + required: false + description: ファイルの完全なパス(一時ファイルに使用) + schema: + type: string + - name: format + in: query + required: false + description: ファイルのフォーマット + schema: + type: string + - name: frame_rate + in: query + required: false + description: ビデオファイルのフレームレート + schema: + type: integer + - name: workflow + in: query + required: false + description: ワークフロー識別子 + schema: + type: string + - name: timestamp + in: query + required: false + description: タイムスタンプパラメータ + schema: + type: integer + example: "1234567890" + - name: channel + in: query + required: false + description: "PNG画像から抽出する画像チャンネル。\n- 'rgb': RGBチャンネルのみを返します(アルファは完全不透明に設定)\n- 'a' または 'alpha': アルファチャンネルをグレースケール画像として返します\n- 指定しない場合は、リダイレクト経由でオリジナル画像をそのまま返します\n" + schema: + type: string + example: rgb + responses: + "200": + description: "成功: ファイルコンテンツが返されます(チャンネルパラメータが存在する場合に使用)" + content: + image/png: + schema: + type: string + format: binary + description: 抽出されたチャンネルを持つ処理済みPNG画像 + "302": + description: GCS署名付きURLへのリダイレクト + headers: + Location: + description: GCS内のファイルにアクセスするための署名付きURL + schema: + type: string + "400": + description: 無効なリクエストパラメータ + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: ファイルが見つからないか、権限がありません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/files/mask-layers: + get: + tags: + - file + summary: 関連するマスクレイヤーファイルを取得 + description: "マスクファイル(4つのレイヤーのいずれか)から、関連するすべてのマスクレイヤーファイルを返します。\nこれはマスクエディターが、以前に編集したマスクを再度開く際に、ペイント、マスク、ペイント済みレイヤーを読み込むために使用されます。\n" + operationId: getMaskLayers + parameters: + - name: filename + in: query + required: true + description: 任意のマスクレイヤーファイルのハッシュファイル名 + schema: + type: string + example: abc123def456.png + responses: + "200": + description: 成功 - 関連するマスクレイヤーが返されました + content: + application/json: + schema: + type: object + properties: + mask: + type: string + description: マスクレイヤーのファイル名 + nullable: true + paint: + type: string + description: ペイントストロークレイヤーのファイル名 + nullable: true + painted: + type: string + description: ペイント済み画像レイヤーのファイル名 + nullable: true + painted_masked: + type: string + description: 最終合成レイヤーのファイル名 + nullable: true + "404": + description: ファイルが見つからないか、マスクファイルではありません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/assets: + get: + tags: + - asset + summary: ユーザーアセットの一覧表示 + description: "認証されたユーザーに属するアセットのページネーションされたリストを取得します。\nタグ、名前、メタデータによるフィルタリング、および並べ替えオプションをサポートしています。\n" + operationId: listAssets + parameters: + - name: include_tags + in: query + description: これらのタグをすべて持つアセットをフィルタリング + schema: + type: array + items: + type: string + style: form + explode: false + - name: exclude_tags + in: query + description: これらのタグのいずれかを持つアセットを除外 + schema: + type: array + items: + type: string + style: form + explode: false + - name: name_contains + in: query + description: 名前がこの部分文字列を含むアセットをフィルタリング(大文字小文字を区別しない) + schema: + type: string + - name: metadata_filter + in: query + description: メタデータフィールドでフィルタリングするためのJSONオブジェクト + schema: + type: string + - name: limit + in: query + description: 返すアセットの最大数(1-500) + schema: + type: integer + minimum: 1 + maximum: 500 + default: 20 + - name: offset + in: query + description: ページネーションのためにスキップするアセットの数 + schema: + type: integer + minimum: 0 + default: 0 + - name: sort + in: query + description: 並べ替えるフィールド + schema: + type: string + enum: + - name + - created_at + - updated_at + - size + - last_access_time + default: created_at + - name: order + in: query + description: 並び替え順序 + schema: + type: string + enum: + - asc + - desc + default: desc + - name: include_public + in: query + description: 結果に公開/共有アセットを含めるかどうか + schema: + type: boolean + default: true + responses: + "200": + description: 成功 - アセットを返しました + content: + application/json: + schema: + $ref: "#/components/schemas/ListAssetsResponse" + "400": + description: 無効なリクエストパラメータ + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 認証されていません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + post: + tags: + - asset + summary: 新しいアセットのアップロード + description: "新しいアセットを関連メタデータとともにシステムにアップロードします。\n2つのアップロード方法をサポートします:\n1. 直接ファイルアップロード (multipart/form-data)\n2. URLベースのアップロード (source: \"url\" を含む application/json)\n\n同じハッシュのアセットが既に存在する場合、既存のアセットを返します。\n" + operationId: uploadAsset + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + required: + - file + properties: + file: + type: string + format: binary + description: アップロードするアセットファイル + tags: + type: array + items: + type: string + description: "アセットの自由形式タグ。一般的なタイプには\"models\"、\"input\"、\"output\"、\"temp\"がありますが、任意のタグを任意の順序で使用できます。" + id: + type: string + format: uuid + description: 冪等な作成のためのオプションのアセットID。指定され、かつアセットが存在する場合、既存のアセットを返します。 + preview_id: + type: string + format: uuid + description: オプションのプレビューアセットID。指定しない場合、画像は自身のIDをプレビューとして使用します。 + name: + type: string + description: アセットの表示名 + mime_type: + type: string + description: "アセットのMIMEタイプ(例: \"image/png\"、\"video/mp4\")" + user_metadata: + type: string + description: カスタムJSONメタデータ(文字列として) + application/json: + schema: + type: object + required: + - url + - name + properties: + url: + type: string + format: uri + description: アセットをダウンロードするHTTP/HTTPS URL + name: + type: string + description: アセットの表示名(ファイル拡張子の判定に使用) + tags: + type: array + items: + type: string + description: "アセットの自由形式タグ。一般的なタイプには\"models\"、\"input\"、\"output\"、\"temp\"がありますが、任意のタグを任意の順序で使用できます。" + user_metadata: + type: object + additionalProperties: true + description: アセットとともに保存するカスタムメタデータ + preview_id: + type: string + format: uuid + description: オプションのプレビューアセットID + responses: + "200": + description: アセットは既に存在します(既存のアセットを返しました) + content: + application/json: + schema: + $ref: "#/components/schemas/AssetCreated" + "201": + description: アセットが正常に作成されました + content: + application/json: + schema: + $ref: "#/components/schemas/AssetCreated" + "400": + description: 無効なリクエスト(不正なファイル、無効なURL、無効なコンテンツタイプなど) + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 認証されていません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: ソースURLは認証が必要、またはアクセスが拒否されました + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: ソースURLが見つかりません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "413": + description: ファイルが大きすぎます + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "415": + description: サポートされていないメディアタイプ + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "422": + description: ネットワークエラーまたはタイムアウトによりダウンロードに失敗しました + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/assets/from-hash: + post: + tags: + - asset + summary: 既存のハッシュからアセット参照を作成 + description: クラウドストレージの既存のハッシュを使用して新しいアセット参照を作成します。これにより、基礎となるデータが既に存在する場合にファイルコンテンツの再アップロードを回避でき、大きなファイルや既知のアセットを参照する場合に便利です。ユーザーは新しい参照に独自のメタデータとタグを提供します。 + operationId: createAssetFromHash + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - hash + - tags + properties: + hash: + type: string + description: 既存アセットのハッシュ。Blake3 (blake3:) または SHA256 (sha256:) 形式をサポート + pattern: "^(blake3|sha256):[a-f0-9]{64}$" + name: + type: string + description: アセット参照の表示名 (オプション) + tags: + type: array + items: + type: string + minItems: 1 + description: "アセットの自由形式タグ。一般的なタイプには \"モデル\"、\"入力\"、\"出力\"、\"一時\" などがありますが、任意のタグを任意の順序で使用できます。" + mime_type: + type: string + description: "アセットのMIMEタイプ (例: \"image/png\", \"video/mp4\")" + user_metadata: + type: object + description: このアセット参照のカスタムメタデータ + additionalProperties: true + responses: + "200": + description: アセット参照は既に存在します (既存のものを返します) + content: + application/json: + schema: + $ref: "#/components/schemas/AssetCreated" + "201": + description: アセット参照が正常に作成されました + content: + application/json: + schema: + $ref: "#/components/schemas/AssetCreated" + "400": + description: 無効なリクエスト (不正なハッシュ形式、無効なタグなど) + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 認証されていません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 指定されたハッシュのソースアセットが見つかりません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/assets/remote-metadata: + get: + tags: + - asset + summary: リモートURLからアセットメタデータを取得 + description: ファイル全体をダウンロードせずに、リモートのダウンロードURLからアセットのメタデータを取得します。CivitAIや他のモデルリポジトリを含むさまざまなソースをサポートします。HEADリクエストやAPI呼び出しを使用してメタデータを効率的に取得します。このエンドポイントはダウンロード前にメタデータをプレビューするためのものであり、既存のアセットのメタデータを取得するためのものではありません。 + operationId: getRemoteAssetMetadata + parameters: + - name: url + in: query + required: true + description: メタデータを取得するダウンロードURL + schema: + type: string + format: uri + example: https://civitai.com/api/download/models/123456 + responses: + "200": + description: メタデータが正常に取得されました + content: + application/json: + schema: + $ref: "#/components/schemas/AssetMetadataResponse" + "400": + description: 無効なURLまたは必須パラメータの不足 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 認証されていません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "422": + description: ソースからメタデータを取得できませんでした + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/assets/download: + post: + tags: + - asset + summary: 大きなファイルのバックグラウンドダウンロードを開始 + description: "HuggingfaceまたはCivitaiからの大きなファイルのバックグラウンドダウンロードジョブを開始します。\n\nファイルがストレージに既に存在する場合、アセットレコードが即座に作成され、返されます (200 OK)。\nファイルが存在しない場合、バックグラウンドタスクが作成され、タスクIDが返されます (202 Accepted)。\nフロントエンドはGET /api/tasks/{task_id}を使用して進捗を追跡できます。\n" + operationId: createAssetDownload + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - source_url + properties: + source_url: + type: string + format: uri + description: ダウンロードするファイルのURL (huggingface.coまたはcivitai.comからのものでなければなりません) + example: https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.safetensors + tags: + type: array + items: + type: string + description: "アセットのオプションタグ(例: [\"モデル\", \"checkpoint\"])" + user_metadata: + type: object + additionalProperties: true + description: アセットに添付するオプションのユーザー定義メタデータ + preview_id: + type: string + format: uuid + description: ダウンロードしたアセットに関連付けるオプションのプレビューアセットID + example: 550e8400-e29b-41d4-a716-446655440000 + responses: + "200": + description: "ストレージにファイルが既に存在します: アセットが即座に作成/返されます" + content: + application/json: + schema: + $ref: "#/components/schemas/AssetCreated" + "202": + description: "受理されました: ダウンロードタスクが作成され、バックグラウンドで処理中" + content: + application/json: + schema: + $ref: "#/components/schemas/AssetDownloadResponse" + "400": + description: 無効なURLまたはサポートされていないソース + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 認証されていません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "422": + description: 検証エラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/assets/{id}": + get: + tags: + - asset + summary: アセット詳細を取得 + description: 特定のアセットに関する詳細情報を取得します + operationId: getAssetById + parameters: + - name: id + in: path + required: true + description: アセットID + schema: + type: string + format: uuid + responses: + "200": + description: アセットの詳細が正常に取得されました + content: + application/json: + schema: + $ref: "#/components/schemas/Asset" + "401": + description: 認証されていません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: アセットが見つかりません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + put: + tags: + - asset + summary: アセットメタデータの更新 + description: "アセットのメタデータを更新します。少なくとも1つのフィールドを指定する必要があります。\n更新できるのはname、tags、user_metadataのみです。\n" + operationId: updateAsset + parameters: + - name: id + in: path + required: true + description: アセットID + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: アセットの新しい表示名 + tags: + type: array + items: + type: string + description: 更新されたアセットのタグ + mime_type: + type: string + description: 更新されたアセットのMIMEタイプ + preview_id: + type: string + format: uuid + description: 更新されたプレビューアセットID + user_metadata: + type: object + description: 更新済みカスタムメタデータ + additionalProperties: true + minProperties: 1 + responses: + "200": + description: アセットの更新に成功しました + content: + application/json: + schema: + $ref: "#/components/schemas/AssetUpdated" + "400": + description: 無効なリクエスト(項目が指定されていません) + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 認証エラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: アセットが見つかりません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + delete: + tags: + - asset + summary: アセットを削除 + description: "アセットとそのコンテンツをストレージから削除します。\nデータベースレコードとストレージコンテンツの両方が削除されます。\n" + operationId: deleteAsset + parameters: + - name: id + in: path + required: true + description: アセットID + schema: + type: string + format: uuid + responses: + "204": + description: アセットが正常に削除されました + "401": + description: 認証されていません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: アセットが見つかりません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/assets/{id}/tags": + post: + tags: + - asset + summary: アセットにタグを追加 + description: 既存のアセットに1つ以上のタグを追加します + operationId: addAssetTags + parameters: + - name: id + in: path + required: true + description: アセットID + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - tags + properties: + tags: + type: array + items: + type: string + minItems: 1 + description: アセットに追加するタグ + responses: + "200": + description: タグの追加に成功しました + content: + application/json: + schema: + $ref: "#/components/schemas/TagsModificationResponse" + "400": + description: 無効なリクエスト + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 認証エラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: アセットが見つかりません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + delete: + tags: + - asset + summary: アセットからタグを削除 + description: 既存のアセットから1つ以上のタグを削除します + operationId: removeAssetTags + parameters: + - name: id + in: path + required: true + description: アセットID + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - tags + properties: + tags: + type: array + items: + type: string + minItems: 1 + description: アセットから削除するタグ + responses: + "200": + description: タグの削除に成功しました + content: + application/json: + schema: + $ref: "#/components/schemas/TagsModificationResponse" + "400": + description: 無効なリクエスト + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 認証エラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: アセットが見つかりません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/tags: + get: + tags: + - asset + summary: すべてのタグを一覧表示 + description: "アセット全体で使用されているすべてのタグのリストを取得します。\n使用回数とフィルタリングオプションが含まれます。\n" + operationId: listTags + parameters: + - name: prefix + in: query + description: プレフィックスでタグをフィルタ + schema: + type: string + - name: limit + in: query + description: 返すタグの最大数 (1-1000) + schema: + type: integer + minimum: 1 + maximum: 1000 + default: 100 + - name: offset + in: query + description: ページネーションでスキップするタグの数 + schema: + type: integer + minimum: 0 + default: 0 + - name: order + in: query + description: タグの並び替え順序 + schema: + type: string + enum: + - count_desc + - name_asc + default: count_desc + - name: include_zero + in: query + description: 使用回数が0のタグを含める + schema: + type: boolean + default: false + - name: include_public + in: query + description: タグをカウントするときに公開/共有アセットを含めるかどうか + schema: + type: boolean + default: true + responses: + "200": + description: タグの取得に成功しました + content: + application/json: + schema: + $ref: "#/components/schemas/ListTagsResponse" + "400": + description: 無効なリクエストパラメータ + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未認証 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/assets/tags/refine: + get: + tags: + - asset + summary: フィルタされたアセットのタグヒストグラムを取得 + description: "指定されたフィルタに一致するアセットに表示されるタグのヒストグラムを返します。\n利用可能なタグとそのカウントを表示することで、アセット検索の絞り込みに役立ちます。\nカウントがゼロではないタグ(一致するアセットに存在するタグ)のみを返します。\n" + operationId: getAssetTagHistogram + parameters: + - name: include_tags + in: query + description: これらのタグをすべて持つアセットにフィルタ + schema: + type: array + items: + type: string + style: form + explode: false + - name: exclude_tags + in: query + description: これらのタグのいずれかを持つアセットを除外 + schema: + type: array + items: + type: string + style: form + explode: false + - name: name_contains + in: query + description: 名前にこの部分文字列を含むアセットにフィルタ(大文字小文字を区別しない) + schema: + type: string + - name: metadata_filter + in: query + description: メタデータフィールドでフィルタリングするためのJSONオブジェクト + schema: + type: string + - name: limit + in: query + description: 返すタグの最大数(1~1000、デフォルト100) + schema: + type: integer + minimum: 1 + maximum: 1000 + default: 100 + - name: include_public + in: query + description: 結果に公開/共有アセットを含めるかどうか + schema: + type: boolean + default: true + responses: + "200": + description: 成功 - タグヒストグラムが返されました + content: + application/json: + schema: + $ref: "#/components/schemas/AssetTagHistogramResponse" + "400": + description: 無効なリクエストパラメータ + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 認証されていません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/assets/hash/{hash}": + head: + tags: + - asset + summary: ハッシュでアセットの存在を確認 + description: "指定されたハッシュのコンテンツがクラウドストレージに存在するか確認します。コンテンツが存在する場合は200、存在しない場合は404を返します。`/api/assets/from-hash` を使用する前に可用性を確認するのに便利です。" + operationId: checkAssetByHash + parameters: + - name: hash + in: path + required: true + description: "アセットのBlake3ハッシュ (形式: 'blake3:hex_digest')" + schema: + type: string + pattern: "^blake3:[a-f0-9]{64}$" + example: blake3:a1b2c3d4e5f6789012345678901234567890123456789012345678901234 + responses: + "200": + description: アセットが存在します + "400": + description: 無効なハッシュ形式 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 認証されていません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: アセットが見つかりません + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/queue: + get: + tags: + - job + summary: キュー情報を取得 + description: キュー内の実行中および保留中のアイテムに関する情報を返します + operationId: getQueueInfo + responses: + "200": + description: 成功 + content: + application/json: + schema: + $ref: "#/components/schemas/QueueInfo" + "400": + description: 無効なリクエストパラメータ + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 無効なリクエストパラメータ + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + post: + tags: + - job + summary: キュー操作の管理 + description: "IDで特定のPENDINGジョブをキャンセルするか、キュー内のすべての保留中ジョブをクリアします。\n注: このエンドポイントは保留中のジョブにのみ影響します。実行中のジョブをキャンセルするには、/api/interruptを使用してください。\n" + operationId: manageQueue + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/QueueManageRequest" + responses: + "200": + description: 成功 + content: + application/json: + schema: + $ref: "#/components/schemas/QueueManageResponse" + "400": + description: 無効なリクエストパラメータ + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未認証 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/interrupt: + post: + tags: + - job + summary: 現在実行中のジョブを中断 + description: "認証されたユーザーの現在RUNNING中のすべてのジョブをキャンセルします。\nこれにより、現在'in_progress'ステータスにあるすべてのジョブが中断されます。\n注:このエンドポイントは実行中のジョブにのみ影響します。保留中のジョブをキャンセルするには、/api/queueを使用してください。\n" + operationId: interruptJob + responses: + "200": + description: 成功:ジョブが中断されるか、実行中のジョブが見つかりませんでした + "401": + description: 認証が必要です + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/userdata: + get: + tags: + - user + operationId: getUserdata + summary: ユーザーデータファイルを一覧表示 + description: 指定されたディレクトリ内のユーザーデータファイルのリストを返します。オプションで再帰的かつ完全なメタデータ付き。 + parameters: + - name: dir + in: query + required: true + description: "ファイルをリストするディレクトリパス。末尾のスラッシュを含める必要があります。\n例:\"workflows/\" または \"settings/\"\n" + schema: + type: string + example: workflows/ + - name: recurse + in: query + required: false + description: trueの場合、サブディレクトリ内のファイルも含めます。それ以外の場合は、指定されたディレクトリ内のファイルのみをリストします。 + schema: + type: boolean + default: false + - name: split + in: query + required: false + description: "ファイル情報をタイプごとに分割するかどうか。\n**注記:** ComfyUI API互換性のために受け付けられていますが、現在は無視されます。\n" + schema: + type: boolean + default: false + - name: full_info + in: query + required: false + description: "完全なファイルメタデータを返すかどうか。\n**注記:** ComfyUI API互換性のために受け付けられていますが、現在は無視されます(常に完全な情報を返します)。\n" + schema: + type: boolean + default: false + responses: + "200": + description: ユーザーデータファイルのリスト。 + content: + application/json: + schema: + $ref: "#/components/schemas/GetUserDataResponseFull" + "400": + description: 不正なリクエスト(例:無効なファイル名)。 + content: + text/plain: + schema: + type: string + "401": + description: 認証エラー。 + content: + text/plain: + schema: + type: string + "404": + description: ファイルが見つからないか、無効なパス。 + content: + text/plain: + schema: + type: string + "500": + description: 一般エラー + content: + text/plain: + schema: + type: string + "/api/userdata/{file}": + get: + tags: + - user + operationId: getUserdataFile + summary: ユーザーデータファイルを取得 + description: 要求されたユーザーデータファイルが存在する場合、それを返します。 + parameters: + - name: file + in: path + required: true + description: 取得するユーザーデータのファイル名。 + schema: + type: string + responses: + "200": + description: ファイルの取得に成功しました。 + content: + application/octet-stream: + schema: + type: string + format: binary + "400": + description: 不正なリクエスト(例:無効なファイル名)。 + content: + text/plain: + schema: + type: string + "401": + description: 認証されていません。 + content: + text/plain: + schema: + type: string + "404": + description: ファイルが見つからないか、パスが無効です。 + content: + text/plain: + schema: + type: string + "500": + description: 一般エラー + content: + text/plain: + schema: + type: string + post: + tags: + - user + operationId: postUserdataFile + summary: ユーザーデータファイルをアップロードまたは更新 + description: "ファイルをユーザーのデータディレクトリにアップロードします。オプションのクエリパラメータにより、上書き動作と応答の詳細を制御できます。\n" + parameters: + - name: file + in: path + required: true + description: ターゲットファイルパス(必要に応じてURLエンコード)。 + schema: + type: string + - name: overwrite + in: query + required: false + description: 「false」の場合、既存ファイルの上書きを防ぎます。デフォルトは「true」。 + schema: + type: string + enum: + - "true" + - "false" + default: "true" + - name: full_info + in: query + required: false + description: 「true」の場合は詳細なファイル情報を返し、「false」の場合は相対パスのみを返します。 + schema: + type: string + enum: + - "true" + - "false" + default: "false" + requestBody: + required: true + content: + application/octet-stream: + schema: + type: string + format: binary + responses: + "200": + description: ファイルのアップロードに成功しました。 + content: + application/json: + schema: + $ref: "#/components/schemas/UserDataResponseFull" + "400": + description: "'file'パラメータが不足しているか無効です。" + content: + text/plain: + schema: + type: string + "401": + description: 認証されていません。 + content: + text/plain: + schema: + type: string + "403": + description: 要求されたパスは許可されていません。 + content: + text/plain: + schema: + type: string + "409": + description: ファイルは既に存在し、上書きがfalseに設定されています。 + content: + text/plain: + schema: + type: string + "500": + description: 一般エラー + content: + text/plain: + schema: + type: string + delete: + tags: + - user + operationId: deleteUserdataFile + summary: ユーザーデータファイルを削除 + description: "データベースからユーザーデータファイルを削除します。fileパラメータはユーザーのデータディレクトリ内の相対パスである必要があります。\n" + parameters: + - name: file + in: path + required: true + description: 削除するファイルパス(必要に応じてURLエンコード)。 + schema: + type: string + responses: + "204": + description: ファイルが正常に削除されました(コンテンツなし)。 + "401": + description: 認証されていません。 + content: + text/plain: + schema: + type: string + "404": + description: ファイルが見つかりません。 + content: + text/plain: + schema: + type: string + "500": + description: サーバー内部エラー。 + content: + text/plain: + schema: + type: string + /api/upload/image: + post: + tags: + - file + summary: 画像ファイルをアップロード + description: "画像ファイルをクラウドストレージにアップロードします。\n\n画像制限:\n - 最大ファイルサイズ: 50 MB\n - 各エッジの最大幅/高さ: 16384 px\n - 最大総ピクセル数: 64メガピクセル (67108864 ピクセル)\n\nこれらの制限を超えるアップロードはHTTP 400で拒否されます。\n" + operationId: uploadImage + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + required: + - image + properties: + image: + type: string + format: binary + description: アップロードする画像ファイル + overwrite: + type: string + description: "既存のファイルを上書きするかどうか (true/false)。\n**注:** ComfyUI API互換性のため受け入れられますが、クラウドでは実質的に無視されます。\nクラウドはコンテンツアドレスストレージ(ハッシュベースの重複排除)を使用するため、同一の\nコンテンツは常に同じハッシュにマッピングされます。同じコンテンツを再アップロードしても効果はありません(no-op)。\n" + subfolder: + type: string + description: "オプションのサブフォルダパス。\n**注:** ComfyUI API互換性のため受け入れられますが、ストレージでは**無視**されます。\nクラウドはアセットをハッシュのみで保存します。サブフォルダはクライアント側での整理のためにレスポンスで返されますが、サーバー側のストレージパスには使用されません。\n" + type: + type: string + description: "アップロードタイプ (デフォルトは\"output\")。\n**注:** ComfyUI API互換性のため受け入れられます。クラウドはすべてのアップロードを\nディレクトリベースの整理ではなく、タグ付きのアセットとして保存します。\n" + responses: + "200": + description: 画像のアップロードに成功しました + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: アップロードされた画像のファイル名 + subfolder: + type: string + description: 画像が保存されたサブフォルダパス + type: + type: string + description: "アップロードのタイプ (例: \"output\")" + "400": + description: 不正なリクエスト + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未認証 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/upload/mask: + post: + tags: + - file + summary: マスク画像をアップロード + description: "既存の画像に適用するマスク画像をアップロードします。\n\n画像制限は、アップロードされたマスクと参照元のオリジナル画像の両方に適用されます:\n - 最大ファイルサイズ:50 MB\n - エッジごとの最大幅/高さ:16384 px\n - 最大総ピクセル数:64メガピクセル(67108864ピクセル)\n\nこれらの制限を超えるアップロードはHTTP 400で拒否されます。\n" + operationId: uploadMask + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + required: + - image + - original_ref + properties: + image: + type: string + format: binary + description: アップロードするマスク画像ファイル + original_ref: + type: string + description: オリジナル画像への参照を含むJSON文字列 + responses: + "200": + description: マスクが正常にアップロードされました + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: アップロードされたマスクのファイル名 + subfolder: + type: string + description: マスクが保存されたサブフォルダーパス + type: + type: string + description: "アップロードの種類(例:\"output\")" + metadata: + type: object + description: マスク検出と再編集のための追加メタデータ + properties: + is_mask: + type: boolean + description: このファイルがマスクであるかどうか + original_hash: + type: string + description: オリジナルのマスクされていない画像のハッシュ + mask_type: + type: string + description: "マスクの種類(例:\"painted_masked\")" + related_files: + type: object + description: 関連するマスクレイヤーファイル(利用可能な場合) + properties: + mask: + type: string + description: マスクレイヤーのハッシュ + paint: + type: string + description: ペイントレイヤーのハッシュ + painted: + type: string + description: ペイントされた画像のハッシュ + "400": + description: 不正なリクエスト + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 認証エラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/system_stats: + get: + tags: + - system + summary: システム統計を取得 + description: ComfyUIバージョン、デバイス情報、システムリソースを含むシステム統計を返します + operationId: getSystemStats + security: + [] + responses: + "200": + description: 成功 + content: + application/json: + schema: + $ref: "#/components/schemas/SystemStatsResponse" + "401": + description: 未認証 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/user: + get: + tags: + - user + summary: 現在のユーザー情報を取得 + description: 現在認証されているユーザーに関する情報を返します + operationId: getUser + responses: + "200": + description: 成功 + content: + application/json: + schema: + $ref: "#/components/schemas/UserResponse" + "401": + description: 認証エラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/job/{job_id}/status": + get: + tags: + - job + summary: ジョブステータスの取得 + description: 特定のジョブの現在のステータスをIDで返します + operationId: getJobStatus + parameters: + - name: job_id + in: path + required: true + description: ジョブの一意のID + schema: + type: string + format: uuid + responses: + "200": + description: 成功:ジョブのステータスが返されました + content: + application/json: + schema: + $ref: "#/components/schemas/JobStatusResponse" + "401": + description: 認証が必要です + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: 禁止:ジョブは別のユーザーに属しています + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: ジョブが見つかりません + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部サーバーエラー + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" +components: + securitySchemes: + ApiKeyAuth: + type: apiKey + in: header + name: X-API-Key + description: "APIキー認証。アカウント設定からAPIキーを生成します\n(https://platform.comfy.org/profile/api-keys)。X-API-Keyヘッダーでキーを渡します。\n" + schemas: + PromptRequest: + type: object + required: + - prompt + properties: + prompt: + type: object + description: 実行するワークフローグラフ + additionalProperties: true + number: + type: number + description: "キューの優先順位番号(数字が小さいほど優先度が高い)。\n**注:** ComfyUI API互換性のために受け付けられますが、クラウドでは**無視されます**。\nクラウドはユーザーごとの順序と公平なスケジューリングを備えた独自のキュー管理を使用します。\n" + front: + type: boolean + description: "trueの場合、プロンプトをキューの先頭に追加します。\n**注:** ComfyUI API互換性のために受け付けられますが、クラウドでは**無視されます**。\nクラウドはジョブの送信時間と公平なスケジューリングに基づいて内部でキュー順序を管理します。\n" + extra_data: + type: object + description: プロンプトに関連付ける追加データ + additionalProperties: true + partial_execution_targets: + type: array + items: + type: string + description: 実行するノード名のリスト + PromptResponse: + type: object + properties: + prompt_id: + type: string + format: uuid + description: プロンプト実行の一意識別子 + number: + type: number + description: キュー内の優先順位番号 + node_errors: + type: object + description: プロンプトのノード内のエラー + additionalProperties: true + ErrorResponse: + type: object + required: + - code + - message + properties: + code: + type: string + message: + type: string + PromptInfo: + type: object + properties: + exec_info: + type: object + properties: + queue_remaining: + type: integer + description: キューに残っているアイテムの数 + NodeInfo: + type: object + properties: + input: + type: object + description: ノードの入力仕様 + additionalProperties: true + input_order: + type: object + description: 表示用の入力の順序 + additionalProperties: + type: array + items: + type: string + output: + type: array + items: + type: string + description: ノードの出力タイプ + output_is_list: + type: array + items: + type: boolean + description: 各出力がリストかどうか + output_name: + type: array + items: + type: string + description: 出力の名前 + name: + type: string + description: ノードの内部名 + display_name: + type: string + description: ノードの表示名 + description: + type: string + description: ノードの説明 + python_module: + type: string + description: ノードを実装するPythonモジュール + category: + type: string + description: ノードのカテゴリ + output_node: + type: boolean + description: これが出力ノードかどうか + output_tooltips: + type: array + items: + type: string + description: 出力のツールチップ + deprecated: + type: boolean + description: ノードが非推奨かどうか + experimental: + type: boolean + description: ノードが実験的かどうか + api_node: + type: boolean + description: これがAPIノードかどうか + GlobalSubgraphInfo: + type: object + description: グローバルサブグラフブループリントのメタデータ(完全なデータなし) + required: + - source + - name + - info + properties: + source: + type: string + description: "サブグラフのソースタイプ - \"templates\"はワークフローテンプレート、\"custom_node\"はカスタムノードサブグラフ" + name: + type: string + description: サブグラフブループリントの表示名 + info: + type: object + description: サブグラフに関する追加情報 + required: + - node_pack + properties: + node_pack: + type: string + description: このサブグラフを提供するノードパック/モジュール + data: + type: string + description: 完全なサブグラフJSONデータ(リスト表示では空の可能性あり) + GlobalSubgraphData: + type: object + description: グローバルサブグラフブループリントの完全なデータ + required: + - source + - name + - info + - data + properties: + source: + type: string + description: "サブグラフのソースタイプ - \"templates\"はワークフローテンプレート、\"custom_node\"はカスタムノードサブグラフ" + name: + type: string + description: サブグラフブループリントの表示名 + info: + type: object + description: サブグラフに関する追加情報 + required: + - node_pack + properties: + node_pack: + type: string + description: このサブグラフを提供するノードパック/モジュール + data: + type: string + description: 完全なサブグラフJSONデータ(文字列) + HistoryResponse: + type: object + description: "履歴配列を含む実行履歴レスポンス。\n\"history\"キーを持つオブジェクトを返し、その値は履歴エントリの配列です。\n各エントリには、実行データとともにプロパティとしてprompt_idが含まれます。" + required: + - history + properties: + history: + type: array + description: 作成時間順(最新が最初)に並べられた履歴エントリの配列 + items: + $ref: "#/components/schemas/HistoryEntry" + HistoryEntry: + type: object + description: プロンプトIDと実行データを含む履歴エントリ + required: + - prompt_id + properties: + prompt_id: + type: string + description: このプロンプト実行の一意の識別子 + create_time: + type: integer + format: int64 + description: ジョブ作成タイムスタンプ(UNIXタイムスタンプ、ミリ秒) + workflow_id: + type: string + description: ワークフローグラフ定義を識別するUUID + prompt: + type: object + description: フィルタリングされたプロンプト実行データ(軽量形式) + properties: + priority: + type: number + format: double + description: 実行優先度 + prompt_id: + type: string + description: プロンプトID + extra_data: + type: object + description: 追加の実行データ(extra_pnginfoからワークフローを除去) + additionalProperties: true + outputs: + type: object + description: 実行からの出力データ(生成済み画像、ファイルなど) + additionalProperties: true + status: + type: object + description: 実行ステータスとタイムライン情報 + additionalProperties: true + meta: + type: object + description: 実行とノードに関するメタデータ + additionalProperties: true + HistoryDetailEntry: + type: object + description: 完全なプロンプトデータを含む履歴エントリ + properties: + prompt: + type: object + description: 完全なプロンプト実行データ + properties: + priority: + type: number + format: double + description: 実行優先度 + prompt_id: + type: string + description: プロンプトID + prompt: + type: object + description: ワークフローノード + additionalProperties: true + extra_data: + type: object + description: 追加の実行データ + additionalProperties: true + outputs_to_execute: + type: array + items: + type: string + description: 実行する出力ノード + outputs: + type: object + description: 実行からの出力データ(生成された画像、ファイルなど) + additionalProperties: true + status: + type: object + description: 実行ステータスとタイムライン情報 + additionalProperties: true + meta: + type: object + description: 実行とノードに関するメタデータ + additionalProperties: true + HistoryDetailResponse: + type: object + description: "特定のプロンプトに対する詳細な実行履歴レスポンス。\nprompt_idをキーとし、完全な履歴データを値として持つ辞書を返します。\n" + additionalProperties: + $ref: "#/components/schemas/HistoryDetailEntry" + QueueInfo: + type: object + description: 保留中および実行中のジョブを含むキュー情報 + properties: + queue_running: + type: array + description: 現在実行中のジョブアイテムの配列 + items: + $ref: "#/components/schemas/QueueItem" + queue_pending: + type: array + description: 保留中のジョブアイテムの配列(作成時間順、古い順) + items: + $ref: "#/components/schemas/QueueItem" + QueueItem: + type: array + description: "キューアイテムのタプル形式: [job_number, prompt_id, workflow_json, output_node_ids, metadata]\n- [0] job_number (integer): キュー内の位置(1ベース)\n- [1] prompt_id (string): ジョブUUID\n- [2] workflow_json (object): 完全なComfyUIワークフロー\n- [3] output_node_ids (array): 結果を返すノードID\n- [4] metadata (object): {create_time: <ミリ秒>} を含む\n" + items: + oneOf: + - type: integer + description: ジョブ番号(キュー内の位置) + - type: string + description: プロンプトID(UUID) + - type: object + description: ワークフローJSON + - type: array + items: + type: string + description: 出力ノードID + - type: object + description: create_timeを含むメタデータ + QueueManageRequest: + type: object + description: キュー操作を管理するリクエスト + properties: + delete: + type: array + items: + type: string + description: キャンセルする保留中のジョブIDの配列 + clear: + type: boolean + description: trueの場合、キューから保留中のジョブをすべてクリアします + additionalProperties: false + QueueManageResponse: + type: object + properties: + deleted: + type: array + items: + type: string + description: 正常にキャンセルされたジョブIDの配列 + cleared: + type: boolean + description: キューがクリアされたかどうか + JobStatusResponse: + type: object + description: ジョブステータス情報 + properties: + id: + type: string + format: uuid + description: ジョブID + status: + type: string + enum: + - waiting_to_dispatch + - pending + - in_progress + - completed + - error + - cancelled + description: 現在のジョブステータス + created_at: + type: string + format: date-time + description: ジョブが作成された日時 + updated_at: + type: string + format: date-time + description: ジョブの最終更新日時 + last_state_update: + type: string + format: date-time + description: ジョブステータスが最後に変更された日時 + assigned_inference: + type: string + nullable: true + description: このジョブに割り当てられた推論インスタンス(ある場合) + error_message: + type: string + nullable: true + description: ジョブが失敗した場合のエラーメッセージ + required: + - id + - status + - created_at + - updated_at + HistoryManageRequest: + type: object + description: 履歴操作を管理するリクエスト + properties: + delete: + type: array + items: + type: string + description: 履歴から削除するジョブIDの配列 + clear: + type: boolean + description: trueの場合、認証済みユーザーのすべての履歴をクリアします + additionalProperties: false + UserDataResponse: + oneOf: + - $ref: "#/components/schemas/UserDataResponseFull" + - $ref: "#/components/schemas/UserDataResponseShort" + UserDataResponseFull: + type: object + properties: + path: + type: string + size: + type: integer + modified: + type: string + format: date-time + UserDataResponseShort: + type: string + GetUserDataResponseFull: + type: array + items: + $ref: "#/components/schemas/GetUserDataResponseFullFile" + GetUserDataResponseFullFile: + type: object + properties: + path: + type: string + description: ファイル名またはユーザーディレクトリからの相対パス。 + size: + type: integer + description: ファイルサイズ(バイト)。 + modified: + type: number + format: float + description: 最終更新のUNIXタイムスタンプ。 + PromptErrorResponse: + type: object + description: ComfyUIプロンプト実行のエラーレスポンス。 + additionalProperties: true + ModelFolder: + type: object + description: モデルを含むフォルダーを表します + required: + - name + - folders + properties: + name: + type: string + description: モデルフォルダーの名前 + example: checkpoints + folders: + type: array + items: + type: string + description: このタイプのモデルが保存されているパスのリスト + example: + - checkpoints + ModelFile: + type: object + description: メタデータ付きのモデルファイルを表します + required: + - name + - pathIndex + properties: + name: + type: string + description: モデルのファイル名 + example: model.safetensors + pathIndex: + type: integer + description: このモデルが配置されているパスのインデックス + example: 0 + SystemStatsResponse: + type: object + description: システム統計レスポンス + required: + - system + - devices + properties: + system: + type: object + required: + - os + - python_version + - embedded_python + - comfyui_version + - pytorch_version + - argv + - ram_total + - ram_free + properties: + os: + type: string + description: オペレーティングシステム + python_version: + type: string + description: Python バージョン + embedded_python: + type: boolean + description: 組み込みPythonを使用しているかどうか + comfyui_version: + type: string + description: ComfyUI バージョン + comfyui_frontend_version: + type: string + description: ComfyUI フロントエンドバージョン(コミットハッシュまたはタグ) + workflow_templates_version: + type: string + description: ワークフローテンプレートのバージョン + cloud_version: + type: string + description: クラウド取り込みサービスのバージョン(コミットハッシュ) + pytorch_version: + type: string + description: PyTorch バージョン + argv: + type: array + items: + type: string + description: コマンドライン引数 + ram_total: + type: number + description: 合計RAM(バイト単位) + ram_free: + type: number + description: 空きRAM(バイト単位) + devices: + type: array + items: + type: object + required: + - name + - type + properties: + name: + type: string + description: デバイス名 + type: + type: string + description: デバイスタイプ + vram_total: + type: number + description: 合計VRAM(バイト単位) + vram_free: + type: number + description: 空きVRAM(バイト単位) + UserResponse: + type: object + description: ユーザー情報レスポンス + required: + - status + properties: + status: + type: string + description: ユーザーステータス(アクティブまたはウェイトリスト) + Asset: + type: object + required: + - id + - name + - size + - created_at + - updated_at + properties: + id: + type: string + format: uuid + description: アセットの一意な識別子 + name: + type: string + description: アセットファイルの名前 + asset_hash: + type: string + description: アセットコンテンツのBlake3ハッシュ + pattern: "^blake3:[a-f0-9]{64}$" + size: + type: integer + format: int64 + description: アセットのサイズ(バイト単位) + mime_type: + type: string + description: アセットのMIMEタイプ + tags: + type: array + items: + type: string + description: アセットに関連付けられたタグ + user_metadata: + type: object + description: アセットのカスタムユーザーメタデータ + additionalProperties: true + preview_url: + type: string + format: uri + description: アセットのプレビュー/サムネイルのURL + preview_id: + type: string + format: uuid + description: 利用可能な場合のプレビューアセットのID + nullable: true + prompt_id: + type: string + format: uuid + description: このアセットを作成したジョブ/プロンプトのID(利用可能な場合) + nullable: true + created_at: + type: string + format: date-time + description: アセット作成時のタイムスタンプ + updated_at: + type: string + format: date-time + description: アセットの最終更新時刻のタイムスタンプ + last_access_time: + type: string + format: date-time + description: アセットの最終アクセス時刻のタイムスタンプ + is_immutable: + type: boolean + description: このアセットが不変であるかどうか(変更または削除不可) + AssetCreated: + allOf: + - $ref: "#/components/schemas/Asset" + - type: object + required: + - created_new + properties: + created_new: + type: boolean + description: これが新しいアセットの作成であるか(true)または既存のものが返されたか(false) + AssetUpdated: + type: object + required: + - id + - updated_at + properties: + id: + type: string + format: uuid + description: アセットID + name: + type: string + description: 更新されたアセットの名前 + asset_hash: + type: string + description: アセットコンテンツのBlake3ハッシュ + pattern: "^blake3:[a-f0-9]{64}$" + tags: + type: array + items: + type: string + description: 更新されたアセットのタグ + mime_type: + type: string + description: 更新されたアセットのMIMEタイプ + user_metadata: + type: object + description: 更新されたカスタムメタデータ + additionalProperties: true + updated_at: + type: string + format: date-time + description: 更新のタイムスタンプ + ListAssetsResponse: + type: object + required: + - assets + - total + - has_more + properties: + assets: + type: array + items: + $ref: "#/components/schemas/Asset" + description: クエリに一致するアセットのリスト + total: + type: integer + description: フィルターに一致するアセットの総数 + has_more: + type: boolean + description: このページを超えてさらにアセットが利用可能かどうか + TagInfo: + type: object + required: + - name + - count + properties: + name: + type: string + description: タグ名 + count: + type: integer + description: このタグを使用しているアセットの数 + ListTagsResponse: + type: object + required: + - tags + - total + - has_more + properties: + tags: + type: array + items: + $ref: "#/components/schemas/TagInfo" + description: タグのリスト + total: + type: integer + description: タグの総数 + has_more: + type: boolean + description: さらにタグが利用可能かどうか + AssetTagHistogramResponse: + type: object + required: + - tag_counts + properties: + tag_counts: + type: object + additionalProperties: + type: integer + description: タグ名と一致するアセット上の出現回数のマップ + example: + checkpoint: 32 + lora: 193 + vae: 6 + AssetMetadataResponse: + type: object + required: + - content_length + properties: + content_length: + type: integer + format: int64 + description: アセットのサイズ(バイト単位、不明の場合は-1) + example: 4294967296 + content_type: + type: string + description: アセットのMIMEタイプ + example: application/octet-stream + filename: + type: string + description: ソースからのアセットの推奨ファイル名 + example: realistic-vision-v5.safetensors + name: + type: string + description: ソースからのアセットの表示名またはタイトル + example: Realistic Vision v5.0 + tags: + type: array + items: + type: string + description: ソースからの分類用タグ + example: + - models + - checkpoint + preview_image: + type: string + description: base64エンコードされたデータURLとしての画像プレビュー + example: "data:image/jpeg;base64,/9j/4AAQSkZJRg..." + validation: + $ref: "#/components/schemas/ValidationResult" + description: ファイルの検証結果 + AssetDownloadResponse: + type: object + required: + - task_id + - status + properties: + task_id: + type: string + format: uuid + description: "GET /api/tasks/{task_id} を介したダウンロード進行状況追跡用のタスクID" + status: + type: string + enum: + - created + - running + - completed + - failed + description: 現在のタスクステータス + message: + type: string + description: 人間が読めるメッセージ + example: Download task created. Use task_id to track progress. + ValidationResult: + type: object + required: + - is_valid + properties: + is_valid: + type: boolean + description: 全体的な検証ステータス(すべてのチェックに合格した場合はtrue) + example: true + errors: + type: array + items: + $ref: "#/components/schemas/ValidationError" + description: ダウンロードを妨げるブロッキング検証エラー + warnings: + type: array + items: + $ref: "#/components/schemas/ValidationError" + description: 非ブロッキング検証警告(情報提供のみ) + ValidationError: + type: object + required: + - code + - message + - field + properties: + code: + type: string + description: 機械可読なエラーコード + example: FORMAT_NOT_ALLOWED + message: + type: string + description: 人間可読なエラーメッセージ + example: "File format \"PickleTensor\" is not allowed. Allowed formats: [SafeTensor]" + field: + type: string + description: 検証に失敗したフィールド + example: format + TagsModificationResponse: + type: object + required: + - total_tags + properties: + added: + type: array + items: + type: string + description: 正常に追加されたタグ(追加操作用) + removed: + type: array + items: + type: string + description: 正常に削除されたタグ(削除操作用) + already_present: + type: array + items: + type: string + description: 既に存在していたタグ(追加操作用) + not_present: + type: array + items: + type: string + description: 存在しなかったタグ(削除操作用) + total_tags: + type: array + items: + type: string + description: 操作後のアセット上のすべてのタグ + JobsListResponse: + type: object + required: + - jobs + - pagination + properties: + jobs: + type: array + description: 指定された並び替えフィールドで並べられたジョブの配列 + items: + $ref: "#/components/schemas/JobEntry" + pagination: + $ref: "#/components/schemas/PaginationInfo" + JobEntry: + type: object + description: リスト表示用の軽量ジョブデータ(ワークフローと完全な出力は除外) + required: + - id + - status + - create_time + properties: + id: + type: string + format: uuid + description: 一意のジョブ識別子 + status: + type: string + enum: + - pending + - in_progress + - completed + - failed + - cancelled + description: ユーザーフレンドリーなジョブステータス + execution_error: + $ref: "#/components/schemas/ExecutionError" + description: ComfyUIからの詳細な実行エラー(構造化エラーデータがある失敗ジョブのみ) + create_time: + type: integer + format: int64 + description: ジョブ作成タイムスタンプ(秒単位のUnixタイムスタンプ) + preview_output: + type: object + description: プライマリ出力のプレビュー(ターミナル状態のみ存在) + additionalProperties: true + outputs_count: + type: integer + description: 出力ファイルの総数(非ターミナル状態では省略) + workflow_id: + type: string + description: ワークフローグラフ定義を識別するUUID + execution_start_time: + type: integer + format: int64 + description: ワークフロー実行開始タイムスタンプ(ミリ秒単位のUnixタイムスタンプ、ターミナル状態のみ存在) + execution_end_time: + type: integer + format: int64 + description: ワークフロー実行完了タイムスタンプ(ミリ秒単位のUnixタイムスタンプ、ターミナル状態のみ存在) + JobDetailResponse: + type: object + description: ワークフローと出力を含む完全なジョブ詳細 + required: + - id + - status + - create_time + - update_time + properties: + id: + type: string + format: uuid + description: 一意のジョブ識別子 + status: + type: string + enum: + - pending + - in_progress + - completed + - failed + - cancelled + description: ユーザーフレンドリーなジョブステータス + workflow: + type: object + description: 完全なComfyUIワークフロー(10〜100KB、利用不可の場合は省略) + additionalProperties: true + execution_error: + $ref: "#/components/schemas/ExecutionError" + description: ComfyUIからの詳細な実行エラー(構造化エラーデータがある失敗ジョブのみ) + create_time: + type: integer + format: int64 + description: ジョブ作成タイムスタンプ(秒単位のUnixタイムスタンプ) + update_time: + type: integer + format: int64 + description: 最終更新タイムスタンプ(秒単位のUnixタイムスタンプ) + outputs: + type: object + description: ComfyUIからの完全な出力オブジェクト(ターミナル状態のみ) + additionalProperties: true + preview_output: + type: object + description: プライマリ出力のプレビュー(ターミナル状態のみ) + additionalProperties: true + outputs_count: + type: integer + description: 出力ファイルの総数(非ターミナル状態では省略) + workflow_id: + type: string + description: ワークフローグラフ定義を識別するUUID + execution_status: + type: object + description: ComfyUI実行ステータスとタイムライン(ターミナル状態のみ) + additionalProperties: true + execution_meta: + type: object + description: ノードレベルの実行メタデータ(ターミナル状態のみ) + additionalProperties: true + ExecutionError: + type: object + description: ComfyUIからの詳細な実行エラー情報 + required: + - node_id + - node_type + - exception_message + - exception_type + - traceback + - current_inputs + - current_outputs + properties: + node_id: + type: string + description: 失敗したノードのID + node_type: + type: string + description: "ノードのタイプ名(例: \"KSampler\")" + exception_message: + type: string + description: 人間が読めるエラーメッセージ + exception_type: + type: string + description: "Pythonの例外タイプ(例: \"RuntimeError\")" + traceback: + type: array + items: + type: string + description: トレースバック行の配列(利用不可の場合は空の配列) + current_inputs: + type: object + additionalProperties: true + description: 障害発生時の入力値(利用不可の場合は空のオブジェクト) + current_outputs: + type: object + additionalProperties: true + description: 失敗時の出力値(利用不可の場合は空オブジェクト) + PaginationInfo: + type: object + required: + - offset + - limit + - total + - has_more + properties: + offset: + type: integer + minimum: 0 + description: 現在のオフセット(0ベース) + limit: + type: integer + minimum: 1 + description: 1ページあたりのアイテム数 + total: + type: integer + minimum: 0 + description: フィルターに一致するアイテムの総数 + has_more: + type: boolean + description: このページ以降にさらにアイテムがあるかどうか + WebSocketMessage: + type: object + description: "すべてのWebSocketメッセージの基本構造。メッセージはJSONで、タイプフィールドがメッセージタイプを示し、データフィールドにタイプ固有のペイロードが含まれます。\n" + required: + - type + properties: + type: + $ref: "#/components/schemas/WebSocketMessageType" + data: + type: object + description: メッセージペイロード(構造はタイプによって異なります) + additionalProperties: true + WebSocketMessageType: + type: string + description: "WebSocketメッセージのタイプ。これらはComfyUIのネイティブメッセージタイプに対応しています。\n" + enum: + - status + - execution_start + - execution_cached + - executing + - progress + - progress_state + - executed + - execution_success + - execution_error + - execution_interrupted + WebSocketStatusMessage: + type: object + description: "キュー状態の更新。キュー状態が変更されたときに送信されます。\n" + properties: + type: + type: string + enum: + - status + data: + type: object + properties: + status: + type: object + properties: + exec_info: + type: object + properties: + queue_remaining: + type: integer + description: このユーザーのキューに残っているジョブ数 + sid: + type: string + description: セッションID(初期接続時のみ) + WebSocketExecutionStartMessage: + type: object + description: "ワークフローの実行が開始されたときに送信されます。\n" + properties: + type: + type: string + enum: + - execution_start + data: + type: object + required: + - prompt_id + properties: + prompt_id: + type: string + format: uuid + description: 実行を開始したジョブ/プロンプトID + WebSocketExecutingMessage: + type: object + description: "特定のノードが実行を開始したときに送信されます。\n" + properties: + type: + type: string + enum: + - executing + data: + type: object + required: + - prompt_id + properties: + prompt_id: + type: string + format: uuid + node: + type: string + description: 現在実行中のノードID(実行完了時はnull) + display_node: + type: string + description: 表示ノードID(グループ化されたノードの場合はノードと異なる場合があります) + WebSocketProgressMessage: + type: object + description: "ノード内のステップごとの進行状況(例:拡散サンプリングステップ)。\n" + properties: + type: + type: string + enum: + - progress + data: + type: object + required: + - prompt_id + - node + - value + - max + properties: + prompt_id: + type: string + format: uuid + node: + type: string + description: 進行状況を表示しているノードID + value: + type: integer + description: 現在のステップ番号 + max: + type: integer + description: ステップの総数 + WebSocketProgressStateMessage: + type: object + description: "詳細なノードメタデータを含む拡張進行状態。\nよりシンプルな`progress`メッセージよりもリッチなコンテキストを提供します。\n" + properties: + type: + type: string + enum: + - progress_state + data: + type: object + properties: + prompt_id: + type: string + format: uuid + nodes: + type: object + description: ノードIDとその進行状態のマップ + additionalProperties: + type: object + properties: + node_id: + type: string + display_node_id: + type: string + real_node_id: + type: string + prompt_id: + type: string + class_type: + type: string + description: "ノードのクラスタイプ(例:\"KSampler\")" + WebSocketExecutedMessage: + type: object + description: "ノードが出力を伴って実行を完了したときに送信されます。\n" + properties: + type: + type: string + enum: + - executed + data: + type: object + required: + - prompt_id + - node + properties: + prompt_id: + type: string + format: uuid + node: + type: string + description: 完了したノードID + display_node: + type: string + description: 表示ノードID + output: + type: object + description: "ノード出力。構造はノードタイプによって異なります。\n画像出力の場合: { \"images\": [{\"filename\": \"...\", \"subfolder\": \"\", \"type\": \"output\"}] }\nビデオ出力の場合: { \"video\": [{\"filename\": \"...\", \"subfolder\": \"\", \"type\": \"output\"}] }\n" + additionalProperties: true + WebSocketExecutionSuccessMessage: + type: object + description: "ワークフロー全体が正常に完了したときに送信されます。\n" + properties: + type: + type: string + enum: + - execution_success + data: + type: object + required: + - prompt_id + properties: + prompt_id: + type: string + format: uuid + WebSocketExecutionErrorMessage: + type: object + description: "ワークフローの実行がエラーで失敗したときに送信されます。\n" + properties: + type: + type: string + enum: + - execution_error + data: + type: object + required: + - prompt_id + - exception_message + properties: + prompt_id: + type: string + format: uuid + node_id: + type: string + description: エラーが発生したノードID(該当する場合) + node_type: + type: string + description: エラーが発生したノードのタイプ + exception_type: + type: string + description: "エラーの分類。一般的なタイプ:\n- ValidationError: 無効なワークフローまたは入力\n- ModelDownloadError: 必要なモデルのダウンロードに失敗\n- OOMError: GPUメモリ不足\n- InsufficientFundsError: アカウント残高が不足しています\n- InactiveSubscriptionError: サブスクリプションがアクティブではありません\n" + enum: + - ValidationError + - ModelDownloadError + - ImageDownloadError + - OOMError + - PanicError + - ServiceError + - WebSocketError + - DispatcherError + - InsufficientFundsError + - InactiveSubscriptionError + exception_message: + type: string + description: 人間が読めるエラーメッセージ + traceback: + type: array + items: + type: string + description: スタックトレース行(デバッグ用) + executed: + type: array + items: + type: string + description: エラーが発生する前に完了したノードID + current_inputs: + type: object + description: 失敗時の入力値 + additionalProperties: true + current_outputs: + type: object + description: 失敗時の出力値 + additionalProperties: true + WebSocketExecutionCachedMessage: + type: object + description: "ノードがその出力がキャッシュされているためにスキップされたときに送信されます。\n" + properties: + type: + type: string + enum: + - execution_cached + data: + type: object + required: + - prompt_id + - nodes + properties: + prompt_id: + type: string + format: uuid + nodes: + type: array + items: + type: string + description: キャッシュから提供されたノードIDのリスト + WebSocketExecutionInterruptedMessage: + type: object + description: "ワークフローの実行がキャンセルまたは中断されたときに送信されます。\n" + properties: + type: + type: string + enum: + - execution_interrupted + data: + type: object + required: + - prompt_id + properties: + prompt_id: + type: string + format: uuid diff --git a/openapi/cloud.ko.yaml b/openapi/cloud.ko.yaml new file mode 100644 index 000000000..96b678a88 --- /dev/null +++ b/openapi/cloud.ko.yaml @@ -0,0 +1,3485 @@ +# translationSourceHash: ff9adab0 +# translationFrom: openapi/cloud.en.yaml + +openapi: 3.0.3 +info: + title: Comfy Cloud API + description: "\n**실험적 API:** 이 API는 실험적이며 변경될 수 있습니다. \n엔드포인트, 요청/응답 형식 및 동작은 사전 통지 없이 수정될 수 있습니다.\n\n\nComfy Cloud용 API - 클라우드 인프라에서 ComfyUI 워크플로를 실행합니다.\n\n이 API를 사용하여 Comfy Cloud와 프로그래밍 방식으로 상호작용할 수 있습니다:\n- 워크플로 제출 및 관리\n- 파일 업로드 및 다운로드\n- 작업 상태 및 진행 상황 모니터링\n\n## Cloud vs OSS ComfyUI 호환성\n\nComfy Cloud는 최대 호환성을 위해 OSS ComfyUI와 동일한 API 인터페이스를 구현하지만,\n일부 필드는 호환성을 위해 허용되지만 다르게 처리되거나 무시됩니다:\n\n| 필드 | 엔드포인트 | Cloud 동작 |\n|-------|-----------|----------------|\n| `subfolder` | `/api/view`, `/api/upload/*` | **무시됨** - Cloud는 콘텐츠 주소 지정 저장소(해시 기반)를 사용합니다. 클라이언트 측 구성을 위해 응답에 반환됩니다. |\n| `type` (input/output/temp) | `/api/view`, `/api/upload/*` | 부분적으로 사용됨 - 모든 파일은 디렉토리 구조 대신 태그 기반 조직으로 저장됩니다. |\n| `overwrite` | `/api/upload/*` | **무시됨** - 콘텐츠 주소 지정 저장소는 동일한 콘텐츠가 항상 동일한 해시를 갖도록 합니다. |\n| `number`, `front` | `/api/prompt` | **무시됨** - Cloud는 사용자별로 자체 공정 실행 대기열 스케줄링을 사용합니다. |\n| `split`, `full_info` | `/api/userdata` | **무시됨** - Cloud는 항상 전체 파일 메타데이터를 반환합니다. |\n\n이러한 필드는 기존 ComfyUI 클라이언트 및 워크플로와의 드롭인 호환성을 위해 API 스키마에 유지됩니다.\n" + version: 1.0.0 + license: + name: GNU General Public License v3.0 + url: https://github.com/Comfy-Org/ComfyUI/blob/master/LICENSE +servers: + - url: https://cloud.comfy.org + description: Comfy Cloud API +security: + - ApiKeyAuth: + [] +tags: + - name: workflow + description: "워크플로를 제출하여 실행하고, 실행 대기열을 관리합니다.\n클라우드에서 ComfyUI 워크플로를 실행하는 주요 방법입니다.\n" + - name: job + description: "작업 상태를 모니터링하고, 실행 기록을 확인하며, 실행 중인 작업을 관리합니다.\n작업은 POST /api/prompt를 통해 워크플로를 제출할 때 생성됩니다.\n" + - name: asset + description: "지속적 에셋(이미지, 모델, 출력)을 업로드, 다운로드 및 관리합니다.\n에셋은 태그 지정 및 메타데이터 지원과 함께 내구성 있는 스토리지를 제공합니다.\n" + - name: file + description: "로컬 ComfyUI와 호환되는 레거시 파일 업로드 및 다운로드 엔드포인트입니다.\n새로운 통합의 경우 Assets API 사용을 고려하세요.\n" + - name: model + description: "사용 가능한 AI 모델을 찾아보세요. 모델은 클라우드 인프라에 사전 로드됩니다.\n" + - name: node + description: "사용 가능한 ComfyUI 노드 및 해당 입력/출력에 대한 정보를 가져옵니다.\n동적 워크플로 인터페이스 구축에 유용합니다.\n" + - name: user + description: "사용자 계정 정보 및 개인 데이터 스토리지.\n" + - name: system + description: "서버 상태, 상태 확인 및 시스템 정보.\n" +x-tagGroups: + - name: Core + tags: + - workflow + - job + - name: Storage + tags: + - asset + - file + - name: Reference + tags: + - model + - node + - name: Account + tags: + - user + - system +paths: + /api/prompt: + post: + tags: + - workflow + summary: 워크플로 실행 제출 + description: "워크플로를 제출하여 백엔드에서 실행합니다.\n워크플로는 노드와 연결을 설명하는 JSON 객체입니다.\n" + operationId: executePrompt + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/PromptRequest" + responses: + "200": + description: "성공: 프롬프트 수락됨" + content: + application/json: + schema: + $ref: "#/components/schemas/PromptResponse" + "400": + description: 잘못된 프롬프트 + content: + application/json: + schema: + $ref: "#/components/schemas/PromptErrorResponse" + "402": + description: "결제 필요: 크레딧 부족" + content: + application/json: + schema: + $ref: "#/components/schemas/PromptErrorResponse" + "429": + description: "결제 필요: 사용자가 결제하지 않음" + content: + application/json: + schema: + $ref: "#/components/schemas/PromptErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/PromptErrorResponse" + "503": + description: 서비스를 사용할 수 없음 + content: + application/json: + schema: + $ref: "#/components/schemas/PromptErrorResponse" + get: + tags: + - workflow + summary: 현재 프롬프트 실행 정보 조회 + description: 실행 대기열의 현재 프롬프트 정보 반환 + operationId: getPromptInfo + responses: + "200": + description: 성공 + content: + application/json: + schema: + $ref: "#/components/schemas/PromptInfo" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/object_info: + get: + tags: + - node + summary: 모든 노드 정보 조회 + description: 사용 가능한 모든 노드 정보 반환 + operationId: getNodeInfo + responses: + "200": + description: 성공 + content: + application/json: + schema: + type: object + additionalProperties: + $ref: "#/components/schemas/NodeInfo" + /api/features: + get: + tags: + - node + summary: 서버 기능 플래그 가져오기 + description: 서버의 기능 목록을 반환합니다. + operationId: getFeatures + security: + - ApiKeyAuth: + [] + - {} + responses: + "200": + description: 성공 + content: + application/json: + schema: + type: object + properties: + supports_preview_metadata: + type: boolean + description: 서버가 미리보기 메타데이터를 지원하는지 여부 + max_upload_size: + type: integer + description: 최대 업로드 크기(바이트) + additionalProperties: true + /api/workflow_templates: + get: + tags: + - workflow + summary: 사용 가능한 워크플로 템플릿 가져오기 + description: 사용 가능한 워크플로 템플릿을 반환합니다 + operationId: getWorkflowTemplates + security: + [] + responses: + "200": + description: 성공 + content: + application/json: + schema: + type: object + description: 워크플로 템플릿에 대한 빈 객체 + /api/global_subgraphs: + get: + tags: + - workflow + summary: 사용 가능한 서브그래프 블루프린트 가져오기 + description: "전역적으로 사용 가능한 서브그래프 블루프린트 목록을 반환합니다.\n이것들은 노드로 사용할 수 있는 사전 구축된 워크플로 구성 요소입니다.\ndata 필드에는 전체 서브그래프 JSON으로 해석되는 프로미스가 포함되어 있습니다.\n" + operationId: getGlobalSubgraphs + security: + [] + responses: + "200": + description: 성공 - 서브그래프 ID와 메타데이터의 매핑 + content: + application/json: + schema: + type: object + additionalProperties: + $ref: "#/components/schemas/GlobalSubgraphInfo" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/global_subgraphs/{id}": + get: + tags: + - workflow + summary: 특정 서브그래프 블루프린트 가져오기 + description: ID로 특정 서브그래프 블루프린트의 전체 데이터를 반환합니다. + operationId: getGlobalSubgraph + security: + [] + parameters: + - name: id + in: path + required: true + description: 서브그래프 블루프린트의 고유 식별자 + schema: + type: string + responses: + "200": + description: 성공 - 전체 서브그래프 데이터 + content: + application/json: + schema: + $ref: "#/components/schemas/GlobalSubgraphData" + "404": + description: 서브그래프를 찾을 수 없음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/experiment/models: + get: + tags: + - model + summary: 사용 가능한 모델 폴더 가져오기 + description: "시스템에서 사용 가능한 모델 폴더 목록을 반환합니다.\n이것은 레거시 /models 엔드포인트를 대체하는 실험적 엔드포인트입니다.\n" + operationId: getModelFolders + security: + [] + responses: + "200": + description: 성공 - 모델 폴더 목록 + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ModelFolder" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/experiment/models/{folder}": + get: + tags: + - model + summary: 특정 폴더의 모델 가져오기 + description: "지정된 폴더에서 사용할 수 있는 모델 목록을 반환합니다.\n이는 향상된 모델 정보를 제공하는 실험적 엔드포인트입니다.\n" + operationId: getModelsInFolder + security: + [] + parameters: + - name: folder + in: path + required: true + description: 모델을 나열할 폴더 이름 + schema: + type: string + example: checkpoints + responses: + "200": + description: 성공 - 폴더 내 모델 목록 + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ModelFile" + "404": + description: 폴더를 찾을 수 없거나 폴더에 모델이 없음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/experiment/models/preview/{folder}/{path_index}/{filename}": + get: + tags: + - model + summary: 모델 이미지 미리보기 가져오기 + description: "지정된 모델에 대한 이미지 미리보기를 반환합니다.\n이미지는 최적의 성능을 위해 WebP 형식으로 반환됩니다.\n" + operationId: getModelPreview + security: + [] + parameters: + - name: folder + in: path + required: true + description: 모델이 포함된 폴더 이름 + schema: + type: string + example: checkpoints + - name: path_index + in: path + required: true + description: 경로 인덱스 (일반적으로 클라우드 서비스의 경우 0) + schema: + type: integer + example: 0 + - name: filename + in: path + required: true + description: 모델 파일 이름 (.webp 확장자 포함 또는 미포함) + schema: + type: string + example: model.safetensors + responses: + "200": + description: 성공 - 모델 미리보기 이미지 + content: + image/webp: + schema: + type: string + format: binary + "404": + description: 모델을 찾을 수 없거나 미리보기를 사용할 수 없음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/history: + post: + tags: + - job + summary: 실행 기록 관리 + description: "인증된 사용자의 모든 기록을 지우거나 특정 작업 ID를 삭제합니다.\n모든 기록 지우기 또는 특정 작업 ID 삭제를 지원합니다.\n" + operationId: manageHistory + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/HistoryManageRequest" + responses: + "200": + description: 성공 - 기록 관리 작업 완료됨 + "400": + description: 잘못된 요청 파라미터 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: "인증 실패: 인증이 필요합니다." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/history_v2: + get: + tags: + - job + summary: 실행 기록 가져오기 (v2) + deprecated: true + description: "**지원 중단됨.** 대신 [`/api/jobs`](#tag/job/GET/api/jobs)를 사용하세요. 이 엔드포인트는 ComfyUI 호환성을 위해 유지되며, 향후 릴리스에서 제거될 예정입니다. 제거 날짜는 정해지지 않았습니다.\n\n인증된 사용자의 실행 기록을 페이지네이션 지원과 함께 가져옵니다.\n필터링된 프롬프트 데이터(extra_pnginfo에서 워크플로 제거됨)를 포함한 경량 히스토리 형식을 반환합니다.\n" + operationId: getHistory + parameters: + - name: max_items + in: query + required: false + description: 반환할 최대 항목 수 + schema: + type: integer + - name: offset + in: query + required: false + description: 시작 위치 (기본값 0) + schema: + type: integer + default: 0 + responses: + "200": + description: "성공: 실행 기록이 조회되었습니다." + content: + application/json: + schema: + $ref: "#/components/schemas/HistoryResponse" + "401": + description: "인증 실패: 인증이 필요합니다." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/history_v2/{prompt_id}": + get: + tags: + - job + summary: 특정 프롬프트의 기록 가져오기 + deprecated: true + description: "**지원 중단됨.** 대신 [`/api/jobs/{job_id}`](#tag/job/GET/api/jobs/{job_id})를 사용하세요. `/api/prompt`에서 반환된 `prompt_id`는 `job_id`와 동일한 값입니다. 이 엔드포인트는 ComfyUI 호환성을 위해 유지되며, 향후 릴리스에서 제거될 예정입니다. 제거 날짜는 정해지지 않았습니다.\n\n특정 프롬프트 ID의 상세 실행 기록을 가져옵니다.\n완전한 프롬프트 정보를 포함한 전체 히스토리 데이터를 반환합니다.\n" + operationId: getHistoryForPrompt + parameters: + - name: prompt_id + in: path + required: true + description: 기록을 조회할 프롬프트 ID + schema: + type: string + responses: + "200": + description: "성공: 프롬프트 기록이 조회되었습니다." + content: + application/json: + schema: + $ref: "#/components/schemas/HistoryDetailResponse" + "401": + description: "인증 실패: 인증이 필요합니다." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 프롬프트를 찾을 수 없음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/jobs: + get: + tags: + - job + summary: 페이지네이션 및 필터링으로 작업 목록 조회 + description: "인증된 사용자의 작업 목록을 페이지네이션으로 조회합니다.\n목록 보기에 최적화된 경량 작업 데이터를 반환합니다.\n페이로드 크기 감소를 위해 워크플로 및 전체 출력은 제외됩니다.\n" + operationId: listJobs + parameters: + - name: status + in: query + required: false + description: 하나 이상의 상태로 필터링(쉼표로 구분). 제공되지 않으면 모든 작업을 반환합니다. + schema: + type: string + example: "pending,in_progress" + - name: workflow_id + in: query + required: false + description: 워크플로 ID로 필터링(정확히 일치) + schema: + type: string + example: 550e8400-e29b-41d4-a716-446655440000 + - name: output_type + in: query + required: false + description: 출력 미디어 유형으로 필터링(출력이 있는 완료된 작업에만 적용) + schema: + type: string + enum: + - image + - video + - audio + example: image + - name: sort_by + in: query + required: false + description: "정렬 기준 필드 (create_time = 작업이 제출된 시간, execution_time = 워크플로 실행에 걸린 시간)" + schema: + type: string + enum: + - create_time + - execution_time + default: create_time + example: execution_time + - name: sort_order + in: query + required: false + description: "정렬 방향 (asc = 오름차순, desc = 내림차순)" + schema: + type: string + enum: + - asc + - desc + default: desc + - name: offset + in: query + required: false + description: 페이지네이션 오프셋 (0부터 시작) + schema: + type: integer + minimum: 0 + default: 0 + - name: limit + in: query + required: false + description: 페이지당 최대 항목 수 (1-1000) + schema: + type: integer + minimum: 1 + maximum: 1000 + default: 100 + responses: + "200": + description: "성공: 작업 검색됨" + content: + application/json: + schema: + $ref: "#/components/schemas/JobsListResponse" + "401": + description: "인증되지 않음: 인증 필수" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/jobs/{job_id}": + get: + tags: + - job + summary: 전체 작업 세부 정보 조회 + description: "특정 작업의 완전한 세부 정보를 검색합니다 (워크플로 및 출력 포함).\n세부 보기, 워크플로 재실행 및 디버깅에 사용됩니다.\n" + operationId: getJobDetail + parameters: + - name: job_id + in: path + required: true + description: 작업 식별자 (UUID) + schema: + type: string + format: uuid + responses: + "200": + description: "성공: 작업 세부 정보 조회됨" + content: + application/json: + schema: + $ref: "#/components/schemas/JobDetailResponse" + "401": + description: "인증되지 않음: 인증 필수" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: "금지됨: 작업이 사용자 소유가 아닙니다" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 작업을 찾을 수 없음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/view: + get: + tags: + - file + summary: 파일 보기 + description: "ComfyUI 파일 시스템에서 파일을 검색하고 봅니다.\n이 엔드포인트는 일반적으로 생성된 이미지 또는 기타 출력 파일을 보는 데 사용됩니다.\n" + operationId: viewFile + parameters: + - name: filename + in: query + required: true + description: 볼 파일의 이름 + schema: + type: string + example: ComfyUI_00004_.png + - name: subfolder + in: query + required: false + description: "파일이 위치한 하위 폴더 경로.\n**참고:** ComfyUI API 호환성을 위해 허용되지만 클라우드에서는 **무시**됩니다.\n클라우드는 콘텐츠 주소 저장소를 사용하며 에셋은 해시로만 저장됩니다.\n하위 폴더는 클라이언트 측 UI 메타데이터이며 저장소 조회에 사용되지 않습니다.\n" + schema: + type: string + example: tests/foo/bar + - name: type + in: query + required: false + description: "파일 유형 (예: 출력, 입력, 임시).\n**참고:** 클라우드에서는 `output`과 `temp` 파일이 동일한 버킷에 저장됩니다.\n유형 파라미터는 호환성을 위해 사용되지만 저장 위치는 해시에 의해 결정됩니다.\n" + schema: + type: string + example: output + - name: fullpath + in: query + required: false + description: 파일의 전체 경로 (임시 파일에 사용됨) + schema: + type: string + - name: format + in: query + required: false + description: 파일 형식 + schema: + type: string + - name: frame_rate + in: query + required: false + description: 비디오 파일의 프레임 속도 + schema: + type: integer + - name: workflow + in: query + required: false + description: 워크플로 식별자 + schema: + type: string + - name: timestamp + in: query + required: false + description: 타임스탬프 파라미터 + schema: + type: integer + example: "1234567890" + - name: channel + in: query + required: false + description: "PNG 이미지에서 추출할 이미지 채널.\n- 'rgb': RGB 채널만 반환 (알파는 완전 불투명으로 설정)\n- 'a' 또는 'alpha': 알파 채널을 회색조 이미지로 반환\n- 지정하지 않으면 리다이렉트를 통해 원본 이미지를 변경하지 않고 반환\n" + schema: + type: string + example: rgb + responses: + "200": + description: 성공 - 파일 콘텐츠 반환됨 (채널 파라미터가 있는 경우 사용) + content: + image/png: + schema: + type: string + format: binary + description: 추출된 채널이 포함된 처리된 PNG 이미지 + "302": + description: GCS 서명된 URL로 리다이렉트 + headers: + Location: + description: GCS에서 파일에 액세스하기 위한 서명된 URL + schema: + type: string + "400": + description: 잘못된 요청 파라미터 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 파일을 찾을 수 없거나 권한이 없음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/files/mask-layers: + get: + tags: + - file + summary: 관련 마스크 레이어 파일 가져오기 + description: "마스크 파일(4개 레이어 중 하나)이 주어지면 관련된 모든 마스크 레이어 파일을 반환합니다.\n이전에 편집한 마스크를 다시 열 때 마스크 편집기가 페인트, 마스크 및 채색 레이어를 로드하는 데 사용됩니다.\n" + operationId: getMaskLayers + parameters: + - name: filename + in: query + required: true + description: 마스크 레이어 파일의 해시 파일 이름 + schema: + type: string + example: abc123def456.png + responses: + "200": + description: 성공 - 관련 마스크 레이어 반환됨 + content: + application/json: + schema: + type: object + properties: + mask: + type: string + description: 마스크 레이어의 파일 이름 + nullable: true + paint: + type: string + description: 페인트 스트로크 레이어의 파일 이름 + nullable: true + painted: + type: string + description: 채색된 이미지 레이어의 파일 이름 + nullable: true + painted_masked: + type: string + description: 최종 합성 레이어의 파일 이름 + nullable: true + "404": + description: 파일을 찾을 수 없거나 마스크 파일이 아님 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/assets: + get: + tags: + - asset + summary: 사용자 에셋 목록 + description: "인증된 사용자가 소유한 에셋의 페이지별 목록을 검색합니다.\n태그, 이름, 메타데이터별 필터링 및 정렬 옵션을 지원합니다.\n" + operationId: listAssets + parameters: + - name: include_tags + in: query + description: 이러한 태그를 모두 가진 에셋 필터 + schema: + type: array + items: + type: string + style: form + explode: false + - name: exclude_tags + in: query + description: 이러한 태그 중 하나라도 가진 에셋 제외 + schema: + type: array + items: + type: string + style: form + explode: false + - name: name_contains + in: query + description: 이름에 이 부분 문자열을 포함하는 에셋 필터 (대소문자 구분 안 함) + schema: + type: string + - name: metadata_filter + in: query + description: 메타데이터 필드로 필터링하기 위한 JSON 객체 + schema: + type: string + - name: limit + in: query + description: 반환할 최대 에셋 수 (1-500) + schema: + type: integer + minimum: 1 + maximum: 500 + default: 20 + - name: offset + in: query + description: 페이지네이션을 위해 건너뛸 에셋 수 + schema: + type: integer + minimum: 0 + default: 0 + - name: sort + in: query + description: 정렬 기준 필드 + schema: + type: string + enum: + - name + - created_at + - updated_at + - size + - last_access_time + default: created_at + - name: order + in: query + description: 정렬 순서 + schema: + type: string + enum: + - asc + - desc + default: desc + - name: include_public + in: query + description: 결과에 공개/공유 에셋 포함 여부 + schema: + type: boolean + default: true + responses: + "200": + description: 성공 - 에셋 반환됨 + content: + application/json: + schema: + $ref: "#/components/schemas/ListAssetsResponse" + "400": + description: 잘못된 요청 파라미터 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + post: + tags: + - asset + summary: 새 에셋 업로드 + description: "새로운 에셋을 관련 메타데이터와 함께 시스템에 업로드합니다.\n두 가지 업로드 방법을 지원합니다:\n1. 직접 파일 업로드 (multipart/form-data)\n2. URL 기반 업로드 (application/json, source: \"url\")\n\n동일한 해시의 에셋이 이미 존재하는 경우, 기존 에셋을 반환합니다.\n" + operationId: uploadAsset + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + required: + - file + properties: + file: + type: string + format: binary + description: 업로드할 에셋 파일 + tags: + type: array + items: + type: string + description: "에셋의 자유 형식 태그. 일반적인 유형으로는 \"모델\", \"입력\", \"출력\" 및 \"임시\"가 포함되지만, 모든 태그를 어떤 순서로든 사용할 수 있습니다." + id: + type: string + format: uuid + description: 멱등 생성을 위한 선택적 에셋 ID. 제공되고 에셋이 존재하는 경우 기존 에셋을 반환합니다. + preview_id: + type: string + format: uuid + description: 선택적 미리보기 에셋 ID. 제공되지 않은 경우 이미지는 자체 ID를 미리보기로 사용합니다. + name: + type: string + description: 에셋의 표시 이름 + mime_type: + type: string + description: "에셋의 MIME 유형 (예: \"image/png\", \"video/mp4\")" + user_metadata: + type: string + description: 문자열 형태의 사용자 정의 JSON 메타데이터 + application/json: + schema: + type: object + required: + - url + - name + properties: + url: + type: string + format: uri + description: 에셋을 다운로드할 HTTP/HTTPS URL + name: + type: string + description: 에셋의 표시 이름 (파일 확장자 결정에 사용됨) + tags: + type: array + items: + type: string + description: "에셋의 자유 형식 태그. 일반적인 유형으로는 \"모델\", \"입력\", \"출력\" 및 \"임시\"가 포함되지만, 모든 태그를 어떤 순서로든 사용할 수 있습니다." + user_metadata: + type: object + additionalProperties: true + description: 에셋과 함께 저장할 사용자 정의 메타데이터 + preview_id: + type: string + format: uuid + description: 선택적 미리보기 에셋 ID + responses: + "200": + description: 에셋이 이미 존재함 (기존 에셋 반환) + content: + application/json: + schema: + $ref: "#/components/schemas/AssetCreated" + "201": + description: 에셋 생성 성공 + content: + application/json: + schema: + $ref: "#/components/schemas/AssetCreated" + "400": + description: "잘못된 요청 (잘못된 파일, 유효하지 않은 URL, 잘못된 콘텐츠 유형 등)" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: 소스 URL에 인증이 필요하거나 액세스가 거부됨 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 소스 URL을 찾을 수 없음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "413": + description: 파일이 너무 큼 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "415": + description: 지원되지 않는 미디어 유형 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "422": + description: 네트워크 오류 또는 시간 초과로 인한 다운로드 실패 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/assets/from-hash: + post: + tags: + - asset + summary: 기존 해시에서 에셋 참조 생성 + description: "클라우드 스토리지의 기존 해시를 사용하여 새 에셋 참조를 생성합니다.\n기본 데이터가 이미 존재할 때 파일 콘텐츠를 다시 업로드하지 않아도 되므로,\n대용량 파일이나 잘 알려진 에셋을 참조할 때 유용합니다.\n사용자는 새 참조에 자신의 메타데이터와 태그를 제공합니다.\n" + operationId: createAssetFromHash + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - hash + - tags + properties: + hash: + type: string + description: 기존 에셋의 해시. Blake3 (blake3:) 또는 SHA256 (sha256:) 형식을 지원합니다 + pattern: "^(blake3|sha256):[a-f0-9]{64}$" + name: + type: string + description: 에셋 참조의 표시 이름 (선택 사항) + tags: + type: array + items: + type: string + minItems: 1 + description: "에셋의 자유 형식 태그. 일반적인 유형은 \"models\", \"input\", \"output\", \"temp\" 등이 있지만, 모든 태그를 어떤 순서로든 사용할 수 있습니다." + mime_type: + type: string + description: "에셋의 MIME 유형 (예: \"image/png\", \"video/mp4\")" + user_metadata: + type: object + description: 이 에셋 참조의 사용자 정의 메타데이터 + additionalProperties: true + responses: + "200": + description: 에셋 참조가 이미 존재함 (기존 항목 반환) + content: + application/json: + schema: + $ref: "#/components/schemas/AssetCreated" + "201": + description: 에셋 참조가 성공적으로 생성됨 + content: + application/json: + schema: + $ref: "#/components/schemas/AssetCreated" + "400": + description: "잘못된 요청 (잘못된 해시 형식, 유효하지 않은 태그 등)" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 지정된 해시의 소스 에셋을 찾을 수 없음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/assets/remote-metadata: + get: + tags: + - asset + summary: 원격 URL에서 에셋 메타데이터 가져오기 + description: "원격 다운로드 URL에서 전체 파일을 다운로드하지 않고 에셋의 메타데이터를 검색합니다.\nCivitAI 및 기타 모델 저장소를 포함한 다양한 소스를 지원합니다.\nHEAD 요청 또는 API 호출을 사용하여 효율적으로 메타데이터를 가져옵니다.\n이 엔드포인트는 다운로드 전 메타데이터 미리보기용이며, 기존 에셋의 메타데이터를 가져오는 용도가 아닙니다.\n" + operationId: getRemoteAssetMetadata + parameters: + - name: url + in: query + required: true + description: 메타데이터를 검색할 다운로드 URL + schema: + type: string + format: uri + example: https://civitai.com/api/download/models/123456 + responses: + "200": + description: 메타데이터가 성공적으로 검색됨 + content: + application/json: + schema: + $ref: "#/components/schemas/AssetMetadataResponse" + "400": + description: 잘못된 URL 또는 필수 매개변수 누락 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "422": + description: 소스에서 메타데이터를 검색하지 못했습니다 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/assets/download: + post: + tags: + - asset + summary: 대용량 파일의 배경 다운로드 시작 + description: "Huggingface 또는 Civitai에서 대용량 파일을 위한 배경 다운로드 작업을 시작합니다.\n\n파일이 저장소에 이미 존재하는 경우, 에셋 레코드가 즉시 생성되어 반환됩니다 (200 OK).\n파일이 존재하지 않는 경우, 배경 작업이 생성되고 작업 ID가 반환됩니다 (202 Accepted).\n프론트엔드는 GET /api/tasks/{task_id}를 사용하여 진행 상황을 추적할 수 있습니다.\n" + operationId: createAssetDownload + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - source_url + properties: + source_url: + type: string + format: uri + description: 다운로드할 파일의 URL (huggingface.co 또는 civitai.com에서 가져와야 함) + example: https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.safetensors + tags: + type: array + items: + type: string + description: "에셋의 선택적 태그 (예: [\"model\", \"checkpoint\"])" + user_metadata: + type: object + additionalProperties: true + description: 에셋에 첨부할 선택적 사용자 정의 메타데이터 + preview_id: + type: string + format: uuid + description: 다운로드된 에셋과 연결할 선택적 미리보기 에셋 ID + example: 550e8400-e29b-41d4-a716-446655440000 + responses: + "200": + description: 파일이 이미 스토리지에 존재함 - 에셋이 즉시 생성/반환됨 + content: + application/json: + schema: + $ref: "#/components/schemas/AssetCreated" + "202": + description: 수락됨 - 다운로드 작업이 생성되어 배경에서 처리 중 + content: + application/json: + schema: + $ref: "#/components/schemas/AssetDownloadResponse" + "400": + description: 잘못된 URL 또는 지원되지 않는 소스 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "422": + description: 검증 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/assets/{id}": + get: + tags: + - asset + summary: 에셋 세부 정보 가져오기 + description: 특정 에셋에 대한 상세 정보를 검색합니다 + operationId: getAssetById + parameters: + - name: id + in: path + required: true + description: 에셋 ID + schema: + type: string + format: uuid + responses: + "200": + description: 에셋 세부 정보가 성공적으로 검색되었습니다 + content: + application/json: + schema: + $ref: "#/components/schemas/Asset" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 에셋을 찾을 수 없음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + put: + tags: + - asset + summary: 자산 메타데이터 업데이트 + description: "에셋의 메타데이터를 업데이트합니다. 최소 한 개의 필드를 제공해야 합니다.\nname, tags 및 user_metadata만 업데이트할 수 있습니다.\n" + operationId: updateAsset + parameters: + - name: id + in: path + required: true + description: 에셋 ID + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: 에셋의 새 표시 이름 + tags: + type: array + items: + type: string + description: 에셋의 업데이트된 태그 + mime_type: + type: string + description: 에셋의 업데이트된 MIME 유형 + preview_id: + type: string + format: uuid + description: 업데이트된 미리보기 에셋 ID + user_metadata: + type: object + description: 업데이트 된 사용자 정의 메타데이터 + additionalProperties: true + minProperties: 1 + responses: + "200": + description: 자산이 성공적으로 업데이트됨 + content: + application/json: + schema: + $ref: "#/components/schemas/AssetUpdated" + "400": + description: 잘못된 요청 (제공된 필드 없음) + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 자산을 찾을 수 없음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + delete: + tags: + - asset + summary: 에셋 삭제 + description: "에셋과 해당 콘텐츠를 스토리지에서 삭제합니다.\n데이터베이스 레코드와 스토리지 콘텐츠가 모두 삭제됩니다.\n" + operationId: deleteAsset + parameters: + - name: id + in: path + required: true + description: 에셋 ID + schema: + type: string + format: uuid + responses: + "204": + description: 에셋이 성공적으로 삭제되었습니다 + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 에셋을 찾을 수 없음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/assets/{id}/tags": + post: + tags: + - asset + summary: 자산에 태그 추가 + description: 기존 자산에 하나 이상의 태그를 추가합니다 + operationId: addAssetTags + parameters: + - name: id + in: path + required: true + description: 자산 ID + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - tags + properties: + tags: + type: array + items: + type: string + minItems: 1 + description: 자산에 추가할 태그 + responses: + "200": + description: 태그가 성공적으로 추가됨 + content: + application/json: + schema: + $ref: "#/components/schemas/TagsModificationResponse" + "400": + description: 잘못된 요청 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 자산을 찾을 수 없음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + delete: + tags: + - asset + summary: 자산에서 태그 제거 + description: 기존 자산에서 하나 이상의 태그를 제거합니다 + operationId: removeAssetTags + parameters: + - name: id + in: path + required: true + description: 자산 ID + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - tags + properties: + tags: + type: array + items: + type: string + minItems: 1 + description: 자산에서 제거할 태그 + responses: + "200": + description: 태그가 성공적으로 제거됨 + content: + application/json: + schema: + $ref: "#/components/schemas/TagsModificationResponse" + "400": + description: 잘못된 요청 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 자산을 찾을 수 없음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/tags: + get: + tags: + - asset + summary: 모든 태그 나열 + description: "에셋 전체에서 사용된 모든 태그 목록을 검색합니다.\n사용 횟수 및 필터링 옵션을 포함합니다.\n" + operationId: listTags + parameters: + - name: prefix + in: query + description: 접두사로 태그 필터링 + schema: + type: string + - name: limit + in: query + description: 반환할 최대 태그 수 (1-1000) + schema: + type: integer + minimum: 1 + maximum: 1000 + default: 100 + - name: offset + in: query + description: 페이지 매김을 위해 건너뛸 태그 수 + schema: + type: integer + minimum: 0 + default: 0 + - name: order + in: query + description: 태그 정렬 순서 + schema: + type: string + enum: + - count_desc + - name_asc + default: count_desc + - name: include_zero + in: query + description: 사용 횟수가 0인 태그 포함 + schema: + type: boolean + default: false + - name: include_public + in: query + description: 태그를 계산할 때 공개/공유 에셋 포함 여부 + schema: + type: boolean + default: true + responses: + "200": + description: 태그를 성공적으로 검색했습니다. + content: + application/json: + schema: + $ref: "#/components/schemas/ListTagsResponse" + "400": + description: 잘못된 요청 파라미터 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/assets/tags/refine: + get: + tags: + - asset + summary: 필터링된 에셋에 대한 태그 히스토그램 가져오기 + description: "주어진 필터와 일치하는 에셋에 나타나는 태그의 히스토그램을 반환합니다.\n사용 가능한 태그와 그 개수를 표시하여 에셋 검색을 정제하는 데 유용합니다.\n0이 아닌 개수의 태그(일치하는 에셋에 존재하는 태그)만 반환합니다.\n" + operationId: getAssetTagHistogram + parameters: + - name: include_tags + in: query + description: 이 태그를 모두 가진 에셋을 필터링합니다 + schema: + type: array + items: + type: string + style: form + explode: false + - name: exclude_tags + in: query + description: 이 태그 중 하나라도 가진 에셋을 제외합니다 + schema: + type: array + items: + type: string + style: form + explode: false + - name: name_contains + in: query + description: 이름에 이 부분 문자열을 포함하는 에셋 필터링 (대소문자 구분 없음) + schema: + type: string + - name: metadata_filter + in: query + description: 메타데이터 필드로 필터링하기 위한 JSON 객체 + schema: + type: string + - name: limit + in: query + description: "반환할 최대 태그 수 (1-1000, 기본값 100)" + schema: + type: integer + minimum: 1 + maximum: 1000 + default: 100 + - name: include_public + in: query + description: 결과에 공개/공유 에셋 포함 여부 + schema: + type: boolean + default: true + responses: + "200": + description: 성공 - 태그 히스토그램이 반환됨 + content: + application/json: + schema: + $ref: "#/components/schemas/AssetTagHistogramResponse" + "400": + description: 잘못된 요청 파라미터 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/assets/hash/{hash}": + head: + tags: + - asset + summary: 해시로 에셋 존재 여부 확인 + description: "지정된 해시의 콘텐츠가 클라우드 스토리지에 존재하는지 확인합니다.\n콘텐츠가 존재하면 200을 반환하고, 없으면 404를 반환합니다.\n`/api/assets/from-hash`를 사용하기 전에 가용성을 확인하는 데 유용합니다.\n" + operationId: checkAssetByHash + parameters: + - name: hash + in: path + required: true + description: "형식 'blake3:hex_digest'의 에셋 Blake3 해시" + schema: + type: string + pattern: "^blake3:[a-f0-9]{64}$" + example: blake3:a1b2c3d4e5f6789012345678901234567890123456789012345678901234 + responses: + "200": + description: 에셋이 존재함 + "400": + description: 잘못된 해시 형식 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 에셋을 찾을 수 없음 + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/queue: + get: + tags: + - job + summary: 실행 대기열 정보 가져오기 + description: 실행 대기열의 실행 중 및 대기 중인 항목 정보 반환 + operationId: getQueueInfo + responses: + "200": + description: 성공 + content: + application/json: + schema: + $ref: "#/components/schemas/QueueInfo" + "400": + description: 잘못된 요청 파라미터 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 잘못된 요청 파라미터 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + post: + tags: + - job + summary: 실행 대기열 연산 관리 + description: "특정 대기 중인 작업을 ID로 취소하거나 실행 대기열의 모든 대기 중인 작업을 지웁니다.\n참고: 이 엔드포인트는 대기 중인 작업에만 영향을 미칩니다. 실행 중인 작업을 취소하려면 /api/interrupt를 사용하세요.\n" + operationId: manageQueue + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/QueueManageRequest" + responses: + "200": + description: 성공 + content: + application/json: + schema: + $ref: "#/components/schemas/QueueManageResponse" + "400": + description: 잘못된 요청 파라미터 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/interrupt: + post: + tags: + - job + summary: 현재 실행 중인 작업 중단 + description: "인증된 사용자의 현재 **실행 중**인 모든 작업을 취소합니다.\n이 기능은 현재 'in_progress' 상태인 모든 작업을 중단합니다.\n참고: 이 엔드포인트는 실행 중인 작업에만 영향을 미칩니다. 대기 중인 작업을 취소하려면 /api/queue를 사용하세요.\n" + operationId: interruptJob + responses: + "200": + description: "성공: 작업이 중단되었거나 실행 중인 작업이 없음" + "401": + description: "인증 실패: 인증이 필요합니다." + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/userdata: + get: + tags: + - user + operationId: getUserdata + summary: 사용자 데이터 파일 나열 + description: 지정된 디렉터리의 사용자 데이터 파일 목록을 반환합니다. 선택적으로 재귀적으로 검색하거나 전체 메타데이터를 포함할 수 있습니다. + parameters: + - name: dir + in: query + required: true + description: "파일을 나열할 디렉터리 경로. 마지막에 슬래시를 포함해야 합니다.\n예: \"워크플로/\" 또는 \"설정/\"\n" + schema: + type: string + example: workflows/ + - name: recurse + in: query + required: false + description: 참이면 하위 디렉터리의 파일도 포함합니다. 그렇지 않으면 지정된 디렉터리에 있는 파일만 나열합니다. + schema: + type: boolean + default: false + - name: split + in: query + required: false + description: "파일 정보를 유형별로 분할할지 여부.\n**참고:** ComfyUI API 호환성을 위해 허용되지만 현재는 무시됩니다.\n" + schema: + type: boolean + default: false + - name: full_info + in: query + required: false + description: "전체 파일 메타데이터를 반환할지 여부.\n**참고:** ComfyUI API 호환성을 위해 허용되지만 현재는 무시됩니다(항상 전체 정보를 반환).\n" + schema: + type: boolean + default: false + responses: + "200": + description: 사용자 데이터 파일 목록. + content: + application/json: + schema: + $ref: "#/components/schemas/GetUserDataResponseFull" + "400": + description: "잘못된 요청 (예: 잘못된 파일명)." + content: + text/plain: + schema: + type: string + "401": + description: 인증되지 않음. + content: + text/plain: + schema: + type: string + "404": + description: 파일을 찾을 수 없거나 잘못된 경로. + content: + text/plain: + schema: + type: string + "500": + description: 일반 오류 + content: + text/plain: + schema: + type: string + "/api/userdata/{file}": + get: + tags: + - user + operationId: getUserdataFile + summary: 사용자 데이터 파일 가져오기 + description: 요청한 사용자 데이터 파일이 존재하면 반환합니다. + parameters: + - name: file + in: path + required: true + description: 검색할 사용자 데이터의 파일 이름. + schema: + type: string + responses: + "200": + description: 파일을 성공적으로 검색했습니다. + content: + application/octet-stream: + schema: + type: string + format: binary + "400": + description: "잘못된 요청 (예: 잘못된 파일명)." + content: + text/plain: + schema: + type: string + "401": + description: 인증되지 않음. + content: + text/plain: + schema: + type: string + "404": + description: 파일을 찾을 수 없거나 잘못된 경로. + content: + text/plain: + schema: + type: string + "500": + description: 일반 오류 + content: + text/plain: + schema: + type: string + post: + tags: + - user + operationId: postUserdataFile + summary: 사용자 데이터 파일 업로드 또는 업데이트 + description: "사용자 데이터 디렉토리에 파일을 업로드합니다. 선택적 쿼리 파라미터를 통해 덮어쓰기 동작 및 응답 세부 정보를 제어할 수 있습니다.\n" + parameters: + - name: file + in: path + required: true + description: 대상 파일 경로 (필요한 경우 URL 인코딩). + schema: + type: string + - name: overwrite + in: query + required: false + description: "\"거짓\"이면 기존 파일 덮어쓰기를 방지합니다. 기본값은 \"참\"입니다." + schema: + type: string + enum: + - "true" + - "false" + default: "true" + - name: full_info + in: query + required: false + description: "\"참\"이면 자세한 파일 정보를 반환하고, \"거짓\"이면 상대 경로만 반환합니다." + schema: + type: string + enum: + - "true" + - "false" + default: "false" + requestBody: + required: true + content: + application/octet-stream: + schema: + type: string + format: binary + responses: + "200": + description: 파일 업로드 성공. + content: + application/json: + schema: + $ref: "#/components/schemas/UserDataResponseFull" + "400": + description: "'file' 파라미터 누락 또는 잘못됨." + content: + text/plain: + schema: + type: string + "401": + description: 인증되지 않음. + content: + text/plain: + schema: + type: string + "403": + description: 요청한 경로는 허용되지 않습니다. + content: + text/plain: + schema: + type: string + "409": + description: 파일이 이미 존재하며 덮어쓰기가 거짓으로 설정되어 있습니다. + content: + text/plain: + schema: + type: string + "500": + description: 일반 오류 + content: + text/plain: + schema: + type: string + delete: + tags: + - user + operationId: deleteUserdataFile + summary: 사용자 데이터 파일 삭제 + description: "데이터베이스에서 사용자 데이터 파일을 삭제합니다. 파일 파라미터는 사용자 데이터 디렉토리 내의 상대 경로여야 합니다.\n" + parameters: + - name: file + in: path + required: true + description: 삭제할 파일 경로 (필요한 경우 URL 인코딩). + schema: + type: string + responses: + "204": + description: 파일 삭제 성공 (콘텐츠 없음). + "401": + description: 인증되지 않음. + content: + text/plain: + schema: + type: string + "404": + description: 파일을 찾을 수 없음. + content: + text/plain: + schema: + type: string + "500": + description: 내부 서버 오류. + content: + text/plain: + schema: + type: string + /api/upload/image: + post: + tags: + - file + summary: 이미지 파일 업로드 + description: "클라우드 저장소에 이미지 파일을 업로드합니다.\n\n이미지 제한 사항:\n - 최대 파일 크기: 50MB\n - 각 변의 최대 너비/높이: 16384px\n - 최대 총 픽셀 수: 64메가픽셀 (67108864 픽셀)\n\n이 제한을 초과하는 업로드는 HTTP 400으로 거부됩니다.\n" + operationId: uploadImage + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + required: + - image + properties: + image: + type: string + format: binary + description: 업로드할 이미지 파일 + overwrite: + type: string + description: "기존 파일 덮어쓰기 여부 (참/거짓).\n**참고:** ComfyUI API 호환성을 위해 허용되지만 클라우드에서는 사실상 무시됩니다.\n클라우드는 콘텐츠 주소 지정 저장소(해시 기반 중복 제거)를 사용하므로, 동일한 콘텐츠는 항상 동일한 해시에 매핑됩니다.\n동일한 콘텐츠를 다시 업로드하는 것은 아무런 작업도 수행하지 않습니다.\n" + subfolder: + type: string + description: "선택적 하위 폴더 경로.\n**참고:** ComfyUI API 호환성을 위해 허용되지만 저장에는 **무시**됩니다.\n클라우드는 해시만으로 에셋을 저장합니다. 하위 폴더는 클라이언트 측 구성을 위해 응답에 반환되지만 서버 측 저장 경로에는 사용되지 않습니다.\n" + type: + type: string + description: "업로드 유형 (기본값: \"output\").\n**참고:** ComfyUI API 호환성을 위해 허용됩니다. 클라우드는 모든 업로드를 디렉토리 기반 구성이 아닌 태그가 있는 에셋으로 저장합니다.\n" + responses: + "200": + description: 이미지 업로드 성공 + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: 업로드된 이미지의 파일 이름 + subfolder: + type: string + description: 이미지가 저장된 하위 폴더 경로 + type: + type: string + description: "업로드 유형 (예: \"output\")" + "400": + description: 잘못된 요청 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/upload/mask: + post: + tags: + - file + summary: 마스크 이미지 업로드 + description: "기존 이미지에 적용할 마스크 이미지를 업로드합니다.\n\n이미지 제한 사항은 업로드된 마스크와 참조된 원본 이미지 모두에 적용됩니다:\n - 최대 파일 크기: 50 MB\n - 에지당 최대 너비/높이: 16384 px\n - 최대 총 픽셀 수: 64 메가픽셀 (67108864 픽셀)\n\n이러한 제한을 초과하는 업로드는 HTTP 400으로 거부됩니다.\n" + operationId: uploadMask + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + required: + - image + - original_ref + properties: + image: + type: string + format: binary + description: 업로드할 마스크 이미지 파일 + original_ref: + type: string + description: 원본 이미지 참조를 포함하는 JSON 문자열 + responses: + "200": + description: 마스크 업로드 성공 + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: 업로드된 마스크의 파일 이름 + subfolder: + type: string + description: 마스크가 저장된 하위 폴더 경로 + type: + type: string + description: "업로드 유형 (예: \"output\")" + metadata: + type: object + description: 마스크 감지 및 재편집을 위한 추가 메타데이터 + properties: + is_mask: + type: boolean + description: 이 파일이 마스크인지 여부 + original_hash: + type: string + description: 원본 언마스크 이미지의 해시 + mask_type: + type: string + description: "마스크 유형 (예: \"painted_masked\")" + related_files: + type: object + description: 관련 마스크 레이어 파일 (있는 경우) + properties: + mask: + type: string + description: 마스크 레이어의 해시 + paint: + type: string + description: 페인트 레이어의 해시 + painted: + type: string + description: 페인트된 이미지의 해시 + "400": + description: 잘못된 요청 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/system_stats: + get: + tags: + - system + summary: 시스템 통계 가져오기 + description: "ComfyUI 버전, 장치 정보 및 시스템 리소스를 포함한 시스템 통계를 반환합니다." + operationId: getSystemStats + security: + [] + responses: + "200": + description: 성공 + content: + application/json: + schema: + $ref: "#/components/schemas/SystemStatsResponse" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/user: + get: + tags: + - user + summary: 현재 사용자 정보 가져오기 + description: 현재 인증된 사용자에 대한 정보를 반환합니다 + operationId: getUser + responses: + "200": + description: 성공 + content: + application/json: + schema: + $ref: "#/components/schemas/UserResponse" + "401": + description: 인증되지 않음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/job/{job_id}/status": + get: + tags: + - job + summary: 작업 상태 가져오기 + description: 특정 작업의 현재 상태를 ID로 반환합니다. + operationId: getJobStatus + parameters: + - name: job_id + in: path + required: true + description: 작업의 고유 ID + schema: + type: string + format: uuid + responses: + "200": + description: "성공: 작업 상태가 반환되었습니다." + content: + application/json: + schema: + $ref: "#/components/schemas/JobStatusResponse" + "401": + description: 인증 실패 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: "금지됨: 작업이 다른 사용자에게 속함" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 작업을 찾을 수 없음 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 내부 서버 오류 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" +components: + securitySchemes: + ApiKeyAuth: + type: apiKey + in: header + name: X-API-Key + description: "API 키 인증. 계정 설정에서 API 키를 생성하세요.\nhttps://platform.comfy.org/profile/api-keys 에서 생성할 수 있습니다. X-API-Key 헤더에 키를 전달하세요.\n" + schemas: + PromptRequest: + type: object + required: + - prompt + properties: + prompt: + type: object + description: 실행할 워크플로 그래프 + additionalProperties: true + number: + type: number + description: "실행 대기열의 우선순위 번호(낮은 숫자가 높은 우선순위를 가짐).\n**참고:** ComfyUI API 호환성을 위해 허용되지만 클라우드에서는 **무시됩니다**.\n클라우드는 사용자별 순서와 공정한 스케줄링을 사용하여 자체 실행 대기열 관리를 사용합니다.\n" + front: + type: boolean + description: "참이면 프롬프트를 실행 대기열의 맨 앞에 추가합니다.\n**참고:** ComfyUI API 호환성을 위해 허용되지만 클라우드에서는 **무시됩니다**.\n클라우드는 작업 제출 시간과 공정한 스케줄링을 기준으로 내부적으로 실행 대기열 순서를 관리합니다.\n" + extra_data: + type: object + description: 프롬프트와 연결할 추가 데이터 + additionalProperties: true + partial_execution_targets: + type: array + items: + type: string + description: 실행할 노드 이름 목록 + PromptResponse: + type: object + properties: + prompt_id: + type: string + format: uuid + description: 프롬프트 실행의 고유 식별자 + number: + type: number + description: 실행 대기열의 우선순위 번호 + node_errors: + type: object + description: 프롬프트 노드의 오류 + additionalProperties: true + ErrorResponse: + type: object + required: + - code + - message + properties: + code: + type: string + message: + type: string + PromptInfo: + type: object + properties: + exec_info: + type: object + properties: + queue_remaining: + type: integer + description: 실행 대기열에 남은 항목 수 + NodeInfo: + type: object + properties: + input: + type: object + description: 노드의 입력 사양 + additionalProperties: true + input_order: + type: object + description: 표시를 위한 입력 순서 + additionalProperties: + type: array + items: + type: string + output: + type: array + items: + type: string + description: 노드의 출력 유형 + output_is_list: + type: array + items: + type: boolean + description: 각 출력이 목록인지 여부 + output_name: + type: array + items: + type: string + description: 출력 이름 + name: + type: string + description: 노드의 내부 이름 + display_name: + type: string + description: 노드의 표시 이름 + description: + type: string + description: 노드의 설명 + python_module: + type: string + description: 노드를 구현하는 Python 모듈 + category: + type: string + description: 노드의 카테고리 + output_node: + type: boolean + description: 출력 노드인지 여부 + output_tooltips: + type: array + items: + type: string + description: 출력에 대한 도구 설명 + deprecated: + type: boolean + description: 노드가 지원 중단되었는지 여부 + experimental: + type: boolean + description: 노드가 실험적인지 여부 + api_node: + type: boolean + description: API 노드인지 여부 + GlobalSubgraphInfo: + type: object + description: 전역 서브그래프 블루프린트에 대한 메타데이터 (전체 데이터 없음) + required: + - source + - name + - info + properties: + source: + type: string + description: "서브그래프의 소스 유형: 워크플로 템플릿의 경우 \"templates\", 커스텀 노드 서브그래프의 경우 \"custom_node\"" + name: + type: string + description: 서브그래프 블루프린트의 표시 이름 + info: + type: object + description: 서브그래프에 대한 추가 정보 + required: + - node_pack + properties: + node_pack: + type: string + description: 이 서브그래프를 제공하는 노드 팩/모듈 + data: + type: string + description: 전체 서브그래프 JSON 데이터 (리스트 보기에서는 비어 있을 수 있음) + GlobalSubgraphData: + type: object + description: 전역 서브그래프 블루프린트의 전체 데이터 + required: + - source + - name + - info + - data + properties: + source: + type: string + description: "서브그래프의 소스 유형: 워크플로 템플릿의 경우 \"templates\", 커스텀 노드 서브그래프의 경우 \"custom_node\"" + name: + type: string + description: 서브그래프 블루프린트의 표시 이름 + info: + type: object + description: 서브그래프에 대한 추가 정보 + required: + - node_pack + properties: + node_pack: + type: string + description: 이 서브그래프를 제공하는 노드 팩/모듈 + data: + type: string + description: 문자열로 된 전체 서브그래프 JSON 데이터 + HistoryResponse: + type: object + description: "히스토리 배열이 포함된 실행 히스토리 응답.\n히스토리 항목 배열을 포함하는 \"history\" 키가 있는 객체를 반환합니다.\n각 항목에는 실행 데이터와 함께 prompt_id 속성이 포함됩니다.\n" + required: + - history + properties: + history: + type: array + description: 생성 시간 순으로 정렬된 히스토리 항목 배열 (최신순) + items: + $ref: "#/components/schemas/HistoryEntry" + HistoryEntry: + type: object + description: prompt_id 및 실행 데이터가 포함된 히스토리 항목 + required: + - prompt_id + properties: + prompt_id: + type: string + description: 이 프롬프트 실행에 대한 고유 식별자 + create_time: + type: integer + format: int64 + description: 작업 생성 타임스탬프 (밀리초 단위의 UNIX 타임스탬프) + workflow_id: + type: string + description: 워크플로 그래프 정의를 식별하는 UUID + prompt: + type: object + description: 필터링된 프롬프트 실행 데이터 (경량 형식) + properties: + priority: + type: number + format: double + description: 실행 우선순위 + prompt_id: + type: string + description: 프롬프트 ID + extra_data: + type: object + description: 추가 실행 데이터 (extra_pnginfo에서 워크플로가 제거됨) + additionalProperties: true + outputs: + type: object + description: "실행에서 생성된 이미지, 파일 등의 출력 데이터" + additionalProperties: true + status: + type: object + description: 실행 상태 및 타임라인 정보 + additionalProperties: true + meta: + type: object + description: 실행 및 노드에 대한 메타데이터 + additionalProperties: true + HistoryDetailEntry: + type: object + description: 전체 프롬프트 데이터가 포함된 히스토리 항목 + properties: + prompt: + type: object + description: 전체 프롬프트 실행 데이터 + properties: + priority: + type: number + format: double + description: 실행 우선순위 + prompt_id: + type: string + description: 프롬프트 ID + prompt: + type: object + description: 워크플로 노드 + additionalProperties: true + extra_data: + type: object + description: 추가 실행 데이터 + additionalProperties: true + outputs_to_execute: + type: array + items: + type: string + description: 실행할 출력 노드 + outputs: + type: object + description: "실행의 출력 데이터 (생성된 이미지, 파일 등)" + additionalProperties: true + status: + type: object + description: 실행 상태 및 타임라인 정보 + additionalProperties: true + meta: + type: object + description: 실행 및 노드에 대한 메타데이터 + additionalProperties: true + HistoryDetailResponse: + type: object + description: "특정 프롬프트에 대한 상세 실행 히스토리 응답.\nprompt_id를 키로, 전체 히스토리 데이터를 값으로 하는 사전을 반환합니다.\n" + additionalProperties: + $ref: "#/components/schemas/HistoryDetailEntry" + QueueInfo: + type: object + description: 대기 중 및 실행 중인 작업이 포함된 실행 대기열 정보 + properties: + queue_running: + type: array + description: 현재 실행 중인 작업 항목 배열 + items: + $ref: "#/components/schemas/QueueItem" + queue_pending: + type: array + description: "대기 중인 작업 항목 배열(생성 시간 순, 가장 오래된 항목 먼저)" + items: + $ref: "#/components/schemas/QueueItem" + QueueItem: + type: array + description: "실행 대기열 항목 튜플 형식: [job_number, prompt_id, workflow_json, output_node_ids, metadata]\n- [0] job_number (정수): 실행 대기열 내 위치(1부터 시작)\n- [1] prompt_id (문자열): 작업 UUID\n- [2] workflow_json (객체): 전체 ComfyUI 워크플로\n- [3] output_node_ids (배열): 결과를 반환할 노드 ID\n- [4] metadata (객체): {create_time: <밀리초>} 포함\n" + items: + oneOf: + - type: integer + description: 작업 번호(실행 대기열 내 위치) + - type: string + description: 프롬프트 ID(UUID) + - type: object + description: 워크플로 JSON + - type: array + items: + type: string + description: 출력 노드 ID + - type: object + description: create_time이 포함된 메타데이터 + QueueManageRequest: + type: object + description: 실행 대기열 연산 관리 요청 + properties: + delete: + type: array + items: + type: string + description: 취소할 대기 중인 작업 ID 배열 + clear: + type: boolean + description: 참이면 실행 대기열에서 대기 중인 모든 작업을 지웁니다 + additionalProperties: false + QueueManageResponse: + type: object + properties: + deleted: + type: array + items: + type: string + description: 성공적으로 취소된 작업 ID 배열 + cleared: + type: boolean + description: 실행 대기열이 지워졌는지 여부 + JobStatusResponse: + type: object + description: 작업 상태 정보 + properties: + id: + type: string + format: uuid + description: 작업 ID + status: + type: string + enum: + - waiting_to_dispatch + - pending + - in_progress + - completed + - error + - cancelled + description: 현재 작업 상태 + created_at: + type: string + format: date-time + description: 작업이 생성된 시간 + updated_at: + type: string + format: date-time + description: 작업이 마지막으로 업데이트된 시간 + last_state_update: + type: string + format: date-time + description: 작업 상태가 마지막으로 변경된 시간 + assigned_inference: + type: string + nullable: true + description: 이 작업에 할당된 추론 인스턴스(있는 경우) + error_message: + type: string + nullable: true + description: 작업 실패 시 오류 메시지 + required: + - id + - status + - created_at + - updated_at + HistoryManageRequest: + type: object + description: 히스토리 연산을 관리하기 위한 요청 + properties: + delete: + type: array + items: + type: string + description: 히스토리에서 삭제할 작업 ID 배열 + clear: + type: boolean + description: 참인 경우 인증된 사용자의 모든 히스토리를 지웁니다 + additionalProperties: false + UserDataResponse: + oneOf: + - $ref: "#/components/schemas/UserDataResponseFull" + - $ref: "#/components/schemas/UserDataResponseShort" + UserDataResponseFull: + type: object + properties: + path: + type: string + size: + type: integer + modified: + type: string + format: date-time + UserDataResponseShort: + type: string + GetUserDataResponseFull: + type: array + items: + $ref: "#/components/schemas/GetUserDataResponseFullFile" + GetUserDataResponseFullFile: + type: object + properties: + path: + type: string + description: 사용자 디렉터리 기준 파일 이름 또는 경로. + size: + type: integer + description: 바이트 단위의 파일 크기. + modified: + type: number + format: float + description: 마지막 수정의 UNIX 타임스탬프. + PromptErrorResponse: + type: object + description: ComfyUI 프롬프트 실행에 대한 오류 응답 + additionalProperties: true + ModelFolder: + type: object + description: 모델이 포함된 폴더를 나타냅니다 + required: + - name + - folders + properties: + name: + type: string + description: 모델 폴더의 이름 + example: checkpoints + folders: + type: array + items: + type: string + description: 이 유형의 모델이 저장된 경로 목록 + example: + - checkpoints + ModelFile: + type: object + description: 메타데이터가 포함된 모델 파일을 나타냅니다 + required: + - name + - pathIndex + properties: + name: + type: string + description: 모델의 파일 이름 + example: model.safetensors + pathIndex: + type: integer + description: 이 모델이 있는 경로의 인덱스 + example: 0 + SystemStatsResponse: + type: object + description: 시스템 통계 응답 + required: + - system + - devices + properties: + system: + type: object + required: + - os + - python_version + - embedded_python + - comfyui_version + - pytorch_version + - argv + - ram_total + - ram_free + properties: + os: + type: string + description: 운영 체제 + python_version: + type: string + description: 파이썬 버전 + embedded_python: + type: boolean + description: 내장 파이썬 사용 여부 + comfyui_version: + type: string + description: ComfyUI 버전 + comfyui_frontend_version: + type: string + description: ComfyUI 프론트엔드 버전(커밋 해시 또는 태그) + workflow_templates_version: + type: string + description: 워크플로 템플릿 버전 + cloud_version: + type: string + description: 클라우드 수집 서비스 버전(커밋 해시) + pytorch_version: + type: string + description: PyTorch 버전 + argv: + type: array + items: + type: string + description: 명령줄 인수 + ram_total: + type: number + description: 총 RAM(바이트) + ram_free: + type: number + description: 사용 가능한 RAM(바이트) + devices: + type: array + items: + type: object + required: + - name + - type + properties: + name: + type: string + description: 장치 이름 + type: + type: string + description: 장치 유형 + vram_total: + type: number + description: 총 VRAM(바이트) + vram_free: + type: number + description: 사용 가능한 VRAM(바이트) + UserResponse: + type: object + description: 사용자 정보 응답 + required: + - status + properties: + status: + type: string + description: 사용자 상태(활성 또는 대기 목록) + Asset: + type: object + required: + - id + - name + - size + - created_at + - updated_at + properties: + id: + type: string + format: uuid + description: 에셋의 고유 식별자 + name: + type: string + description: 에셋 파일의 이름 + asset_hash: + type: string + description: 에셋 콘텐츠의 Blake3 해시 + pattern: "^blake3:[a-f0-9]{64}$" + size: + type: integer + format: int64 + description: 에셋의 크기(바이트 단위) + mime_type: + type: string + description: 에셋의 MIME 유형 + tags: + type: array + items: + type: string + description: 에셋과 연결된 태그 + user_metadata: + type: object + description: 에셋의 사용자 정의 메타데이터 + additionalProperties: true + preview_url: + type: string + format: uri + description: 에셋 미리보기/썸네일 URL + preview_id: + type: string + format: uuid + description: 사용 가능한 경우 미리보기 에셋의 ID + nullable: true + prompt_id: + type: string + format: uuid + description: 이 에셋을 생성한 작업/프롬프트의 ID (사용 가능한 경우) + nullable: true + created_at: + type: string + format: date-time + description: 에셋이 생성된 타임스탬프 + updated_at: + type: string + format: date-time + description: 에셋이 마지막으로 업데이트된 타임스탬프 + last_access_time: + type: string + format: date-time + description: 에셋이 마지막으로 액세스된 타임스탬프 + is_immutable: + type: boolean + description: 이 에셋이 불변인지 여부 (수정 또는 삭제할 수 없음) + AssetCreated: + allOf: + - $ref: "#/components/schemas/Asset" + - type: object + required: + - created_new + properties: + created_new: + type: boolean + description: 이것이 새 에셋 생성(참)인지 아니면 기존 항목 반환(거짓)인지 여부 + AssetUpdated: + type: object + required: + - id + - updated_at + properties: + id: + type: string + format: uuid + description: 에셋 ID + name: + type: string + description: 업데이트된 에셋의 이름 + asset_hash: + type: string + description: 에셋 콘텐츠의 Blake3 해시 + pattern: "^blake3:[a-f0-9]{64}$" + tags: + type: array + items: + type: string + description: 업데이트된 에셋의 태그 + mime_type: + type: string + description: 업데이트된 에셋의 MIME 유형 + user_metadata: + type: object + description: 업데이트된 사용자 정의 메타데이터 + additionalProperties: true + updated_at: + type: string + format: date-time + description: 업데이트 타임스탬프 + ListAssetsResponse: + type: object + required: + - assets + - total + - has_more + properties: + assets: + type: array + items: + $ref: "#/components/schemas/Asset" + description: 쿼리와 일치하는 에셋 목록 + total: + type: integer + description: 필터와 일치하는 전체 에셋 수 + has_more: + type: boolean + description: 이 페이지 이후에 더 많은 에셋이 있는지 여부 + TagInfo: + type: object + required: + - name + - count + properties: + name: + type: string + description: 태그 이름 + count: + type: integer + description: 이 태그를 사용하는 에셋 수 + ListTagsResponse: + type: object + required: + - tags + - total + - has_more + properties: + tags: + type: array + items: + $ref: "#/components/schemas/TagInfo" + description: 태그 목록 + total: + type: integer + description: 전체 태그 수 + has_more: + type: boolean + description: 더 많은 태그가 있는지 여부 + AssetTagHistogramResponse: + type: object + required: + - tag_counts + properties: + tag_counts: + type: object + additionalProperties: + type: integer + description: 일치하는 에셋에서 태그 이름과 해당 발생 횟수의 매핑 + example: + checkpoint: 32 + lora: 193 + vae: 6 + AssetMetadataResponse: + type: object + required: + - content_length + properties: + content_length: + type: integer + format: int64 + description: "에셋의 크기(바이트 단위, 알 수 없는 경우 -1)" + example: 4294967296 + content_type: + type: string + description: 에셋의 MIME 유형 + example: application/octet-stream + filename: + type: string + description: 소스에서 가져온 에셋의 제안된 파일 이름 + example: realistic-vision-v5.safetensors + name: + type: string + description: 소스에서 가져온 에셋의 표시 이름 또는 제목 + example: Realistic Vision v5.0 + tags: + type: array + items: + type: string + description: 소스에서 가져온 분류 태그 + example: + - models + - checkpoint + preview_image: + type: string + description: base64로 인코딩된 데이터 URL 형태의 이미지 미리보기 + example: "data:image/jpeg;base64,/9j/4AAQSkZJRg..." + validation: + $ref: "#/components/schemas/ValidationResult" + description: 파일에 대한 검증 결과 + AssetDownloadResponse: + type: object + required: + - task_id + - status + properties: + task_id: + type: string + format: uuid + description: "GET /api/tasks/{task_id}를 통해 다운로드 진행 상황을 추적하는 작업 ID" + status: + type: string + enum: + - created + - running + - completed + - failed + description: 현재 작업 상태 + message: + type: string + description: 사람이 읽을 수 있는 메시지 + example: Download task created. Use task_id to track progress. + ValidationResult: + type: object + required: + - is_valid + properties: + is_valid: + type: boolean + description: 전체 검증 상태(모든 검사 통과 시 참) + example: true + errors: + type: array + items: + $ref: "#/components/schemas/ValidationError" + description: 다운로드를 차단하는 검증 오류 + warnings: + type: array + items: + $ref: "#/components/schemas/ValidationError" + description: 비차단 검증 경고(정보 제공용) + ValidationError: + type: object + required: + - code + - message + - field + properties: + code: + type: string + description: 기계 판독 가능 오류 코드 + example: FORMAT_NOT_ALLOWED + message: + type: string + description: 사람이 읽을 수 있는 오류 메시지 + example: "File format \"PickleTensor\" is not allowed. Allowed formats: [SafeTensor]" + field: + type: string + description: 검증에 실패한 필드 + example: format + TagsModificationResponse: + type: object + required: + - total_tags + properties: + added: + type: array + items: + type: string + description: 성공적으로 추가된 태그(추가 작업의 경우) + removed: + type: array + items: + type: string + description: 성공적으로 제거된 태그(제거 작업의 경우) + already_present: + type: array + items: + type: string + description: 이미 존재했던 태그(추가 작업의 경우) + not_present: + type: array + items: + type: string + description: 존재하지 않았던 태그(제거 작업의 경우) + total_tags: + type: array + items: + type: string + description: 작업 후 에셋의 모든 태그 + JobsListResponse: + type: object + required: + - jobs + - pagination + properties: + jobs: + type: array + description: 지정된 정렬 필드에 따라 정렬된 작업 배열 + items: + $ref: "#/components/schemas/JobEntry" + pagination: + $ref: "#/components/schemas/PaginationInfo" + JobEntry: + type: object + description: 목록 보기를 위한 경량 작업 데이터 (워크플로 및 전체 출력 제외) + required: + - id + - status + - create_time + properties: + id: + type: string + format: uuid + description: 고유 작업 식별자 + status: + type: string + enum: + - pending + - in_progress + - completed + - failed + - cancelled + description: 사용자 친화적인 작업 상태 + execution_error: + $ref: "#/components/schemas/ExecutionError" + description: ComfyUI의 상세 실행 오류 (구조화된 오류 데이터가 있는 실패한 작업에만 해당) + create_time: + type: integer + format: int64 + description: 작업 생성 타임스탬프 (초 단위 Unix 타임스탬프) + preview_output: + type: object + description: 기본 출력 미리보기 (터미널 상태에만 있음) + additionalProperties: true + outputs_count: + type: integer + description: 출력 파일 총 개수 (비터미널 상태에서는 생략됨) + workflow_id: + type: string + description: 워크플로 그래프 정의를 식별하는 UUID + execution_start_time: + type: integer + format: int64 + description: "워크플로 실행 시작 타임스탬프 (Unix 밀리초, 터미널 상태에만 있음)" + execution_end_time: + type: integer + format: int64 + description: "워크플로 실행 완료 타임스탬프 (Unix 밀리초, 터미널 상태에만 있음)" + JobDetailResponse: + type: object + description: 워크플로 및 출력을 포함한 전체 작업 세부 정보 + required: + - id + - status + - create_time + - update_time + properties: + id: + type: string + format: uuid + description: 고유 작업 식별자 + status: + type: string + enum: + - pending + - in_progress + - completed + - failed + - cancelled + description: 사용자 친화적인 작업 상태 + workflow: + type: object + description: "전체 ComfyUI 워크플로 (10-100KB, 사용 불가 시 생략됨)" + additionalProperties: true + execution_error: + $ref: "#/components/schemas/ExecutionError" + description: ComfyUI의 상세 실행 오류 (구조화된 오류 데이터가 있는 실패한 작업에만 해당) + create_time: + type: integer + format: int64 + description: 작업 생성 타임스탬프 (초 단위 Unix 타임스탬프) + update_time: + type: integer + format: int64 + description: 마지막 업데이트 타임스탬프 (초 단위 Unix 타임스탬프) + outputs: + type: object + description: ComfyUI의 전체 출력 객체 (터미널 상태에만 해당) + additionalProperties: true + preview_output: + type: object + description: 기본 출력 미리보기 (터미널 상태에만 해당) + additionalProperties: true + outputs_count: + type: integer + description: 출력 파일 총 개수 (비터미널 상태에서는 생략됨) + workflow_id: + type: string + description: 워크플로 그래프 정의를 식별하는 UUID + execution_status: + type: object + description: ComfyUI 실행 상태 및 타임라인 (터미널 상태에만 해당) + additionalProperties: true + execution_meta: + type: object + description: 노드 수준 실행 메타데이터 (터미널 상태에만 해당) + additionalProperties: true + ExecutionError: + type: object + description: ComfyUI의 상세한 실행 오류 정보 + required: + - node_id + - node_type + - exception_message + - exception_type + - traceback + - current_inputs + - current_outputs + properties: + node_id: + type: string + description: 실패한 노드의 ID + node_type: + type: string + description: "노드의 유형 이름 (예: \"KSampler\")" + exception_message: + type: string + description: 사람이 읽을 수 있는 오류 메시지 + exception_type: + type: string + description: "Python 예외 유형 (예: \"RuntimeError\")" + traceback: + type: array + items: + type: string + description: 역추적 라인의 배열 (사용 불가 시 빈 배열) + current_inputs: + type: object + additionalProperties: true + description: 실패 시점의 입력 값 (사용 불가 경우 빈 객체) + current_outputs: + type: object + additionalProperties: true + description: 실패 시점의 출력 값 (사용 불가 시 빈 객체) + PaginationInfo: + type: object + required: + - offset + - limit + - total + - has_more + properties: + offset: + type: integer + minimum: 0 + description: 현재 오프셋(0부터 시작) + limit: + type: integer + minimum: 1 + description: 페이지당 항목 수 + total: + type: integer + minimum: 0 + description: 필터와 일치하는 총 항목 수 + has_more: + type: boolean + description: 이 페이지 이후에 추가 항목이 있는지 여부 + WebSocketMessage: + type: object + description: "모든 WebSocket 메시지의 기본 구조. 메시지는 JSON이며, type 필드는 메시지 유형을 나타내고 data 필드는 유형별 페이로드를 포함합니다.\n" + required: + - type + properties: + type: + $ref: "#/components/schemas/WebSocketMessageType" + data: + type: object + description: 메시지 페이로드 (유형에 따라 구조가 다름) + additionalProperties: true + WebSocketMessageType: + type: string + description: "WebSocket 메시지 유형. ComfyUI의 기본 메시지 유형과 일치합니다.\n" + enum: + - status + - execution_start + - execution_cached + - executing + - progress + - progress_state + - executed + - execution_success + - execution_error + - execution_interrupted + WebSocketStatusMessage: + type: object + description: "실행 대기열 상태 업데이트. 실행 대기열 상태가 변경될 때 전송됩니다.\n" + properties: + type: + type: string + enum: + - status + data: + type: object + properties: + status: + type: object + properties: + exec_info: + type: object + properties: + queue_remaining: + type: integer + description: 이 사용자의 실행 대기열에 남은 작업 수 + sid: + type: string + description: 세션 ID (초기 연결 시에만) + WebSocketExecutionStartMessage: + type: object + description: "워크플로 실행이 시작될 때 전송됩니다.\n" + properties: + type: + type: string + enum: + - execution_start + data: + type: object + required: + - prompt_id + properties: + prompt_id: + type: string + format: uuid + description: 실행을 시작한 작업/프롬프트 ID + WebSocketExecutingMessage: + type: object + description: "특정 노드가 실행을 시작할 때 전송됩니다.\n" + properties: + type: + type: string + enum: + - executing + data: + type: object + required: + - prompt_id + properties: + prompt_id: + type: string + format: uuid + node: + type: string + description: 현재 실행 중인 노드 ID(실행 완료 시 null) + display_node: + type: string + description: 표시 노드 ID(그룹화된 노드의 경우 노드와 다를 수 있음) + WebSocketProgressMessage: + type: object + description: "노드 내 단계별 진행 상황 (예: 확산 샘플링 단계).\n" + properties: + type: + type: string + enum: + - progress + data: + type: object + required: + - prompt_id + - node + - value + - max + properties: + prompt_id: + type: string + format: uuid + node: + type: string + description: 진행 상황을 표시하는 노드 ID + value: + type: integer + description: 현재 단계 번호 + max: + type: integer + description: 전체 단계 수 + WebSocketProgressStateMessage: + type: object + description: "자세한 노드 메타데이터가 포함된 확장된 진행 상태. 단순한 `progress` 메시지보다 더 풍부한 컨텍스트를 제공합니다.\n" + properties: + type: + type: string + enum: + - progress_state + data: + type: object + properties: + prompt_id: + type: string + format: uuid + nodes: + type: object + description: 노드 ID를 해당 진행 상태에 매핑한 맵 + additionalProperties: + type: object + properties: + node_id: + type: string + display_node_id: + type: string + real_node_id: + type: string + prompt_id: + type: string + class_type: + type: string + description: "노드의 클래스 유형 (예: \"KSampler\")" + WebSocketExecutedMessage: + type: object + description: "노드가 출력과 함께 실행을 완료할 때 전송됩니다.\n" + properties: + type: + type: string + enum: + - executed + data: + type: object + required: + - prompt_id + - node + properties: + prompt_id: + type: string + format: uuid + node: + type: string + description: 완료된 노드 ID + display_node: + type: string + description: 표시 노드 ID + output: + type: object + description: "노드 출력. 구조는 노드 유형에 따라 다릅니다.\n이미지 출력의 예: { \"images\": [{\"filename\": \"...\", \"subfolder\": \"\", \"type\": \"output\"}] }\n비디오 출력의 예: { \"video\": [{\"filename\": \"...\", \"subfolder\": \"\", \"type\": \"output\"}] }\n" + additionalProperties: true + WebSocketExecutionSuccessMessage: + type: object + description: "전체 워크플로가 성공적으로 완료되었을 때 전송됩니다.\n" + properties: + type: + type: string + enum: + - execution_success + data: + type: object + required: + - prompt_id + properties: + prompt_id: + type: string + format: uuid + WebSocketExecutionErrorMessage: + type: object + description: "워크플로 실행이 오류로 실패했을 때 전송됩니다.\n" + properties: + type: + type: string + enum: + - execution_error + data: + type: object + required: + - prompt_id + - exception_message + properties: + prompt_id: + type: string + format: uuid + node_id: + type: string + description: 오류가 발생한 노드 ID (해당하는 경우) + node_type: + type: string + description: 오류가 발생한 노드 유형 + exception_type: + type: string + description: "오류 분류. 일반적인 유형:\n- ValidationError: 잘못된 워크플로 또는 입력\n- ModelDownloadError: 필수 모델 다운로드 실패\n- OOMError: GPU 메모리 부족\n- InsufficientFundsError: 계정 잔액 부족\n- InactiveSubscriptionError: 구독이 활성화되지 않음\n" + enum: + - ValidationError + - ModelDownloadError + - ImageDownloadError + - OOMError + - PanicError + - ServiceError + - WebSocketError + - DispatcherError + - InsufficientFundsError + - InactiveSubscriptionError + exception_message: + type: string + description: 사람이 읽을 수 있는 오류 메시지 + traceback: + type: array + items: + type: string + description: 스택 트레이스 라인 (디버깅용) + executed: + type: array + items: + type: string + description: 오류 이전에 완료된 노드 ID + current_inputs: + type: object + description: 실패 시 입력 값 + additionalProperties: true + current_outputs: + type: object + description: 실패 시 출력 값 + additionalProperties: true + WebSocketExecutionCachedMessage: + type: object + description: "출력이 캐시되어 노드가 건너뛰어질 때 전송됩니다.\n" + properties: + type: + type: string + enum: + - execution_cached + data: + type: object + required: + - prompt_id + - nodes + properties: + prompt_id: + type: string + format: uuid + nodes: + type: array + items: + type: string + description: 캐시에서 제공된 노드 ID 목록 + WebSocketExecutionInterruptedMessage: + type: object + description: "워크플로 실행이 취소/중단되었을 때 전송됩니다.\n" + properties: + type: + type: string + enum: + - execution_interrupted + data: + type: object + required: + - prompt_id + properties: + prompt_id: + type: string + format: uuid diff --git a/openapi/cloud.zh.yaml b/openapi/cloud.zh.yaml new file mode 100644 index 000000000..f10098764 --- /dev/null +++ b/openapi/cloud.zh.yaml @@ -0,0 +1,3485 @@ +# translationSourceHash: ff9adab0 +# translationFrom: openapi/cloud.en.yaml + +openapi: 3.0.3 +info: + title: Comfy Cloud API + description: "<警告>\n**实验性API:** 此API是实验性的,可能会更改。\n端点、请求/响应格式和行为可能在未经通知的情况下修改。\n\n\n用于Comfy Cloud的API - 在云基础设施上运行ComfyUI工作流。\n\n此API允许您以编程方式与Comfy Cloud交互,包括:\n- 提交和管理工作流\n- 上传和下载文件\n- 监控作业状态和进度\n\n## 云端与OSS ComfyUI兼容性\n\nComfy Cloud实现了与OSS ComfyUI相同的API接口以实现最大兼容性,\n但某些字段为了兼容性被接受,但处理方式不同或被忽略:\n\n| 字段 | 端点 | 云端行为 |\n|-------|-----------|----------------|\n| `subfolder` | `/api/view`, `/api/upload/*` | **忽略** - 云端使用内容寻址存储(基于哈希)。在响应中返回用于客户端组织。 |\n| `type` (input/output/temp) | `/api/view`, `/api/upload/*` | 部分使用 - 所有文件使用基于标签的组织存储,而非目录结构。 |\n| `overwrite` | `/api/upload/*` | **忽略** - 内容寻址存储意味着相同内容始终具有相同哈希。 |\n| `number`, `front` | `/api/prompt` | **忽略** - 云端使用自己的每个用户公平队列调度。 |\n| `split`, `full_info` | `/api/userdata` | **忽略** - 云端始终返回完整文件元数据。 |\n\n这些字段保留在API模式中,以便与现有ComfyUI客户端和工作流进行即插即用兼容。\n" + version: 1.0.0 + license: + name: GNU General Public License v3.0 + url: https://github.com/Comfy-Org/ComfyUI/blob/master/LICENSE +servers: + - url: https://cloud.comfy.org + description: Comfy Cloud API +security: + - ApiKeyAuth: + [] +tags: + - name: workflow + description: "提交工作流执行并管理执行队列。\n这是在云端运行ComfyUI工作流的主要方式。\n" + - name: job + description: "监控任务状态、查看执行历史和管理运行中的任务。\n任务通过POST /api/prompt提交工作流时创建。\n" + - name: asset + description: "上传、下载和管理持久资产(图像、模型、输出)。\n资产提供持久存储,支持标签和元数据。\n" + - name: file + description: "与传统本地ComfyUI兼容的传统文件上传和下载端点。\n对于新的集成,请考虑使用资产API。\n" + - name: model + description: "浏览可用的AI模型。模型已预加载到云端基础设施上。\n" + - name: node + description: "获取可用ComfyUI节点及其输入/输出的信息。\n对构建动态工作流界面很有用。\n" + - name: user + description: "用户账户信息和个人数据存储。\n" + - name: system + description: "服务器状态、健康检查和系统信息。\n" +x-tagGroups: + - name: Core + tags: + - workflow + - job + - name: Storage + tags: + - asset + - file + - name: Reference + tags: + - model + - node + - name: Account + tags: + - user + - system +paths: + /api/prompt: + post: + tags: + - workflow + summary: 提交工作流以执行 + description: "提交一个工作流供后端执行。\n工作流是一个JSON对象,描述节点及其连接。\n" + operationId: executePrompt + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/PromptRequest" + responses: + "200": + description: "成功: 提示已接受" + content: + application/json: + schema: + $ref: "#/components/schemas/PromptResponse" + "400": + description: 无效的提示 + content: + application/json: + schema: + $ref: "#/components/schemas/PromptErrorResponse" + "402": + description: "需要付费: 积分不足" + content: + application/json: + schema: + $ref: "#/components/schemas/PromptErrorResponse" + "429": + description: "需要付费: 用户尚未付款" + content: + application/json: + schema: + $ref: "#/components/schemas/PromptErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/PromptErrorResponse" + "503": + description: 服务不可用 + content: + application/json: + schema: + $ref: "#/components/schemas/PromptErrorResponse" + get: + tags: + - workflow + summary: 获取当前提示执行的信息 + description: 返回执行队列中当前提示的信息 + operationId: getPromptInfo + responses: + "200": + description: 成功 + content: + application/json: + schema: + $ref: "#/components/schemas/PromptInfo" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/object_info: + get: + tags: + - node + summary: 获取所有节点信息 + description: 返回所有可用节点的信息 + operationId: getNodeInfo + responses: + "200": + description: 成功 + content: + application/json: + schema: + type: object + additionalProperties: + $ref: "#/components/schemas/NodeInfo" + /api/features: + get: + tags: + - node + summary: 获取服务器功能标志 + description: 返回服务器的功能特性 + operationId: getFeatures + security: + - ApiKeyAuth: + [] + - {} + responses: + "200": + description: 成功 + content: + application/json: + schema: + type: object + properties: + supports_preview_metadata: + type: boolean + description: 服务器是否支持预览元数据 + max_upload_size: + type: integer + description: 最大上传大小(字节) + additionalProperties: true + /api/workflow_templates: + get: + tags: + - workflow + summary: 获取可用工作流模板 + description: 返回可用的工作流模板 + operationId: getWorkflowTemplates + security: + [] + responses: + "200": + description: 成功 + content: + application/json: + schema: + type: object + description: 工作流模板的空对象 + /api/global_subgraphs: + get: + tags: + - workflow + summary: 获取可用的子图蓝图 + description: "返回全局可用的子图蓝图列表。\n这些是预构建的工作流组件,可用作节点。\n数据字段包含一个Promise,解析为完整的子图JSON。\n" + operationId: getGlobalSubgraphs + security: + [] + responses: + "200": + description: 成功 - 子图ID到其元数据的映射 + content: + application/json: + schema: + type: object + additionalProperties: + $ref: "#/components/schemas/GlobalSubgraphInfo" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/global_subgraphs/{id}": + get: + tags: + - workflow + summary: 获取特定的子图蓝图 + description: 按ID返回特定子图蓝图的完整数据 + operationId: getGlobalSubgraph + security: + [] + parameters: + - name: id + in: path + required: true + description: 子图蓝图的唯一标识符 + schema: + type: string + responses: + "200": + description: 成功 - 完整的子图数据 + content: + application/json: + schema: + $ref: "#/components/schemas/GlobalSubgraphData" + "404": + description: 未找到子图 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/experiment/models: + get: + tags: + - model + summary: 获取可用的模型文件夹 + description: "返回系统中可用的模型文件夹列表。\n这是一个实验性端点,替代了传统的 /models 端点。\n" + operationId: getModelFolders + security: + [] + responses: + "200": + description: 成功 - 模型文件夹列表 + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ModelFolder" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/experiment/models/{folder}": + get: + tags: + - model + summary: 获取特定文件夹中的模型 + description: "返回指定文件夹中可用的模型列表。\n这是一个实验性端点,提供增强的模型信息。\n" + operationId: getModelsInFolder + security: + [] + parameters: + - name: folder + in: path + required: true + description: 要列出模型的文件夹名称 + schema: + type: string + example: checkpoints + responses: + "200": + description: 成功 - 文件夹中的模型列表 + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/ModelFile" + "404": + description: 未找到文件夹或文件夹中没有模型 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/experiment/models/preview/{folder}/{path_index}/{filename}": + get: + tags: + - model + summary: 获取模型预览图像 + description: "返回指定模型的预览图像。\n图像以 WebP 格式返回,以获得最佳性能。\n" + operationId: getModelPreview + security: + [] + parameters: + - name: folder + in: path + required: true + description: 包含模型的文件夹名称 + schema: + type: string + example: checkpoints + - name: path_index + in: path + required: true + description: 路径索引(通常为0,用于云端服务) + schema: + type: integer + example: 0 + - name: filename + in: path + required: true + description: 模型文件名(带或不带 .webp 扩展名) + schema: + type: string + example: model.safetensors + responses: + "200": + description: 成功 - 模型预览图像 + content: + image/webp: + schema: + type: string + format: binary + "404": + description: 模型未找到或预览不可用 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/history: + post: + tags: + - job + summary: 管理执行历史 + description: "清除已验证用户的全部历史记录或删除特定的任务ID。\n支持全部清除或删除特定的任务ID。\n" + operationId: manageHistory + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/HistoryManageRequest" + responses: + "200": + description: 成功 - 历史管理操作已完成 + "400": + description: 无效的请求参数 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未授权:需要身份验证 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/history_v2: + get: + tags: + - job + summary: 获取执行历史(v2) + deprecated: true + description: "**弃用。** 请改用 [`/api/jobs`](#tag/job/GET/api/jobs)。此端点保留以兼容ComfyUI,但将在未来版本中移除;尚未设定移除日期。\n\n检索已认证用户的执行历史,支持分页。\n返回轻量级历史格式,包含过滤后的提示数据(工作流已从extra_pnginfo中移除)。\n" + operationId: getHistory + parameters: + - name: max_items + in: query + required: false + description: 返回的最大项目数 + schema: + type: integer + - name: offset + in: query + required: false + description: 起始位置(默认0) + schema: + type: integer + default: 0 + responses: + "200": + description: 成功:已检索执行历史 + content: + application/json: + schema: + $ref: "#/components/schemas/HistoryResponse" + "401": + description: 未授权:需要身份验证 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/history_v2/{prompt_id}": + get: + tags: + - job + summary: 获取特定提示的历史 + deprecated: true + description: "**弃用。** 请改用 [`/api/jobs/{job_id}`](#tag/job/GET/api/jobs/{job_id})。`/api/prompt` 返回的 `prompt_id` 与 `job_id` 相同。此端点保留以兼容ComfyUI,但将在未来版本中移除;尚未设定移除日期。\n\n检索特定提示ID的详细执行历史。\n返回完整历史数据,包含完整的提示信息。\n" + operationId: getHistoryForPrompt + parameters: + - name: prompt_id + in: path + required: true + description: 要检索历史的提示ID + schema: + type: string + responses: + "200": + description: 成功:已检索提示的历史 + content: + application/json: + schema: + $ref: "#/components/schemas/HistoryDetailResponse" + "401": + description: 未授权:需要身份验证 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 提示未找到 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/jobs: + get: + tags: + - job + summary: 带分页和筛选列出任务 + description: "检索已认证用户的分页任务列表。\n返回为列表视图优化的轻量级任务数据。\n排除工作流和完整输出以减小负载大小。\n" + operationId: listJobs + parameters: + - name: status + in: query + required: false + description: 筛选方式:一个或多个状态(逗号分隔)。如果未提供,则返回所有任务。 + schema: + type: string + example: "pending,in_progress" + - name: workflow_id + in: query + required: false + description: 筛选方式:工作流ID(精确匹配) + schema: + type: string + example: 550e8400-e29b-41d4-a716-446655440000 + - name: output_type + in: query + required: false + description: 筛选方式:输出媒体类型(仅适用于已完成的有输出的任务) + schema: + type: string + enum: + - image + - video + - audio + example: image + - name: sort_by + in: query + required: false + description: 排序方式:字段(create_time = 任务提交时间,execution_time = 工作流运行耗时) + schema: + type: string + enum: + - create_time + - execution_time + default: create_time + example: execution_time + - name: sort_order + in: query + required: false + description: 排序方向(asc = 升序,desc = 降序) + schema: + type: string + enum: + - asc + - desc + default: desc + - name: offset + in: query + required: false + description: 分页偏移(从0开始) + schema: + type: integer + minimum: 0 + default: 0 + - name: limit + in: query + required: false + description: 每页最大项数(1-1000) + schema: + type: integer + minimum: 1 + maximum: 1000 + default: 100 + responses: + "200": + description: "成功: 任务已获取" + content: + application/json: + schema: + $ref: "#/components/schemas/JobsListResponse" + "401": + description: "未授权: 需要身份验证" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/jobs/{job_id}": + get: + tags: + - job + summary: 获取任务完整详情 + description: "获取特定任务的完整详情,包括工作流和输出。\n用于详情视图、工作流重新执行和调试。\n" + operationId: getJobDetail + parameters: + - name: job_id + in: path + required: true + description: 任务标识符(UUID) + schema: + type: string + format: uuid + responses: + "200": + description: "成功: 任务详情已获取" + content: + application/json: + schema: + $ref: "#/components/schemas/JobDetailResponse" + "401": + description: "未授权: 需要身份验证" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: "禁止: 任务不属于该用户" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 任务未找到 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/view: + get: + tags: + - file + summary: 查看文件 + description: "从 ComfyUI 文件系统中检索并查看文件。\n该端点通常用于查看已生成的图像或其他输出文件。\n" + operationId: viewFile + parameters: + - name: filename + in: query + required: true + description: 要查看的文件名 + schema: + type: string + example: ComfyUI_00004_.png + - name: subfolder + in: query + required: false + description: "文件所在的子文件夹路径。\n**注意:** 为 ComfyUI API 兼容性而接受,但在**云端**被**忽略**。\n云端使用内容寻址存储,其中资产仅按哈希存储。\n子文件夹是客户端 UI 元数据,不用于存储查找。\n" + schema: + type: string + example: tests/foo/bar + - name: type + in: query + required: false + description: "文件类型(例如,输出、输入、临时)。\n**注意:** 在云端,`output` 和 `temp` 文件都存储在同一个存储桶中。\n类型参数用于兼容性,但存储位置由哈希决定。\n" + schema: + type: string + example: output + - name: fullpath + in: query + required: false + description: 文件的完整路径(用于临时文件) + schema: + type: string + - name: format + in: query + required: false + description: 文件格式 + schema: + type: string + - name: frame_rate + in: query + required: false + description: 视频文件的帧率 + schema: + type: integer + - name: workflow + in: query + required: false + description: 工作流标识符 + schema: + type: string + - name: timestamp + in: query + required: false + description: 时间戳参数 + schema: + type: integer + example: "1234567890" + - name: channel + in: query + required: false + description: "从PNG图像中提取的图像通道。\n- 'rgb': 仅返回RGB通道(透明度设为完全不透明)\n- 'a' 或 'alpha': 返回透明度通道作为灰度图像\n- 如果未指定,则通过重定向返回原始图像不变\n" + schema: + type: string + example: rgb + responses: + "200": + description: 成功 - 返回文件内容(当存在通道参数时使用) + content: + image/png: + schema: + type: string + format: binary + description: 处理后的PNG图像,包含提取的通道 + "302": + description: 重定向到GCS签名URL + headers: + Location: + description: 访问GCS中文件的签名URL + schema: + type: string + "400": + description: 无效的请求参数 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 文件未找到或未经授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/files/mask-layers: + get: + tags: + - file + summary: 获取相关的遮罩图层文件 + description: "给定一个遮罩文件(四个图层中的任意一个),返回所有相关的遮罩图层文件。\n遮罩编辑器使用此接口来加载画笔、遮罩和绘画图层\n当重新打开之前编辑的遮罩时。\n" + operationId: getMaskLayers + parameters: + - name: filename + in: query + required: true + description: 任何遮罩图层文件的哈希文件名 + schema: + type: string + example: abc123def456.png + responses: + "200": + description: 成功 - 返回相关的遮罩图层 + content: + application/json: + schema: + type: object + properties: + mask: + type: string + description: 遮罩层的文件名 + nullable: true + paint: + type: string + description: 画笔描边层的文件名 + nullable: true + painted: + type: string + description: 绘画图像层的文件名 + nullable: true + painted_masked: + type: string + description: 最终合成层的文件名 + nullable: true + "404": + description: 未找到文件或不是遮罩文件 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/assets: + get: + tags: + - asset + summary: 列出用户资产 + description: "检索属于已验证用户的分页资产列表。\n支持按标签、名称、元数据和排序选项进行过滤。\n" + operationId: listAssets + parameters: + - name: include_tags + in: query + description: 过滤具有所有这些标签的资产 + schema: + type: array + items: + type: string + style: form + explode: false + - name: exclude_tags + in: query + description: 排除具有任何这些标签的资产 + schema: + type: array + items: + type: string + style: form + explode: false + - name: name_contains + in: query + description: 过滤名称包含此子字符串的资产(不区分大小写) + schema: + type: string + - name: metadata_filter + in: query + description: 用于按元数据字段过滤的JSON对象 + schema: + type: string + - name: limit + in: query + description: 要返回的最大资产数(1-500) + schema: + type: integer + minimum: 1 + maximum: 500 + default: 20 + - name: offset + in: query + description: 跳过分页的资产数 + schema: + type: integer + minimum: 0 + default: 0 + - name: sort + in: query + description: 排序字段 + schema: + type: string + enum: + - name + - created_at + - updated_at + - size + - last_access_time + default: created_at + - name: order + in: query + description: 排序顺序 + schema: + type: string + enum: + - asc + - desc + default: desc + - name: include_public + in: query + description: 是否在结果中包含公开/共享的资产 + schema: + type: boolean + default: true + responses: + "200": + description: 成功 - 已返回资产 + content: + application/json: + schema: + $ref: "#/components/schemas/ListAssetsResponse" + "400": + description: 无效的请求参数 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + post: + tags: + - asset + summary: 上传新资产 + description: "向系统上传带有相关元数据的新资产。\n支持两种上传方式:\n1. 直接文件上传(multipart/form-data)\n2. 基于URL的上传(application/json,source: \"url\")\n\n如果具有相同哈希的资产已存在,则返回现有资产。\n" + operationId: uploadAsset + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + required: + - file + properties: + file: + type: string + format: binary + description: 要上传的资产文件 + tags: + type: array + items: + type: string + description: "资产的自由格式标签。常见类型包括\"models\"、\"input\"、\"output\"和\"temp\",但任何标签都可以任意顺序使用。" + id: + type: string + format: uuid + description: 用于幂等创建的可选资产ID。如果提供且资产已存在,则返回现有资产。 + preview_id: + type: string + format: uuid + description: 可选预览资产ID。如果未提供,图像将使用自己的ID作为预览。 + name: + type: string + description: 资产的显示名称 + mime_type: + type: string + description: "资产的MIME类型(例如\"image/png\"、\"video/mp4\")" + user_metadata: + type: string + description: 作为字符串的自定义JSON元数据 + application/json: + schema: + type: object + required: + - url + - name + properties: + url: + type: string + format: uri + description: 用于下载资产的HTTP/HTTPS URL + name: + type: string + description: 资产的显示名称(用于确定文件扩展名) + tags: + type: array + items: + type: string + description: "资产的自由格式标签。常见类型包括\"models\"、\"input\"、\"output\"和\"temp\",但任何标签都可以任意顺序使用。" + user_metadata: + type: object + additionalProperties: true + description: 与资产一起存储的自定义元数据 + preview_id: + type: string + format: uuid + description: 可选的预览资产ID + responses: + "200": + description: 资产已存在(返回现有资产) + content: + application/json: + schema: + $ref: "#/components/schemas/AssetCreated" + "201": + description: 资产创建成功 + content: + application/json: + schema: + $ref: "#/components/schemas/AssetCreated" + "400": + description: 无效的请求(文件错误、URL无效、内容类型无效等) + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: 来源URL需要认证或访问被拒绝 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 来源URL未找到 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "413": + description: 文件过大 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "415": + description: 不支持的媒体类型 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "422": + description: 由于网络错误或超时导致下载失败 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/assets/from-hash: + post: + tags: + - asset + summary: 从现有哈希创建资产引用 + description: "使用云端存储中现有的哈希创建新的资产引用。\n这可以避免在底层数据已存在时重新上传文件内容,\n对于大文件或引用已知资产时非常有用。\n用户为新引用提供自己的元数据和标签。\n" + operationId: createAssetFromHash + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - hash + - tags + properties: + hash: + type: string + description: 现有资产的哈希。支持 Blake3 (blake3:) 或 SHA256 (sha256:) 格式 + pattern: "^(blake3|sha256):[a-f0-9]{64}$" + name: + type: string + description: 资产引用的显示名称(可选) + tags: + type: array + items: + type: string + minItems: 1 + description: "资产的自由格式标签。常见类型包括 \"models\", \"input\", \"output\" 和 \"temp\",但任何标签都可以按任意顺序使用。" + mime_type: + type: string + description: "资产的 MIME 类型(例如 \"image/png\", \"video/mp4\")" + user_metadata: + type: object + description: 此资产引用的自定义元数据 + additionalProperties: true + responses: + "200": + description: 资产引用已存在(返回现有引用) + content: + application/json: + schema: + $ref: "#/components/schemas/AssetCreated" + "201": + description: 资产引用创建成功 + content: + application/json: + schema: + $ref: "#/components/schemas/AssetCreated" + "400": + description: 无效请求(哈希格式错误、标签无效等) + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 未找到具有给定哈希的源资产 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/assets/remote-metadata: + get: + tags: + - asset + summary: 从远程URL获取资产元数据 + description: "从远程下载 URL 检索资产的元数据,而无需下载整个文件。\n支持包括 CivitAI 和其他模型存储库在内的各种来源。\n使用 HEAD 请求或 API 调用高效获取元数据。\n此端点用于下载前预览元数据,而非获取现有资产的元数据。\n" + operationId: getRemoteAssetMetadata + parameters: + - name: url + in: query + required: true + description: 从哪个下载 URL 检索元数据 + schema: + type: string + format: uri + example: https://civitai.com/api/download/models/123456 + responses: + "200": + description: 元数据检索成功 + content: + application/json: + schema: + $ref: "#/components/schemas/AssetMetadataResponse" + "400": + description: 无效的 URL 或缺少必填参数 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "422": + description: 从来源检索元数据失败 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/assets/download: + post: + tags: + - asset + summary: 为大文件启动后台下载 + description: "从Huggingface或Civitai启动大型文件的背景下载任务。\n\n如果文件已存在于存储中,则立即创建资产记录并返回(200 OK)。\n如果文件不存在,则创建背景任务并返回任务ID(202 Accepted)。\n前端可以使用GET /api/tasks/{task_id}跟踪进度。\n" + operationId: createAssetDownload + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - source_url + properties: + source_url: + type: string + format: uri + description: 要下载的文件的URL(必须来自huggingface.co或civitai.com) + example: https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.safetensors + tags: + type: array + items: + type: string + description: "资产的(可选)标签(例如 [\"model\", \"checkpoint\"])" + user_metadata: + type: object + additionalProperties: true + description: 要附加到资产的可选用户定义元数据 + preview_id: + type: string + format: uuid + description: 与下载的资产关联的可选预览资产ID + example: 550e8400-e29b-41d4-a716-446655440000 + responses: + "200": + description: 文件已存在于存储中 - 资产立即创建/返回 + content: + application/json: + schema: + $ref: "#/components/schemas/AssetCreated" + "202": + description: 已接受 - 下载任务已创建并在后台处理 + content: + application/json: + schema: + $ref: "#/components/schemas/AssetDownloadResponse" + "400": + description: 无效的 URL 或不支持的来源 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "422": + description: 验证错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/assets/{id}": + get: + tags: + - asset + summary: 获取资产详情 + description: 检索特定资产的详细信息 + operationId: getAssetById + parameters: + - name: id + in: path + required: true + description: 资产ID + schema: + type: string + format: uuid + responses: + "200": + description: 资产详情检索成功 + content: + application/json: + schema: + $ref: "#/components/schemas/Asset" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 未找到资产 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + put: + tags: + - asset + summary: 更新资产元数据 + description: "更新资产的元数据。必须至少提供一个字段。\n仅可更新名称、标签和user_metadata。\n" + operationId: updateAsset + parameters: + - name: id + in: path + required: true + description: 资产ID + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: 资产的新显示名称 + tags: + type: array + items: + type: string + description: 资产的已更新标签 + mime_type: + type: string + description: 资产更新后的MIME类型 + preview_id: + type: string + format: uuid + description: 已更新的预览资产ID + user_metadata: + type: object + description: 已更新的自定义元数据 + additionalProperties: true + minProperties: 1 + responses: + "200": + description: 资产已成功更新 + content: + application/json: + schema: + $ref: "#/components/schemas/AssetUpdated" + "400": + description: 无效请求(未提供字段) + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 资产未找到 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + delete: + tags: + - asset + summary: 删除资产 + description: "从存储中删除资产及其内容。\n数据库记录和存储内容均被删除。\n" + operationId: deleteAsset + parameters: + - name: id + in: path + required: true + description: 资产ID + schema: + type: string + format: uuid + responses: + "204": + description: 资产删除成功 + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 未找到资产 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/assets/{id}/tags": + post: + tags: + - asset + summary: 向资产添加标签 + description: 向现有资产添加一个或多个标签 + operationId: addAssetTags + parameters: + - name: id + in: path + required: true + description: 资产ID + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - tags + properties: + tags: + type: array + items: + type: string + minItems: 1 + description: 要添加到资产的标签 + responses: + "200": + description: 标签已成功添加 + content: + application/json: + schema: + $ref: "#/components/schemas/TagsModificationResponse" + "400": + description: 无效请求 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 资产未找到 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + delete: + tags: + - asset + summary: 从资产移除标签 + description: 从现有资产中移除一个或多个标签 + operationId: removeAssetTags + parameters: + - name: id + in: path + required: true + description: 资产ID + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - tags + properties: + tags: + type: array + items: + type: string + minItems: 1 + description: 要从资产移除的标签 + responses: + "200": + description: 标签已成功移除 + content: + application/json: + schema: + $ref: "#/components/schemas/TagsModificationResponse" + "400": + description: 无效请求 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 资产未找到 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/tags: + get: + tags: + - asset + summary: 列出所有标签 + description: "检索所有资产中使用的标签列表。\n包含使用次数和过滤选项。\n" + operationId: listTags + parameters: + - name: prefix + in: query + description: 按前缀过滤标签 + schema: + type: string + - name: limit + in: query + description: 返回的最大标签数(1-1000) + schema: + type: integer + minimum: 1 + maximum: 1000 + default: 100 + - name: offset + in: query + description: 分页跳过的标签数 + schema: + type: integer + minimum: 0 + default: 0 + - name: order + in: query + description: 标签的排序顺序 + schema: + type: string + enum: + - count_desc + - name_asc + default: count_desc + - name: include_zero + in: query + description: 包含使用次数为零的标签 + schema: + type: boolean + default: false + - name: include_public + in: query + description: 统计标签时是否包含公共/共享资产 + schema: + type: boolean + default: true + responses: + "200": + description: 标签检索成功 + content: + application/json: + schema: + $ref: "#/components/schemas/ListTagsResponse" + "400": + description: 无效的请求参数 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/assets/tags/refine: + get: + tags: + - asset + summary: 获取已过滤资产的标签直方图 + description: "返回与给定滤镜匹配的资产上出现的标签直方图。\n通过显示可用标签及其计数,有助于细化资产搜索。\n仅返回非零计数的标签(存在于匹配资产上的标签)。\n" + operationId: getAssetTagHistogram + parameters: + - name: include_tags + in: query + description: 过滤拥有所有这些标签的资产 + schema: + type: array + items: + type: string + style: form + explode: false + - name: exclude_tags + in: query + description: 排除拥有任意这些标签的资产 + schema: + type: array + items: + type: string + style: form + explode: false + - name: name_contains + in: query + description: 过滤名称包含此子字符串的资产(不区分大小写) + schema: + type: string + - name: metadata_filter + in: query + description: 用于按元数据字段过滤的JSON对象 + schema: + type: string + - name: limit + in: query + description: 返回的最大标签数(1-1000,默认100) + schema: + type: integer + minimum: 1 + maximum: 1000 + default: 100 + - name: include_public + in: query + description: 是否在结果中包含公开/共享资产 + schema: + type: boolean + default: true + responses: + "200": + description: 成功 - 返回标签直方图 + content: + application/json: + schema: + $ref: "#/components/schemas/AssetTagHistogramResponse" + "400": + description: 无效的请求参数 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/assets/hash/{hash}": + head: + tags: + - asset + summary: 通过哈希检查资产是否存在 + description: "检查具有给定哈希的内容是否存在于云端存储中。\n如果内容存在则返回 200,否则返回 404。\n在使用 `/api/assets/from-hash` 之前检查可用性很有用。\n" + operationId: checkAssetByHash + parameters: + - name: hash + in: path + required: true + description: "资产的 Blake3 哈希,格式为 'blake3:hex_digest'" + schema: + type: string + pattern: "^blake3:[a-f0-9]{64}$" + example: blake3:a1b2c3d4e5f6789012345678901234567890123456789012345678901234 + responses: + "200": + description: 资产存在 + "400": + description: 无效的哈希格式 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 未找到资产 + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/queue: + get: + tags: + - job + summary: 获取队列信息 + description: 返回队列中运行和待定项目的信息 + operationId: getQueueInfo + responses: + "200": + description: 成功 + content: + application/json: + schema: + $ref: "#/components/schemas/QueueInfo" + "400": + description: 无效的请求参数 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 无效的请求参数 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + post: + tags: + - job + summary: 管理队列操作 + description: "通过ID取消特定的待定任务,或全部清除队列中的待定任务。\n注意:此端点仅影响待定任务。要取消正在运行的任务,请使用 /api/interrupt。\n" + operationId: manageQueue + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/QueueManageRequest" + responses: + "200": + description: 成功 + content: + application/json: + schema: + $ref: "#/components/schemas/QueueManageResponse" + "400": + description: 无效的请求参数 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/interrupt: + post: + tags: + - job + summary: 中断当前运行中的任务 + description: "取消已认证用户当前所有正在运行的任务。\n这将中断任何当前状态为'in_progress'的任务。\n注意:此端点仅影响正在运行的任务。要取消待定任务,请使用 /api/queue。\n" + operationId: interruptJob + responses: + "200": + description: 成功:任务已中断或未找到运行中的任务 + "401": + description: 未授权:需要身份验证 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/userdata: + get: + tags: + - user + operationId: getUserdata + summary: 列出用户数据文件 + description: 返回指定目录中的用户数据文件列表,可选递归并包含完整元数据。 + parameters: + - name: dir + in: query + required: true + description: "要列出文件的目录路径。必须包含尾部斜杠。\n示例:\"workflows/\"或\"settings/\"\n" + schema: + type: string + example: workflows/ + - name: recurse + in: query + required: false + description: 如果为是,则包含子目录中的文件。否则仅列出指定目录中的文件。 + schema: + type: boolean + default: false + - name: split + in: query + required: false + description: "是否按类型拆分文件信息。\n**注意:** 为了兼容 ComfyUI API 而接受,但目前被忽略。\n" + schema: + type: boolean + default: false + - name: full_info + in: query + required: false + description: "是否返回完整文件元数据。\n**注意:** 为了兼容 ComfyUI API 而接受,但目前被忽略(始终返回完整信息)。\n" + schema: + type: boolean + default: false + responses: + "200": + description: 用户数据文件列表。 + content: + application/json: + schema: + $ref: "#/components/schemas/GetUserDataResponseFull" + "400": + description: 错误请求(例如,无效文件名)。 + content: + text/plain: + schema: + type: string + "401": + description: 未授权。 + content: + text/plain: + schema: + type: string + "404": + description: 文件未找到或路径无效。 + content: + text/plain: + schema: + type: string + "500": + description: 常规错误 + content: + text/plain: + schema: + type: string + "/api/userdata/{file}": + get: + tags: + - user + operationId: getUserdataFile + summary: 获取用户数据文件 + description: 如果存在,则返回所请求的用户数据文件。 + parameters: + - name: file + in: path + required: true + description: 要检索的用户数据的文件名。 + schema: + type: string + responses: + "200": + description: 成功检索文件。 + content: + application/octet-stream: + schema: + type: string + format: binary + "400": + description: 错误请求(例如,无效文件名)。 + content: + text/plain: + schema: + type: string + "401": + description: 未经授权。 + content: + text/plain: + schema: + type: string + "404": + description: 文件未找到或路径无效。 + content: + text/plain: + schema: + type: string + "500": + description: 常规错误 + content: + text/plain: + schema: + type: string + post: + tags: + - user + operationId: postUserdataFile + summary: 上传或更新用户数据文件 + description: "将文件上传到用户数据目录。可选查询参数允许控制覆盖行为和响应详细信息。\n" + parameters: + - name: file + in: path + required: true + description: 目标文件路径(必要时进行URL编码)。 + schema: + type: string + - name: overwrite + in: query + required: false + description: 如果为“否”,则阻止覆盖现有文件。默认为“是”。 + schema: + type: string + enum: + - "true" + - "false" + default: "true" + - name: full_info + in: query + required: false + description: 如果为“是”,则返回详细的文件信息;如果为“否”,则仅返回相对路径。 + schema: + type: string + enum: + - "true" + - "false" + default: "false" + requestBody: + required: true + content: + application/octet-stream: + schema: + type: string + format: binary + responses: + "200": + description: 文件上传成功。 + content: + application/json: + schema: + $ref: "#/components/schemas/UserDataResponseFull" + "400": + description: 缺失或无效的“file”参数。 + content: + text/plain: + schema: + type: string + "401": + description: 未经授权。 + content: + text/plain: + schema: + type: string + "403": + description: 所请求的路径不被允许。 + content: + text/plain: + schema: + type: string + "409": + description: 文件已存在且覆盖设置为否。 + content: + text/plain: + schema: + type: string + "500": + description: 常规错误 + content: + text/plain: + schema: + type: string + delete: + tags: + - user + operationId: deleteUserdataFile + summary: 删除用户数据文件 + description: "从数据库中删除用户数据文件。文件参数应为用户数据目录中的相对路径。\n" + parameters: + - name: file + in: path + required: true + description: 要删除的文件路径(必要时进行URL编码)。 + schema: + type: string + responses: + "204": + description: 文件已删除成功(无内容)。 + "401": + description: 未经授权。 + content: + text/plain: + schema: + type: string + "404": + description: 文件未找到。 + content: + text/plain: + schema: + type: string + "500": + description: 内部服务器错误。 + content: + text/plain: + schema: + type: string + /api/upload/image: + post: + tags: + - file + summary: 上传图片文件 + description: "将图像文件上传至云端存储。\n\n图像限制:\n - 最大文件大小:50 MB\n - 每边最大宽度/高度:16384 px\n - 最大总像素数:64 兆像素(67108864 像素)\n\n超过这些限制中任何一项的上传都将被HTTP 400拒绝。\n" + operationId: uploadImage + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + required: + - image + properties: + image: + type: string + format: binary + description: 要上传的图像文件 + overwrite: + type: string + description: "是否覆盖现有文件(是/否)。\n**注意:** 为兼容ComfyUI API而接受,但在云端实际忽略。\n云端使用内容寻址存储(基于哈希的去重),因此相同的内容始终映射到相同的哈希。重新上传相同的内容是空操作。\n" + subfolder: + type: string + description: "可选的子文件夹路径。\n**注意:** 为兼容ComfyUI API而接受,但存储时**忽略**。\n云端仅按哈希存储资产。子文件夹在响应中返回用于客户端组织,但不在服务器端存储路径中使用。\n" + type: + type: string + description: "上传类型(默认为\"output\")。\n**注意:** 为兼容ComfyUI API而接受。云端将所有上传内容作为带标签的资产存储,而非基于目录的组织方式。\n" + responses: + "200": + description: 图像上传成功 + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: 上传图像的文件名 + subfolder: + type: string + description: 图像保存的子文件夹路径 + type: + type: string + description: "上传类型(例如\"output\")" + "400": + description: 错误请求 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/upload/mask: + post: + tags: + - file + summary: 上传遮罩图像 + description: "上传一个要应用到现有图像的遮罩图像。\n\n图像限制同时适用于上传的遮罩和引用的原始图像:\n - 最大文件大小:50 MB\n - 每边最大宽度/高度:16384 px\n - 最大总像素数:64 兆像素(67108864 像素)\n\n超过这些限制的上传将被 HTTP 400 拒绝。\n" + operationId: uploadMask + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + required: + - image + - original_ref + properties: + image: + type: string + format: binary + description: 要上传的遮罩图像文件 + original_ref: + type: string + description: 包含对原始图像引用的 JSON 字符串 + responses: + "200": + description: 遮罩上传成功 + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: 上传遮罩的文件名 + subfolder: + type: string + description: 遮罩保存的子文件夹路径 + type: + type: string + description: "上传类型(例如\"output\")" + metadata: + type: object + description: 用于遮罩检测和重新编辑的附加元数据 + properties: + is_mask: + type: boolean + description: 此文件是否为遮罩 + original_hash: + type: string + description: 原始未遮罩图像的哈希值 + mask_type: + type: string + description: "遮罩类型(例如\"painted_masked\")" + related_files: + type: object + description: 相关的遮罩层文件(如果可用) + properties: + mask: + type: string + description: 遮罩层的哈希值 + paint: + type: string + description: 绘画层的哈希值 + painted: + type: string + description: 已绘画图像的哈希值 + "400": + description: 错误请求 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/system_stats: + get: + tags: + - system + summary: 获取系统统计信息 + description: 返回系统统计信息,包括ComfyUI版本、设备信息和系统资源 + operationId: getSystemStats + security: + [] + responses: + "200": + description: 成功 + content: + application/json: + schema: + $ref: "#/components/schemas/SystemStatsResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + /api/user: + get: + tags: + - user + summary: 获取当前用户信息 + description: 返回当前已认证用户的信息 + operationId: getUser + responses: + "200": + description: 成功 + content: + application/json: + schema: + $ref: "#/components/schemas/UserResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "/api/job/{job_id}/status": + get: + tags: + - job + summary: 获取任务状态 + description: 返回指定ID任务的当前状态 + operationId: getJobStatus + parameters: + - name: job_id + in: path + required: true + description: 任务的唯一ID + schema: + type: string + format: uuid + responses: + "200": + description: 成功:已返回任务状态 + content: + application/json: + schema: + $ref: "#/components/schemas/JobStatusResponse" + "401": + description: 未授权 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: 禁止:任务属于其他用户 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: 任务未找到 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: 内部服务器错误 + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" +components: + securitySchemes: + ApiKeyAuth: + type: apiKey + in: header + name: X-API-Key + description: "API密钥认证。从您的用户设置中生成API密钥\n位于https://platform.comfy.org/profile/api-keys。在X-API-Key头中传递密钥。\n" + schemas: + PromptRequest: + type: object + required: + - prompt + properties: + prompt: + type: object + description: 要执行的工作流画面 + additionalProperties: true + number: + type: number + description: "队列的优先级编号(数字越小优先级越高)。\n**注意:** 为兼容ComfyUI API而接受,但在云端**忽略**。\n云端使用自己的队列管理,包含按用户排序和公平调度。\n" + front: + type: boolean + description: "如果为true,则将提示添加到队列前端。\n**注意:** 为兼容ComfyUI API而接受,但在云端**忽略**。\n云端基于任务提交时间和公平调度在内部管理队列排序。\n" + extra_data: + type: object + description: 要与提示关联的额外数据 + additionalProperties: true + partial_execution_targets: + type: array + items: + type: string + description: 要执行的节点名称列表 + PromptResponse: + type: object + properties: + prompt_id: + type: string + format: uuid + description: 提示执行的唯一标识符 + number: + type: number + description: 队列中的优先级编号 + node_errors: + type: object + description: 提示节点中的任何错误 + additionalProperties: true + ErrorResponse: + type: object + required: + - code + - message + properties: + code: + type: string + message: + type: string + PromptInfo: + type: object + properties: + exec_info: + type: object + properties: + queue_remaining: + type: integer + description: 队列中剩余的项目数 + NodeInfo: + type: object + properties: + input: + type: object + description: 节点的输入规范 + additionalProperties: true + input_order: + type: object + description: 用于显示的输入顺序 + additionalProperties: + type: array + items: + type: string + output: + type: array + items: + type: string + description: 节点的输出类型 + output_is_list: + type: array + items: + type: boolean + description: 每个输出是否为列表 + output_name: + type: array + items: + type: string + description: 输出的名称 + name: + type: string + description: 节点的内部名称 + display_name: + type: string + description: 节点的显示名称 + description: + type: string + description: 节点的描述 + python_module: + type: string + description: 实现该节点的Python模块 + category: + type: string + description: 节点的类别 + output_node: + type: boolean + description: 是否为输出节点 + output_tooltips: + type: array + items: + type: string + description: 输出的工具提示 + deprecated: + type: boolean + description: 节点是否已弃用 + experimental: + type: boolean + description: 节点是否为实验性 + api_node: + type: boolean + description: 是否为API节点 + GlobalSubgraphInfo: + type: object + description: 全局子图蓝图的元数据(不含完整数据) + required: + - source + - name + - info + properties: + source: + type: string + description: 子图的来源类型:“templates”表示工作流模板,“custom_node”表示自定义节点子图 + name: + type: string + description: 子图蓝图的显示名称 + info: + type: object + description: 关于子图的附加信息 + required: + - node_pack + properties: + node_pack: + type: string + description: 提供此子图的节点包/模块 + data: + type: string + description: 完整的子图JSON数据(列表视图下可能为空) + GlobalSubgraphData: + type: object + description: 全局子图蓝图的完整数据 + required: + - source + - name + - info + - data + properties: + source: + type: string + description: 子图的来源类型:“templates”表示工作流模板,“custom_node”表示自定义节点子图 + name: + type: string + description: 子图蓝图的显示名称 + info: + type: object + description: 关于子图的附加信息 + required: + - node_pack + properties: + node_pack: + type: string + description: 提供此子图的节点包/模块 + data: + type: string + description: 作为字符串的完整子图JSON数据 + HistoryResponse: + type: object + description: "带历史数组的执行历史响应。\n返回一个包含\"history\"键的对象,其中包含历史条目数组。\n每个条目包括prompt_id属性以及执行数据。\n" + required: + - history + properties: + history: + type: array + description: 按创建时间排序的历史条目数组(最新在前) + items: + $ref: "#/components/schemas/HistoryEntry" + HistoryEntry: + type: object + description: 包含prompt_id和执行数据的历史记录条目 + required: + - prompt_id + properties: + prompt_id: + type: string + description: 此提示执行的唯一标识符 + create_time: + type: integer + format: int64 + description: 任务创建时间戳(Unix毫秒时间戳) + workflow_id: + type: string + description: 标识工作流画面定义的UUID + prompt: + type: object + description: 过滤后的提示执行数据(轻量格式) + properties: + priority: + type: number + format: double + description: 执行优先级 + prompt_id: + type: string + description: 提示ID + extra_data: + type: object + description: 附加执行数据(从extra_pnginfo中移除的工作流) + additionalProperties: true + outputs: + type: object + description: 执行输出数据(已生成的图像、文件等) + additionalProperties: true + status: + type: object + description: 执行状态和时间线信息 + additionalProperties: true + meta: + type: object + description: 关于执行和节点的元数据 + additionalProperties: true + HistoryDetailEntry: + type: object + description: 包含完整提示数据的历史记录条目 + properties: + prompt: + type: object + description: 完整的提示执行数据 + properties: + priority: + type: number + format: double + description: 执行优先级 + prompt_id: + type: string + description: 提示ID + prompt: + type: object + description: 工作流节点 + additionalProperties: true + extra_data: + type: object + description: 附加执行数据 + additionalProperties: true + outputs_to_execute: + type: array + items: + type: string + description: 要执行的输出节点 + outputs: + type: object + description: 执行产生的输出数据(已生成的图像、文件等) + additionalProperties: true + status: + type: object + description: 执行状态及时间线信息 + additionalProperties: true + meta: + type: object + description: 关于执行和节点的元数据 + additionalProperties: true + HistoryDetailResponse: + type: object + description: "特定提示的详细执行历史响应。\n返回一个以prompt_id为键、完整历史数据为值的字典。\n" + additionalProperties: + $ref: "#/components/schemas/HistoryDetailEntry" + QueueInfo: + type: object + description: 包含待定和正在运行任务的队列信息 + properties: + queue_running: + type: array + description: 当前正在运行的任务项数组 + items: + $ref: "#/components/schemas/QueueItem" + queue_pending: + type: array + description: 待定任务项数组(按创建时间排序,最旧在前) + items: + $ref: "#/components/schemas/QueueItem" + QueueItem: + type: array + description: "队列项元组格式:[job_number, prompt_id, workflow_json, output_node_ids, metadata]\n- [0] job_number(整数):在队列中的位置(从1开始)\n- [1] prompt_id(字符串):任务UUID\n- [2] workflow_json(对象):完整的ComfyUI工作流\n- [3] output_node_ids(数组):要返回结果的节点ID\n- [4] metadata(对象):包含{create_time: <毫秒>}\n" + items: + oneOf: + - type: integer + description: 任务编号(队列中的位置) + - type: string + description: 提示ID(UUID) + - type: object + description: 工作流JSON + - type: array + items: + type: string + description: 输出节点ID + - type: object + description: 包含创建时间的元数据 + QueueManageRequest: + type: object + description: 管理队列操作的请求 + properties: + delete: + type: array + items: + type: string + description: 要取消的待定任务ID数组 + clear: + type: boolean + description: 如果为true,从队列中全部清除待定任务 + additionalProperties: false + QueueManageResponse: + type: object + properties: + deleted: + type: array + items: + type: string + description: 已成功取消的任务ID数组 + cleared: + type: boolean + description: 队列是否已清除 + JobStatusResponse: + type: object + description: 任务状态信息 + properties: + id: + type: string + format: uuid + description: 任务ID + status: + type: string + enum: + - waiting_to_dispatch + - pending + - in_progress + - completed + - error + - cancelled + description: 当前任务状态 + created_at: + type: string + format: date-time + description: 任务创建时间 + updated_at: + type: string + format: date-time + description: 任务最后更新时间 + last_state_update: + type: string + format: date-time + description: 任务状态最后变更时间 + assigned_inference: + type: string + nullable: true + description: 分配给此任务的推理实例(如有) + error_message: + type: string + nullable: true + description: 任务失败时的报错信息 + required: + - id + - status + - created_at + - updated_at + HistoryManageRequest: + type: object + description: 管理历史操作的请求 + properties: + delete: + type: array + items: + type: string + description: 要从历史中删除的任务ID数组 + clear: + type: boolean + description: 若是,清除已验证用户的全部历史记录 + additionalProperties: false + UserDataResponse: + oneOf: + - $ref: "#/components/schemas/UserDataResponseFull" + - $ref: "#/components/schemas/UserDataResponseShort" + UserDataResponseFull: + type: object + properties: + path: + type: string + size: + type: integer + modified: + type: string + format: date-time + UserDataResponseShort: + type: string + GetUserDataResponseFull: + type: array + items: + $ref: "#/components/schemas/GetUserDataResponseFullFile" + GetUserDataResponseFullFile: + type: object + properties: + path: + type: string + description: 相对于用户目录的文件名或路径。 + size: + type: integer + description: 以字节为单位的文件大小。 + modified: + type: number + format: float + description: 最后修改的UNIX时间戳。 + PromptErrorResponse: + type: object + description: ComfyUI提示执行的错误响应。 + additionalProperties: true + ModelFolder: + type: object + description: 表示包含模型的文件夹 + required: + - name + - folders + properties: + name: + type: string + description: 模型文件夹的名称 + example: checkpoints + folders: + type: array + items: + type: string + description: 存储此类模型的路径列表 + example: + - checkpoints + ModelFile: + type: object + description: 表示带有元数据的模型文件 + required: + - name + - pathIndex + properties: + name: + type: string + description: 模型的文件名 + example: model.safetensors + pathIndex: + type: integer + description: 模型所在路径的索引 + example: 0 + SystemStatsResponse: + type: object + description: 系统统计响应 + required: + - system + - devices + properties: + system: + type: object + required: + - os + - python_version + - embedded_python + - comfyui_version + - pytorch_version + - argv + - ram_total + - ram_free + properties: + os: + type: string + description: 操作系统 + python_version: + type: string + description: Python 版本 + embedded_python: + type: boolean + description: 是否使用嵌入式 Python + comfyui_version: + type: string + description: ComfyUI 版本 + comfyui_frontend_version: + type: string + description: ComfyUI 前端版本(提交哈希或标签) + workflow_templates_version: + type: string + description: 工作流模板版本 + cloud_version: + type: string + description: 云端摄取服务版本(提交哈希) + pytorch_version: + type: string + description: PyTorch 版本 + argv: + type: array + items: + type: string + description: 指令行参数 + ram_total: + type: number + description: 总 RAM(字节) + ram_free: + type: number + description: 空闲 RAM(字节) + devices: + type: array + items: + type: object + required: + - name + - type + properties: + name: + type: string + description: 设备名称 + type: + type: string + description: 设备类型 + vram_total: + type: number + description: 总VRAM(字节) + vram_free: + type: number + description: 可用VRAM(字节) + UserResponse: + type: object + description: 用户信息响应 + required: + - status + properties: + status: + type: string + description: 用户状态(活跃或候补) + Asset: + type: object + required: + - id + - name + - size + - created_at + - updated_at + properties: + id: + type: string + format: uuid + description: 资产的唯一标识符 + name: + type: string + description: 资产文件的名称 + asset_hash: + type: string + description: 资产内容的 Blake3 哈希 + pattern: "^blake3:[a-f0-9]{64}$" + size: + type: integer + format: int64 + description: 资产的字节大小 + mime_type: + type: string + description: 资产的 MIME 类型 + tags: + type: array + items: + type: string + description: 与资产关联的标签 + user_metadata: + type: object + description: 资产的自定义用户元数据 + additionalProperties: true + preview_url: + type: string + format: uri + description: 资产预览/缩略图的 URL + preview_id: + type: string + format: uuid + description: 预览资产的 ID(如有) + nullable: true + prompt_id: + type: string + format: uuid + description: 创建此资产的任务/提示的 ID(如有) + nullable: true + created_at: + type: string + format: date-time + description: 资产创建的时间戳 + updated_at: + type: string + format: date-time + description: 资产最后更新的时间戳 + last_access_time: + type: string + format: date-time + description: 资产最后访问的时间戳 + is_immutable: + type: boolean + description: 此资产是否为不可变(不能修改或删除) + AssetCreated: + allOf: + - $ref: "#/components/schemas/Asset" + - type: object + required: + - created_new + properties: + created_new: + type: boolean + description: 这是否为新资产创建(是)或返回已有(否) + AssetUpdated: + type: object + required: + - id + - updated_at + properties: + id: + type: string + format: uuid + description: 资产 ID + name: + type: string + description: 资产已更新的名称 + asset_hash: + type: string + description: 资产内容的 Blake3 哈希 + pattern: "^blake3:[a-f0-9]{64}$" + tags: + type: array + items: + type: string + description: 资产已更新的标签 + mime_type: + type: string + description: 资产已更新的 MIME 类型 + user_metadata: + type: object + description: 已更新的自定义元数据 + additionalProperties: true + updated_at: + type: string + format: date-time + description: 更新的时间戳 + ListAssetsResponse: + type: object + required: + - assets + - total + - has_more + properties: + assets: + type: array + items: + $ref: "#/components/schemas/Asset" + description: 与查询匹配的资产列表 + total: + type: integer + description: 与滤镜匹配的资产总数 + has_more: + type: boolean + description: 此页之后是否还有更多资产 + TagInfo: + type: object + required: + - name + - count + properties: + name: + type: string + description: 标签名称 + count: + type: integer + description: 使用此标签的资产数量 + ListTagsResponse: + type: object + required: + - tags + - total + - has_more + properties: + tags: + type: array + items: + $ref: "#/components/schemas/TagInfo" + description: 标签列表 + total: + type: integer + description: 标签总数 + has_more: + type: boolean + description: 是否还有更多标签 + AssetTagHistogramResponse: + type: object + required: + - tag_counts + properties: + tag_counts: + type: object + additionalProperties: + type: integer + description: 标签名称到匹配资产上出现次数的映射 + example: + checkpoint: 32 + lora: 193 + vae: 6 + AssetMetadataResponse: + type: object + required: + - content_length + properties: + content_length: + type: integer + format: int64 + description: 资产的字节大小(-1 表示未知) + example: 4294967296 + content_type: + type: string + description: 资产的 MIME 类型 + example: application/octet-stream + filename: + type: string + description: 从来源建议的资产文件名 + example: realistic-vision-v5.safetensors + name: + type: string + description: 从来源的资产显示名称或标题 + example: Realistic Vision v5.0 + tags: + type: array + items: + type: string + description: 来自来源的分类标签 + example: + - models + - checkpoint + preview_image: + type: string + description: 作为 base64 编码的数据 URL 的预览图像 + example: "data:image/jpeg;base64,/9j/4AAQSkZJRg..." + validation: + $ref: "#/components/schemas/ValidationResult" + description: 文件的验证结果 + AssetDownloadResponse: + type: object + required: + - task_id + - status + properties: + task_id: + type: string + format: uuid + description: "用于通过 GET /api/tasks/{task_id} 跟踪下载进度的任务 ID" + status: + type: string + enum: + - created + - running + - completed + - failed + description: 当前任务状态 + message: + type: string + description: 人类可读的消息 + example: Download task created. Use task_id to track progress. + ValidationResult: + type: object + required: + - is_valid + properties: + is_valid: + type: boolean + description: 总体验证状态(如果所有检查通过则为是) + example: true + errors: + type: array + items: + $ref: "#/components/schemas/ValidationError" + description: 阻止下载的阻塞性验证错误 + warnings: + type: array + items: + $ref: "#/components/schemas/ValidationError" + description: 非阻塞性验证警告(仅用于信息参考) + ValidationError: + type: object + required: + - code + - message + - field + properties: + code: + type: string + description: 机器可读的错误码 + example: FORMAT_NOT_ALLOWED + message: + type: string + description: 人类可读的报错信息 + example: "File format \"PickleTensor\" is not allowed. Allowed formats: [SafeTensor]" + field: + type: string + description: 验证失败的字段 + example: format + TagsModificationResponse: + type: object + required: + - total_tags + properties: + added: + type: array + items: + type: string + description: 成功添加的标签(用于添加操作) + removed: + type: array + items: + type: string + description: 成功移除的标签(用于移除操作) + already_present: + type: array + items: + type: string + description: 已存在的标签(用于添加操作) + not_present: + type: array + items: + type: string + description: 不存在的标签(用于移除操作) + total_tags: + type: array + items: + type: string + description: 操作后资产上的所有标签 + JobsListResponse: + type: object + required: + - jobs + - pagination + properties: + jobs: + type: array + description: 按指定排序字段排序的任务数组 + items: + $ref: "#/components/schemas/JobEntry" + pagination: + $ref: "#/components/schemas/PaginationInfo" + JobEntry: + type: object + description: 用于列表视图的轻量任务数据(不包括工作流和完整输出) + required: + - id + - status + - create_time + properties: + id: + type: string + format: uuid + description: 唯一任务标识符 + status: + type: string + enum: + - pending + - in_progress + - completed + - failed + - cancelled + description: 用户友好的任务状态 + execution_error: + $ref: "#/components/schemas/ExecutionError" + description: 来自ComfyUI的详细执行错误(仅适用于带有结构化错误数据的失败任务) + create_time: + type: integer + format: int64 + description: 任务创建时间戳(Unix时间戳,秒) + preview_output: + type: object + description: 主要预览输出(仅终端状态存在) + additionalProperties: true + outputs_count: + type: integer + description: 输出文件总数(非终端状态省略) + workflow_id: + type: string + description: 标识工作流画面定义的UUID + execution_start_time: + type: integer + format: int64 + description: 工作流执行开始时间戳(Unix毫秒,仅终端状态存在) + execution_end_time: + type: integer + format: int64 + description: 工作流执行完成时间戳(Unix毫秒,仅终端状态存在) + JobDetailResponse: + type: object + description: 包括工作流和输出的完整任务详情 + required: + - id + - status + - create_time + - update_time + properties: + id: + type: string + format: uuid + description: 唯一任务标识符 + status: + type: string + enum: + - pending + - in_progress + - completed + - failed + - cancelled + description: 用户友好的任务状态 + workflow: + type: object + description: 完整ComfyUI工作流(10-100KB,不可用则省略) + additionalProperties: true + execution_error: + $ref: "#/components/schemas/ExecutionError" + description: 来自ComfyUI的详细执行错误(仅适用于带有结构化错误数据的失败任务) + create_time: + type: integer + format: int64 + description: 任务创建时间戳(Unix时间戳,秒) + update_time: + type: integer + format: int64 + description: 最后更新时间戳(Unix时间戳,秒) + outputs: + type: object + description: 来自ComfyUI的完整输出对象(仅适用于终端状态) + additionalProperties: true + preview_output: + type: object + description: 主要预览输出(仅适用于终端状态) + additionalProperties: true + outputs_count: + type: integer + description: 输出文件总数(非终端状态省略) + workflow_id: + type: string + description: 标识工作流画面定义的UUID + execution_status: + type: object + description: ComfyUI执行状态和时间线(仅适用于终端状态) + additionalProperties: true + execution_meta: + type: object + description: 节点级执行元数据(仅适用于终端状态) + additionalProperties: true + ExecutionError: + type: object + description: 来自 ComfyUI 的详细执行错误信息 + required: + - node_id + - node_type + - exception_message + - exception_type + - traceback + - current_inputs + - current_outputs + properties: + node_id: + type: string + description: 失败节点的ID + node_type: + type: string + description: "节点类型名称(例如 \"KSampler\")" + exception_message: + type: string + description: 人类可读的报错信息 + exception_type: + type: string + description: "Python异常类型(例如 \"RuntimeError\")" + traceback: + type: array + items: + type: string + description: 回溯行数组(如不可用则为空数组) + current_inputs: + type: object + additionalProperties: true + description: 失败时的输入值(不可用则为空对象) + current_outputs: + type: object + additionalProperties: true + description: 失败时的输出值(如不可用则为空对象) + PaginationInfo: + type: object + required: + - offset + - limit + - total + - has_more + properties: + offset: + type: integer + minimum: 0 + description: 当前偏移量(从0开始) + limit: + type: integer + minimum: 1 + description: 每页项目数 + total: + type: integer + minimum: 0 + description: 匹配滤镜的项目总数 + has_more: + type: boolean + description: 此页之后是否还有更多项目 + WebSocketMessage: + type: object + description: "所有WebSocket消息的基础结构。消息是JSON格式,包含一个type\n字段表示消息类型,以及一个data字段包含类型特定的有效载荷。\n" + required: + - type + properties: + type: + $ref: "#/components/schemas/WebSocketMessageType" + data: + type: object + description: 消息有效载荷(结构因类型而异) + additionalProperties: true + WebSocketMessageType: + type: string + description: "WebSocket消息的类型。这些与ComfyUI的原生消息类型匹配。\n" + enum: + - status + - execution_start + - execution_cached + - executing + - progress + - progress_state + - executed + - execution_success + - execution_error + - execution_interrupted + WebSocketStatusMessage: + type: object + description: "队列状态更新。当队列状态更改时发送。\n" + properties: + type: + type: string + enum: + - status + data: + type: object + properties: + status: + type: object + properties: + exec_info: + type: object + properties: + queue_remaining: + type: integer + description: 该用户队列中剩余的作业数量 + sid: + type: string + description: 会话ID(仅初始连接时) + WebSocketExecutionStartMessage: + type: object + description: "当工作流执行开始时发送。\n" + properties: + type: + type: string + enum: + - execution_start + data: + type: object + required: + - prompt_id + properties: + prompt_id: + type: string + format: uuid + description: 开始执行的作业/提示ID + WebSocketExecutingMessage: + type: object + description: "当特定节点开始执行时发送。\n" + properties: + type: + type: string + enum: + - executing + data: + type: object + required: + - prompt_id + properties: + prompt_id: + type: string + format: uuid + node: + type: string + description: 当前正在执行的节点ID(执行完成时为null) + display_node: + type: string + description: 显示节点ID(对于分组节点可能与节点ID不同) + WebSocketProgressMessage: + type: object + description: "节点内的逐步进度(例如,扩散采样步骤)。\n" + properties: + type: + type: string + enum: + - progress + data: + type: object + required: + - prompt_id + - node + - value + - max + properties: + prompt_id: + type: string + format: uuid + node: + type: string + description: 显示进度的节点ID + value: + type: integer + description: 当前步数 + max: + type: integer + description: 总步数 + WebSocketProgressStateMessage: + type: object + description: "扩展的进度状态,包含详细的节点元数据。\n提供比简单的`progress`消息更丰富的上下文。\n" + properties: + type: + type: string + enum: + - progress_state + data: + type: object + properties: + prompt_id: + type: string + format: uuid + nodes: + type: object + description: 节点ID到其进度状态的映射 + additionalProperties: + type: object + properties: + node_id: + type: string + display_node_id: + type: string + real_node_id: + type: string + prompt_id: + type: string + class_type: + type: string + description: "节点的类类型(例如,\"KSampler\")" + WebSocketExecutedMessage: + type: object + description: "当节点完成执行并带有输出时发送。\n" + properties: + type: + type: string + enum: + - executed + data: + type: object + required: + - prompt_id + - node + properties: + prompt_id: + type: string + format: uuid + node: + type: string + description: 已完成的节点ID + display_node: + type: string + description: 显示节点ID + output: + type: object + description: "节点输出。结构因节点类型而异。\n对于图像输出:{ \"images\": [{\"filename\": \"...\", \"subfolder\": \"\", \"type\": \"output\"}] }\n对于视频输出:{ \"video\": [{\"filename\": \"...\", \"subfolder\": \"\", \"type\": \"output\"}] }\n" + additionalProperties: true + WebSocketExecutionSuccessMessage: + type: object + description: "当整个工作流成功完成时发送。\n" + properties: + type: + type: string + enum: + - execution_success + data: + type: object + required: + - prompt_id + properties: + prompt_id: + type: string + format: uuid + WebSocketExecutionErrorMessage: + type: object + description: "当工作流执行因错误而失败时发送。\n" + properties: + type: + type: string + enum: + - execution_error + data: + type: object + required: + - prompt_id + - exception_message + properties: + prompt_id: + type: string + format: uuid + node_id: + type: string + description: 发生错误的节点ID(如适用) + node_type: + type: string + description: 发生错误的节点类型 + exception_type: + type: string + description: "错误分类。常见类型:\n- ValidationError: 无效工作流或输入\n- ModelDownloadError: 下载所需模型失败\n- OOMError: GPU内存不足\n- InsufficientFundsError: 账户余额不足\n- InactiveSubscriptionError: 订阅未激活\n" + enum: + - ValidationError + - ModelDownloadError + - ImageDownloadError + - OOMError + - PanicError + - ServiceError + - WebSocketError + - DispatcherError + - InsufficientFundsError + - InactiveSubscriptionError + exception_message: + type: string + description: 人类可读的错误信息 + traceback: + type: array + items: + type: string + description: 堆栈跟踪行(用于调试) + executed: + type: array + items: + type: string + description: 在错误之前已完成执行的节点ID + current_inputs: + type: object + description: 失败时的输入值 + additionalProperties: true + current_outputs: + type: object + description: 失败时的输出值 + additionalProperties: true + WebSocketExecutionCachedMessage: + type: object + description: "当节点因输出被缓存而跳过时发送。\n" + properties: + type: + type: string + enum: + - execution_cached + data: + type: object + required: + - prompt_id + - nodes + properties: + prompt_id: + type: string + format: uuid + nodes: + type: array + items: + type: string + description: 从缓存提供的节点ID列表 + WebSocketExecutionInterruptedMessage: + type: object + description: "当工作流执行被取消或中断时发送。\n" + properties: + type: + type: string + enum: + - execution_interrupted + data: + type: object + required: + - prompt_id + properties: + prompt_id: + type: string + format: uuid diff --git a/openapi/registry.en.yaml b/openapi/registry.en.yaml new file mode 100644 index 000000000..ecc0077f4 --- /dev/null +++ b/openapi/registry.en.yaml @@ -0,0 +1,36106 @@ +components: + parameters: + PixverseAiTraceId: + description: Unique UUID for each request. + in: header + name: Ai-trace-id + required: true + schema: + type: string + schemas: + APIKey: + properties: + created_at: + format: date-time + type: string + description: + type: string + id: + type: string + key_prefix: + type: string + name: + type: string + type: object + APIKeyWithPlaintext: + allOf: + - $ref: "#/components/schemas/APIKey" + - properties: + plaintext_key: + description: The full API key (only returned at creation) + type: string + type: object + ActionJobResult: + properties: + action_job_id: + description: Identifier of the job this result belongs to + type: string + action_run_id: + description: Identifier of the run this result belongs to + type: string + author: + description: The author of the commit + type: string + avg_vram: + description: The average VRAM used by the job + type: integer + branch_name: + description: Name of the relevant git branch + type: string + comfy_run_flags: + description: "The comfy run flags. E.g. `--low-vram`" + type: string + commit_hash: + description: The hash of the commit + type: string + commit_id: + description: The ID of the commit + type: string + commit_message: + description: The message of the commit + type: string + commit_time: + description: The Unix timestamp when the commit was made + format: int64 + type: integer + cuda_version: + description: CUDA version used + type: string + end_time: + description: The end time of the job as a Unix timestamp. + format: int64 + type: integer + git_repo: + description: The repository name + type: string + id: + description: Unique identifier for the job result + format: uuid + type: string + job_trigger_user: + description: The user who triggered the job. + type: string + machine_stats: + $ref: "#/components/schemas/MachineStats" + operating_system: + description: Operating system used + type: string + peak_vram: + description: The peak VRAM used by the job + type: integer + pr_number: + description: The pull request number + type: string + python_version: + description: PyTorch version used + type: string + pytorch_version: + description: PyTorch version used + type: string + start_time: + description: The start time of the job as a Unix timestamp. + format: int64 + type: integer + status: + $ref: "#/components/schemas/WorkflowRunStatus" + storage_file: + $ref: "#/components/schemas/StorageFile" + workflow_name: + description: Name of the workflow + type: string + type: object + AnthropicCacheCreationUsage: + description: Per-TTL breakdown of cache-write input tokens for an Anthropic Messages API call. + properties: + ephemeral_1h_input_tokens: + type: integer + ephemeral_5m_input_tokens: + type: integer + type: object + AnthropicCreateMessageRequest: + additionalProperties: true + description: "Request body for Anthropic Messages API (`/v1/messages`). Mirrors the upstream schema with strict typing only on fields the proxy reads (model, prompt extraction, streaming, billing). Other top-level fields (`tools`, `temperature`, `top_p`, `thinking`, `metadata`, etc.) pass through unchanged via `additionalProperties`." + properties: + max_tokens: + description: Maximum number of tokens to generate before stopping. + type: integer + messages: + description: Conversation turns. See Anthropic Messages API docs for the full content-block taxonomy. + items: + $ref: "#/components/schemas/AnthropicMessageParam" + type: array + model: + description: "Anthropic model identifier (e.g. `claude-sonnet-4-5`, `claude-opus-4-7`)." + type: string + stream: + description: "When true, the response is a `text/event-stream` of Anthropic message events instead of a single JSON body." + type: boolean + system: + description: Top-level system prompt. Anthropic also accepts an array form via passthrough. + type: string + required: + - model + - max_tokens + - messages + type: object + AnthropicCreateMessageResponse: + additionalProperties: true + description: "JSON shape of a non-streaming Messages API response. Most fields pass through; the proxy reads `usage` for billing." + properties: + id: + type: string + model: + type: string + role: + type: string + stop_reason: + nullable: true + type: string + stop_sequence: + nullable: true + type: string + type: + type: string + usage: + $ref: "#/components/schemas/AnthropicMessagesUsage" + type: object + AnthropicMessageParam: + additionalProperties: true + description: "A single conversation turn. The proxy only reads `role` and `content` (string or array of content blocks) for prompt capture; additional fields pass through." + properties: + content: + description: "Either a string shorthand or an array of content blocks (text, image, document, tool_use, tool_result, ...)." + x-go-type: "interface{}" + role: + enum: + - user + - assistant + type: string + required: + - role + - content + type: object + AnthropicMessagesUsage: + description: Token usage for an Anthropic Messages API call. + properties: + cache_creation: + $ref: "#/components/schemas/AnthropicCacheCreationUsage" + cache_creation_input_tokens: + type: integer + cache_read_input_tokens: + type: integer + input_tokens: + type: integer + output_tokens: + type: integer + type: object + AuditLog: + properties: + createdAt: + description: The date and time the event was created + format: date-time + type: string + event_id: + description: the id of the event + type: string + event_type: + description: the type of the event + type: string + params: + additionalProperties: true + description: data related to the event + type: object + type: object + BFLAsyncResponse: + properties: + id: + title: Id + type: string + polling_url: + title: Polling Url + type: string + required: + - id + - polling_url + title: AsyncResponse + type: object + BFLAsyncWebhookResponse: + properties: + id: + title: Id + type: string + status: + title: Status + type: string + webhook_url: + title: Webhook Url + type: string + required: + - id + - status + - webhook_url + title: AsyncWebhookResponse + type: object + BFLCannyInputs: + properties: + canny_high_threshold: + anyOf: + - maximum: 500 + minimum: 0 + type: integer + default: 200 + description: High threshold for Canny edge detection + title: Canny High Threshold + canny_low_threshold: + anyOf: + - maximum: 500 + minimum: 0 + type: integer + default: 50 + description: Low threshold for Canny edge detection + title: Canny Low Threshold + control_image: + anyOf: + - type: string + description: Base64 encoded image to use as control input if no preprocessed image is provided + title: Control Image + guidance: + anyOf: + - maximum: 100 + minimum: 1 + type: number + default: 30 + description: Guidance strength for the image generation process + title: Guidance + output_format: + anyOf: + - $ref: "#/components/schemas/BFLOutputFormat" + default: jpeg + description: "Output format for the generated image. Can be 'jpeg' or 'png'." + preprocessed_image: + anyOf: + - type: string + description: Optional pre-processed image that will bypass the control preprocessing step + title: Preprocessed Image + prompt: + description: Text prompt for image generation + example: ein fantastisches bild + title: Prompt + type: string + prompt_upsampling: + anyOf: + - type: boolean + default: false + description: Whether to perform upsampling on the prompt + title: Prompt Upsampling + safety_tolerance: + default: 2 + description: "Tolerance level for input and output moderation. Between 0 and 6, 0 being most strict, 6 being least strict." + maximum: 6 + minimum: 0 + title: Safety Tolerance + type: integer + seed: + anyOf: + - type: integer + description: Optional seed for reproducibility + example: 42 + title: Seed + steps: + anyOf: + - maximum: 50 + minimum: 15 + type: integer + default: 50 + description: Number of steps for the image generation process + title: Steps + webhook_secret: + anyOf: + - type: string + description: Optional secret for webhook signature verification + title: Webhook Secret + webhook_url: + anyOf: + - format: uri + maxLength: 2083 + minLength: 1 + type: string + description: URL to receive webhook notifications + title: Webhook Url + required: + - prompt + title: CannyInputs + type: object + BFLDepthInputs: + properties: + control_image: + anyOf: + - type: string + description: Base64 encoded image to use as control input + title: Control Image + guidance: + anyOf: + - maximum: 100 + minimum: 1 + type: number + default: 15 + description: Guidance strength for the image generation process + title: Guidance + output_format: + anyOf: + - $ref: "#/components/schemas/BFLOutputFormat" + default: jpeg + description: "Output format for the generated image. Can be 'jpeg' or 'png'." + preprocessed_image: + anyOf: + - type: string + description: Optional pre-processed image that will bypass the control preprocessing step + title: Preprocessed Image + prompt: + description: Text prompt for image generation + example: ein fantastisches bild + title: Prompt + type: string + prompt_upsampling: + anyOf: + - type: boolean + default: false + description: Whether to perform upsampling on the prompt + title: Prompt Upsampling + safety_tolerance: + default: 2 + description: "Tolerance level for input and output moderation. Between 0 and 6, 0 being most strict, 6 being least strict." + maximum: 6 + minimum: 0 + title: Safety Tolerance + type: integer + seed: + anyOf: + - type: integer + description: Optional seed for reproducibility + example: 42 + title: Seed + steps: + anyOf: + - maximum: 50 + minimum: 15 + type: integer + default: 50 + description: Number of steps for the image generation process + title: Steps + webhook_secret: + anyOf: + - type: string + description: Optional secret for webhook signature verification + title: Webhook Secret + webhook_url: + anyOf: + - format: uri + maxLength: 2083 + minLength: 1 + type: string + description: URL to receive webhook notifications + title: Webhook Url + required: + - prompt + title: DepthInputs + type: object + BFLEraseV1Request: + description: Request body for the BFL Flux Tools Erase v1 object removal API. + properties: + dilate_pixels: + default: 10 + description: Number of pixels to dilate the mask by before removal. Dilation helps cover object edges. Maximum is 25 pixels. + maximum: 25 + minimum: 0 + type: integer + image: + description: Base64-encoded input image or HTTP(S) image URL. + type: string + mask: + description: Base64-encoded black/white mask or HTTP(S) image URL. White pixels indicate the object to remove; black pixels are preserved. Must have the same dimensions as the input image. + type: string + output_format: + $ref: "#/components/schemas/BFLOutputFormat" + safety_tolerance: + default: 2 + description: "Tolerance level for input and output moderation. Between 0 and 5, 0 being most strict, 5 being least strict." + maximum: 5 + minimum: 0 + type: integer + seed: + description: Optional seed for reproducibility. + example: 42 + type: integer + webhook_secret: + description: Optional secret for webhook signature verification. + type: string + webhook_url: + description: URL to receive webhook notifications. + format: uri + maxLength: 2083 + minLength: 1 + type: string + required: + - image + - mask + type: object + BFLFlux2ProGenerateRequest: + description: Request body for the BFL Flux 2 Pro image generation API. + properties: + height: + default: 1024 + description: Height of the image. + maximum: 2048 + minimum: 256 + type: integer + input_image: + description: Base64 encoded image for image-to-image generation. + type: string + input_image_2: + description: Base64 encoded image for image-to-image generation. + type: string + input_image_3: + description: Base64 encoded image for image-to-image generation. + type: string + input_image_4: + description: Base64 encoded image for image-to-image generation. + type: string + input_image_5: + description: Base64 encoded image for image-to-image generation. + type: string + input_image_6: + description: Base64 encoded image for image-to-image generation. + type: string + input_image_7: + description: Base64 encoded image for image-to-image generation. + type: string + input_image_8: + description: Base64 encoded image for image-to-image generation. + type: string + input_image_9: + description: Base64 encoded image for image-to-image generation. + type: string + output_format: + default: jpeg + description: Output format for the generated image. + enum: + - jpeg + - png + type: string + prompt: + description: Text description of the image to generate. + type: string + prompt_upsampling: + default: true + description: Automatically modify prompt for generation. + type: boolean + safety_tolerance: + default: 2 + description: Moderation tolerance level (Flux 2 Max only). + maximum: 5 + minimum: 0 + type: integer + seed: + description: Seed for reproducibility. + type: integer + width: + default: 1024 + description: Width of the image. + maximum: 2048 + minimum: 256 + type: integer + required: + - prompt + type: object + BFLFluxKontextMaxGenerateRequest: + properties: + guidance: + default: 3 + description: The guidance scale for generation + maximum: 20 + minimum: 1 + type: number + input_image: + description: Base64 encoded image to be edited + type: string + prompt: + description: The text prompt describing what to edit on the image + type: string + steps: + default: 50 + description: Number of inference steps + maximum: 50 + minimum: 1 + type: integer + required: + - prompt + - input_image + type: object + BFLFluxKontextMaxGenerateResponse: + properties: + id: + description: Job ID for tracking + type: string + polling_url: + description: URL to poll for results + type: string + required: + - id + - polling_url + type: object + BFLFluxKontextProGenerateRequest: + properties: + guidance: + default: 3 + description: The guidance scale for generation + maximum: 20 + minimum: 1 + type: number + input_image: + description: Base64 encoded image to be edited + type: string + prompt: + description: The text prompt describing what to edit on the image + type: string + steps: + default: 50 + description: Number of inference steps + maximum: 50 + minimum: 1 + type: integer + required: + - prompt + - input_image + type: object + BFLFluxKontextProGenerateResponse: + properties: + id: + description: Job ID for tracking + type: string + polling_url: + description: URL to poll for results + type: string + required: + - id + - polling_url + type: object + BFLFluxPro1_1GenerateRequest: + properties: + height: + description: Height of the generated image + type: integer + image_prompt: + description: Optional image prompt + type: string + output_format: + description: Output image format + enum: + - jpeg + - png + type: string + prompt: + description: The main text prompt for image generation + type: string + prompt_upsampling: + description: Whether to use prompt upsampling + type: boolean + safety_tolerance: + description: Safety tolerance level + type: integer + seed: + description: Random seed for reproducibility + type: integer + webhook_secret: + description: Optional webhook secret for async processing + type: string + webhook_url: + description: Optional webhook URL for async processing + type: string + width: + description: Width of the generated image + type: integer + required: + - prompt + - width + - height + type: object + BFLFluxPro1_1GenerateResponse: + properties: + id: + description: Job ID for tracking + type: string + polling_url: + description: URL to poll for results + type: string + required: + - id + - polling_url + type: object + BFLFluxProExpandInputs: + properties: + bottom: + anyOf: + - maximum: 2048 + minimum: 0 + type: integer + default: 0 + description: Number of pixels to expand at the bottom of the image + title: Bottom + guidance: + anyOf: + - maximum: 100 + minimum: 1.5 + type: number + default: 60 + description: Guidance strength for the image generation process + title: Guidance + image: + description: A Base64-encoded string representing the image you wish to expand. + title: Image + type: string + left: + anyOf: + - maximum: 2048 + minimum: 0 + type: integer + default: 0 + description: Number of pixels to expand on the left side of the image + title: Left + output_format: + anyOf: + - $ref: "#/components/schemas/BFLOutputFormat" + default: jpeg + description: "Output format for the generated image. Can be 'jpeg' or 'png'." + prompt: + anyOf: + - type: string + default: "" + description: "The description of the changes you want to make. This text guides the expansion process, allowing you to specify features, styles, or modifications for the expanded areas." + example: ein fantastisches bild + title: Prompt + prompt_upsampling: + anyOf: + - type: boolean + default: false + description: "Whether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation" + title: Prompt Upsampling + right: + anyOf: + - maximum: 2048 + minimum: 0 + type: integer + default: 0 + description: Number of pixels to expand on the right side of the image + title: Right + safety_tolerance: + default: 2 + description: "Tolerance level for input and output moderation. Between 0 and 6, 0 being most strict, 6 being least strict." + example: 2 + maximum: 6 + minimum: 0 + title: Safety Tolerance + type: integer + seed: + anyOf: + - type: integer + description: Optional seed for reproducibility + title: Seed + steps: + anyOf: + - maximum: 50 + minimum: 15 + type: integer + default: 50 + description: Number of steps for the image generation process + example: 50 + title: Steps + top: + anyOf: + - maximum: 2048 + minimum: 0 + type: integer + default: 0 + description: Number of pixels to expand at the top of the image + title: Top + webhook_secret: + anyOf: + - type: string + description: Optional secret for webhook signature verification + title: Webhook Secret + webhook_url: + anyOf: + - format: uri + maxLength: 2083 + minLength: 1 + type: string + description: URL to receive webhook notifications + title: Webhook Url + required: + - image + title: FluxProExpandInputs + type: object + BFLFluxProFillInputs: + properties: + guidance: + anyOf: + - maximum: 100 + minimum: 1.5 + type: number + default: 60 + description: Guidance strength for the image generation process + title: Guidance + image: + description: A Base64-encoded string representing the image you wish to modify. Can contain alpha mask if desired. + title: Image + type: string + mask: + anyOf: + - type: string + description: "A Base64-encoded string representing a mask for the areas you want to modify in the image. The mask should be the same dimensions as the image and in black and white. Black areas (0%) indicate no modification, while white areas (100%) specify areas for inpainting. Optional if you provide an alpha mask in the original image. Validation: The endpoint verifies that the dimensions of the mask match the original image." + title: Mask + output_format: + anyOf: + - $ref: "#/components/schemas/BFLOutputFormat" + default: jpeg + description: "Output format for the generated image. Can be 'jpeg' or 'png'." + prompt: + anyOf: + - type: string + default: "" + description: "The description of the changes you want to make. This text guides the inpainting process, allowing you to specify features, styles, or modifications for the masked area." + example: ein fantastisches bild + title: Prompt + prompt_upsampling: + anyOf: + - type: boolean + default: false + description: "Whether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation" + title: Prompt Upsampling + safety_tolerance: + default: 2 + description: "Tolerance level for input and output moderation. Between 0 and 6, 0 being most strict, 6 being least strict." + example: 2 + maximum: 6 + minimum: 0 + title: Safety Tolerance + type: integer + seed: + anyOf: + - type: integer + description: Optional seed for reproducibility + title: Seed + steps: + anyOf: + - maximum: 50 + minimum: 15 + type: integer + default: 50 + description: Number of steps for the image generation process + example: 50 + title: Steps + webhook_secret: + anyOf: + - type: string + description: Optional secret for webhook signature verification + title: Webhook Secret + webhook_url: + anyOf: + - format: uri + maxLength: 2083 + minLength: 1 + type: string + description: URL to receive webhook notifications + title: Webhook Url + required: + - image + title: FluxProFillInputs + type: object + BFLFluxProGenerateRequest: + description: Request body for the BFL Flux Pro 1.1 Ultra image generation API. + properties: + guidance_scale: + description: The guidance scale for generation. + maximum: 20 + minimum: 1 + type: number + height: + description: The height of the image to generate. + maximum: 2048 + minimum: 64 + type: integer + negative_prompt: + description: The negative prompt for image generation. + type: string + num_images: + description: The number of images to generate. + maximum: 4 + minimum: 1 + type: integer + num_inference_steps: + description: The number of inference steps. + maximum: 100 + minimum: 1 + type: integer + prompt: + description: The text prompt for image generation. + type: string + seed: + description: The seed value for reproducibility. + type: integer + width: + description: The width of the image to generate. + maximum: 2048 + minimum: 64 + type: integer + required: + - prompt + - width + - height + type: object + BFLFluxProGenerateResponse: + description: Response from the BFL Flux Pro 1.1 Ultra image generation API. + properties: + cost: + description: The cost of the generation task. + format: float + type: number + id: + description: The unique identifier for the generation task. + type: string + input_mp: + description: Input megapixels. + format: float + type: number + output_mp: + description: Output megapixels. + format: float + type: number + polling_url: + description: URL to poll for the generation result. + type: string + required: + - id + - polling_url + type: object + BFLHTTPValidationError: + properties: + detail: + items: + $ref: "#/components/schemas/BFLValidationError" + title: Detail + type: array + title: HTTPValidationError + type: object + BFLOutputFormat: + enum: + - jpeg + - png + - webp + title: OutputFormat + type: string + BFLValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + title: Location + type: array + msg: + title: Message + type: string + type: + title: Error Type + type: string + required: + - loc + - msg + - type + title: ValidationError + type: object + BFLVtoV1Request: + description: Request body for the BFL Flux Tools VTO v1 virtual try-on API. + properties: + garment: + description: Image of one or more garments (maps internally to input_image_2). + type: string + output_format: + $ref: "#/components/schemas/BFLOutputFormat" + person: + description: Person image (maps internally to input_image). + type: string + prompt: + description: Text prompt for VTO generation. + example: "TRY-ON: The person of image 1 wearing the garments of image 2." + type: string + safety_tolerance: + default: 2 + description: Tolerance level for input and output moderation. Between 0 and 5 for public use. + maximum: 5 + minimum: 0 + type: integer + seed: + description: Optional seed for reproducibility. + example: 42 + type: integer + webhook_secret: + description: Optional secret for webhook signature verification. + type: string + webhook_url: + description: URL to receive webhook notifications. + format: uri + maxLength: 2083 + minLength: 1 + type: string + required: + - prompt + - person + - garment + type: object + BeebleAlphaMode: + description: "Alpha mode: auto, fill, custom, or select" + enum: + - auto + - fill + - custom + - select + type: string + BeebleCreateSwitchXRequest: + description: Request to create and start a SwitchX generation job. + properties: + alpha_mode: + $ref: "#/components/schemas/BeebleAlphaMode" + alpha_uri: + description: URI of a custom alpha matte. Required when alpha_mode is custom or select. Ignored for auto or fill. + nullable: true + type: string + callback_url: + description: HTTPS URL for webhook notification on completion or failure. + nullable: true + type: string + generation_type: + $ref: "#/components/schemas/BeebleGenerationType" + idempotency_key: + description: "Idempotency key for safe retries. If a job with the same key already exists for your account, the API returns the existing job's status instead of creating a duplicate." + maxLength: 256 + minLength: 1 + nullable: true + type: string + max_resolution: + default: 1080 + description: "Maximum output resolution: 720 or 1080 (default: 1080)." + nullable: true + type: integer + prompt: + description: "Text description of desired output (max 2,000 chars). At least one of prompt or reference_image_uri is required." + maxLength: 2000 + nullable: true + type: string + reference_image_uri: + description: URI of the reference image for style transfer. Accepts the same URI types as source_uri. + nullable: true + type: string + source_uri: + description: "URI of the source image or video. Accepts beeble://uploads/{id}/{filename}, https URLs, or data:{mime};base64 URIs (max 50 MB)." + type: string + required: + - generation_type + - source_uri + - alpha_mode + type: object + BeebleGenerationType: + description: "Output type: image or video" + enum: + - image + - video + type: string + BeebleSwitchXOutputUrls: + description: Signed URLs for SwitchX job outputs. + properties: + alpha: + description: Alpha matte URL. + nullable: true + type: string + render: + description: Composited output URL. + nullable: true + type: string + source: + description: Preprocessed source URL. + nullable: true + type: string + type: object + BeebleSwitchXStatusResponse: + description: Status response for a SwitchX job. + properties: + alpha_mode: + description: "auto, fill, custom, or select" + nullable: true + type: string + completed_at: + description: ISO 8601 timestamp when the job completed or failed. + nullable: true + type: string + created_at: + description: ISO 8601 timestamp when the job was created. + nullable: true + type: string + error: + description: Error message (present when status is failed). + nullable: true + type: string + generation_type: + description: image or video + nullable: true + type: string + id: + description: Job identifier (swx_...) + type: string + modified_at: + description: ISO 8601 timestamp of the last status change. + nullable: true + type: string + output: + allOf: + - $ref: "#/components/schemas/BeebleSwitchXOutputUrls" + description: Output URLs (present when status is completed). URLs are signed and expire after 72 hours; re-fetch this endpoint for fresh URLs. + nullable: true + progress: + description: Progress percentage (0-100). + nullable: true + type: integer + status: + description: Current job status. + enum: + - in_queue + - processing + - completed + - failed + type: string + webhook: + allOf: + - $ref: "#/components/schemas/BeebleWebhookStatus" + description: Webhook delivery status (present only when callback_url was provided). + nullable: true + required: + - id + - status + type: object + BeebleUploadRequest: + description: Request to create a presigned upload URL. + properties: + filename: + description: "Filename with extension. Accepted: .mp4, .mov, .png, .jpg, .jpeg, .webp" + maxLength: 255 + minLength: 3 + type: string + required: + - filename + type: object + BeebleUploadResponse: + description: Response with presigned upload URL and beeble:// URI. + properties: + beeble_uri: + description: "beeble:// URI to reference this file in SwitchX generation calls (source_uri, reference_image_uri, or alpha_uri)." + type: string + id: + description: Upload ID (upload_...) + type: string + upload_url: + description: Presigned PUT URL for uploading your file. Expires after 1 hour. + type: string + required: + - id + - upload_url + - beeble_uri + type: object + BeebleWebhookStatus: + description: Webhook delivery status for a SwitchX job. + properties: + attempts: + description: Number of delivery attempts so far. + nullable: true + type: integer + last_error: + description: Error message from the last failed delivery attempt. + nullable: true + type: string + status: + description: "pending, delivered, or failed" + nullable: true + type: string + type: object + BriaAsyncResponse: + description: Asynchronous response from Bria API (202 Accepted) + properties: + request_id: + description: Unique identifier for the request. + type: string + status_url: + description: URL to poll for the result. + type: string + warning: + description: Optional warning message. + type: string + type: object + BriaErrorResponse: + description: Error response from Bria API + properties: + error: + properties: + code: + description: Error code. + type: integer + details: + description: Additional error details. + type: string + message: + description: Error message. + type: string + type: object + request_id: + description: Unique identifier for the request. + type: string + type: object + BriaFiboEditRequest: + description: Request body for Bria FIBO Edit API + properties: + guidance_scale: + default: 5 + description: Determines how closely the generated image should adhere to the instruction. + format: float + maximum: 5 + minimum: 3 + type: number + images: + description: "The source image to be edited. Publicly available URL or Base64-encoded. Accepted formats JPEG, JPG, PNG, WEBP. Must contain exactly one item." + items: + type: string + maxItems: 1 + minItems: 1 + type: array + instruction: + description: "Text-based edit instruction (e.g., \"make the sky blue\", \"add a cat\"). Either instruction or structured_instruction must be provided." + type: string + ip_signal: + default: false + description: "If true, returns a warning for potential IP content in the instruction." + type: boolean + mask: + description: "Optional mask image URL or Base64-encoded. Black areas will be preserved, white areas will be edited." + type: string + model_version: + default: FIBO + description: The version of the model to use. + enum: + - FIBO + type: string + negative_prompt: + description: "A text prompt specifying concepts, styles, or objects to exclude from the edited image." + type: string + prompt_content_moderation: + default: true + description: "If true, returns 422 on instruction moderation failure." + type: boolean + seed: + description: "Seed for deterministic generation. If omitted, a random seed is used." + type: integer + steps_num: + default: 50 + description: Number of diffusion steps. + maximum: 50 + minimum: 20 + type: integer + structured_instruction: + description: "A string containing the structured edit instruction in JSON format. Use this instead of instruction for precise, programmatic control." + type: string + visual_input_content_moderation: + default: true + description: "If true, returns 422 on images or mask moderation failure." + type: boolean + visual_output_content_moderation: + default: true + description: "If true, returns 422 on visual output moderation failure." + type: boolean + required: + - images + type: object + BriaImageRemoveBackgroundRequest: + description: Request body for Bria Image Remove Background API + properties: + image: + description: "The image to remove background from. Supported input types are Base64-encoded string or URL pointing to a publicly accessible image file. Accepted formats JPEG, JPG, PNG, WEBP." + type: string + preserve_alpha: + description: Controls whether partially transparent areas from the input image are retained in the output after background removal. + type: boolean + sync: + description: "When false (default), the request is processed asynchronously. When true, the API holds the connection open until complete." + type: boolean + visual_input_content_moderation: + description: "When enabled, applies content moderation to input visual. Returns 422 if the image fails moderation." + type: boolean + visual_output_content_moderation: + description: "When enabled, applies content moderation to result visual. Returns 422 if the output fails moderation." + type: boolean + required: + - image + type: object + BriaStatusNotFoundResponse: + description: Response when request_id is not found or expired + properties: + status: + enum: + - NOT_FOUND + type: string + required: + - status + type: object + BriaStatusResponse: + description: Status response from Bria API + properties: + error: + description: Error object (only present when status is ERROR) + properties: + code: + description: Error code. + type: integer + details: + description: Additional error details. + type: string + message: + description: Error message. + type: string + type: object + request_id: + description: Unique identifier for the request. + type: string + result: + description: Result object (only present when status is COMPLETED) + properties: + image_url: + description: URL of the generated/edited image. + type: string + prompt: + description: Original prompt. + type: string + refined_prompt: + description: Refined version of the prompt. + type: string + seed: + description: Seed used for generation. + type: integer + structured_prompt: + description: The detailed JSON structured prompt. + type: string + video_url: + description: URL of the generated video. + type: string + type: object + status: + description: Current status of the request. + enum: + - IN_PROGRESS + - COMPLETED + - ERROR + - UNKNOWN + type: string + type: object + BriaStructuredInstructionRequest: + description: Request body for Bria Structured Instruction Generate API + properties: + images: + description: The source image to be edited. Publicly available URL or Base64-encoded. Must contain exactly one item. + items: + type: string + maxItems: 1 + minItems: 1 + type: array + instruction: + description: "Required. Text-based edit instruction (e.g., \"make the sky blue\", \"add a cat\")." + type: string + ip_signal: + default: false + description: "If true, returns a warning for potential IP content in the instruction." + type: boolean + mask: + description: "Optional mask image URL or Base64-encoded. Black areas will be preserved, white areas will be edited." + type: string + prompt_content_moderation: + default: true + description: "If true, returns 422 on instruction moderation failure." + type: boolean + seed: + description: "Seed for deterministic generation. If omitted, a random seed is used." + type: integer + visual_input_content_moderation: + default: true + description: "If true, returns 422 on images or mask moderation failure." + type: boolean + required: + - images + - instruction + type: object + BriaVideoGreenScreenRequest: + description: Request body for Bria Video Green Screen API + properties: + green_shade: + description: The solid background shade applied behind the foreground for chroma keying. Defaults to broadcast_green. + enum: + - broadcast_green + - chroma_green + - blue_screen + type: string + output_container_and_codec: + description: Output container and codec preset. + enum: + - mp4_h264 + - mp4_h265 + - webm_vp9 + - mov_h265 + - mov_proresks + - mkv_h264 + - mkv_h265 + - mkv_vp9 + - gif + type: string + preserve_audio: + description: Whether to preserve audio from the input video. + type: boolean + video: + description: Publicly accessible URL of the input video. Input resolution supported up to 16000x16000 (16K). Max duration 60 seconds. + type: string + required: + - video + type: object + BriaVideoRemoveBackgroundRequest: + description: Request body for Bria Video Remove Background API + properties: + background_color: + description: "Background color for the output video. If Transparent, the output codec must support alpha." + enum: + - Transparent + - Black + - White + - Gray + - Red + - Green + - Blue + - Yellow + - Cyan + - Magenta + - Orange + type: string + output_container_and_codec: + description: Output container and codec preset. + enum: + - mp4_h264 + - mp4_h265 + - webm_vp9 + - mov_h265 + - mov_proresks + - mkv_h264 + - mkv_h265 + - mkv_vp9 + - gif + type: string + preserve_audio: + description: Whether to preserve audio from the input video. + type: boolean + video: + description: Publicly accessible URL of the input video. Input resolution supported up to 16000x16000 (16K). Max duration 60 seconds. + type: string + required: + - video + type: object + BriaVideoReplaceBackgroundRequest: + description: Request body for Bria Video Replace Background API + properties: + background_url: + description: Publicly accessible URL of the background asset (image or video) to composite behind the foreground. Must match the foreground aspect ratio. + type: string + output_container_and_codec: + description: Output container and codec preset. + enum: + - mp4_h264 + - mp4_h265 + - webm_vp9 + - mov_h265 + - mov_proresks + - mkv_h264 + - mkv_h265 + - mkv_vp9 + - gif + type: string + preserve_audio: + description: Whether to preserve audio from the input (foreground) video. + type: boolean + video: + description: Publicly accessible URL of the input (foreground) video. Input resolution supported up to 16000x16000 (16K). Max duration 60 seconds. + type: string + required: + - video + - background_url + type: object + BulkNodeVersionResult: + properties: + error_message: + description: Error message if retrieval failed (only present if status is error) + type: string + identifier: + $ref: "#/components/schemas/NodeVersionIdentifier" + node_version: + $ref: "#/components/schemas/NodeVersion" + status: + description: Status of the retrieval operation + enum: + - success + - not_found + - error + type: string + required: + - identifier + - status + type: object + BulkNodeVersionsRequest: + properties: + node_versions: + description: List of node ID and version pairs to retrieve + items: + $ref: "#/components/schemas/NodeVersionIdentifier" + type: array + required: + - node_versions + type: object + BulkNodeVersionsResponse: + properties: + node_versions: + description: List of retrieved node versions with their status + items: + $ref: "#/components/schemas/BulkNodeVersionResult" + type: array + required: + - node_versions + type: object + BytePlusFile: + description: "File object returned by POST /api/v3/files and GET /api/v3/files/{id}. See https://docs.byteplus.com/en/docs/ModelArk/1873424.\n" + properties: + bytes: + description: "File size in bytes. Returned only when status is `active`." + type: integer + created_at: + description: Unix timestamp (seconds) when the file was uploaded. + type: integer + error: + description: "Error details returned only when status is `failed`." + nullable: true + properties: + code: + description: Error code. + type: string + message: + description: Error description. + type: string + type: object + expire_at: + description: Unix timestamp (seconds) when the file expires. + type: integer + id: + description: The unique ID of the file. + type: string + mime_type: + description: "MIME type of the file. Returned only when status is `active`." + type: string + object: + description: "Fixed to `file`." + type: string + preprocess_configs: + $ref: "#/components/schemas/BytePlusFilePreprocessConfigs" + purpose: + description: The purpose of the file. + type: string + status: + description: Processing status of the file. + enum: + - processing + - active + - failed + type: string + type: object + BytePlusFilePreprocessConfigs: + description: Preprocessing rules applied to the uploaded file by file type. + nullable: true + properties: + video: + nullable: true + properties: + fps: + default: 1 + description: "Number of frames per second sampled from the video at upload\ntime. Higher values capture more detail but consume more tokens\nduring inference (range [10k, 80k] tokens per video).\n" + format: float + maximum: 5 + minimum: 0.2 + nullable: true + type: number + model: + description: "Video-understanding model ID or endpoint ID whose frame-sampling\nstrategy should be applied during preprocessing. If omitted, the\npre-`seed-1.8` default strategy is used.\n" + type: string + type: object + type: object + BytePlusFileUploadRequest: + description: "Multipart upload payload for POST /api/v3/files. The binary `file` is required; everything else mirrors the upstream optional fields. See https://docs.byteplus.com/en/docs/ModelArk/1870405.\n" + properties: + expire_at: + description: "Unix timestamp (seconds, UTC) at which the file should be expired.\nRange: [now + 86400, now + 2592000] (1 day to 30 days).\nDefault: now + 604800 (7 days).\n" + type: integer + file: + description: The binary file to upload. + format: binary + type: string + preprocess_configs: + $ref: "#/components/schemas/BytePlusFilePreprocessConfigs" + purpose: + default: user_data + description: "Purpose of the uploaded file. `user_data` is a general-purpose value\nand the only one currently documented by BytePlus.\n" + type: string + required: + - file + - purpose + type: object + BytePlusImageGenerationRequest: + properties: + guidance_scale: + description: "Controls how closely the output image aligns with the input prompt. Range [1, 10]. Higher values result in stronger prompt adherence. Default 2.5 for seedream-3-0-t2i-250415 and 5.5 for seededit-3-0-i2i-250628. Not supported by seedream-5.0-pro, 5.0-lite, 4.5 and 4.0." + format: float + maximum: 10 + minimum: 1 + type: number + image: + description: "Seedream-5.0-pro, 5.0-lite, 4.5 and 4.0, and seededit-3.0-i2i support this parameter.\n\nEnter the Base64 encoding or an accessible URL of the image to edit. Seedream-5.0-pro, 5.0-lite, 4.5 and 4.0 support inputting a single image or multiple images (see the multi-image blending example), while seededit-3.0-i2i only supports single-image input.\n\n• Image URL: Make sure that the image URL is accessible.\n• Base64 encoding: The format must be data:image/;base64,. Note: must be in lowercase, e.g., data:image/png;base64,.\n\nAn input image must meet the following requirements:\n• Image format: jpeg, png (seedream-5.0-pro, 5.0-lite, 4.5 and 4.0 also support webp, bmp, tiff and gif; seedream-5.0-pro also supports heic and heif)\n• Aspect ratio (width/height): In the range [1/16, 16] for seedream-5.0-pro, 5.0-lite, 4.5 and 4.0; [1/3, 3] for seededit-3.0-i2i\n• Width and height (px): > 14\n• Size: No more than 10 MB (30 MB for seedream-5.0-pro)\n• Total pixels: No more than 6000x6000 (36,000,000 px) for seedream-5.0-pro\n• Maximum of 14 reference images (10 for seedream-5.0-pro)\n" + oneOf: + - description: Single image (URL or Base64) + type: string + - description: "Multiple images (URLs or Base64) - supported by seedream-5.0-pro, 5.0-lite, 4.5 and 4.0" + items: + type: string + maxItems: 14 + type: array + model: + enum: + - seedream-3-0-t2i-250415 + - seededit-3-0-i2i-250628 + - seedream-4-0-250828 + - seedream-4-5-251128 + - seedream-5-0-260128 + - seedream-5-0-pro-260628 + type: string + optimize_prompt_options: + description: "Configuration for prompt optimization feature. Only seedream-5.0-pro/5.0-lite/4.5 (only support standard mode) and seedream-4.0 support this parameter.\n" + properties: + mode: + default: standard + description: "Set the mode for the prompt optimization feature. standard = Higher quality, longer generation time. fast = Faster but at a more average quality." + enum: + - standard + - fast + type: string + type: object + output_format: + default: jpeg + description: Specifies the format of the output image. Only seedream-5.0-pro and 5.0-lite support this parameter. + enum: + - png + - jpeg + type: string + prompt: + description: Text description for image generation or transformation + type: string + response_format: + default: url + description: Specifies the format of the generated image returned in the response + enum: + - url + - b64_json + type: string + seed: + default: -1 + description: "Random seed to control the stochasticity of image generation. Range: [-1, 2147483647]. If not specified, a seed will be automatically generated. To reproduce the same output, use the same seed value." + type: integer + sequential_image_generation: + description: "Controls whether to disable the batch generation feature. This parameter is only supported on seedream-5.0-lite, 4.5 and 4.0 (not supported by seedream-5.0-pro). Valid values:\nauto: In automatic mode, the model automatically determines whether to return multiple images and how many images it will contain based on the user's prompt.\ndisabled: Disables batch generation feature. The model will only generate one image.\n" + type: string + sequential_image_generation_options: + description: "Only seedream-5.0-lite, 4.5 and 4.0 support this parameter (not supported by seedream-5.0-pro).\nConfiguration for the batch image generation feature. This parameter is only effective when sequential_image_generation is set to auto.\n" + properties: + max_images: + default: 15 + description: Specifies the maximum number of images to generate in this request. Number of input reference images + Number of generated images ≤ 15. + maximum: 15 + minimum: 1 + type: integer + type: object + size: + description: "\"seedream-3-0-t2i-250415\": Specifies the dimensions (width x height in pixels) of the generated image. Must be between [512x512, 2048x2048]\n\"seededit-3-0-i2i-250628\": The width and height pixels of the generated image. Currently only supports adaptive.\n\"seedream-4-0-250828\": Set the specification for the generated image. Two methods are available but cannot be used together.\n Method 1 | Specify the resolution. Optional values: 1K, 2K, 4K\n Method 2 | Specify width and height in pixels. Default: 2048x2048, total pixels: [1024x1024, 4096x4096], aspect ratio: [1/16, 16]\n\"seedream-4-5-251128\": Two methods available.\n Method 1 | Specify the resolution. Optional values: 2K, 4K\n Method 2 | Specify width and height in pixels. Default: 2048x2048, total pixels: [2560x1440, 4096x4096], aspect ratio: [1/16, 16]\n\"seedream-5-0-260128\": Two methods available.\n Method 1 | Specify the resolution. Optional values: 2K, 3K\n Method 2 | Specify width and height in pixels. Default: 2048x2048, total pixels: [2560x1440, ~3072x3072], aspect ratio: [1/16, 16]\n\"seedream-5-0-pro-260628\": Two methods available (cannot be used together).\n Method 1 | Specify the resolution and describe the aspect ratio, shape or purpose of the image in the prompt; the model decides the final size. Optional values: 1K, 2K\n Method 2 | Specify width and height in pixels. Default: 1024x1024, total pixels: [1024x1024 (1048576), 2048x2048 (4194304)], aspect ratio: [1/16, 16]\n" + type: string + stream: + default: false + description: "Whether to enable streaming output mode. Only seedream-5.0-lite, 4.5 and 4.0 support this parameter (not supported by seedream-5.0-pro). false = All output images are returned at once. true = Each output image is returned immediately after generated." + type: boolean + watermark: + default: true + description: "Specifies whether to add a watermark to the generated image. false = No watermark, true = Adds watermark with 'AI generated' label" + type: boolean + required: + - prompt + - model + type: object + BytePlusImageGenerationResponse: + properties: + created: + description: Unix timestamp (in seconds) indicating the time when the request was created + type: integer + data: + description: Contains information about the generated image(s) + items: + properties: + b64_json: + description: "Base64-encoded image data (if response_format is \"b64_json\")" + type: string + output_format: + description: The file format of the output image. Only seedream-5.0-pro supports this field. + type: string + size: + description: "The width and height of the image in pixels, in the format x. Only seedream-5.0-pro, 5.0-lite, 4.5 and 4.0 support this parameter." + type: string + url: + description: "URL for image download (if response_format is \"url\")" + format: uri + type: string + type: object + type: array + error: + description: Error information (if any) + properties: + code: + description: Error code + type: string + message: + description: Error message + type: string + type: object + model: + description: The model ID used for the request + example: seedream-3-0-t2i-250415 + type: string + usage: + properties: + generated_images: + description: Number of images generated by the model + type: integer + input_images: + description: The number of images input to the model. Only seedream-5.0-pro supports this field. + type: integer + output_tokens: + description: The number of tokens used for the picture generated by the model. + type: integer + total_tokens: + description: The total number of tokens consumed by this request. + type: integer + type: object + type: object + BytePlusResponseAppliedContextEdit: + description: "One applied context-edit, discriminated by `type`." + discriminator: + mapping: + clear_thinking: "#/components/schemas/BytePlusResponseAppliedContextEditClearThinking" + clear_tool_uses: "#/components/schemas/BytePlusResponseAppliedContextEditClearToolUses" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseAppliedContextEditClearThinking" + - $ref: "#/components/schemas/BytePlusResponseAppliedContextEditClearToolUses" + BytePlusResponseAppliedContextEditClearThinking: + additionalProperties: true + properties: + cleared_thinking_turns: + description: Number of reasoning turns that were removed. + type: integer + type: + default: clear_thinking + enum: + - clear_thinking + type: string + required: + - type + type: object + BytePlusResponseAppliedContextEditClearToolUses: + additionalProperties: true + properties: + cleared_tool_uses: + description: Number of tool invocations that were removed. + type: integer + type: + default: clear_tool_uses + enum: + - clear_tool_uses + type: string + required: + - type + type: object + BytePlusResponseAppliedContextManagement: + additionalProperties: true + description: "Context-management strategies that were actually applied during this response. Unlike the request-side `BytePlusResponseContextManagement` (which configures strategies), this echoes the strategies the server invoked, with counts of what was cleared.\n" + properties: + applied_edits: + items: + $ref: "#/components/schemas/BytePlusResponseAppliedContextEdit" + type: array + type: object + BytePlusResponseContextEdit: + description: "A single context-edit strategy, discriminated by `type`." + discriminator: + mapping: + clear_thinking: "#/components/schemas/BytePlusResponseContextEditClearThinking" + clear_tool_uses: "#/components/schemas/BytePlusResponseContextEditClearToolUses" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseContextEditClearThinking" + - $ref: "#/components/schemas/BytePlusResponseContextEditClearToolUses" + BytePlusResponseContextEditClearThinking: + additionalProperties: true + description: "Clears chain-of-thought content per the `keep` strategy." + properties: + keep: + oneOf: + - additionalProperties: true + properties: + type: + default: thinking_turns + enum: + - thinking_turns + type: string + value: + default: 1 + description: Retain chain-of-thought for the most recent N turns. + type: integer + required: + - type + type: object + - description: Retain all chain-of-thought. + enum: + - all + type: string + type: + default: clear_thinking + enum: + - clear_thinking + type: string + required: + - type + - keep + type: object + BytePlusResponseContextEditClearToolUses: + additionalProperties: true + description: Clears tool-call content when the conversation exceeds a threshold. + properties: + clear_tool_input: + default: false + description: Whether to clear tool-call parameters. + type: boolean + exclude_tools: + description: Tool names that are never cleared. + items: + type: string + type: array + keep: + additionalProperties: true + properties: + type: + default: tool_uses + enum: + - tool_uses + type: string + value: + default: 3 + description: Retain tool-call content for the most recent N turns. + type: integer + required: + - type + type: object + trigger: + additionalProperties: true + properties: + type: + default: tool_uses + enum: + - tool_uses + type: string + value: + description: Trigger cleanup when tool-call turns reach N. + type: integer + required: + - type + - value + type: object + type: + default: clear_tool_uses + enum: + - clear_tool_uses + type: string + required: + - type + - keep + - trigger + type: object + BytePlusResponseContextManagement: + additionalProperties: true + description: "Context-management strategies (`clear_thinking`, `clear_tool_uses`) applied to keep the context window manageable.\n" + properties: + edits: + items: + $ref: "#/components/schemas/BytePlusResponseContextEdit" + type: array + type: object + BytePlusResponseCreateRequest: + additionalProperties: true + properties: + caching: + additionalProperties: true + description: Context-cache configuration. + properties: + prefix: + default: false + description: "When true, only create the public prefix cache; the model does not respond.\n" + type: boolean + type: + enum: + - enabled + - disabled + type: string + type: object + context_management: + $ref: "#/components/schemas/BytePlusResponseContextManagement" + expire_at: + description: "Unix timestamp (seconds, UTC) at which the stored response and cache expire. Range (creation_time, creation_time + 604800]. Default: creation_time + 259200 (3 days).\n" + type: integer + include: + description: "Additional output fields to include. Currently supported: `reasoning.encrypted_content` (encrypted+compressed reasoning for manual multi-turn reuse).\n" + items: + type: string + type: array + input: + description: Text content or list of input items provided to the model. + oneOf: + - description: "Plain text input, equivalent to a single user message." + type: string + - items: + $ref: "#/components/schemas/BytePlusResponseInputItem" + type: array + instructions: + description: "System/developer message prepended as the first instruction. Not compatible with `caching` — if `caching.type` is `enabled`, setting `instructions` returns an error.\n" + nullable: true + type: string + max_output_tokens: + description: Maximum output tokens (response + chain-of-thought). + nullable: true + type: integer + max_tool_calls: + maximum: 10 + minimum: 1 + type: integer + model: + description: "Model ID or Endpoint ID. See https://docs.byteplus.com/en/docs/ModelArk/1330310 for the model list and https://docs.byteplus.com/en/docs/ModelArk/1099522 for Endpoint IDs.\n" + type: string + previous_response_id: + description: "ID of the previous response, used to continue a multi-turn conversation. Insert ~100ms between requests to avoid failures.\n" + nullable: true + type: string + reasoning: + additionalProperties: true + description: Limits the workload of deep thinking. + properties: + effort: + description: "`minimal` disables thinking entirely. With `thinking.type =\ndisabled`, only `minimal` is allowed.\n" + enum: + - minimal + - low + - medium + - high + type: string + type: object + store: + default: true + description: "When true, the response is persisted and retrievable by ID for multi-turn use.\n" + nullable: true + type: boolean + temperature: + default: 1 + format: float + maximum: 2 + minimum: 0 + nullable: true + type: number + text: + additionalProperties: true + description: Output-format configuration. + properties: + format: + $ref: "#/components/schemas/BytePlusResponseTextFormat" + type: object + thinking: + additionalProperties: true + description: Controls deep-thinking mode. + properties: + type: + description: "`enabled`: always reason before responding.\n`disabled`: respond without additional reasoning.\n`auto`: model decides per-query.\n" + enum: + - enabled + - disabled + - auto + type: string + type: object + tool_choice: + description: Tool-selection mode. Only seed-1-6 models support this field. + oneOf: + - enum: + - none + - auto + - required + type: string + - $ref: "#/components/schemas/BytePlusResponseToolChoiceObject" + tools: + items: + $ref: "#/components/schemas/BytePlusResponseTool" + type: array + top_p: + default: 0.7 + format: float + maximum: 1 + minimum: 0 + nullable: true + type: number + required: + - model + - input + type: object + BytePlusResponseError: + description: Error details. Null when the response succeeded. + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + BytePlusResponseInputFile: + additionalProperties: true + description: "File input (currently PDF only). Provide exactly one of `file_id`, `file_data`, or `file_url`. `filename` is required with `file_data`.\n" + properties: + file_data: + description: Base64-encoded file (single file <= 50 MB). + type: string + file_id: + description: "ID of a file uploaded via the Files API. Must be `active`." + type: string + file_url: + description: Publicly accessible URL (single file <= 50 MB). + type: string + filename: + description: "Required when `file_data` is set." + type: string + type: + enum: + - input_file + type: string + required: + - type + type: object + BytePlusResponseInputFunctionCall: + additionalProperties: true + description: A tool/function invocation produced by the model in a prior turn. + properties: + arguments: + description: JSON-encoded string of the function arguments. + type: string + call_id: + description: Unique ID of the tool call generated by the model. + type: string + name: + type: string + status: + type: string + type: + enum: + - function_call + type: string + required: + - type + - arguments + - call_id + - name + type: object + BytePlusResponseInputFunctionCallOutput: + additionalProperties: true + description: "Output returned by a tool, paired with the function_call via call_id." + properties: + call_id: + type: string + output: + type: string + status: + type: string + type: + enum: + - function_call_output + type: string + required: + - type + - call_id + - output + type: object + BytePlusResponseInputImage: + additionalProperties: true + properties: + detail: + default: auto + enum: + - high + - low + - auto + type: string + file_id: + description: "ID of a file uploaded via the Files API. Must be `active`." + type: string + image_pixel_limit: + additionalProperties: true + description: "Optional pixel-count bounds. Overrides `detail` when set. Image pixel count must stay in [196, 36_000_000].\n" + nullable: true + properties: + max_pixels: + type: integer + min_pixels: + type: integer + type: object + image_url: + description: "Image URL or `data:image/...;base64,...` payload." + type: string + type: + enum: + - input_image + type: string + required: + - type + type: object + BytePlusResponseInputItem: + description: "One entry in the `input` array of a Responses request. Discriminated by the `type` field. See https://docs.byteplus.com/en/docs/ModelArk/1585128.\n" + discriminator: + mapping: + function_call: "#/components/schemas/BytePlusResponseInputFunctionCall" + function_call_output: "#/components/schemas/BytePlusResponseInputFunctionCallOutput" + message: "#/components/schemas/BytePlusResponseInputMessage" + reasoning: "#/components/schemas/BytePlusResponseInputReasoning" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseInputMessage" + - $ref: "#/components/schemas/BytePlusResponseInputFunctionCall" + - $ref: "#/components/schemas/BytePlusResponseInputFunctionCallOutput" + - $ref: "#/components/schemas/BytePlusResponseInputReasoning" + BytePlusResponseInputMessage: + additionalProperties: true + description: "A message sent to the model (or a stored prior message when `status` is set). Role precedence: developer/system > user; assistant messages represent prior model output.\n" + properties: + content: + oneOf: + - description: "Plain text content, equivalent to a single input_text item." + type: string + - items: + $ref: "#/components/schemas/BytePlusResponseMessageContent" + type: array + partial: + description: "Enables Continuation mode. Set the last message's role to `assistant` and `partial` to true; the model continues from its existing content.\n" + type: boolean + role: + enum: + - user + - system + - assistant + - developer + type: string + status: + description: "Status of a previously stored message. Only used when echoing previous inputs back to the model.\n" + enum: + - in_progress + - completed + - incomplete + type: string + type: + default: message + enum: + - message + type: string + required: + - type + - role + - content + type: object + BytePlusResponseInputReasoning: + additionalProperties: true + description: "Chain-of-thought block. Used both as input (manual reasoning injection for seed-1-8, seed-2-0, deepseek-v3-2) and as a response output item. As input, prefer `previous_response_id` in multi-turn conversations.\n" + properties: + content: + description: "Original (un-summarized) reasoning content. Returned on output items; not used on input.\n" + items: + additionalProperties: true + properties: + text: + type: string + type: + default: reasoning_text + enum: + - reasoning_text + type: string + required: + - type + type: object + type: array + encrypted_content: + description: "Encrypted+compressed original reasoning content. Returned only when `reasoning.encrypted_content` is in the request's `include` list. Supported from seed-2-0-pro-260328.\n" + type: string + id: + type: string + status: + enum: + - in_progress + - completed + - incomplete + type: string + summary: + items: + additionalProperties: true + properties: + text: + type: string + type: + default: summary_text + enum: + - summary_text + type: string + required: + - type + type: object + type: array + type: + enum: + - reasoning + type: string + required: + - type + type: object + BytePlusResponseInputText: + additionalProperties: true + properties: + text: + type: string + translation_options: + additionalProperties: true + description: "Translation-scenario configuration. Only supported by seed-translation-250728.\n" + properties: + source_language: + type: string + target_language: + type: string + required: + - target_language + type: object + type: + enum: + - input_text + type: string + required: + - type + - text + type: object + BytePlusResponseInputVideo: + additionalProperties: true + properties: + file_id: + description: "ID of a file uploaded via the Files API. Must be `active`." + type: string + fps: + description: Frames-per-second extracted from the video. + format: float + maximum: 5 + minimum: 0.2 + type: number + type: + enum: + - input_video + type: string + video_url: + description: "Video URL or `data:video/...;base64,...` payload." + type: string + required: + - type + type: object + BytePlusResponseMessageContent: + description: "One content item inside a message. Discriminated by `type`: `input_text` for text, `input_image` for images, `input_video` for videos, `input_file` for PDF/file uploads. File-backed types may reference a Files API id via `file_id`.\n" + discriminator: + mapping: + input_file: "#/components/schemas/BytePlusResponseInputFile" + input_image: "#/components/schemas/BytePlusResponseInputImage" + input_text: "#/components/schemas/BytePlusResponseInputText" + input_video: "#/components/schemas/BytePlusResponseInputVideo" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseInputText" + - $ref: "#/components/schemas/BytePlusResponseInputImage" + - $ref: "#/components/schemas/BytePlusResponseInputVideo" + - $ref: "#/components/schemas/BytePlusResponseInputFile" + BytePlusResponseObject: + description: "Non-streaming response body returned by POST /api/v3/responses. See https://docs.byteplus.com/en/docs/ModelArk/1783703.\n" + properties: + caching: + additionalProperties: true + properties: + prefix: + type: boolean + type: + enum: + - enabled + - disabled + type: string + type: object + context_management: + $ref: "#/components/schemas/BytePlusResponseAppliedContextManagement" + created_at: + description: Unix timestamp (seconds) when the response was created. + type: integer + error: + $ref: "#/components/schemas/BytePlusResponseError" + expire_at: + description: Unix timestamp (seconds) when the stored response expires. + type: integer + id: + description: "Unique ID of the response. Use as `previous_response_id` to continue the conversation." + type: string + incomplete_details: + additionalProperties: true + description: "Populated when `status` is `incomplete`." + nullable: true + properties: + reason: + description: "e.g. `max_output_tokens`, `content_filter`." + type: string + type: object + instructions: + description: "Echo of the request's `instructions` field." + nullable: true + type: string + max_output_tokens: + nullable: true + type: integer + max_tool_calls: + nullable: true + type: integer + metadata: + additionalProperties: true + nullable: true + type: object + model: + description: Model ID that generated the response. + type: string + object: + default: response + enum: + - response + type: string + output: + description: Ordered output items produced by the model. + items: + $ref: "#/components/schemas/BytePlusResponseOutputItem" + type: array + previous_response_id: + nullable: true + type: string + reasoning: + additionalProperties: true + properties: + effort: + enum: + - minimal + - low + - medium + - high + type: string + type: object + service_tier: + description: "TPM-guarantee-package usage. `default` means none." + enum: + - default + type: string + status: + enum: + - in_progress + - completed + - incomplete + - failed + - cancelled + type: string + store: + nullable: true + type: boolean + stream: + nullable: true + type: boolean + temperature: + format: float + nullable: true + type: number + text: + additionalProperties: true + description: "Echo of the request's `text` field." + properties: + format: + $ref: "#/components/schemas/BytePlusResponseTextFormat" + type: object + thinking: + additionalProperties: true + properties: + type: + enum: + - enabled + - disabled + - auto + type: string + type: object + tool_choice: + oneOf: + - enum: + - none + - auto + - required + type: string + - $ref: "#/components/schemas/BytePlusResponseToolChoiceObject" + tools: + items: + $ref: "#/components/schemas/BytePlusResponseTool" + type: array + top_p: + format: float + nullable: true + type: number + usage: + $ref: "#/components/schemas/BytePlusResponseUsage" + required: + - id + - object + - created_at + - model + - status + - output + type: object + BytePlusResponseOutputContent: + description: "One content block in an assistant message. `output_text` carries natural-language text and optional annotations; `refusal` carries a refusal message.\n" + discriminator: + mapping: + output_text: "#/components/schemas/BytePlusResponseOutputText" + refusal: "#/components/schemas/BytePlusResponseOutputRefusal" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseOutputText" + - $ref: "#/components/schemas/BytePlusResponseOutputRefusal" + BytePlusResponseOutputItem: + description: "One item in a response's `output` array. Discriminated by `type`: `message` for assistant messages, `function_call` for tool invocations, `reasoning` for chain-of-thought blocks. Mirrors the input item shapes the model can read back via `previous_response_id`.\n" + discriminator: + mapping: + function_call: "#/components/schemas/BytePlusResponseInputFunctionCall" + message: "#/components/schemas/BytePlusResponseOutputMessage" + reasoning: "#/components/schemas/BytePlusResponseInputReasoning" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseOutputMessage" + - $ref: "#/components/schemas/BytePlusResponseInputFunctionCall" + - $ref: "#/components/schemas/BytePlusResponseInputReasoning" + BytePlusResponseOutputMessage: + additionalProperties: true + description: An assistant message produced by the model. + properties: + content: + items: + $ref: "#/components/schemas/BytePlusResponseOutputContent" + type: array + id: + type: string + partial: + description: True when this message is a continuation-mode partial reply. + type: boolean + role: + default: assistant + enum: + - assistant + type: string + status: + enum: + - in_progress + - completed + - incomplete + type: string + type: + default: message + enum: + - message + type: string + required: + - type + - id + - role + - content + type: object + BytePlusResponseOutputRefusal: + additionalProperties: true + properties: + refusal: + type: string + type: + default: refusal + enum: + - refusal + type: string + required: + - type + - refusal + type: object + BytePlusResponseOutputText: + additionalProperties: true + properties: + annotations: + items: + additionalProperties: true + type: object + type: array + text: + type: string + type: + default: output_text + enum: + - output_text + type: string + required: + - type + - text + type: object + BytePlusResponseTextFormat: + description: "Text-output format discriminated by `type`. `text` returns natural language, `json_object` returns a free-form JSON object, `json_schema` constrains output to a caller-supplied JSON Schema.\n" + discriminator: + mapping: + json_object: "#/components/schemas/BytePlusResponseTextFormatJSONObject" + json_schema: "#/components/schemas/BytePlusResponseTextFormatJSONSchema" + text: "#/components/schemas/BytePlusResponseTextFormatText" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseTextFormatText" + - $ref: "#/components/schemas/BytePlusResponseTextFormatJSONObject" + - $ref: "#/components/schemas/BytePlusResponseTextFormatJSONSchema" + BytePlusResponseTextFormatJSONObject: + additionalProperties: true + properties: + type: + default: json_object + enum: + - json_object + type: string + required: + - type + type: object + BytePlusResponseTextFormatJSONSchema: + additionalProperties: true + properties: + description: + description: Hint the model uses when generating the response. + nullable: true + type: string + name: + description: Caller-defined name for the JSON structure. + type: string + schema: + additionalProperties: true + description: JSON Schema the model output must conform to. + type: object + strict: + default: false + nullable: true + type: boolean + type: + default: json_schema + enum: + - json_schema + type: string + required: + - type + - name + - schema + type: object + BytePlusResponseTextFormatText: + additionalProperties: true + properties: + type: + default: text + enum: + - text + type: string + required: + - type + type: object + BytePlusResponseTool: + additionalProperties: true + description: "A tool the model may invoke. Currently only `function` is supported." + properties: + description: + type: string + name: + type: string + parameters: + additionalProperties: true + description: "JSON Schema describing the function's parameters." + type: object + type: + default: function + enum: + - function + type: string + required: + - type + - name + - parameters + type: object + BytePlusResponseToolChoiceObject: + additionalProperties: true + description: "Forces the model to call a specific tool. When `type` is `function`, `name` is required.\n" + properties: + name: + type: string + type: + enum: + - function + type: string + required: + - type + type: object + BytePlusResponseUsage: + description: Token-usage breakdown for billing and observability. + properties: + input_tokens: + description: Total tokens in the request. + type: integer + input_tokens_details: + additionalProperties: true + description: "Breakdown of input tokens (cache hits, etc)." + properties: + cached_tokens: + description: Tokens served from the context cache. + type: integer + type: object + output_tokens: + description: Total tokens generated by the model. + type: integer + output_tokens_details: + additionalProperties: true + description: "Breakdown of output tokens (reasoning, etc)." + properties: + reasoning_tokens: + description: Tokens consumed by chain-of-thought. + type: integer + type: object + tool_usage: + additionalProperties: true + description: Per-tool invocation counts. + properties: + image_process: + description: Number of image-processing tool calls. + type: integer + mcp: + description: Number of MCP tool calls. + type: integer + web_search: + description: Number of web-search tool invocations. + type: integer + type: object + tool_usage_details: + additionalProperties: true + description: Per-tool breakdown of sub-tool invocation counts. + properties: + image_process: + additionalProperties: true + description: "e.g. `{\"zoom\":1,\"point\":1,\"grounding\":1}`." + type: object + mcp: + additionalProperties: true + description: "e.g. `{\"mcp_server_tos\":1,\"mcp_server_tls\":1}`." + type: object + web_search: + additionalProperties: true + description: "e.g. `{\"toutiao\":1,\"moji\":1,\"search_engine\":1}`." + type: object + type: object + total_tokens: + description: input_tokens + output_tokens. + type: integer + required: + - input_tokens + - output_tokens + - total_tokens + type: object + BytePlusTTSAudioConfig: + description: Output audio configuration. + properties: + format: + description: "Output audio format: wav (default), mp3, pcm or ogg_opus." + type: string + loudness_rate: + description: "-50 to 100; 100 means 2.0x volume, -50 means 0.5x volume (default: 0)." + type: integer + pitch_rate: + description: "-12 to 12 (default: 0)." + type: integer + sample_rate: + description: "Output sample rate: 8000, 16000, 24000 (default), 32000, 44100 or 48000." + type: integer + speech_rate: + description: "-50 to 100; 100 means 2.0x speed, -50 means 0.5x speed (default: 0)." + type: integer + type: object + BytePlusTTSCreateRequest: + description: Request body for a BytePlus Seed Audio 1.0 generation. + properties: + audio_config: + $ref: "#/components/schemas/BytePlusTTSAudioConfig" + model: + description: Model identifier. The only supported model is seed-audio-1.0. + type: string + references: + description: "Reference resources. Omit for text-only generation. Up to 3 audio references (each up to 30 seconds and 10 MB; wav, mp3, pcm or ogg_opus) or exactly 1 image reference (up to 10 MB; jpeg, png or webp). Image references cannot be mixed with audio references.\n" + items: + $ref: "#/components/schemas/BytePlusTTSReference" + type: array + text_prompt: + description: "Prompt or text to synthesize (max 2,048 characters). When audio references are provided, reference them by order using @Audio1, @Audio2 and @Audio3.\n" + maxLength: 2048 + type: string + watermark: + additionalProperties: true + description: Watermark configuration object. An empty object is accepted. + type: object + required: + - model + - text_prompt + type: object + BytePlusTTSCreateResponse: + description: Response body for a BytePlus Seed Audio 1.0 generation. + properties: + audio: + description: "Generated audio data, Base64-encoded." + type: string + code: + description: Status code. Refer to the official error-code document for details. + type: integer + duration: + description: "Duration after speed or post-processing, in seconds." + format: double + type: number + message: + description: Status details. + type: string + original_duration: + description: Original model output duration in seconds. Used for billing and capped at 120 seconds. + format: double + type: number + url: + description: "Temporary audio URL, valid for 2 hours." + type: string + type: object + BytePlusTTSReference: + description: "A single reference resource. For an audio reference, provide exactly one of speaker, audio_data or audio_url. For an image reference, provide exactly one of image_data or image_url.\n" + properties: + audio_data: + description: Base64-encoded reference audio. + type: string + audio_url: + description: URL of a remote reference audio file. + type: string + image_data: + description: Base64-encoded reference image. + type: string + image_url: + description: URL of a remote reference image. + type: string + speaker: + description: Voice ID. Can be a supported Doubao TTS voice or a voice-clone voice ID. + type: string + type: object + BytePlusVideoGenerationContent: + properties: + audio_url: + description: Input audio object. Only Seedance 2.0 & 2.0 fast support audio input. Cannot be used alone - must include at least 1 image or video. + properties: + url: + description: "Audio URL, Base64 encoding, or Asset ID.\nAudio URL: Public URL of the audio (wav, mp3).\nBase64: Format data:audio/;base64,\nAsset ID: Format asset://\n" + type: string + type: object + image_url: + properties: + url: + description: "Image content for image-to-video generation (when type is \"image_url\")\nImage URL: Make sure that the image URL is accessible.\nBase64-encoded content: Format must be data:image/;base64,\nAsset ID: Format asset://\n" + type: string + type: object + role: + description: "The role/position of the content item.\nFor images: first_frame, last_frame, or reference_image.\nFor videos: reference_video (Seedance 2.0 & 2.0 fast only).\nFor audio: reference_audio (Seedance 2.0 & 2.0 fast only).\n" + enum: + - first_frame + - last_frame + - reference_image + - reference_video + - reference_audio + type: string + text: + description: "The input text information for the model. Includes text prompt and optional parameters.\n\nText prompt (required): Description of the video to be generated using Chinese and English characters.\n\nParameters (optional): Add --[parameters] after the text prompt to control video specifications:\n- --resolution (--rs): 480p, 720p, 1080p (default: 720p)\n- --ratio (--rt): 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, 9:21, adaptive (default: 16:9 or adaptive)\n- --duration (--dur): 3-12 seconds (default: 5)\n- --framepersecond (--fps): 24 (default: 24)\n- --watermark (--wm): true/false (default: false)\n- --seed (--seed): -1 to 2^32-1 (default: -1)\n- --camerafixed (--cf): true/false (default: false)\n\nExample: \"A beautiful landscape --ratio 16:9 --resolution 720p --duration 5\"\n" + maxLength: 4096 + type: string + type: + description: The type of the input content + enum: + - text + - image_url + - video_url + - audio_url + type: string + video_url: + description: Input video object. Only Seedance 2.0 & 2.0 fast support video input. + properties: + url: + description: "Video URL or Asset ID.\nVideo URL: Public URL of the video (mp4, mov).\nAsset ID: Format asset://\n" + type: string + type: object + required: + - type + type: object + BytePlusVideoGenerationQueryResponse: + properties: + content: + description: "The output after the video generation task is completed, which contains the download URL of the output video." + properties: + video_url: + description: "The URL of the output video. For security purposes, the output video is cleared after 24 hours." + type: string + type: object + created_at: + description: The time when the task was created. The value is a UNIX timestamp in seconds. + type: integer + error: + description: "The error information. If the task succeeds, null is returned. If the task fails, the error information is returned." + nullable: true + properties: + code: + description: The error code + type: string + message: + description: The error message + type: string + type: object + id: + description: The ID of the video generation task + type: string + model: + description: The name and version of the model used by the task + type: string + status: + description: The state of the task + enum: + - queued + - running + - cancelled + - succeeded + - failed + - expired + type: string + updated_at: + description: The time when the task was last updated. The value is a UNIX timestamp in seconds. + type: integer + usage: + description: The token usage for the request + properties: + completion_tokens: + description: The number of tokens generated by the model + type: integer + total_tokens: + description: "For the video generation model, the number of input tokens is not calculated and defaults to 0. Therefore, total_tokens = completion_tokens." + type: integer + type: object + type: object + BytePlusVideoGenerationRequest: + properties: + callback_url: + description: Callback notification address for the result of this generation task + format: uri + type: string + content: + description: The input content for the model to generate a video + items: + $ref: "#/components/schemas/BytePlusVideoGenerationContent" + minItems: 1 + type: array + duration: + description: "Video duration in seconds. Seedance 2.0 & 2.0 fast: [4,15] or -1 (auto). Seedance 1.5 pro: [4,12] or -1. Seedance 1.0: [2,12].\n" + type: integer + execution_expires_after: + description: "Task timeout threshold in seconds. Default 172800 (48h). Range: [3600, 259200].\n" + type: integer + generate_audio: + default: true + description: "Supported by Seedance 2.0, 2.0 fast, and 1.5 pro. Whether the generated video includes audio synchronized with the visuals.\ntrue: The model outputs a video with synchronized audio.\nfalse: The model outputs a silent video.\n" + type: boolean + model: + description: "The ID of the model to call. Available models include seedance-1-5-pro-251215, seedance-1-0-pro-250528, seedance-1-0-pro-fast-251015, seedance-1-0-lite-t2v-250428, seedance-1-0-lite-i2v-250428" + enum: + - seedance-1-5-pro-251215 + - seedance-1-0-pro-250528 + - seedance-1-0-lite-t2v-250428 + - seedance-1-0-lite-i2v-250428 + - seedance-1-0-pro-fast-251015 + - dreamina-seedance-2-0-260128 + - dreamina-seedance-2-0-fast-260128 + - dreamina-seedance-2-0-mini + type: string + ratio: + description: "Aspect ratio of the generated video. Seedance 2.0 & 2.0 fast, 1.5 pro default: adaptive.\n" + enum: + - 16:9 + - 4:3 + - 1:1 + - 3:4 + - 9:16 + - 21:9 + - adaptive + type: string + resolution: + description: "Video resolution. Seedance 2.0 & 2.0 fast, 1.5 pro, 1.0 lite default: 720p. Seedance 1.0 pro & pro-fast default: 1080p.\nNote: Seedance 2.0 & 2.0 fast do not support 1080p.\n" + enum: + - 480p + - 720p + - 1080p + - 4k + type: string + return_last_frame: + default: false + description: "Whether to return the last frame image of the generated video.\ntrue: Returns the last frame image of the generated video. After setting this parameter to true, you can obtain the last frame image by calling the Querying the information about a video generation task. The last frame image is in PNG format, with its pixel width and height consistent with those of the generated video, and it contains no watermarks. Using this parameter allows the generation of multiple consecutive videos: the last frame of the previously generated video is used as the first frame of the next video task, enabling quick generation of multiple consecutive videos.\nfalse: Does not return the last frame image of the generated video.\n" + type: boolean + seed: + description: "Seed integer for controlling randomness. Range: [-1, 2^32-1]. -1 uses a random seed.\n" + type: integer + service_tier: + description: "Service tier for processing. Seedance 2.0 & 2.0 fast do not support flex (offline inference).\n" + enum: + - default + - flex + type: string + watermark: + default: false + description: Whether the generated video includes a watermark. + type: boolean + required: + - model + - content + type: object + BytePlusVideoGenerationResponse: + properties: + id: + description: The ID of the video generation task + type: string + required: + - id + type: object + ClaimMyNodeRequest: + properties: + GH_TOKEN: + description: GitHub token to verify if the user owns the repo of the node + type: string + required: + - GH_TOKEN + type: object + ComfyNode: + properties: + category: + description: "UI category where the node is listed, used for grouping nodes." + type: string + comfy_node_name: + description: Unique identifier for the node + type: string + deprecated: + description: Indicates if the node is deprecated. Deprecated nodes are hidden in the UI. + type: boolean + description: + description: "Brief description of the node's functionality or purpose." + type: string + experimental: + description: "Indicates if the node is experimental, subject to changes or removal." + type: boolean + function: + description: Name of the entry-point function to execute the node. + type: string + input_types: + description: Defines input parameters + type: string + output_is_list: + description: Boolean values indicating if each output is a list. + items: + type: boolean + type: array + policy: + $ref: "#/components/schemas/ComfyNodePolicy" + return_names: + description: Names of the outputs for clarity in workflows. + type: string + return_types: + description: Specifies the types of outputs produced by the node. + type: string + type: object + ComfyNodeCloudBuildInfo: + properties: + build_id: + type: string + location: + type: string + project_id: + type: string + project_number: + type: string + type: object + ComfyNodePolicy: + enum: + - ComfyNodePolicyActive + - ComfyNodePolicyBanned + - ComfyNodePolicyLocalOnly + type: string + ComfyNodeUpdateRequest: + properties: + category: + description: "UI category where the node is listed, used for grouping nodes." + type: string + deprecated: + description: Indicates if the node is deprecated. Deprecated nodes are hidden in the UI. + type: boolean + description: + description: "Brief description of the node's functionality or purpose." + type: string + experimental: + description: "Indicates if the node is experimental, subject to changes or removal." + type: boolean + function: + description: Name of the entry-point function to execute the node. + type: string + input_types: + description: Defines input parameters + type: string + output_is_list: + description: Boolean values indicating if each output is a list. + items: + type: boolean + type: array + policy: + $ref: "#/components/schemas/ComfyNodePolicy" + return_names: + description: Names of the outputs for clarity in workflows. + type: string + return_types: + description: Specifies the types of outputs produced by the node. + type: string + type: object + ComputerToolCall: + description: "A tool call to a computer use tool. See the\n[computer use guide](/docs/guides/tools-computer-use) for more information.\n" + properties: + action: + type: object + call_id: + description: "An identifier used when responding to the tool call with output.\n" + type: string + id: + description: The unique ID of the computer call. + type: string + status: + description: "The status of the item. One of `in_progress`, `completed`, or\n`incomplete`. Populated when items are returned via API.\n" + enum: + - in_progress + - completed + - incomplete + type: string + type: + default: computer_call + description: "The type of the computer call. Always `computer_call`." + enum: + - computer_call + type: string + required: + - type + - id + - action + - call_id + - pending_safety_checks + - status + title: Computer tool call + type: object + ComputerUsePreviewTool: + description: "A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use)." + properties: + display_height: + description: The height of the computer display. + type: integer + display_width: + description: The width of the computer display. + type: integer + environment: + description: The type of computer environment to control. + enum: + - windows + - mac + - linux + - ubuntu + - browser + type: string + type: + default: computer_use_preview + description: "The type of the computer use tool. Always `computer_use_preview`." + enum: + - computer_use_preview + type: string + x-stainless-const: true + required: + - type + - environment + - display_width + - display_height + title: Computer use preview + type: object + CouponResponse: + properties: + amount_off: + description: Amount off in cents + type: integer + currency: + description: Currency for amount_off + type: string + duration: + description: How long the coupon lasts + enum: + - once + - repeating + - forever + type: string + duration_in_months: + description: Number of months for repeating coupons + type: integer + id: + description: The Stripe coupon ID + type: string + max_redemptions: + description: Maximum number of times this coupon can be redeemed + type: integer + metadata: + additionalProperties: + type: string + description: Set of key-value pairs for storing additional information + type: object + name: + description: Name of the coupon displayed to customers + type: string + percent_off: + description: Percent off discount (0-100) + format: double + type: number + redeem_by: + description: Unix timestamp specifying the last time at which the coupon can be redeemed + format: int64 + type: integer + times_redeemed: + description: Number of times this coupon has been redeemed + type: integer + valid: + description: Whether the coupon can still be redeemed + type: boolean + required: + - id + - duration + - valid + type: object + CreateAPIKeyRequest: + properties: + description: + type: string + name: + type: string + required: + - name + type: object + CreateCouponRequest: + properties: + amount_off: + description: Amount off in cents + minimum: 0 + type: integer + currency: + description: Currency for amount_off (required if amount_off is set) + enum: + - usd + type: string + duration: + default: once + description: How long the coupon lasts + enum: + - once + - repeating + - forever + type: string + duration_in_months: + description: Required if duration is repeating + minimum: 1 + type: integer + max_redemptions: + description: Maximum number of times this coupon can be redeemed + minimum: 1 + type: integer + metadata: + additionalProperties: + type: string + description: Set of key-value pairs for storing additional information + type: object + name: + description: Name of the coupon displayed to customers + type: string + percent_off: + description: Percent off discount (0-100) + format: double + maximum: 100 + minimum: 0 + type: number + redeem_by: + description: Unix timestamp specifying the last time at which the coupon can be redeemed + format: int64 + type: integer + type: object + CreateCustomerRequest: + description: "Optional request body for customer creation (BE-1490). Carries the Cloudflare Turnstile token produced by the frontend widget, verified server-side at signup. All fields are optional; clients that do not run the Turnstile widget may send an empty body or omit the body entirely." + properties: + turnstile_token: + description: "The Cloudflare Turnstile token (cf-turnstile-response) produced by the frontend widget. Verified server-side against Cloudflare siteverify. Omit or leave empty for clients without Turnstile (e.g. local OSS), which are exempt from the verification requirement." + type: string + type: object + CreateModelResponseProperties: + allOf: + - $ref: "#/components/schemas/ModelResponseProperties" + CreatePromoCodeRequest: + properties: + coupon_id: + description: The Stripe coupon ID to create the promotional code for + type: string + expire_days: + default: 30 + description: Number of days until the promotion code expires + minimum: 1 + type: integer + max_redemptions: + description: Maximum number of times this code can be redeemed + minimum: 1 + type: integer + required: + - coupon_id + type: object + Customer: + properties: + createdAt: + description: The date and time the user was created + format: date-time + type: string + email: + description: The email address for this user + type: string + has_fund: + description: Whether the user has funds + type: boolean + id: + description: The firebase UID of the user + type: string + is_admin: + description: Whether the user is an admin + type: boolean + metronome_id: + description: The Metronome customer ID + type: string + name: + description: The name for this user + type: string + stripe_id: + description: The Stripe customer ID + type: string + subscription_tier: + allOf: + - $ref: "#/components/schemas/SubscriptionTier" + description: The cached subscription tier level + nullable: true + updatedAt: + description: The date and time the user was last updated + format: date-time + type: string + required: + - id + type: object + CustomerAdmin: + properties: + cloud_subscription_end_date: + description: The date when the subscription is set to end (ISO 8601 format) + format: date-time + nullable: true + type: string + cloud_subscription_is_active: + description: Whether the customer has an active cloud subscription + type: boolean + cloud_subscription_renewal_date: + description: The next renewal date for the subscription (ISO 8601 format) + format: date-time + nullable: true + type: string + cloud_subscription_subscription_id: + description: The active subscription ID if one exists + nullable: true + type: string + createdAt: + description: The date and time the user was created + format: date-time + type: string + email: + description: The email address for this user + type: string + has_fund: + description: Whether the user has funds + type: boolean + id: + description: The firebase UID of the user + type: string + is_admin: + description: Whether the user is an admin + type: boolean + metronome_id: + description: The Metronome customer ID + type: string + name: + description: The name for this user + type: string + stripe_id: + description: The Stripe customer ID + type: string + subscription_tier: + allOf: + - $ref: "#/components/schemas/SubscriptionTier" + description: "The subscription tier level (e.g. FREE, STANDARD, CREATOR, PRO)" + nullable: true + updatedAt: + description: The date and time the user was last updated + format: date-time + type: string + required: + - id + type: object + CustomerStorageResourceResponse: + properties: + download_url: + description: The signed URL to use for downloading the file from the specified path + type: string + existing_file: + description: Whether an existing file with the same hash was found + type: boolean + expires_at: + description: When the signed URL will expire + format: date-time + type: string + upload_url: + description: The signed URL to use for uploading the file to the specified path + type: string + type: object + CustomerUsageTimeSeries: + description: "Grouped gross spend per billing period, breakdown, and summary for a customer." + properties: + breakdown: + description: "Per-group totals over the whole range, ordered by spend descending." + items: + $ref: "#/components/schemas/UsageBreakdownRow" + type: array + buckets: + description: "One entry per (billing period, group) with non-zero gross spend." + items: + $ref: "#/components/schemas/UsageBucket" + type: array + ending_before: + description: Exclusive end of the returned range. + format: date-time + type: string + granularity: + description: Bucket size of the time series. + enum: + - hour + - day + - month + type: string + group_by: + description: Dimension the spend is grouped by. + enum: + - model + - endpoint + - product + type: string + groups: + description: "Distinct group keys present in the range, ordered by spend descending." + items: + type: string + type: array + starting_on: + description: Inclusive start of the returned range. + format: date-time + type: string + summary: + $ref: "#/components/schemas/UsageSummary" + required: + - group_by + - granularity + - starting_on + - ending_before + - groups + - buckets + - breakdown + - summary + type: object + EasyInputMessage: + description: "A message input to the model with a role indicating instruction following\nhierarchy. Instructions given with the `developer` or `system` role take\nprecedence over instructions given with the `user` role. Messages with the\n`assistant` role are presumed to have been generated by the model in previous\ninteractions.\n" + properties: + content: + description: "Text, image, or audio input to the model, used to generate a response.\nCan also contain previous assistant responses.\n" + oneOf: + - description: "A text input to the model.\n" + title: Text input + type: string + - $ref: "#/components/schemas/InputMessageContentList" + role: + description: "The role of the message input. One of `user`, `assistant`, `system`, or\n`developer`.\n" + enum: + - user + - assistant + - system + - developer + type: string + type: + description: "The type of the message input. Always `message`.\n" + enum: + - message + type: string + x-stainless-const: true + required: + - role + - content + title: Input message + type: object + ElevenLabsAudioIsolationRequest: + description: Request body for audio isolation (removing background noise) + properties: + audio: + description: The audio file from which vocals/speech will be isolated. + format: binary + type: string + file_format: + default: other + description: "The format of input audio. Options are 'pcm_s16le_16' or 'other'.\nFor pcm_s16le_16, the input audio must be 16-bit PCM at a 16kHz sample rate, single channel (mono).\nLatency will be lower than with passing an encoded waveform.\n" + enum: + - pcm_s16le_16 + - other + nullable: true + type: string + preview_b64: + description: Optional preview image base64 for tracking this generation. + nullable: true + type: string + required: + - audio + type: object + ElevenLabsCreateVoiceRequest: + description: Request body for creating an instant voice clone + properties: + description: + description: A description of the voice. + nullable: true + type: string + files: + description: Audio recordings for voice cloning. + items: + format: binary + type: string + type: array + labels: + description: "JSON string of labels for the voice (language, accent, gender, age)." + nullable: true + type: string + name: + description: The name that identifies this voice. + type: string + remove_background_noise: + default: false + description: "If set, removes background noise from voice samples using audio isolation." + type: boolean + required: + - name + - files + type: object + ElevenLabsDialogueInput: + description: A single dialogue input containing text and voice ID + properties: + text: + description: The text to be converted into speech. + type: string + voice_id: + description: The ID of the voice to be used for the generation. + type: string + required: + - text + - voice_id + type: object + ElevenLabsDialogueSettings: + description: Settings controlling the dialogue generation + nullable: true + properties: + stability: + default: 0.5 + description: "Determines how stable the voice is and the randomness between each generation.\nLower values introduce broader emotional range for the voice.\nHigher values can result in a monotonous voice with limited emotion.\n" + format: double + nullable: true + type: number + type: object + ElevenLabsPronunciationDictionaryLocator: + description: Locator for a pronunciation dictionary + properties: + pronunciation_dictionary_id: + description: The ID of the pronunciation dictionary + type: string + version_id: + description: The version ID of the pronunciation dictionary + type: string + required: + - pronunciation_dictionary_id + - version_id + type: object + ElevenLabsSTTAdditionalFormat: + description: Additional format response for transcript export + properties: + content: + description: The content of the additional format. + type: string + content_type: + description: The content type of the additional format. + type: string + file_extension: + description: The file extension of the additional format. + type: string + is_base64_encoded: + description: Whether the content is base64 encoded. + type: boolean + requested_format: + description: The requested format. + type: string + required: + - requested_format + - file_extension + - content_type + - is_base64_encoded + - content + type: object + ElevenLabsSTTCharacter: + description: Character information with timing + properties: + end: + description: The end time of the character in seconds. + format: double + nullable: true + type: number + start: + description: The start time of the character in seconds. + format: double + nullable: true + type: number + text: + description: The character that was transcribed. + type: string + required: + - text + type: object + ElevenLabsSTTDetectedEntity: + description: Detected entity in transcript + properties: + end_char: + description: End character position in the transcript text. + type: integer + entity_type: + description: "The type of entity detected (e.g., 'credit_card', 'email_address', 'person_name')." + type: string + start_char: + description: Start character position in the transcript text. + type: integer + text: + description: The text that was identified as an entity. + type: string + required: + - text + - entity_type + - start_char + - end_char + type: object + ElevenLabsSTTExportOptions: + description: Export format options for speech-to-text transcripts + properties: + format: + description: The output format for the transcript export. + enum: + - segmented_json + - docx + - pdf + - txt + - html + - srt + type: string + include_speakers: + default: true + description: Whether to include speaker labels in the export. + type: boolean + include_timestamps: + default: true + description: Whether to include timestamps in the export. + type: boolean + max_characters_per_line: + description: Maximum characters per line (for txt and srt formats). + nullable: true + type: integer + max_segment_chars: + description: Maximum number of characters per segment. + nullable: true + type: integer + max_segment_duration_s: + description: Maximum duration of each segment in seconds. + format: double + nullable: true + type: number + segment_on_silence_longer_than_s: + description: Segment the transcript when silence is longer than this value in seconds. + format: double + nullable: true + type: number + required: + - format + type: object + ElevenLabsSTTRequest: + description: Request body for ElevenLabs Speech-to-Text + properties: + additional_formats: + description: A list of additional formats to export the transcript to. + items: + $ref: "#/components/schemas/ElevenLabsSTTExportOptions" + nullable: true + type: array + cloud_storage_url: + description: "The HTTPS URL of the file to transcribe. Exactly one of file or cloud_storage_url parameters must be provided.\nThe file must be accessible via HTTPS and the file size must be less than 2GB.\n" + nullable: true + type: string + diarization_threshold: + description: "Diarization threshold to apply during speaker diarization.\nA higher value means there will be a lower chance of one speaker being diarized as two different speakers.\nCan only be set when diarize=True and num_speakers=None. Defaults to None.\n" + format: double + nullable: true + type: number + diarize: + default: false + description: Whether to annotate which speaker is currently talking in the uploaded file. + type: boolean + entity_detection: + description: "Detect entities in the transcript. Can be 'all' to detect all entities,\na single entity type or category string, or a list of entity types/categories.\nCategories include 'pii', 'phi', 'pci', 'other', 'offensive_language'.\nWhen enabled, detected entities will be returned in the 'entities' field\nwith their text, type, and character positions. Usage of this parameter will incur additional costs.\n" + nullable: true + oneOf: + - type: string + - items: + type: string + type: array + file: + description: "The file to transcribe. All major audio and video formats are supported.\nExactly one of file or cloud_storage_url parameters must be provided.\nThe file size must be less than 3.0GB.\n" + format: binary + type: string + file_format: + default: other + description: "The format of input audio. Options are 'pcm_s16le_16' or 'other'.\nFor pcm_s16le_16, the input audio must be 16-bit PCM at a 16kHz sample rate, single channel (mono).\n" + enum: + - pcm_s16le_16 + - other + type: string + keyterms: + description: "A list of keyterms to bias the transcription towards.\nThe number of keyterms cannot exceed 100 and each keyterm must be less than 50 characters.\n" + items: + type: string + nullable: true + type: array + language_code: + description: "An ISO-639-1 or ISO-639-3 language_code corresponding to the language of the audio file.\nCan sometimes improve transcription performance if known beforehand.\nDefaults to null, in this case the language is predicted automatically.\n" + nullable: true + type: string + model_id: + description: The ID of the model to use for transcription. + enum: + - scribe_v1 + - scribe_v2 + type: string + num_speakers: + description: "The maximum amount of speakers talking in the uploaded file.\nCan help with predicting who speaks when. The maximum amount of speakers that can be predicted is 32.\nDefaults to null, in this case the amount of speakers is set to the maximum value the model supports.\n" + nullable: true + type: integer + seed: + description: "If specified, our system will make a best effort to sample deterministically.\nMust be an integer between 0 and 2147483647.\n" + maximum: 2147483647 + minimum: 0 + nullable: true + type: integer + tag_audio_events: + default: true + description: "Whether to tag audio events like (laughter), (footsteps), etc. in the transcription." + type: boolean + temperature: + description: "Controls the randomness of the transcription output. Accepts values between 0.0 and 2.0.\nHigher values result in more diverse and less deterministic results.\n" + format: double + nullable: true + type: number + timestamps_granularity: + default: word + description: "The granularity of the timestamps in the transcription.\n'word' provides word-level timestamps and 'character' provides character-level timestamps per word.\n" + enum: + - none + - word + - character + type: string + use_multi_channel: + default: false + description: "Whether the audio file contains multiple channels where each channel contains a single speaker.\nWhen enabled, each channel will be transcribed independently and the results will be combined.\nA maximum of 5 channels is supported.\n" + type: boolean + webhook: + default: false + description: "Whether to send the transcription result to configured speech-to-text webhooks.\nIf set the request will return early without the transcription, which will be delivered later via webhook.\n" + type: boolean + webhook_id: + description: "Optional specific webhook ID to send the transcription result to.\nOnly valid when webhook is set to true.\n" + nullable: true + type: string + webhook_metadata: + description: "Optional metadata to be included in the webhook response.\nThis should be a JSON string representing an object with a maximum depth of 2 levels and maximum size of 16KB.\n" + nullable: true + type: string + required: + - model_id + type: object + ElevenLabsSTTResponse: + description: Response from ElevenLabs Speech-to-Text + properties: + additional_formats: + description: Requested additional formats of the transcript. + items: + $ref: "#/components/schemas/ElevenLabsSTTAdditionalFormat" + nullable: true + type: array + channel_index: + description: The channel index this transcript belongs to (for multichannel audio). + nullable: true + type: integer + entities: + description: "List of detected entities with their text, type, and character positions." + items: + $ref: "#/components/schemas/ElevenLabsSTTDetectedEntity" + nullable: true + type: array + language_code: + description: "The detected language code (e.g. 'eng' for English)." + type: string + language_probability: + description: The confidence score of the language detection (0 to 1). + format: double + type: number + message: + description: Message for webhook responses. + nullable: true + type: string + request_id: + description: Request ID for webhook responses. + nullable: true + type: string + text: + description: The raw text of the transcription. + type: string + transcription_id: + description: The transcription ID of the response. + nullable: true + type: string + transcripts: + description: List of transcripts for multichannel audio (when use_multi_channel is true). + items: + $ref: "#/components/schemas/ElevenLabsSTTTranscript" + nullable: true + type: array + words: + description: List of words with their timing information. + items: + $ref: "#/components/schemas/ElevenLabsSTTWord" + type: array + type: object + ElevenLabsSTTTranscript: + description: Individual transcript for multichannel audio + properties: + additional_formats: + description: Requested additional formats. + items: + $ref: "#/components/schemas/ElevenLabsSTTAdditionalFormat" + nullable: true + type: array + channel_index: + description: The channel index this transcript belongs to. + nullable: true + type: integer + entities: + description: List of detected entities. + items: + $ref: "#/components/schemas/ElevenLabsSTTDetectedEntity" + nullable: true + type: array + language_code: + description: The detected language code. + type: string + language_probability: + description: The confidence score of the language detection. + format: double + type: number + text: + description: The raw text of the transcription. + type: string + words: + description: List of words with their timing information. + items: + $ref: "#/components/schemas/ElevenLabsSTTWord" + type: array + type: object + ElevenLabsSTTWord: + description: Word information from speech-to-text transcription + properties: + characters: + description: The characters that make up the word and their timing information. + items: + $ref: "#/components/schemas/ElevenLabsSTTCharacter" + nullable: true + type: array + end: + description: The end time of the word or sound in seconds. + format: double + nullable: true + type: number + logprob: + description: "The log of the probability with which this word was predicted.\nLogprobs are in range [-infinity, 0], higher logprobs indicate higher confidence.\n" + format: double + type: number + speaker_id: + description: Unique identifier for the speaker of this word. + nullable: true + type: string + start: + description: The start time of the word or sound in seconds. + format: double + nullable: true + type: number + text: + description: The word or sound that was transcribed. + type: string + type: + description: "The type of the word or sound.\n'audio_event' is used for non-word sounds like laughter or footsteps.\n" + enum: + - word + - spacing + - audio_event + type: string + required: + - text + - type + - logprob + type: object + ElevenLabsSharedVoice: + properties: + accent: + type: string + age: + type: string + category: + enum: + - generated + - cloned + - premade + - professional + - famous + - high_quality + type: string + cloned_by_count: + type: integer + date_unix: + type: integer + description: + nullable: true + type: string + descriptive: + type: string + featured: + type: boolean + fiat_rate: + description: The rate of the voice in USD per 1000 credits. null if default. + format: double + nullable: true + type: number + free_users_allowed: + type: boolean + gender: + type: string + image_url: + nullable: true + type: string + instagram_username: + nullable: true + type: string + is_added_by_user: + nullable: true + type: boolean + is_bookmarked: + nullable: true + type: boolean + language: + nullable: true + type: string + live_moderation_enabled: + type: boolean + locale: + nullable: true + type: string + name: + type: string + notice_period: + nullable: true + type: integer + play_api_usage_character_count_1y: + type: integer + preview_url: + nullable: true + type: string + public_owner_id: + type: string + rate: + format: double + nullable: true + type: number + tiktok_username: + nullable: true + type: string + twitter_username: + nullable: true + type: string + usage_character_count_1y: + type: integer + usage_character_count_7d: + type: integer + use_case: + type: string + verified_languages: + description: The verified languages of the voice. + items: + $ref: "#/components/schemas/ElevenLabsVerifiedVoiceLanguage" + nullable: true + type: array + voice_id: + type: string + youtube_username: + nullable: true + type: string + required: + - public_owner_id + - voice_id + - date_unix + - name + - accent + - gender + - age + - descriptive + - use_case + - category + - usage_character_count_1y + - usage_character_count_7d + - play_api_usage_character_count_1y + - cloned_by_count + - free_users_allowed + - live_moderation_enabled + - featured + type: object + ElevenLabsSharedVoicesPaginatedResponse: + description: "Paginated response shape returned by the shared-voices proxy to match the\nfrontend's `RichComboWidget` progressive-fetch contract.\n" + properties: + has_more: + description: Whether there are more shared voices in subsequent pages. + type: boolean + items: + description: The list of shared voices on this page. + items: + $ref: "#/components/schemas/ElevenLabsSharedVoice" + type: array + required: + - items + - has_more + type: object + ElevenLabsSoundGenerationRequest: + description: Request body for generating sound effects from text + properties: + duration_seconds: + description: "The duration of the sound which will be generated in seconds.\nMust be at least 0.5 and at most 30. If set to null, the optimal\nduration will be guessed using the prompt. Defaults to null.\n" + format: double + nullable: true + type: number + loop: + default: false + description: "Whether to create a sound effect that loops smoothly.\nOnly available for the 'eleven_text_to_sound_v2' model.\n" + type: boolean + model_id: + default: eleven_text_to_sound_v2 + description: The model ID to use for the sound generation. + type: string + prompt_influence: + description: "A higher prompt influence makes your generation follow the prompt\nmore closely while also making generations less variable.\nMust be a value between 0 and 1. Defaults to 0.3.\n" + format: double + type: number + text: + description: The text that will get converted into a sound effect. + type: string + required: + - text + type: object + ElevenLabsSpeechToSpeechRequest: + description: Request body for ElevenLabs Speech-to-Speech (Voice Changer) + properties: + audio: + description: The audio file which holds the content and emotion that will control the generated speech. + format: binary + type: string + file_format: + default: other + description: "The format of input audio. Options are 'pcm_s16le_16' or 'other'.\nFor pcm_s16le_16, the input audio must be 16-bit PCM at a 16kHz sample rate, single channel (mono).\n" + enum: + - pcm_s16le_16 + - other + nullable: true + type: string + model_id: + default: eleven_english_sts_v2 + description: "Identifier of the model that will be used. Query GET /v1/models to list available models.\nThe model needs to have support for speech to speech (can_do_voice_conversion property).\n" + type: string + remove_background_noise: + default: false + description: "If set, will remove the background noise from your audio input using our audio isolation model.\nOnly applies to Voice Changer.\n" + type: boolean + seed: + description: "If specified, our system will make a best effort to sample deterministically.\nRepeated requests with the same seed and parameters should return the same result.\nMust be integer between 0 and 4294967295.\n" + maximum: 4294967295 + minimum: 0 + nullable: true + type: integer + voice_settings: + description: "Voice settings overriding stored settings for the given voice.\nThey are applied only on the given request. Needs to be sent as a JSON encoded string.\n" + nullable: true + type: string + required: + - audio + type: object + ElevenLabsTTSRequest: + description: Request body for ElevenLabs Text to Speech + properties: + apply_language_text_normalization: + default: false + description: Controls language-specific text normalization. Can heavily increase latency. Currently only supported for Japanese. + type: boolean + apply_text_normalization: + default: auto + description: "Controls text normalization. 'auto' lets the system decide, 'on' always applies normalization,\n'off' skips normalization.\n" + enum: + - auto + - "on" + - "off" + type: string + language_code: + description: "Language code (ISO 639-1) to enforce for the model. If unsupported, an error is returned." + nullable: true + type: string + model_id: + default: eleven_multilingual_v2 + description: Identifier of the model to use. Query /v1/models to list available models. + type: string + next_request_ids: + description: Request IDs of next generations for continuity. Maximum 3. + items: + type: string + maxItems: 3 + nullable: true + type: array + next_text: + description: "Text that comes after this request, used to improve speech continuity." + nullable: true + type: string + previous_request_ids: + description: Request IDs of previous generations for continuity. Maximum 3. + items: + type: string + maxItems: 3 + nullable: true + type: array + previous_text: + description: "Text that came before this request, used to improve speech continuity." + nullable: true + type: string + pronunciation_dictionary_locators: + description: "List of pronunciation dictionary locators (id, version_id). Maximum 3 per request." + items: + $ref: "#/components/schemas/ElevenLabsPronunciationDictionaryLocator" + maxItems: 3 + nullable: true + type: array + seed: + description: Seed for deterministic generation. Must be between 0 and 4294967295. + maximum: 4294967295 + minimum: 0 + nullable: true + type: integer + text: + description: The text that will be converted into speech. + type: string + use_pvc_as_ivc: + default: false + description: "Deprecated. If true, uses IVC version of voice instead of PVC." + type: boolean + voice_settings: + $ref: "#/components/schemas/ElevenLabsVoiceSettings" + required: + - text + type: object + ElevenLabsTextToDialogueRequest: + description: Request body for ElevenLabs Text-to-Dialogue (multi-voice TTS) + properties: + apply_text_normalization: + default: auto + description: "Controls text normalization with three modes:\n'auto' - system automatically decides whether to apply text normalization\n'on' - text normalization will always be applied\n'off' - text normalization will be skipped\n" + enum: + - auto + - "on" + - "off" + type: string + inputs: + description: "A list of dialogue inputs, each containing text and a voice ID which will be converted into speech.\nThe maximum number of unique voice IDs is 10.\n" + items: + $ref: "#/components/schemas/ElevenLabsDialogueInput" + type: array + language_code: + description: "Language code (ISO 639-1) used to enforce a language for the model and text normalization.\nIf the model does not support provided language code, an error will be returned.\n" + nullable: true + type: string + model_id: + default: eleven_v3 + description: "Identifier of the model that will be used. Query GET /v1/models to list available models.\nThe model needs to have support for text to speech (can_do_text_to_speech property).\n" + type: string + pronunciation_dictionary_locators: + description: "A list of pronunciation dictionary locators (id, version_id) to be applied to the text.\nThey will be applied in order. You may have up to 3 locators per request.\n" + items: + $ref: "#/components/schemas/ElevenLabsPronunciationDictionaryLocator" + maxItems: 3 + nullable: true + type: array + seed: + description: "If specified, our system will make a best effort to sample deterministically.\nRepeated requests with the same seed and parameters should return the same result.\nMust be integer between 0 and 4294967295.\n" + maximum: 4294967295 + minimum: 0 + nullable: true + type: integer + settings: + $ref: "#/components/schemas/ElevenLabsDialogueSettings" + required: + - inputs + type: object + ElevenLabsValidationError: + description: Validation error response from ElevenLabs + properties: + detail: + description: Details about the validation error + properties: + message: + description: Error message + type: string + status: + description: Error status + type: string + type: object + type: object + ElevenLabsVerifiedVoiceLanguage: + properties: + accent: + description: "The voice's accent, if applicable." + nullable: true + type: string + language: + description: The language of the voice. + type: string + locale: + description: "The voice's locale, if applicable." + nullable: true + type: string + model_id: + description: "The voice's model ID." + type: string + preview_url: + description: "The voice's preview URL, if applicable." + nullable: true + type: string + required: + - language + - model_id + type: object + ElevenLabsVoice: + description: "A voice from the authenticated account's voice library (e.g. a premade voice)." + properties: + category: + description: "Voice category (e.g. \"premade\", \"cloned\", \"generated\", \"professional\")." + type: string + description: + nullable: true + type: string + labels: + additionalProperties: + type: string + description: "Free-form string labels attached to the voice (e.g. accent, gender, age, use_case)." + nullable: true + type: object + name: + type: string + preview_url: + nullable: true + type: string + verified_languages: + description: The verified languages of the voice. + items: + $ref: "#/components/schemas/ElevenLabsVerifiedVoiceLanguage" + nullable: true + type: array + voice_id: + type: string + required: + - voice_id + - name + - category + type: object + ElevenLabsVoiceSettings: + description: Voice settings configuration + nullable: true + properties: + similarity_boost: + default: 0.75 + description: How closely the AI adheres to the original voice when replicating it. + format: double + maximum: 1 + minimum: 0 + nullable: true + type: number + speed: + default: 1 + description: "Speed adjustment. 1.0 is default, values below slow down, values above speed up." + format: double + maximum: 1.2 + minimum: 0.7 + nullable: true + type: number + stability: + default: 0.5 + description: Stability of the voice. Lower values introduce broader emotional range. + format: double + maximum: 1 + minimum: 0 + nullable: true + type: number + style: + default: 0 + description: Style exaggeration. Amplifies the style of the original speaker. + format: double + maximum: 1 + minimum: 0 + nullable: true + type: number + use_speaker_boost: + default: true + description: Boosts similarity to the original speaker. Requires higher computational load. + nullable: true + type: boolean + type: object + ElevenLabsVoicesPaginatedResponse: + description: "Paginated response shape returned by the premade-voices proxy.\nMirrors ElevenLabs `/v2/voices`, renaming `voices` to `items` to\nmatch the frontend's `RichComboWidget` progressive-fetch contract.\n" + properties: + has_more: + description: Whether there are more voices in subsequent pages. + type: boolean + items: + description: The list of premade voices on this page. + items: + $ref: "#/components/schemas/ElevenLabsVoice" + type: array + next_page_token: + description: Cursor to pass to the next request to fetch the next page. + nullable: true + type: string + required: + - items + - has_more + type: object + Error: + properties: + details: + description: Optional detailed information about the error or hints for resolving it. + items: + type: string + type: array + message: + description: A clear and concise description of the error. + type: string + type: object + ErrorResponse: + properties: + error: + type: string + message: + type: string + required: + - error + - message + type: object + FalPatinaMaterialExtractRequest: + description: "Request body for the fal PATINA extract model (fal-ai/patina/material/extract): extract a texture from an input image and generate a complete tiling PBR material." + properties: + enable_prompt_expansion: + default: true + description: Expand the prompt with an LLM for richer detail. + type: boolean + enable_safety_checker: + default: true + description: Enable the safety checker for generated images. + type: boolean + image_size: + description: "Output texture dimensions. Either a preset string (square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9) or an object with integer width and height. Defaults to square_hd." + image_url: + description: URL of the image to extract a texture from. + type: string + maps: + default: + - basecolor + - normal + - roughness + - metalness + - height + description: Which PBR maps to predict. Defaults to all five. + items: + type: string + type: array + num_images: + default: 1 + description: Number of texture images to generate. + type: integer + num_inference_steps: + default: 8 + description: Number of denoising steps for texture generation. + type: integer + output_format: + default: png + description: "Output image format for textures and PBR maps: jpeg, png, or webp." + type: string + prompt: + description: Describe which texture to extract from the image. + type: string + seed: + description: Random seed for reproducible generation. + type: integer + strength: + default: 0.6 + description: How much to transform the input image. + type: number + tile_size: + default: 128 + description: "Tile size in latent space (64 = 512px, 128 = 1024px)." + type: integer + tile_stride: + default: 64 + description: Tile stride in latent space. + type: integer + tiling_mode: + default: both + description: "Tiling direction: both, horizontal, or vertical." + type: string + upscale_factor: + default: "0" + description: "Upscale factor for predicted PBR maps. One of 0 (no upscaling), 2 (2x), or 4 (4x), as a string or number." + required: + - prompt + - image_url + type: object + FalPatinaMaterialImage: + description: A generated texture or PBR map image. + properties: + map_type: + description: "The PBR map type (basecolor, normal, roughness, metalness, height). Absent for the base texture image." + type: string + url: + description: URL of the generated image. + type: string + type: object + FalPatinaMaterialRequest: + description: Request body for the fal PATINA material generation model. + properties: + enable_prompt_expansion: + default: true + description: Expand the prompt with an LLM for richer detail. + type: boolean + enable_safety_checker: + default: true + description: Enable the safety checker for generated images. + type: boolean + image_size: + description: "Output texture dimensions. Either a preset string (square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9) or an object with integer width and height. Defaults to square_hd (1024x1024). Drives the per-megapixel price." + image_url: + description: URL of an input image for image-to-image or inpainting. + type: string + maps: + default: + - basecolor + - normal + - roughness + - metalness + - height + description: Which PBR maps to predict. Each predicted map adds a per-megapixel charge. Defaults to all five. + items: + type: string + type: array + mask_url: + description: URL of a mask image for inpainting. Requires image_url. + type: string + num_images: + default: 1 + description: Number of texture images to generate. + type: integer + num_inference_steps: + default: 8 + description: Number of denoising steps for texture generation. + type: integer + output_format: + default: png + description: "Output image format for textures and PBR maps: jpeg, png, or webp." + type: string + prompt: + description: The text prompt describing the material/texture to generate. + type: string + seed: + description: Random seed for reproducible generation. + type: integer + strength: + default: 0.6 + description: How much to transform the input image. Only used when image_url is provided. + type: number + tile_size: + default: 128 + description: "Tile size in latent space (64 = 512px, 128 = 1024px)." + type: integer + tile_stride: + default: 64 + description: Tile stride in latent space. + type: integer + tiling_mode: + default: both + description: "Tiling direction: both, horizontal, or vertical." + type: string + upscale_factor: + default: "0" + description: "Upscale factor for predicted PBR maps. One of 0 (no upscaling), 2 (2x), or 4 (4x), as a string or number. Upscaling adds a per-(pre-upscaling)-megapixel-per-map surcharge." + required: + - prompt + type: object + FalPatinaMaterialResponse: + description: Response from the fal PATINA material generation model. + properties: + images: + description: Generated tileable texture image plus the predicted PBR material maps. The base texture has only a url; each map entry also carries a map_type. + items: + $ref: "#/components/schemas/FalPatinaMaterialImage" + type: array + prompt: + description: The prompt used for texture generation (possibly expanded). + type: string + seed: + description: Seed used for texture generation. + type: integer + timings: + additionalProperties: true + description: End-to-end timing breakdown (seconds). + type: object + type: object + FalPatinaRequest: + description: "Request body for the fal PATINA image-to-image model (fal-ai/patina): predict PBR maps from a single input image." + properties: + enable_safety_checker: + default: true + description: Enable the safety checker for images. + type: boolean + image_url: + description: URL of the input image (photograph or render). + type: string + maps: + default: + - basecolor + - normal + - roughness + - metalness + - height + description: Which PBR maps to predict. Defaults to all five. + items: + type: string + type: array + output_format: + default: png + description: "Output image format: jpeg, png, or webp." + type: string + seed: + description: Random seed for reproducible denoising. + type: integer + sync_mode: + default: false + description: "If true, return images as data URIs instead of CDN URLs." + type: boolean + required: + - image_url + type: object + FalQueueStatus: + description: "fal queue status object, returned both when submitting a request and when polling its status." + properties: + queue_position: + description: Position in the queue (when IN_QUEUE). + type: integer + request_id: + description: The fal queue request id. + type: string + status: + description: "Queue status: IN_QUEUE, IN_PROGRESS, or COMPLETED." + type: string + required: + - status + - request_id + type: object + FeaturesResponse: + properties: + partner_node_conversion_rate: + description: The conversion rate for partner nodes + example: 0.5 + type: number + required: + - partner_node_conversion_rate + type: object + FileSearchTool: + properties: + type: + description: The type of tool + enum: + - file_search + type: string + vector_store_ids: + description: IDs of vector stores to search in + items: + type: string + type: array + required: + - type + - vector_store_ids + type: object + FileSearchToolCall: + description: "The results of a file search tool call. See the\n[file search guide](/docs/guides/tools-file-search) for more information.\n" + properties: + id: + description: "The unique ID of the file search tool call.\n" + type: string + queries: + description: "The queries used to search for files.\n" + items: + type: string + type: array + results: + description: "The results of the file search tool call.\n" + items: + properties: + file_id: + description: "The unique ID of the file.\n" + type: string + filename: + description: "The name of the file.\n" + type: string + score: + description: "The relevance score of the file - a value between 0 and 1.\n" + format: float + type: number + text: + description: "The text that was retrieved from the file.\n" + type: string + type: object + type: array + status: + description: "The status of the file search tool call. One of `in_progress`,\n`searching`, `incomplete` or `failed`,\n" + enum: + - in_progress + - searching + - completed + - incomplete + - failed + type: string + type: + description: "The type of the file search tool call. Always `file_search_call`.\n" + enum: + - file_search_call + type: string + x-stainless-const: true + required: + - id + - type + - status + - queries + title: File search tool call + type: object + FreeTierGrantState: + description: "State of a withheld first-time free tier credit grant. \"verification_required\" means the grant was denied pending account verification (e.g. unverified email or a blocked email domain). \"deferred\" means the grant was temporarily deferred and may succeed on a later request. Absent when no grant was withheld.\n" + enum: + - verification_required + - deferred + type: string + FreepikErrorResponse: + properties: + error: + type: string + message: + type: string + type: object + FreepikMagnificRelightRequest: + properties: + advanced_settings: + properties: + blacks: + default: 50 + description: Adjust the level of black color in the image. + maximum: 100 + minimum: 0 + type: integer + brightness: + default: 50 + description: Adjust the level of brightness in the image. + maximum: 100 + minimum: 0 + type: integer + contrast: + default: 50 + description: Adjust the level of contrast in the image. + maximum: 100 + minimum: 0 + type: integer + engine: + default: automatic + description: "Engine preset for relighting:\n- balanced: Well-rounded, general-purpose option\n- cool: Brighter with cooler tones\n- real: Aims to enhance photographic quality (Experimental)\n- illusio: Optimized for illustrations and drawings\n- fairy: Suited for fantasy-themed images\n- colorful_anime: Ideal for anime, cartoons, and vibrant colors\n- hard_transform: Significantly alters the original image\n- softy: Slightly softer effect, suitable for graphic designs\n" + enum: + - automatic + - balanced + - cool + - real + - illusio + - fairy + - colorful_anime + - hard_transform + - softy + type: string + fixed_generation: + default: false + description: "When enabled, using the same settings will consistently produce the same image." + type: boolean + saturation: + default: 50 + description: Adjust the level of saturation in the image. + maximum: 100 + minimum: 0 + type: integer + transfer_light_a: + default: automatic + description: Adjusts the intensity of light transfer. + enum: + - automatic + - low + - medium + - normal + - high + - high_on_faces + type: string + transfer_light_b: + default: automatic + description: Also modifies light transfer intensity. Can be combined with transfer_light_a for varied effects. + enum: + - automatic + - composition + - straight + - smooth_in + - smooth_out + - smooth_both + - reverse_both + - soft_in + - soft_out + - soft_mid + - strong_mid + - style_shift + - strong_shift + type: string + whites: + default: 50 + description: Adjust the level of white color in the image. + maximum: 100 + minimum: 0 + type: integer + type: object + change_background: + default: true + description: "When enabled, changes the background based on prompt and/or reference image. Useful for product placement and portraits." + type: boolean + image: + description: Base64 or URL of the image to do the relight + type: string + interpolate_from_original: + default: false + description: "When enabled, makes the final image interpolate from the original using the light transfer strength slider." + type: boolean + light_transfer_strength: + default: 100 + description: "Level of light transfer intensity. 0% keeps closest to original, 100% is maximum transfer." + maximum: 100 + minimum: 0 + type: integer + preserve_details: + default: true + description: "Maintains texture and small details of the original image. Good for product photography, texts, etc." + type: boolean + prompt: + description: "You can guide the generation process and influence the light transfer with a descriptive prompt.\nIMPORTANT: You can emphasize specific aspects of the light in your prompt by using a number in parentheses, ranging from 1 to 1.4, like \"(dark scene:1.3)\".\n" + type: string + style: + default: standard + description: Style preset for the relight operation. + enum: + - standard + - darker_but_realistic + - clean + - smooth + - brighter + - contrasted_n_hdr + - just_composition + type: string + transfer_light_from_lightmap: + description: "Base64 or URL of the lightmap for light transfer. Incompatible with 'transfer_light_from_reference_image'" + type: string + transfer_light_from_reference_image: + description: "Base64 or URL of the reference image for light transfer. Incompatible with 'transfer_light_from_lightmap'" + type: string + webhook_url: + description: Optional callback URL that will receive asynchronous notifications whenever the task changes status. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikMagnificStyleTransferRequest: + properties: + engine: + default: balanced + description: Engine preset for style transfer + enum: + - balanced + - definio + - illusio + - 3d_cartoon + - colorful_anime + - caricature + - real + - super_real + - softy + type: string + fixed_generation: + default: false + description: "When enabled, using the same settings will consistently produce the same image." + type: boolean + flavor: + default: faithful + description: Flavor of the transferring style + enum: + - faithful + - gen_z + - psychedelia + - detaily + - clear + - donotstyle + - donotstyle_sharp + type: string + image: + description: Base64 or URL of the image to do the style transfer + type: string + is_portrait: + default: false + description: Indicates whether the image should be processed as a portrait. + type: boolean + portrait_beautifier: + description: Facial beautification on portrait images. Only used if is_portrait is true. + enum: + - beautify_face + - beautify_face_max + type: string + portrait_style: + default: standard + description: Visual style applied to portrait images. Only used if is_portrait is true. + enum: + - standard + - pop + - super_pop + type: string + prompt: + description: Prompt for the AI model + type: string + reference_image: + description: Base64 or URL of the reference image for style transfer + type: string + structure_strength: + default: 50 + description: Allows to maintain the structure of the original image + maximum: 100 + minimum: 0 + type: integer + style_strength: + default: 100 + description: Percentage of style strength + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: Optional callback URL for async notifications. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + - reference_image + type: object + FreepikMagnificUpscalerCreativeRequest: + properties: + creativity: + default: 0 + description: "Increase or decrease AI's creativity. Valid values range [-10, 10]." + maximum: 10 + minimum: -10 + type: integer + engine: + default: automatic + description: Magnific model engines. + enum: + - automatic + - magnific_illusio + - magnific_sharpy + - magnific_sparkle + type: string + fractality: + default: 0 + description: "Control the strength of the prompt and intricacy per square pixel. Valid values range [-10, 10]." + maximum: 10 + minimum: -10 + type: integer + hdr: + default: 0 + description: "Increase or decrease the level of definition and detail. Valid values range [-10, 10]." + maximum: 10 + minimum: -10 + type: integer + image: + description: "Base64 image or URL to upscale. The resulted image can't exceed maximum allowed size of 25.3 million pixels." + type: string + optimized_for: + default: standard + description: Styles to optimize the upscale process. + enum: + - standard + - soft_portraits + - hard_portraits + - art_n_illustration + - videogame_assets + - nature_n_landscapes + - films_n_photography + - 3d_renders + - science_fiction_n_horror + type: string + prompt: + description: Prompt to guide the upscale process. Reusing the same prompt for AI-generated images will improve the results. + type: string + resemblance: + default: 0 + description: "Adjust the level of resemblance to the original image. Valid values range [-10, 10]." + maximum: 10 + minimum: -10 + type: integer + scale_factor: + default: 2x + description: "Configure scale factor of the image. For higher scales, the image will take longer to process." + enum: + - 2x + - 4x + - 8x + - 16x + type: string + webhook_url: + description: Optional callback URL that will receive asynchronous notifications whenever the task changes status. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikMagnificUpscalerPrecisionV2Request: + properties: + flavor: + description: "Image processing flavor:\n- sublime: Optimized for artistic and illustrated images\n- photo: Optimized for photographic images\n- photo_denoiser: Specialized for photos with noise reduction\n" + enum: + - sublime + - photo + - photo_denoiser + type: string + image: + description: "Source image to upscale. Accepts either:\n- A publicly accessible HTTPS URL pointing to the image\n- A base64-encoded image string\n" + type: string + scale_factor: + description: Image scaling factor. Determines how much larger the output will be compared to input. + maximum: 16 + minimum: 2 + type: integer + sharpen: + default: 7 + description: Image sharpness intensity control. Higher values increase edge definition and clarity. + maximum: 100 + minimum: 0 + type: integer + smart_grain: + default: 7 + description: Intelligent grain/texture enhancement. Higher values add more fine-grained texture. + maximum: 100 + minimum: 0 + type: integer + ultra_detail: + default: 30 + description: Ultra detail enhancement level. Higher values create more intricate details. + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: Optional callback URL that will receive asynchronous notifications when the upscaling task completes. + format: uri + type: string + required: + - image + type: object + FreepikSkinEnhancerCreativeRequest: + properties: + image: + description: Input image. Supports Base64 encoding or HTTPS URL (must be publicly accessible). + example: https://example.com/portrait.jpg + type: string + sharpen: + default: 0 + description: Sharpening intensity + maximum: 100 + minimum: 0 + type: integer + smart_grain: + default: 2 + description: Smart grain intensity + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: Optional callback URL for async notifications. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikSkinEnhancerFaithfulRequest: + properties: + image: + description: Input image. Supports Base64 encoding or HTTPS URL (must be publicly accessible). + example: https://example.com/portrait.jpg + type: string + sharpen: + default: 0 + description: Sharpening intensity + maximum: 100 + minimum: 0 + type: integer + skin_detail: + default: 80 + description: Skin detail enhancement level + maximum: 100 + minimum: 0 + type: integer + smart_grain: + default: 2 + description: Smart grain intensity + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: Optional callback URL for async notifications. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikSkinEnhancerFlexibleRequest: + properties: + image: + description: Input image. Supports Base64 encoding or HTTPS URL (must be publicly accessible). + example: https://example.com/portrait.jpg + type: string + optimized_for: + default: enhance_skin + description: Optimization target for flexible skin enhancer + enum: + - enhance_skin + - improve_lighting + - enhance_everything + - transform_to_real + - no_make_up + type: string + sharpen: + default: 0 + description: Sharpening intensity + maximum: 100 + minimum: 0 + type: integer + smart_grain: + default: 2 + description: Smart grain intensity + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: Optional callback URL for async notifications. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikTaskData: + properties: + generated: + description: URLs to the generated images. + items: + format: uri + type: string + type: array + status: + enum: + - CREATED + - IN_PROGRESS + - COMPLETED + - FAILED + type: string + task_id: + example: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + format: uuid + type: string + type: object + FreepikTaskResponse: + properties: + data: + $ref: "#/components/schemas/FreepikTaskData" + required: + - data + type: object + FunctionTool: + properties: + description: + description: Description of what the function does + type: string + name: + description: Name of the function + type: string + parameters: + description: JSON Schema object describing the function parameters + type: object + type: + description: The type of tool + enum: + - function + type: string + required: + - type + - name + - parameters + type: object + FunctionToolCall: + description: "A tool call to run a function. See the\n[function calling guide](/docs/guides/function-calling) for more information.\n" + properties: + arguments: + description: "A JSON string of the arguments to pass to the function.\n" + type: string + call_id: + description: "The unique ID of the function tool call generated by the model.\n" + type: string + id: + description: "The unique ID of the function tool call.\n" + type: string + name: + description: "The name of the function to run.\n" + type: string + status: + description: "The status of the item. One of `in_progress`, `completed`, or\n`incomplete`. Populated when items are returned via API.\n" + enum: + - in_progress + - completed + - incomplete + type: string + type: + description: "The type of the function tool call. Always `function_call`.\n" + enum: + - function_call + type: string + x-stainless-const: true + required: + - type + - call_id + - name + - arguments + title: Function tool call + type: object + GeminiCandidate: + properties: + citationMetadata: + $ref: "#/components/schemas/GeminiCitationMetadata" + content: + $ref: "#/components/schemas/GeminiContent" + finishReason: + type: string + safetyRatings: + items: + $ref: "#/components/schemas/GeminiSafetyRating" + type: array + type: object + GeminiCitation: + properties: + authors: + items: + type: string + type: array + endIndex: + type: integer + license: + type: string + publicationDate: + format: date + type: string + startIndex: + type: integer + title: + type: string + uri: + type: string + type: object + GeminiCitationMetadata: + properties: + citations: + items: + $ref: "#/components/schemas/GeminiCitation" + type: array + type: object + GeminiContent: + description: "The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history and the latest request.\n" + properties: + parts: + items: + $ref: "#/components/schemas/GeminiPart" + type: array + role: + enum: + - user + - model + example: user + type: string + required: + - role + - parts + type: object + GeminiFileData: + description: URI based data. + properties: + fileUri: + description: URI + type: string + mimeType: + $ref: "#/components/schemas/GeminiMimeType" + type: object + GeminiFunctionDeclaration: + properties: + description: + type: string + name: + type: string + parameters: + description: JSON schema for the function parameters + type: object + required: + - name + - parameters + type: object + GeminiGenerateContentRequest: + properties: + contents: + items: + $ref: "#/components/schemas/GeminiContent" + type: array + generationConfig: + $ref: "#/components/schemas/GeminiGenerationConfig" + safetySettings: + items: + $ref: "#/components/schemas/GeminiSafetySetting" + type: array + systemInstruction: + $ref: "#/components/schemas/GeminiSystemInstructionContent" + tools: + items: + $ref: "#/components/schemas/GeminiTool" + type: array + uploadImagesToStorage: + description: "If true, generated images will be uploaded to cloud storage and returned as signed URLs instead of inline base64 data. The URLs expire after 24 hours." + type: boolean + videoMetadata: + $ref: "#/components/schemas/GeminiVideoMetadata" + required: + - contents + type: object + GeminiGenerateContentResponse: + properties: + candidates: + items: + $ref: "#/components/schemas/GeminiCandidate" + type: array + createTime: + description: Timestamp when the response was created. + type: string + modelVersion: + description: The model version used to generate the response. + type: string + promptFeedback: + $ref: "#/components/schemas/GeminiPromptFeedback" + responseId: + description: Unique identifier for the response. + type: string + usageMetadata: + $ref: "#/components/schemas/GeminiUsageMetadata" + type: object + GeminiGenerationConfig: + properties: + imageConfig: + description: Configuration for image generation + properties: + aspectRatio: + description: Aspect ratio for generated images + type: string + imageOutputOptions: + description: Optional. The image output format for generated images. + properties: + compressionQuality: + description: Optional. The compression quality of the output image. + type: integer + mimeType: + description: Optional. The image format that the output should be saved as. + type: string + type: object + imageSize: + description: "Optional. Specifies the size of generated images. Supported values are 1K, 2K, 4K. If not specified, the model will use default value 1K." + type: string + type: object + maxOutputTokens: + description: "Maximum number of tokens that can be generated in the response. A token is approximately 4 characters. 100 tokens correspond to roughly 60-80 words.\n" + example: 2048 + maximum: 8192 + minimum: 16 + type: integer + responseModalities: + items: + enum: + - TEXT + - IMAGE + type: string + type: array + seed: + description: "When seed is fixed to a specific value, the model makes a best effort to provide the same response for repeated requests. Deterministic output isn't guaranteed. Also, changing the model or parameter settings, such as the temperature, can cause variations in the response even when you use the same seed value. By default, a random seed value is used. Available for the following models:, gemini-2.5-flash, gemini-2.5-pro, gemini-2.5-flash-preview-04-1, gemini-2.5-pro-preview-05-0, gemini-2.0-flash-lite-00, gemini-2.0-flash-001\n" + example: 343940597 + type: integer + stopSequences: + items: + type: string + type: array + temperature: + default: 1 + description: "The temperature is used for sampling during response generation, which occurs when topP and topK are applied. Temperature controls the degree of randomness in token selection. Lower temperatures are good for prompts that require a less open-ended or creative response, while higher temperatures can lead to more diverse or creative results. A temperature of 0 means that the highest probability tokens are always selected. In this case, responses for a given prompt are mostly deterministic, but a small amount of variation is still possible. If the model returns a response that's too generic, too short, or the model gives a fallback response, try increasing the temperature\n" + format: float + maximum: 2 + minimum: 0 + type: number + thinkingConfig: + description: Optional. Configuration for thinking features. Thinking is a process where the model breaks down a complex task into smaller steps to generate a higher-quality response. + properties: + includeThoughts: + description: "Optional. If true, the model will include its thoughts in the response." + type: boolean + thinkingBudget: + description: "Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget." + type: integer + thinkingLevel: + description: Optional. The thinking level for the model. + enum: + - THINKING_LEVEL_UNSPECIFIED + - LOW + - MEDIUM + - HIGH + - MINIMAL + type: string + type: object + topK: + default: 40 + description: "Top-K changes how the model selects tokens for output. A top-K of 1 means the next selected token is the most probable among all tokens in the model's vocabulary. A top-K of 3 means that the next token is selected from among the 3 most probable tokens by using temperature.\n" + example: 40 + minimum: 1 + type: integer + topP: + default: 0.95 + description: "If specified, nucleus sampling is used.\nTop-P changes how the model selects tokens for output. Tokens are selected from the most (see top-K) to least probable until the sum of their probabilities equals the top-P value. For example, if tokens A, B, and C have a probability of 0.3, 0.2, and 0.1 and the top-P value is 0.5, then the model will select either A or B as the next token by using temperature and excludes C as a candidate.\nSpecify a lower value for less random responses and a higher value for more random responses.\n" + format: float + maximum: 1 + minimum: 0 + type: number + type: object + GeminiInlineData: + description: "Inline data in raw bytes. For gemini-2.0-flash-lite and gemini-2.0-flash, you can specify up to 3000 images by using inlineData.\n" + properties: + data: + description: "The base64 encoding of the image, PDF, or video to include inline in the prompt. When including media inline, you must also specify the media type (mimeType) of the data. Size limit: 20MB\n" + format: byte + type: string + mimeType: + $ref: "#/components/schemas/GeminiMimeType" + type: object + GeminiMimeType: + description: "The media type of the file specified in the data or fileUri fields. Acceptable values include the following. For gemini-2.0-flash-lite and gemini-2.0-flash, the maximum length of an audio file is 8.4 hours and the maximum length of a video file (without audio) is one hour. For more information, see Gemini audio and video requirements. Text files must be UTF-8 encoded. The contents of the text file count toward the token limit. There is no limit on image resolution." + enum: + - application/pdf + - audio/mpeg + - audio/mp3 + - audio/wav + - image/png + - image/jpeg + - image/webp + - text/plain + - video/mov + - video/mpeg + - video/mp4 + - video/mpg + - video/avi + - video/wmv + - video/mpegps + - video/flv + type: string + GeminiOffset: + description: "Represents a duration offset for video timeline positions.\n" + properties: + nanos: + description: "Signed fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values.\n" + example: 0 + maximum: 999999999 + minimum: 0 + type: integer + seconds: + description: "Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.\n" + example: 60 + maximum: 315576000000 + minimum: -315576000000 + type: integer + type: object + GeminiPart: + properties: + fileData: + $ref: "#/components/schemas/GeminiFileData" + inlineData: + $ref: "#/components/schemas/GeminiInlineData" + text: + description: A text prompt or code snippet. + example: Write a story about a robot learning to paint + type: string + thought: + description: Indicates this part is a thinking/reasoning step from the model. + type: boolean + type: object + GeminiPromptFeedback: + properties: + blockReason: + type: string + blockReasonMessage: + type: string + safetyRatings: + items: + $ref: "#/components/schemas/GeminiSafetyRating" + type: array + type: object + GeminiSafetyCategory: + enum: + - HARM_CATEGORY_SEXUALLY_EXPLICIT + - HARM_CATEGORY_HATE_SPEECH + - HARM_CATEGORY_HARASSMENT + - HARM_CATEGORY_DANGEROUS_CONTENT + type: string + GeminiSafetyRating: + properties: + category: + $ref: "#/components/schemas/GeminiSafetyCategory" + probability: + description: The probability that the content violates the specified safety category + enum: + - NEGLIGIBLE + - LOW + - MEDIUM + - HIGH + - UNKNOWN + type: string + type: object + GeminiSafetySetting: + description: "Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.\n" + properties: + category: + $ref: "#/components/schemas/GeminiSafetyCategory" + threshold: + $ref: "#/components/schemas/GeminiSafetyThreshold" + required: + - category + - threshold + type: object + GeminiSafetyThreshold: + enum: + - "OFF" + - BLOCK_NONE + - BLOCK_LOW_AND_ABOVE + - BLOCK_MEDIUM_AND_ABOVE + - BLOCK_ONLY_HIGH + type: string + GeminiSystemInstructionContent: + description: "Available for gemini-2.0-flash and gemini-2.0-flash-lite. Instructions for the model to steer it toward better performance. For example, \"Answer as concisely as possible\" or \"Don't use technical terms in your response\". The text strings count toward the token limit. The role field of systemInstruction is ignored and doesn't affect the performance of the model. Note: Only text should be used in parts and content in each part should be in a separate paragraph.\n" + properties: + parts: + description: "A list of ordered parts that make up a single message. Different parts may have different IANA MIME types. For limits on the inputs, such as the maximum number of tokens or the number of images, see the model specifications on the Google models page.\n" + items: + $ref: "#/components/schemas/GeminiTextPart" + type: array + role: + description: "The identity of the entity that creates the message. The following values are supported: user: This indicates that the message is sent by a real person, typically a user-generated message. model: This indicates that the message is generated by the model. The model value is used to insert messages from the model into the conversation during multi-turn conversations. For non-multi-turn conversations, this field can be left blank or unset.\n" + enum: + - user + - model + example: user + type: string + required: + - role + - parts + type: object + GeminiTextPart: + properties: + text: + description: A text prompt or code snippet. + example: Answer as concisely as possible + type: string + type: object + GeminiTool: + description: "A piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. See Function calling.\n" + properties: + functionDeclarations: + items: + $ref: "#/components/schemas/GeminiFunctionDeclaration" + type: array + type: object + GeminiUsageMetadata: + properties: + cachedContentTokenCount: + description: Output only. Number of tokens in the cached part in the input (the cached content). + type: integer + candidatesTokenCount: + description: Number of tokens in the response(s). + type: integer + candidatesTokensDetails: + description: Breakdown of candidate tokens by modality. + items: + $ref: "#/components/schemas/ModalityTokenCount" + type: array + promptTokenCount: + description: "Number of tokens in the request. When cachedContent is set, this is still the total effective prompt size meaning this includes the number of tokens in the cached content." + type: integer + promptTokensDetails: + description: Breakdown of prompt tokens by modality. + items: + $ref: "#/components/schemas/ModalityTokenCount" + type: array + thoughtsTokenCount: + description: Number of tokens present in thoughts output. + type: integer + toolUsePromptTokenCount: + description: Number of tokens present in tool-use prompt(s). + type: integer + totalTokenCount: + description: Total number of tokens (prompt + candidates). + type: integer + trafficType: + description: "Traffic type used for the request (e.g., PROVISIONED_THROUGHPUT)." + type: string + type: object + GeminiVideoMetadata: + description: "For video input, the start and end offset of the video in Duration format. For example, to specify a 10 second clip starting at 1:00, set \"startOffset\": { \"seconds\": 60 } and \"endOffset\": { \"seconds\": 70 }. The metadata should only be specified while the video data is presented in inlineData or fileData.\n" + properties: + endOffset: + $ref: "#/components/schemas/GeminiOffset" + startOffset: + $ref: "#/components/schemas/GeminiOffset" + type: object + GitCommitSummary: + properties: + author: + description: The author of the commit + type: string + branch_name: + description: The branch where the commit was made + type: string + commit_hash: + description: The hash of the commit + type: string + commit_name: + description: The name of the commit + type: string + status_summary: + additionalProperties: + type: string + description: A map of operating system to status pairs + type: object + timestamp: + description: The timestamp when the commit was made + format: date-time + type: string + type: object + GithubEnterprise: + description: A GitHub enterprise + properties: + avatar_url: + description: URL to the enterprise avatar + type: string + created_at: + description: When the enterprise was created + format: date-time + type: string + description: + description: The enterprise description + nullable: true + type: string + html_url: + description: The HTML URL of the enterprise + type: string + id: + description: The enterprise ID + type: integer + name: + description: The enterprise name + type: string + node_id: + description: The enterprise node ID + type: string + slug: + description: The enterprise slug + type: string + updated_at: + description: When the enterprise was last updated + format: date-time + type: string + website_url: + description: The enterprise website URL + nullable: true + type: string + required: + - id + - slug + - name + - node_id + - avatar_url + - html_url + - created_at + - updated_at + type: object + GithubInstallation: + description: A GitHub App installation + properties: + access_tokens_url: + description: The API URL for access tokens + type: string + account: + $ref: "#/components/schemas/GithubUser" + app_id: + description: The GitHub App ID + type: integer + created_at: + description: When the installation was created + format: date-time + type: string + events: + description: The events the installation subscribes to + items: + type: string + type: array + html_url: + description: The HTML URL of the installation + type: string + id: + description: The installation ID + type: integer + permissions: + description: The installation permissions + type: object + repositories_url: + description: The API URL for repositories + type: string + repository_selection: + description: Repository selection for the installation + enum: + - selected + - all + type: string + single_file_name: + description: The single file name if applicable + nullable: true + type: string + target_id: + description: The target ID + type: integer + target_type: + description: The target type + type: string + updated_at: + description: When the installation was last updated + format: date-time + type: string + required: + - id + - account + - repository_selection + - access_tokens_url + - repositories_url + - html_url + - app_id + - target_id + - target_type + - permissions + - events + - created_at + - updated_at + type: object + GithubOrganization: + description: A GitHub organization + properties: + avatar_url: + description: "URL to the organization's avatar" + type: string + description: + description: The organization description + nullable: true + type: string + events_url: + description: "The API URL of the organization's events" + type: string + hooks_url: + description: "The API URL of the organization's hooks" + type: string + id: + description: The organization ID + type: integer + issues_url: + description: "The API URL of the organization's issues" + type: string + login: + description: "The organization's login name" + type: string + members_url: + description: "The API URL of the organization's members" + type: string + node_id: + description: The organization node ID + type: string + public_members_url: + description: "The API URL of the organization's public members" + type: string + repos_url: + description: "The API URL of the organization's repositories" + type: string + url: + description: The API URL of the organization + type: string + required: + - login + - id + - node_id + - url + - repos_url + - events_url + - hooks_url + - issues_url + - members_url + - public_members_url + - avatar_url + type: object + GithubReleaseAsset: + description: A GitHub release asset + properties: + browser_download_url: + description: The browser download URL + type: string + content_type: + description: The content type of the asset + type: string + created_at: + description: When the asset was created + format: date-time + type: string + download_count: + description: The number of downloads + type: integer + id: + description: The asset ID + type: integer + label: + description: The label of the asset + nullable: true + type: string + name: + description: The name of the asset + type: string + node_id: + description: The asset node ID + type: string + size: + description: The size of the asset in bytes + type: integer + state: + description: The state of the asset + enum: + - uploaded + - open + type: string + updated_at: + description: When the asset was last updated + format: date-time + type: string + uploader: + $ref: "#/components/schemas/GithubUser" + required: + - id + - node_id + - name + - content_type + - state + - size + - download_count + - created_at + - updated_at + - browser_download_url + - uploader + type: object + GithubReleaseWebhook: + description: GitHub release webhook payload based on official webhook documentation + properties: + action: + description: The action performed on the release + enum: + - published + - unpublished + - created + - edited + - deleted + - prereleased + - released + type: string + enterprise: + $ref: "#/components/schemas/GithubEnterprise" + installation: + $ref: "#/components/schemas/GithubInstallation" + organization: + $ref: "#/components/schemas/GithubOrganization" + release: + description: The release object + properties: + assets: + description: Array of release assets + items: + $ref: "#/components/schemas/GithubReleaseAsset" + type: array + assets_url: + description: The URL to the release assets + type: string + author: + $ref: "#/components/schemas/GithubUser" + body: + description: The release notes/body + nullable: true + type: string + created_at: + description: When the release was created + format: date-time + type: string + draft: + description: Whether the release is a draft + type: boolean + html_url: + description: The HTML URL of the release + type: string + id: + description: The ID of the release + type: integer + name: + description: The name of the release + nullable: true + type: string + node_id: + description: The node ID of the release + type: string + prerelease: + description: Whether the release is a prerelease + type: boolean + published_at: + description: When the release was published + format: date-time + nullable: true + type: string + tag_name: + description: The tag name of the release + type: string + tarball_url: + description: URL to the tarball + type: string + target_commitish: + description: The branch or commit the release was created from + type: string + upload_url: + description: The URL to upload release assets + type: string + url: + description: The API URL of the release + type: string + zipball_url: + description: URL to the zipball + type: string + required: + - id + - node_id + - url + - html_url + - tag_name + - target_commitish + - draft + - prerelease + - created_at + - author + - tarball_url + - zipball_url + - assets + type: object + repository: + $ref: "#/components/schemas/GithubRepository" + sender: + $ref: "#/components/schemas/GithubUser" + required: + - action + - release + - repository + - sender + type: object + GithubRepository: + description: A GitHub repository + properties: + clone_url: + description: The clone URL of the repository + type: string + created_at: + description: When the repository was created + format: date-time + type: string + default_branch: + description: The default branch of the repository + type: string + description: + description: The repository description + nullable: true + type: string + fork: + description: Whether the repository is a fork + type: boolean + full_name: + description: The full name of the repository (owner/repo) + type: string + git_url: + description: The git URL of the repository + type: string + html_url: + description: The HTML URL of the repository + type: string + id: + description: The repository ID + type: integer + name: + description: The name of the repository + type: string + node_id: + description: The repository node ID + type: string + owner: + $ref: "#/components/schemas/GithubUser" + private: + description: Whether the repository is private + type: boolean + pushed_at: + description: When the repository was last pushed to + format: date-time + type: string + ssh_url: + description: The SSH URL of the repository + type: string + updated_at: + description: When the repository was last updated + format: date-time + type: string + url: + description: The API URL of the repository + type: string + required: + - id + - node_id + - name + - full_name + - private + - owner + - html_url + - fork + - url + - clone_url + - git_url + - ssh_url + - default_branch + - created_at + - updated_at + - pushed_at + type: object + GithubUser: + description: A GitHub user + properties: + avatar_url: + description: "URL to the user's avatar" + type: string + gravatar_id: + description: "The user's gravatar ID" + nullable: true + type: string + html_url: + description: The HTML URL of the user + type: string + id: + description: "The user's ID" + type: integer + login: + description: "The user's login name" + type: string + node_id: + description: "The user's node ID" + type: string + site_admin: + description: Whether the user is a site admin + type: boolean + type: + description: The type of user + enum: + - Bot + - User + - Organization + type: string + url: + description: The API URL of the user + type: string + required: + - login + - id + - node_id + - avatar_url + - url + - html_url + - type + - site_admin + type: object + HitPawErrorResponse: + description: Error response from HitPaw API + properties: + error_code: + description: Error code + type: integer + message: + description: Error message + type: string + type: object + HitPawJobResponse: + description: Response from HitPaw Enhancement APIs (photo and video) + properties: + code: + description: "Status code, 200 indicates success" + example: 200 + type: integer + data: + properties: + consume_coins: + description: Number of coins consumed for this task + example: 75 + type: integer + job_id: + description: Unique identifier for the enhancement job + example: f5007c0b-e902-4070-8c75-f337d896168f + type: string + type: object + message: + description: Response message + example: OK + type: string + type: object + HitPawPhotoEnhancerRequest: + description: Request body for HitPaw Photo Enhancement API + properties: + DPI: + description: Target DPI for the output image + example: 300 + format: int64 + type: integer + exif: + description: Whether to preserve EXIF data (default false) + example: true + type: boolean + extension: + description: "File extension of the image (e.g., \".jpg\", \".png\")" + example: .jpg + type: string + img_url: + description: URL of the image to be enhanced. Must be publicly accessible. + example: https://example.com/image.jpg + format: uri + type: string + model_name: + description: "The model name to use for enhancement.\n\n**Available Models:**\n- face_2x, face_4x: Face Clear Model (2x/4x upscaling)\n- face_v2_2x, face_v2_4x: Face Natural Model (2x/4x upscaling)\n- general_2x, general_4x: General Enhance Model (2x/4x upscaling)\n- high_fidelity_2x, high_fidelity_4x: High Fidelity Model (2x/4x upscaling)\n- sharpen_denoise: Sharp Denoise Model\n- detail_denoise: Detail Denoise Model\n- generative_portrait: Generative Portrait Model\n- generative: Generative Enhance Model\n" + enum: + - face_2x + - face_4x + - face_v2_2x + - face_v2_4x + - general_2x + - general_4x + - high_fidelity_2x + - high_fidelity_4x + - sharpen_denoise + - detail_denoise + - generative_portrait + - generative + example: generative_portrait + type: string + required: + - model_name + - img_url + - extension + type: object + HitPawTaskStatusRequest: + description: Request body for HitPaw Task Status Query API + properties: + job_id: + description: Task ID obtained from Enhancement API response + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + type: string + required: + - job_id + type: object + HitPawTaskStatusResponse: + description: Response from HitPaw Task Status Query API + properties: + code: + description: "Status code, 200 indicates success" + example: 200 + type: integer + data: + properties: + job_id: + description: Task ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + type: string + original_url: + description: Original Image URL (photo enhancement only) + example: https://example.com/original.jpg + format: uri + type: string + res_url: + description: "Result URL, only valid when status is COMPLETED" + example: https://example.com/result.jpg + format: uri + type: string + status: + description: "Task status:\n- WAITING: The job is queued and waiting to be processed\n- CONVERTING: Processing task in progress\n- COMPLETED: Task completed successfully\n- ERROR: Task failed\n" + enum: + - WAITING + - CONVERTING + - COMPLETED + - ERROR + type: string + type: object + message: + description: Response message + example: OK + type: string + type: object + HitPawVideoEnhancerRequest: + description: Request body for HitPaw Video Enhancement API + properties: + extension: + default: .mp4 + description: "File extension for the output video (default \".mp4\")" + example: .mp4 + type: string + model_name: + description: "Model name to use for enhancement.\n\n**Available Models:**\n- face_soft: Face Soft Model\n- portrait_restore_1x: Portrait Restore Model 1x\n- portrait_restore_2x: Portrait Restore Model 2x\n- general_restore_1x: General Restore Model 1x\n- general_restore_2x: General Restore Model 2x\n- general_restore_4x: General Restore Model 4x\n- ultrahd_restore: Ultra HD Model\n- generative: Generative Model (SD)\n" + enum: + - face_soft + - portrait_restore_1x + - portrait_restore_2x + - general_restore_1x + - general_restore_2x + - general_restore_4x + - ultrahd_restore + - generative + example: general_restore_2x + type: string + original_resolution: + description: "Original video resolution [width, height]" + example: + - 1280 + - 720 + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + resolution: + description: "Target resolution [width, height]" + example: + - 1920 + - 1080 + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + video_url: + description: URL of the video to be enhanced + example: https://example.com/video.mp4 + format: uri + type: string + required: + - video_url + - model_name + - resolution + type: object + IdeogramColorPalette: + description: A color palette specification that can either use a preset name or explicit color definitions with weights + oneOf: + - properties: + name: + description: Name of the preset color palette + type: string + required: + - name + - properties: + members: + description: Array of color definitions with optional weights + items: + properties: + color: + description: Hexadecimal color code + pattern: "^#[0-9A-Fa-f]{6}$" + type: string + weight: + description: Optional weight for the color (0-1) + maximum: 1 + minimum: 0 + type: number + type: object + type: array + required: + - members + type: object + IdeogramGenerateRequest: + description: "Parameters for the Ideogram generation proxy request. Based on Ideogram's API." + properties: + image_request: + description: The image generation request parameters. + properties: + aspect_ratio: + description: "Optional. The aspect ratio (e.g., 'ASPECT_16_9', 'ASPECT_1_1'). Cannot be used with resolution. Defaults to 'ASPECT_1_1' if unspecified." + type: string + color_palette: + additionalProperties: true + description: "Optional. Color palette object. Only for V_2, V_2_TURBO." + type: object + magic_prompt_option: + description: "Optional. MagicPrompt usage ('AUTO', 'ON', 'OFF')." + type: string + model: + description: "The model used (e.g., 'V_2', 'V_2A_TURBO')" + type: string + negative_prompt: + description: "Optional. Description of what to exclude. Only for V_1, V_1_TURBO, V_2, V_2_TURBO." + type: string + num_images: + default: 1 + description: Optional. Number of images to generate (1-8). Defaults to 1. + maximum: 8 + minimum: 1 + type: integer + prompt: + description: Required. The prompt to use to generate the image. + type: string + resolution: + description: "Optional. Resolution (e.g., 'RESOLUTION_1024_1024'). Only for model V_2. Cannot be used with aspect_ratio." + type: string + seed: + description: Optional. A number between 0 and 2147483647. + format: int64 + maximum: 2147483647 + minimum: 0 + type: integer + style_type: + description: "Optional. Style type ('AUTO', 'GENERAL', 'REALISTIC', 'DESIGN', 'RENDER_3D', 'ANIME'). Only for models V_2 and above." + type: string + required: + - prompt + - model + type: object + required: + - image_request + type: object + IdeogramGenerateResponse: + description: Response from the Ideogram image generation API. + properties: + created: + description: Timestamp when the generation was created. + format: date-time + type: string + data: + description: Array of generated image information. + items: + properties: + is_image_safe: + description: Indicates whether the image is considered safe. + type: boolean + prompt: + description: The prompt used to generate this image. + type: string + resolution: + description: "The resolution of the generated image (e.g., '1024x1024')." + type: string + seed: + description: The seed value used for this generation. + type: integer + style_type: + description: "The style type used for generation (e.g., 'REALISTIC', 'ANIME')." + type: string + url: + description: URL to the generated image. + type: string + type: object + type: array + type: object + IdeogramStyleType: + default: GENERAL + enum: + - AUTO + - GENERAL + - REALISTIC + - DESIGN + - FICTION + type: string + IdeogramV3EditRequest: + properties: + character_reference_images: + description: "Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + character_reference_images_mask: + description: "Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + color_palette: + $ref: "#/components/schemas/IdeogramColorPalette" + image: + description: "The image being edited (max size 10MB); only JPEG, WebP and PNG formats are supported at this time." + format: binary + type: string + magic_prompt: + description: Determine if MagicPrompt should be used in generating the request or not. + type: string + mask: + description: "A black and white image of the same size as the image being edited (max size 10MB). Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time." + format: binary + type: string + num_images: + description: The number of images to generate. + type: integer + prompt: + description: The prompt used to describe the edited result. + type: string + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + seed: + description: Random seed. Set for reproducible generation. + type: integer + style_codes: + description: A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type. + items: + pattern: "^[0-9A-Fa-f]{8}$" + type: string + type: array + style_reference_images: + description: "A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + style_type: + $ref: "#/components/schemas/IdeogramStyleType" + required: + - prompt + - rendering_speed + type: object + IdeogramV3IdeogramResponse: + properties: + created: + format: date-time + type: string + data: + items: + properties: + is_image_safe: + type: boolean + prompt: + type: string + resolution: + type: string + seed: + type: integer + style_type: + type: string + url: + type: string + type: object + type: array + type: object + IdeogramV3ReframeRequest: + properties: + color_palette: + type: object + image: + format: binary + type: string + num_images: + maximum: 8 + minimum: 1 + type: integer + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + resolution: + type: string + seed: + maximum: 2147483647 + minimum: 0 + type: integer + style_codes: + items: + type: string + type: array + style_reference_images: + items: + format: binary + type: string + type: array + required: + - resolution + type: object + IdeogramV3RemixRequest: + properties: + aspect_ratio: + type: string + character_reference_images: + description: "Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + character_reference_images_mask: + description: "Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + color_palette: + type: object + image: + format: binary + type: string + image_weight: + default: 50 + maximum: 100 + minimum: 1 + type: integer + magic_prompt: + enum: + - AUTO + - "ON" + - "OFF" + type: string + negative_prompt: + type: string + num_images: + maximum: 8 + minimum: 1 + type: integer + prompt: + type: string + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + resolution: + type: string + seed: + maximum: 2147483647 + minimum: 0 + type: integer + style_codes: + items: + type: string + type: array + style_reference_images: + items: + format: binary + type: string + type: array + style_type: + $ref: "#/components/schemas/IdeogramStyleType" + required: + - prompt + type: object + IdeogramV3ReplaceBackgroundRequest: + properties: + color_palette: + type: object + image: + format: binary + type: string + magic_prompt: + enum: + - AUTO + - "ON" + - "OFF" + type: string + num_images: + maximum: 8 + minimum: 1 + type: integer + prompt: + type: string + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + seed: + maximum: 2147483647 + minimum: 0 + type: integer + style_codes: + items: + type: string + type: array + style_reference_images: + items: + format: binary + type: string + type: array + required: + - prompt + type: object + IdeogramV3Request: + properties: + aspect_ratio: + description: Aspect ratio in format WxH + example: 1x3 + type: string + character_reference_images: + description: "Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + character_reference_images_mask: + description: "Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + color_palette: + properties: + name: + description: Name of the color palette + example: PASTEL + type: string + required: + - name + type: object + magic_prompt: + description: Whether to enable magic prompt enhancement + enum: + - "ON" + - "OFF" + type: string + negative_prompt: + description: Text prompt specifying what to avoid in the generation + type: string + num_images: + description: Number of images to generate + minimum: 1 + type: integer + prompt: + description: The text prompt for image generation + type: string + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + resolution: + description: Image resolution in format WxH + example: 1280x800 + type: string + seed: + description: Seed value for reproducible generation + type: integer + style_codes: + description: Array of style codes in hexadecimal format + items: + pattern: "^[0-9A-Fa-f]{8}$" + type: string + type: array + style_reference_images: + description: Array of reference image URLs or identifiers + items: + format: binary + type: string + type: array + style_type: + $ref: "#/components/schemas/IdeogramStyleType" + required: + - prompt + - rendering_speed + type: object + IdeogramV4Request: + description: Parameters for the Ideogram 4.0 (V4) text-to-image generation proxy request. Supply exactly one of text_prompt or json_prompt. + properties: + enable_copyright_detection: + description: Opt into post-generation copyright detection (Hive likeness and logo checks). + type: boolean + json_prompt: + additionalProperties: true + description: Structured V4 prompt. Disables Magic Prompt; consumed directly. Supply exactly one of text_prompt or json_prompt. + type: object + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + resolution: + description: "Output resolution in WIDTHxHEIGHT. Omit to let the model pick an aspect ratio. Supported 2K values: 2048x2048, 1440x2880, 2880x1440, 1664x2496, 2496x1664, 1792x2240, 2240x1792, 1440x2560, 2560x1440, 1600x2560, 2560x1600, 1728x2304, 2304x1728, 1296x3168, 3168x1296, 1152x2944, 2944x1152, 1248x3328, 3328x1248, 1280x3072, 3072x1280." + example: 2048x2048 + type: string + text_prompt: + description: Natural-language prompt. Enables Magic Prompt automatically. Supply exactly one of text_prompt or json_prompt. + type: string + type: object + ImageGenerationServerTool_OpenRouter: + description: "OpenRouter built-in server tool: generates images from text prompts using an image generation model" + properties: + parameters: + $ref: "#/components/schemas/OpenRouterImageGenerationServerToolConfig" + type: + $ref: "#/components/schemas/OpenRouterImageGenerationServerToolOpenRouterType" + required: + - type + title: ImageGenerationServerTool_OpenRouter + type: object + ImagenGenerateImageRequest: + properties: + instances: + items: + $ref: "#/components/schemas/ImagenImageGenerationInstance" + type: array + parameters: + $ref: "#/components/schemas/ImagenImageGenerationParameters" + required: + - instances + - parameters + type: object + ImagenGenerateImageResponse: + properties: + predictions: + items: + $ref: "#/components/schemas/ImagenImagePrediction" + type: array + type: object + ImagenImageGenerationInstance: + properties: + prompt: + description: Text prompt for image generation + type: string + required: + - prompt + type: object + ImagenImageGenerationParameters: + properties: + addWatermark: + type: boolean + aspectRatio: + enum: + - 1:1 + - 9:16 + - 16:9 + - 3:4 + - 4:3 + type: string + enhancePrompt: + type: boolean + includeRaiReason: + type: boolean + includeSafetyAttributes: + type: boolean + outputOptions: + $ref: "#/components/schemas/ImagenOutputOptions" + personGeneration: + enum: + - dont_allow + - allow_adult + - allow_all + type: string + safetySetting: + enum: + - block_most + - block_some + - block_few + - block_fewest + type: string + sampleCount: + maximum: 4 + minimum: 1 + type: integer + seed: + format: uint32 + type: integer + storageUri: + format: uri + type: string + type: object + ImagenImagePrediction: + properties: + bytesBase64Encoded: + description: Base64-encoded image content + format: byte + type: string + mimeType: + description: MIME type of the generated image + type: string + prompt: + description: Enhanced or rewritten prompt used to generate this image + type: string + type: object + ImagenOutputOptions: + properties: + compressionQuality: + maximum: 100 + minimum: 0 + type: integer + mimeType: + enum: + - image/png + - image/jpeg + type: string + type: object + Includable: + description: "Specify additional output data to include in the model response. Currently\nsupported values are:\n- `file_search_call.results`: Include the search results of\n the file search tool call.\n- `message.input_image.image_url`: Include image urls from the input message.\n- `computer_call_output.output.image_url`: Include image urls from the computer call output.\n" + enum: + - file_search_call.results + - message.input_image.image_url + - computer_call_output.output.image_url + type: string + InputContent: + oneOf: + - $ref: "#/components/schemas/InputTextContent" + - $ref: "#/components/schemas/InputImageContent" + - $ref: "#/components/schemas/InputFileContent" + InputFileContent: + description: A file input to the model. + properties: + file_data: + description: "The content of the file to be sent to the model.\n" + type: string + file_id: + description: The ID of the file to be sent to the model. + type: string + filename: + description: The name of the file to be sent to the model. + type: string + type: + default: input_file + description: "The type of the input item. Always `input_file`." + enum: + - input_file + type: string + x-stainless-const: true + required: + - type + title: Input file + type: object + InputImageContent: + description: "An image input to the model. Learn about [image inputs](/docs/guides/vision)." + properties: + detail: + description: "The detail level of the image to be sent to the model. One of `high`, `low`, or `auto`. Defaults to `auto`." + enum: + - low + - high + - auto + type: string + file_id: + description: The ID of the file to be sent to the model. + type: string + image_url: + description: The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. + type: string + type: + default: input_image + description: "The type of the input item. Always `input_image`." + enum: + - input_image + type: string + x-stainless-const: true + required: + - type + - detail + title: Input image + type: object + InputItem: + oneOf: + - $ref: "#/components/schemas/EasyInputMessage" + - $ref: "#/components/schemas/Item" + InputMessage: + properties: + content: + $ref: "#/components/schemas/InputMessageContentList" + role: + enum: + - user + - system + - developer + type: string + status: + enum: + - in_progress + - completed + - incomplete + type: string + type: + enum: + - message + type: string + type: object + InputMessageContentList: + description: "A list of one or many input items to the model, containing different content\ntypes.\n" + items: + $ref: "#/components/schemas/InputContent" + title: Input item content list + type: array + InputTextContent: + description: A text input to the model. + properties: + text: + description: The text input to the model. + type: string + type: + default: input_text + description: "The type of the input item. Always `input_text`." + enum: + - input_text + type: string + x-stainless-const: true + required: + - type + - text + title: Input text + type: object + Item: + description: "Content item used to generate a response.\n" + oneOf: + - $ref: "#/components/schemas/InputMessage" + - $ref: "#/components/schemas/OutputMessage" + - $ref: "#/components/schemas/FileSearchToolCall" + - $ref: "#/components/schemas/ComputerToolCall" + - $ref: "#/components/schemas/WebSearchToolCall" + - $ref: "#/components/schemas/FunctionToolCall" + - $ref: "#/components/schemas/ReasoningItem" + type: object + KlingAudioUploadType: + description: Method of Transmitting Audio Files for Lip-Sync. Required when mode is audio2video. + enum: + - file + - url + type: string + KlingAvatarMode: + default: std + description: "Video generation mode. std: Standard Mode (cost-effective), pro: Professional Mode (longer duration, higher quality)." + enum: + - std + - pro + type: string + KlingAvatarRequest: + properties: + audio_id: + description: Audio ID Generated via TTS API. Only supports 2-300 second audio generated within the last 30 days. Either audio_id or sound_file must be provided (mutually exclusive). + type: string + callback_url: + description: The callback notification address for the result of this task. + format: uri + type: string + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + image: + description: "Avatar Reference Image. Supports Base64 encoding or image URL. Supported formats: .jpg/.jpeg/.png. Max 10MB, min 300px width/height, aspect ratio between 1:2.5 and 2.5:1." + type: string + mode: + $ref: "#/components/schemas/KlingAvatarMode" + prompt: + description: "Positive text prompt. Can define avatar actions, emotions, and camera movements." + maxLength: 2500 + type: string + sound_file: + description: "Sound File. Supports Base64-encoded audio or accessible audio URL. Accepted formats: .mp3/.wav/.m4a/.aac (max 5MB), 2-300 seconds. Either audio_id or sound_file must be provided (mutually exclusive)." + type: string + watermark_info: + properties: + enabled: + description: Whether to generate watermarked results simultaneously. + type: boolean + type: object + required: + - image + type: object + KlingAvatarResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: Task creation time + type: integer + final_unit_deduction: + description: The deduction units of task + type: string + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: Task status information + type: string + updated_at: + description: Task update time + type: integer + watermark_info: + properties: + enabled: + type: boolean + type: object + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingCameraConfig: + properties: + horizontal: + description: "Controls camera's movement along horizontal axis (x-axis). Negative indicates left, positive indicates right." + maximum: 10 + minimum: -10 + type: number + pan: + description: "Controls camera's rotation in vertical plane (x-axis). Negative indicates downward rotation, positive indicates upward rotation." + maximum: 10 + minimum: -10 + type: number + roll: + description: "Controls camera's rolling amount (z-axis). Negative indicates counterclockwise, positive indicates clockwise." + maximum: 10 + minimum: -10 + type: number + tilt: + description: "Controls camera's rotation in horizontal plane (y-axis). Negative indicates left rotation, positive indicates right rotation." + maximum: 10 + minimum: -10 + type: number + vertical: + description: "Controls camera's movement along vertical axis (y-axis). Negative indicates downward, positive indicates upward." + maximum: 10 + minimum: -10 + type: number + zoom: + description: "Controls change in camera's focal length. Negative indicates narrower field of view, positive indicates wider field of view." + maximum: 10 + minimum: -10 + type: number + type: object + KlingCameraControl: + properties: + config: + $ref: "#/components/schemas/KlingCameraConfig" + type: + $ref: "#/components/schemas/KlingCameraControlType" + type: object + KlingCameraControlType: + description: "Predefined camera movements type. simple: Customizable camera movement. down_back: Camera descends and moves backward. forward_up: Camera moves forward and tilts up. right_turn_forward: Rotate right and move forward. left_turn_forward: Rotate left and move forward." + enum: + - simple + - down_back + - forward_up + - right_turn_forward + - left_turn_forward + type: string + KlingCharacterEffectModelName: + default: kling-v1 + description: "Model Name. Can be kling-v1, kling-v1-5, or kling-v1-6." + enum: + - kling-v1 + - kling-v1-5 + - kling-v1-6 + type: string + KlingDualCharacterEffectInput: + properties: + duration: + $ref: "#/components/schemas/KlingVideoGenDuration" + images: + $ref: "#/components/schemas/KlingDualCharacterImages" + mode: + $ref: "#/components/schemas/KlingVideoGenMode" + model_name: + $ref: "#/components/schemas/KlingCharacterEffectModelName" + required: + - images + - duration + type: object + KlingDualCharacterEffectsScene: + description: "Scene Name. Dual-character Effects (hug, kiss, heart_gesture)." + enum: + - hug + - kiss + - heart_gesture + type: string + KlingDualCharacterImages: + items: + description: "Reference Image Group. Must contain exactly 2 images. First image will be positioned on left side, second on right side of the composite. Each image follows the same requirements as single image effects." + type: string + maxItems: 2 + minItems: 2 + type: array + KlingErrorResponse: + properties: + code: + description: "- 1000: Authentication failed\n- 1001: Authorization is empty\n- 1002: Authorization is invalid\n- 1003: Authorization is not yet valid\n- 1004: Authorization has expired\n- 1100: Account exception\n- 1101: Account in arrears (postpaid scenario)\n- 1102: Resource pack depleted or expired (prepaid scenario)\n- 1103: Unauthorized access to requested resource\n- 1200: Invalid request parameters\n- 1201: Invalid parameters\n- 1202: Invalid request method\n- 1203: Requested resource does not exist\n- 1300: Trigger platform strategy\n- 1301: Trigger content security policy\n- 1302: API request too frequent\n- 1303: Concurrency/QPS exceeds limit\n- 1304: Trigger IP whitelist policy\n- 5000: Internal server error\n- 5001: Service temporarily unavailable\n- 5002: Server internal timeout\n" + type: integer + message: + description: Human-readable error message + type: string + request_id: + description: Request ID for tracking and troubleshooting + type: string + required: + - code + - message + - request_id + type: object + KlingImage2VideoRequest: + properties: + callback_url: + description: The callback notification address. Server will notify when the task status changes. + format: uri + type: string + camera_control: + $ref: "#/components/schemas/KlingCameraControl" + cfg_scale: + $ref: "#/components/schemas/KlingVideoGenCfgScale" + duration: + $ref: "#/components/schemas/KlingVideoGenDuration" + dynamic_masks: + description: "Dynamic Brush Configuration List (up to 6 groups). For 5-second videos, trajectory length must not exceed 77 coordinates." + items: + properties: + mask: + description: Dynamic Brush Application Area (Mask image created by users using the motion brush). The aspect ratio must match the input image. + format: uri + type: string + trajectories: + items: + properties: + x: + description: "The horizontal coordinate of trajectory point. Based on bottom-left corner of image as origin (0,0)." + type: integer + "y": + description: "The vertical coordinate of trajectory point. Based on bottom-left corner of image as origin (0,0)." + type: integer + type: object + type: array + type: object + type: array + element_list: + description: Reference Element List based on element ID configuration. Supports up to 3 reference elements. The element_list and voice_list parameters are mutually exclusive. + items: + properties: + element_id: + description: Element ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + image: + description: "Reference Image - URL or Base64 encoded string, cannot exceed 10MB, resolution not less than 300*300px, aspect ratio between 1:2.5 ~ 2.5:1. Base64 should not include data:image prefix." + type: string + image_tail: + description: "Reference Image - End frame control. URL or Base64 encoded string, cannot exceed 10MB, resolution not less than 300*300px. Base64 should not include data:image prefix. Cannot be used simultaneously with dynamic_masks/static_mask or camera_control." + type: string + mode: + $ref: "#/components/schemas/KlingVideoGenMode" + model_name: + $ref: "#/components/schemas/KlingVideoGenModelName" + multi_prompt: + description: "Information about each storyboard, such as prompts and duration. Supports up to 6 storyboards, with a minimum of 1. Required when multi_shot is true and shot_type is customize." + items: + properties: + duration: + description: Duration of this storyboard in seconds. Must not exceed total task duration and must not be less than 1. Sum of all storyboard durations equals total task duration. + type: string + index: + description: Shot sequence number + type: integer + prompt: + description: Prompt word for this storyboard. Maximum length 512 characters. + maxLength: 512 + type: string + type: object + type: array + multi_shot: + default: false + description: "Whether to generate multi-shot video. When true, the prompt parameter is invalid. When false, the shot_type and multi_prompt parameters are invalid." + type: boolean + negative_prompt: + description: Negative text prompt. It is recommended to supplement negative prompt information through negative sentences directly within positive prompts. + maxLength: 2500 + type: string + prompt: + description: "Positive text prompt. Use <<>> to specify a voice matching the voice_list parameter order. A task can reference up to 2 tones. When specifying a tone, the sound parameter value must be on." + maxLength: 2500 + type: string + shot_type: + description: Storyboard method. Required when the multi_shot parameter is set to true. + enum: + - customize + - intelligence + type: string + sound: + default: "off" + description: Whether to generate sound simultaneously when generating videos. Only V2.6 and subsequent versions of the model support this parameter. + enum: + - "on" + - "off" + type: string + static_mask: + description: Static Brush Application Area (Mask image created by users using the motion brush). The aspect ratio must match the input image. + type: string + voice_list: + description: List of voices referenced when generating videos. Supports up to 2 voices. The element_list and voice_list parameters are mutually exclusive. + items: + properties: + voice_id: + description: Voice ID returned through the voice customization API or a system preset voice ID. + type: string + type: object + type: array + watermark_info: + description: Whether to generate watermarked results simultaneously. Custom watermark is not supported at this time. + properties: + enabled: + description: "true means generate watermark, false means do not generate." + type: boolean + type: object + type: object + KlingImageGenAspectRatio: + default: 16:9 + description: Aspect ratio of the generated images + enum: + - 16:9 + - 9:16 + - 1:1 + - 4:3 + - 3:4 + - 3:2 + - 2:3 + - 21:9 + type: string + KlingImageGenImageReferenceType: + description: Image reference type + enum: + - subject + - face + type: string + KlingImageGenModelName: + default: kling-v1 + description: Model Name + enum: + - kling-v1 + - kling-v1-5 + - kling-v2 + - kling-v3 + type: string + KlingImageGenerationsRequest: + properties: + aspect_ratio: + $ref: "#/components/schemas/KlingImageGenAspectRatio" + callback_url: + description: The callback notification address + format: uri + type: string + element_list: + description: Reference Element List based on element ID configuration. The sum of reference elements and reference images shall not exceed 10. + items: + properties: + element_id: + description: Element ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + human_fidelity: + default: 0.45 + description: Subject reference similarity + maximum: 1 + minimum: 0 + type: number + image: + description: "Reference Image - Base64 encoded string or image URL. Supported formats include .jpg/.jpeg/.png. File size cannot exceed 10MB. Width and height dimensions shall not be less than 300px, aspect ratio between 1:2.5 ~ 2.5:1. Required when image_reference is not empty." + type: string + image_fidelity: + default: 0.5 + description: Reference intensity for user-uploaded images + maximum: 1 + minimum: 0 + type: number + image_reference: + $ref: "#/components/schemas/KlingImageGenImageReferenceType" + model_name: + $ref: "#/components/schemas/KlingImageGenModelName" + "n": + default: 1 + description: "Number of generated images. Value range [1,9]." + maximum: 9 + minimum: 1 + type: integer + negative_prompt: + description: Negative text prompt. Cannot exceed 2500 characters. It is recommended to supplement negative prompt information through negative sentences directly within positive prompts. Not supported in Image-to-Image scenario (when image field is not empty). + maxLength: 2500 + type: string + prompt: + description: "Positive text prompt. Must not exceed 2,500 characters." + maxLength: 2500 + type: string + resolution: + default: 1k + description: "Image generation resolution. 1k is 1K standard, 2k is 2K high-res." + enum: + - 1k + - 2k + type: string + required: + - prompt + type: object + KlingImageGenerationsResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: "Task creation time, Unix timestamp in milliseconds" + type: integer + final_unit_deduction: + description: The deduction units of task + type: string + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + description: Customer-defined task ID + type: string + type: object + task_result: + properties: + images: + items: + $ref: "#/components/schemas/KlingImageResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: "Task status information, displaying the failure reason when the task fails" + type: string + updated_at: + description: "Task update time, Unix timestamp in milliseconds" + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingImageResult: + properties: + index: + description: Image Number (0-9) + type: integer + url: + description: URL for generated image + format: uri + type: string + type: object + KlingLipSyncInputObject: + properties: + audio_file: + description: "Local Path of Audio File. Supported formats: .mp3/.wav/.m4a/.aac, maximum file size of 5MB. Base64 code." + type: string + audio_type: + $ref: "#/components/schemas/KlingAudioUploadType" + audio_url: + description: "Audio File Download URL. Supported formats: .mp3/.wav/.m4a/.aac, maximum file size of 5MB." + type: string + mode: + $ref: "#/components/schemas/KlingLipSyncMode" + text: + description: Text Content for Lip-Sync Video Generation. Required when mode is text2video. Maximum length is 120 characters. + type: string + video_id: + description: The ID of the video generated by Kling AI. Only supports 5-second and 10-second videos generated within the last 30 days. + type: string + video_url: + description: "Get link for uploaded video. Video files support .mp4/.mov, file size does not exceed 100MB, video length between 2-10s." + type: string + voice_id: + description: Voice ID. Required when mode is text2video. The system offers a variety of voice options to choose from. + type: string + voice_language: + $ref: "#/components/schemas/KlingLipSyncVoiceLanguage" + voice_speed: + default: 1 + description: "Speech Rate. Valid range: 0.8~2.0, accurate to one decimal place." + maximum: 2 + minimum: 0.8 + type: number + required: + - mode + type: object + KlingLipSyncMode: + description: "Video Generation Mode. text2video: Text-to-video generation mode; audio2video: Audio-to-video generation mode" + enum: + - text2video + - audio2video + type: string + KlingLipSyncRequest: + properties: + callback_url: + description: The callback notification address. Server will notify when the task status changes. + format: uri + type: string + input: + $ref: "#/components/schemas/KlingLipSyncInputObject" + required: + - input + type: object + KlingLipSyncResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: Task creation time + type: integer + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + updated_at: + description: Task update time + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingLipSyncVoiceLanguage: + default: en + description: The voice language corresponds to the Voice ID. + enum: + - zh + - en + type: string + KlingMotionControlRequest: + properties: + callback_url: + description: "The callback notification address for the result of this task. If configured, the server will actively notify when the task status changes." + format: uri + type: string + character_orientation: + description: Generate the orientation of the characters in the video. image - same orientation as the person in the picture (reference video duration should not exceed 10 seconds). video - consistent with the orientation of the characters in the video (reference video duration should not exceed 30 seconds). + enum: + - image + - video + type: string + element_list: + description: Reference Element List based on element ID configuration. Currently only one element can be introduced. + items: + properties: + element_id: + description: Element ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: "Customized Task ID. Users can provide a customized task ID, which will not overwrite the system-generated task ID but can be used for task queries. Must be unique within a single user account." + type: string + image_url: + description: "Reference Image. The characters, backgrounds, and other elements in the generated video are based on the reference image. Supports inputting image Base64 encoding or image URL (ensure accessibility). Supported image formats include .jpg / .jpeg / .png. The image file size cannot exceed 10MB, and the width and height dimensions of the image range from 300px to 65536px, and the aspect ratio of the image should be between 1:2.5 ~ 2.5:1." + type: string + keep_original_sound: + default: "yes" + description: "Whether to keep the original sound of the video. Enumeration values - yes (Keep the original sound), no (do not retain the original video sound)." + enum: + - "yes" + - "no" + type: string + mode: + description: Video generation mode. std - Standard Mode (cost-effective). pro - Professional Mode (longer duration but higher quality video output). + enum: + - std + - pro + type: string + model_name: + default: kling-v2-6 + description: "Model name for motion control. Enum values - kling-v2-6, kling-v3." + enum: + - kling-v2-6 + - kling-v3 + type: string + prompt: + description: "Text prompt words, which can include positive and negative descriptions. Cannot exceed 2500 characters." + maxLength: 2500 + type: string + video_url: + description: "The URL of the reference video. The character actions in the generated video are consistent with the reference video. The video file supports .mp4/.mov, with a file size not exceeding 100MB, and only supports side lengths between 340px and 3850px. The lower limit of video duration should not be less than 3 seconds, and the upper limit depends on character_orientation." + type: string + watermark_info: + description: Whether to generate watermarked results simultaneously. Custom watermark is not supported at this time. + properties: + enabled: + description: "true means generate watermark, false means do not generate." + type: boolean + type: object + required: + - image_url + - video_url + - character_orientation + - mode + type: object + KlingMotionControlResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: "Task creation time, Unix timestamp, unit ms" + type: integer + final_unit_deduction: + description: The deduction units of task + type: string + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + description: Customer-defined task ID + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingMotionControlVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: "Task status information, displaying the failure reason when the task fails" + type: string + updated_at: + description: "Task update time, Unix timestamp, unit ms" + type: integer + watermark_info: + properties: + enabled: + type: boolean + type: object + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingMotionControlVideoResult: + properties: + duration: + description: "Total video duration, unit - s (seconds)" + type: string + id: + description: Generated video ID; globally unique + type: string + url: + description: URL for generating videos + type: string + watermark_url: + description: "URL for generating videos with watermark, hotlink protection format" + type: string + type: object + KlingOmniImageRequest: + properties: + aspect_ratio: + default: auto + description: Aspect ratio of the generated images (width:height). auto is to intelligently generate images based on incoming content. + enum: + - 16:9 + - 9:16 + - 1:1 + - 4:3 + - 3:4 + - 3:2 + - 2:3 + - 21:9 + - auto + type: string + callback_url: + description: "The callback notification address for the result of this task. If configured, the server will actively notify when the task status changes." + format: uri + type: string + element_list: + description: Reference Element List based on element ID configuration. The sum of reference elements and reference images shall not exceed 10. + items: + properties: + element_id: + description: Element ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + image_list: + description: "Reference Image List. Supports inputting image Base64 encoding or image URL (ensure accessibility). Supported formats include .jpg/.jpeg/.png. File size cannot exceed 10MB. Width and height dimensions shall not be less than 300px, aspect ratio between 1:2.5 ~ 2.5:1. The sum of reference elements and reference images shall not exceed 10." + items: + properties: + image: + description: Image Base64 encoding or image URL (ensure accessibility) + type: string + type: object + type: array + model_name: + default: kling-image-o1 + description: Model Name + enum: + - kling-image-o1 + - kling-v3-omni + type: string + "n": + default: 1 + description: "Number of generated images. Value range [1,9]." + maximum: 9 + minimum: 1 + type: integer + prompt: + description: "Text prompt words, which can include positive and negative descriptions. Must not exceed 2,500 characters. The Omni model can achieve various capabilities through Prompt with elements and images. Specify an image in the format of <<<>>>, such as <<>>." + maxLength: 2500 + type: string + resolution: + default: 1k + description: "Image generation resolution. 1k is 1K standard, 2k is 2K high-res, 4k is 4K high-res." + enum: + - 1k + - 2k + - 4k + type: string + result_type: + default: single + description: Control whether to generate a single image or a series of images. + enum: + - single + - series + type: string + series_amount: + default: 4 + description: "Number of images in a series. Value range [2,9]." + maximum: 9 + minimum: 2 + type: integer + required: + - prompt + type: object + KlingOmniImageResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: "Task creation time, Unix timestamp in milliseconds" + type: integer + final_unit_deduction: + description: The deduction units of task + type: string + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + description: Customer-defined task ID + type: string + type: object + task_result: + properties: + images: + items: + $ref: "#/components/schemas/KlingImageResult" + type: array + result_type: + description: Whether the result is a single image or a series of images + enum: + - single + - series + type: string + series_images: + description: Series images result list + items: + properties: + index: + description: Series-image sequence number + type: integer + url: + description: URL for generated image + format: uri + type: string + type: object + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: "Task status information, displaying the failure reason when the task fails (such as triggering the content risk control of the platform, etc.)" + type: string + updated_at: + description: "Task update time, Unix timestamp in milliseconds" + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingOmniVideoRequest: + properties: + aspect_ratio: + description: The aspect ratio of the generated video frame (width:height). Required when first-frame reference or video editing features are not used. + enum: + - 16:9 + - 9:16 + - 1:1 + type: string + callback_url: + description: "The callback notification address for the result of this task. If configured, the server will actively notify when the task status changes." + format: uri + type: string + duration: + default: "5" + description: "Video Length in seconds. When using video editing function (refer_type: base), output duration is the same as input video and this parameter is invalid." + enum: + - "3" + - "4" + - "5" + - "6" + - "7" + - "8" + - "9" + - "10" + - "11" + - "12" + - "13" + - "14" + - "15" + type: string + element_list: + description: Reference Element List based on element ID configuration. + items: + properties: + element_id: + description: Element ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + image_list: + description: "Reference Image List. Can include reference images of the element, scene, style, etc., or be used as the first or last frame to generate videos." + items: + properties: + image_url: + description: "Image Base64 encoding or image URL (ensure accessibility). Supported formats include .jpg/.jpeg/.png. File size cannot exceed 10MB. Width and height dimensions shall not be less than 300px, aspect ratio between 1:2.5 ~ 2.5:1." + type: string + type: + description: "Whether the image is in the first or last frame. first_frame is the first frame, end_frame is the last frame. Currently does not support only the end frame." + enum: + - first_frame + - end_frame + type: string + type: object + type: array + mode: + default: pro + description: "Video generation mode. std: Standard Mode, generating 720P videos, cost-effective. pro: Professional Mode, generating 1080P videos, higher quality video output." + enum: + - pro + - std + type: string + model_name: + default: kling-video-o1 + description: Model Name + enum: + - kling-video-o1 + - kling-v3-omni + type: string + multi_prompt: + description: "Information about each storyboard, such as prompts and duration. Supports up to 6 storyboards, with a minimum of 1. Required when multi_shot is true and shot_type is customize." + items: + properties: + duration: + description: Duration of this storyboard in seconds. Must not exceed total task duration and must not be less than 1. Sum of all storyboard durations equals total task duration. + type: string + index: + description: Shot sequence number + type: integer + prompt: + description: Prompt word for this storyboard. Maximum length 512 characters. + maxLength: 512 + type: string + type: object + type: array + multi_shot: + default: false + description: "Whether to generate multi-shot video. When true, the prompt parameter is invalid. When false, the shot_type and multi_prompt parameters are invalid." + type: boolean + prompt: + description: "Text prompt words, which can include positive and negative descriptions. Must not exceed 2,500 characters. Can specify elements, images, or videos in the format <<<>>> such as <>, <<>>, <<>>." + maxLength: 2500 + type: string + shot_type: + description: Storyboard method. Required when the multi_shot parameter is set to true. + enum: + - customize + - intelligence + type: string + sound: + default: "off" + description: Whether sound is generated simultaneously when generating videos. + enum: + - "on" + - "off" + type: string + video_list: + description: "Reference Video list. Can be used as a reference video for feature or as a video to be edited, with the default being the video to be edited." + items: + properties: + keep_original_sound: + description: "Whether to keep the video original sound. yes indicates retention, no indicates non retention." + enum: + - "yes" + - "no" + type: string + refer_type: + description: "Reference video type. feature is the feature reference video, base is the video to be edited." + enum: + - feature + - base + type: string + video_url: + description: "URL of uploaded video. Only .mp4/.mov formats are supported. Duration between 3-10 seconds. Resolution must be between 720px and 2160px. Frame rates of 24-60 fps supported. Only 1 video can be uploaded, with size not exceeding 200MB." + type: string + type: object + type: array + watermark_info: + description: Whether to generate watermarked results simultaneously. Custom watermark is not supported at this time. + properties: + enabled: + description: "true means generate watermark, false means do not generate." + type: boolean + type: object + type: object + KlingPresetsElement: + properties: + element_description: + type: string + element_id: + format: int64 + type: integer + element_image_list: + properties: + frontal_image: + type: string + refer_images: + items: + properties: + image_url: + type: string + type: object + type: array + type: object + element_name: + type: string + element_video_list: + properties: + refer_videos: + items: + properties: + video_url: + type: string + type: object + type: array + type: object + element_voice_info: + properties: + owned_by: + type: string + trial_url: + type: string + voice_id: + type: string + voice_name: + type: string + type: object + owned_by: + type: string + reference_type: + type: string + tag_list: + items: + properties: + description: + type: string + id: + type: string + name: + type: string + type: object + type: array + type: object + KlingPresetsElementTask: + properties: + created_at: + description: "Task creation time, Unix timestamp in ms" + type: integer + final_unit_deduction: + type: string + task_id: + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + elements: + items: + $ref: "#/components/schemas/KlingPresetsElement" + type: array + type: object + task_status: + enum: + - submitted + - processing + - succeed + - failed + type: string + task_status_msg: + type: string + updated_at: + description: "Task update time, Unix timestamp in ms" + type: integer + type: object + KlingPresetsElementsResponse: + properties: + code: + type: integer + data: + items: + $ref: "#/components/schemas/KlingPresetsElementTask" + type: array + message: + type: string + request_id: + type: string + type: object + KlingQueryTaskResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: "Task creation time, Unix timestamp in milliseconds" + type: integer + final_unit_deduction: + description: The deduction units of task + type: string + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: "Task status information, displaying the failure reason when the task fails" + type: string + updated_at: + description: "Task update time, Unix timestamp in milliseconds" + type: integer + watermark_info: + properties: + enabled: + type: boolean + type: object + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingResourcePackageResponse: + properties: + code: + description: Error code; 0 indicates success + type: integer + data: + properties: + code: + description: Error code; 0 indicates success + type: integer + msg: + description: Error information + type: string + resource_pack_subscribe_infos: + description: Resource package list + items: + properties: + effective_time: + description: "Effective time, Unix timestamp in ms" + format: int64 + type: integer + invalid_time: + description: "Expiration time, Unix timestamp in ms" + format: int64 + type: integer + purchase_time: + description: "Purchase time, Unix timestamp in ms" + format: int64 + type: integer + remaining_quantity: + description: Remaining quantity (updated with a 12-hour delay) + format: float + type: number + resource_pack_id: + description: Resource package ID + type: string + resource_pack_name: + description: Resource package name + type: string + resource_pack_type: + description: "Resource package type (decreasing_total=decreasing total, constant_period=constant periodicity)" + enum: + - decreasing_total + - constant_period + type: string + status: + description: Resource Package Status + enum: + - toBeOnline + - online + - expired + - runOut + type: string + total_quantity: + description: Total quantity + format: float + type: number + type: object + type: array + type: object + message: + description: Error information + type: string + request_id: + description: "Request ID, generated by the system, used to track requests and troubleshoot problems" + type: string + type: object + KlingSingleImageEffectDuration: + description: Video Length in seconds. Only 5-second videos are supported. + enum: + - "5" + type: string + KlingSingleImageEffectInput: + properties: + duration: + $ref: "#/components/schemas/KlingSingleImageEffectDuration" + image: + description: "Reference Image. URL or Base64 encoded string (without data:image prefix). File size cannot exceed 10MB, resolution not less than 300*300px, aspect ratio between 1:2.5 ~ 2.5:1." + type: string + model_name: + $ref: "#/components/schemas/KlingSingleImageEffectModelName" + required: + - model_name + - image + - duration + type: object + KlingSingleImageEffectModelName: + description: Model Name. Only kling-v1-6 is supported for single image effects. + enum: + - kling-v1-6 + type: string + KlingSingleImageEffectsScene: + description: "Scene Name. Single Image Effects (bloombloom, dizzydizzy, fuzzyfuzzy, squish, expansion)." + enum: + - bloombloom + - dizzydizzy + - fuzzyfuzzy + - squish + - expansion + type: string + KlingTaskStatus: + description: Task Status + enum: + - submitted + - processing + - succeed + - failed + type: string + KlingText2VideoRequest: + properties: + aspect_ratio: + $ref: "#/components/schemas/KlingVideoGenAspectRatio" + callback_url: + description: The callback notification address + format: uri + type: string + camera_control: + $ref: "#/components/schemas/KlingCameraControl" + cfg_scale: + $ref: "#/components/schemas/KlingVideoGenCfgScale" + duration: + $ref: "#/components/schemas/KlingVideoGenDuration" + external_task_id: + description: Customized Task ID + type: string + mode: + $ref: "#/components/schemas/KlingVideoGenMode" + model_name: + $ref: "#/components/schemas/KlingTextToVideoModelName" + multi_prompt: + description: "Information about each storyboard, such as prompts and duration. Supports up to 6 storyboards, with a minimum of 1. Required when multi_shot is true and shot_type is customize." + items: + properties: + duration: + description: Duration of this storyboard in seconds. Must not exceed total task duration and must not be less than 1. Sum of all storyboard durations equals total task duration. + type: string + index: + description: Shot sequence number + type: integer + prompt: + description: Prompt word for this storyboard. Maximum length 512 characters. + maxLength: 512 + type: string + type: object + type: array + multi_shot: + default: false + description: "Whether to generate multi-shot video. When true, the prompt parameter is invalid. When false, the shot_type and multi_prompt parameters are invalid." + type: boolean + negative_prompt: + description: Negative text prompt. It is recommended to supplement negative prompt information through negative sentences directly within positive prompts. + maxLength: 2500 + type: string + prompt: + description: "Positive text prompt. Use <<>> to specify a voice matching the voice_list parameter order. A task can reference up to 2 tones. When specifying a tone, the sound parameter value must be on." + maxLength: 2500 + type: string + shot_type: + description: Storyboard method. Required when the multi_shot parameter is set to true. + enum: + - customize + - intelligence + type: string + sound: + default: "off" + description: Whether to generate sound simultaneously when generating videos. Only V2.6 and subsequent versions of the model support this parameter. + enum: + - "on" + - "off" + type: string + watermark_info: + description: Whether to generate watermarked results simultaneously. Custom watermark is not supported at this time. + properties: + enabled: + description: "true means generate watermark, false means do not generate." + type: boolean + type: object + type: object + KlingTextToVideoModelName: + default: kling-v1 + description: Model Name + enum: + - kling-v1 + - kling-v1-5 + - kling-v1-6 + - kling-v2-master + - kling-v2-1-master + - kling-v2-5-turbo + - kling-v2-6 + - kling-v3 + type: string + KlingV2CreateTaskResponse: + description: Response returned when a Kling 3.0 Turbo task is created. + properties: + code: + description: Error code. 0 indicates success. + type: integer + data: + properties: + create_time: + description: Task creation time. Unix timestamp in milliseconds. + format: int64 + type: integer + external_id: + description: "The custom task ID for this task, if any." + type: string + id: + description: The created task ID. + type: string + status: + description: "Task status. One of \"submitted\", \"processing\", \"succeeded\" or \"failed\"." + type: string + update_time: + description: Task update time. Unix timestamp in milliseconds. + format: int64 + type: integer + type: object + message: + description: Error message. + type: string + request_id: + description: Request ID generated by the system. + type: string + type: object + KlingV2Image2VideoRequest: + properties: + contents: + description: Collection of references such as prompts and images. Fields related to the same material belong in the same object. + items: + properties: + text: + description: "Text prompt. Provided when type is \"prompt\". May include positive and negative descriptions; cannot exceed 2500 characters." + type: string + type: + description: "Reference type. One of \"prompt\" or \"first_frame\"." + type: string + url: + description: "First-frame material. Provided when type is \"first_frame\". May be a URL or Base64 content. Supports .jpg, .jpeg and .png up to 50MB; width and height must be at least 300px with an aspect ratio between 1:2.5 and 2.5:1." + type: string + type: object + type: array + options: + $ref: "#/components/schemas/KlingV2Options" + settings: + description: Output configuration such as resolution and duration. + properties: + duration: + description: Video length in seconds. Supported values 3 through 15. Default 5. + type: integer + resolution: + description: "Clarity of the generated video. One of \"720p\" or \"1080p\". Default \"720p\"." + type: string + type: object + required: + - contents + type: object + KlingV2Options: + description: General configuration such as callback address and watermark options. + properties: + callback_url: + description: Callback notification URL for task results. The server notifies when the task status changes. + type: string + external_task_id: + description: Customized Task ID. Does not overwrite the system-generated task ID but can be used for queries. Must be unique within a single user account. + type: string + watermark_info: + description: Whether to generate watermarked results simultaneously. Custom watermarks are not supported. + properties: + enabled: + description: "true means generate watermarked result, false means do not generate. Default false." + type: boolean + type: object + type: object + KlingV2Output: + description: "A generated output. The fields present depend on `type` (video, image, audio, voice or element)." + properties: + duration: + description: Duration of the generated video in seconds. + type: string + group_id: + description: "Grouping marker, present only for grouped images." + type: string + id: + description: Output ID generated by the system. + type: string + mp3_duration: + description: Duration of the generated MP3 audio in seconds. + type: string + mp3_url: + description: MP3 URL of the generated audio (hotlink-protected). + type: string + name: + description: Name of the generated material. + type: string + owned_by: + description: "Source of the material. \"kling\" denotes the official library; numbers are creator IDs." + type: string + status: + description: "Status of the material. One of \"succeeded\" or \"deleted\"." + type: string + type: + description: "Output content type. One of \"video\", \"image\", \"audio\", \"voice\" or \"element\"." + type: string + url: + description: URL of the generated result (hotlink-protected). Cleared after 30 days. + type: string + watermark_url: + description: URL of the watermarked result (hotlink-protected). + type: string + wav_duration: + description: Duration of the generated WAV audio in seconds. + type: string + wav_url: + description: WAV URL of the generated audio (hotlink-protected). + type: string + type: object + KlingV2QueryTaskResponse: + description: Response returned when querying Kling 3.0 Turbo tasks by ID. + properties: + code: + description: Error code. 0 indicates success. + type: integer + data: + description: Tasks matching the query. + items: + $ref: "#/components/schemas/KlingV2Task" + type: array + message: + description: Error message. + type: string + request_id: + description: Request ID generated by the system. + type: string + type: object + KlingV2Task: + description: A single Kling 3.0 Turbo task record. + properties: + billing: + description: Billing details for the task. + items: + properties: + amount: + description: "Consumption amount, accurate to two decimal places." + type: string + charge_type: + description: "Consumption account type. \"cash\" for balance, \"unit\" for a resource package." + type: string + package_type: + description: "Consumable resource bundle type (only present when charge_type is \"unit\"). One of \"video\", \"image\" or \"audio\"." + type: string + type: object + type: array + create_time: + description: Task creation time. Unix timestamp in milliseconds. + format: int64 + type: integer + external_id: + description: "The custom task ID for this task, if any." + type: string + id: + description: The task ID. + type: string + message: + description: "Task status information, displaying the failure reason when the task fails." + type: string + outputs: + description: Generated outputs for the task. + items: + $ref: "#/components/schemas/KlingV2Output" + type: array + status: + description: "Task status. One of \"submitted\", \"processing\", \"succeeded\" or \"failed\"." + type: string + update_time: + description: Task update time. Unix timestamp in milliseconds. + format: int64 + type: integer + type: object + KlingV2Text2VideoRequest: + properties: + options: + $ref: "#/components/schemas/KlingV2Options" + prompt: + description: "Prompt that may include both positive and negative descriptions. Recommended length under 2500 characters. Multi-shot videos use the format \"shot n, m, words; shot n, m, words;\"." + maxLength: 3072 + type: string + settings: + description: "Output configuration such as resolution, aspect ratio and duration." + properties: + aspect_ratio: + description: "Aspect ratio (width:height) of the generated frames. One of \"16:9\", \"9:16\" or \"1:1\". Default \"16:9\"." + type: string + duration: + description: Video length in seconds. Supported values 3 through 15. Default 5. + type: integer + resolution: + description: "Clarity of the generated video. One of \"720p\" or \"1080p\". Default \"720p\"." + type: string + type: object + required: + - prompt + type: object + KlingVideoEffectsInput: + oneOf: + - $ref: "#/components/schemas/KlingSingleImageEffectInput" + - $ref: "#/components/schemas/KlingDualCharacterEffectInput" + KlingVideoEffectsRequest: + properties: + callback_url: + description: The callback notification address for the result of this task. + format: uri + type: string + effect_scene: + oneOf: + - $ref: "#/components/schemas/KlingDualCharacterEffectsScene" + - $ref: "#/components/schemas/KlingSingleImageEffectsScene" + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + input: + $ref: "#/components/schemas/KlingVideoEffectsInput" + required: + - effect_scene + - input + type: object + KlingVideoEffectsResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: Task creation time + type: integer + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + updated_at: + description: Task update time + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingVideoExtendRequest: + properties: + callback_url: + description: The callback notification address. Server will notify when the task status changes. + format: uri + type: string + cfg_scale: + $ref: "#/components/schemas/KlingVideoGenCfgScale" + negative_prompt: + description: Negative text prompt for elements to avoid in the extended video + maxLength: 2500 + type: string + prompt: + description: Positive text prompt for guiding the video extension + maxLength: 2500 + type: string + video_id: + description: "The ID of the video to be extended. Supports videos generated by text-to-video, image-to-video, and previous video extension operations. Cannot exceed 3 minutes total duration after extension." + type: string + type: object + KlingVideoExtendResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: Task creation time + type: integer + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + updated_at: + description: Task update time + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingVideoGenAspectRatio: + default: 16:9 + description: Video aspect ratio + enum: + - 16:9 + - 9:16 + - 1:1 + type: string + KlingVideoGenCfgScale: + default: 0.5 + description: "Flexibility in video generation. The higher the value, the lower the model's degree of flexibility, and the stronger the relevance to the user's prompt." + format: float + maximum: 1 + minimum: 0 + type: number + KlingVideoGenDuration: + default: "5" + description: Video length in seconds + enum: + - "3" + - "4" + - "5" + - "6" + - "7" + - "8" + - "9" + - "10" + - "11" + - "12" + - "13" + - "14" + - "15" + type: string + KlingVideoGenMode: + default: std + description: "Video generation mode. std: Standard Mode, which is cost-effective. pro: Professional Mode, generates videos with longer duration but higher quality output." + enum: + - std + - pro + type: string + KlingVideoGenModelName: + default: kling-v1 + description: Model Name + enum: + - kling-v1 + - kling-v1-5 + - kling-v1-6 + - kling-v2-master + - kling-v2-1 + - kling-v2-1-master + - kling-v2-5-turbo + - kling-v2-6 + - kling-v3 + type: string + KlingVideoResult: + properties: + duration: + description: Total video duration in seconds + type: string + id: + description: Generated video ID + type: string + url: + description: URL for generated video + format: uri + type: string + watermark_url: + description: "URL for generated video with watermark, hotlink protection format" + format: uri + type: string + type: object + KlingVirtualTryOnModelName: + default: kolors-virtual-try-on-v1 + description: Model Name + enum: + - kolors-virtual-try-on-v1 + - kolors-virtual-try-on-v1-5 + type: string + KlingVirtualTryOnRequest: + properties: + callback_url: + description: The callback notification address + format: uri + type: string + cloth_image: + description: Reference clothing image - Base64 encoded string or image URL + type: string + human_image: + description: Reference human image - Base64 encoded string or image URL + type: string + model_name: + $ref: "#/components/schemas/KlingVirtualTryOnModelName" + required: + - human_image + type: object + KlingVirtualTryOnResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: Task creation time + type: integer + task_id: + description: Task ID + type: string + task_result: + properties: + images: + items: + $ref: "#/components/schemas/KlingImageResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: Task status information + type: string + updated_at: + description: Task update time + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KreaAsset: + properties: + description: + type: string + height: + nullable: true + type: number + id: + format: uuid + type: string + image_url: + format: uri + type: string + metadata: + additionalProperties: true + type: object + mime_type: + nullable: true + type: string + size_bytes: + nullable: true + type: number + uploaded_at: + format: date-time + type: string + width: + nullable: true + type: number + required: + - id + - image_url + - uploaded_at + type: object + KreaAssetUploadRequest: + properties: + description: + description: Optional description for the asset + type: string + file: + description: "The file to upload (JPEG, PNG, WebP, HEIC, MP4, MOV, WebM, GLB, WAV, MP3). Maximum size: 75MB." + format: binary + type: string + required: + - file + type: object + KreaGenerateImageRequest: + properties: + aspect_ratio: + description: "Aspect ratio. One of: 1:1, 4:3, 3:2, 16:9, 2.35:1, 4:5, 2:3, 9:16." + enum: + - 1:1 + - 4:3 + - 3:2 + - 16:9 + - 2.35:1 + - 4:5 + - 2:3 + - 9:16 + type: string + creativity: + default: medium + description: "Prompt interpretation strength: raw=0, low=10, medium=50, high=100." + enum: + - raw + - low + - medium + - high + type: string + image_style_references: + description: Style references to use for the generation + items: + $ref: "#/components/schemas/KreaImageStyleReference" + maxItems: 10 + type: array + moodboards: + description: Moodboards to use for generation. Currently limited to one moodboard. + items: + $ref: "#/components/schemas/KreaMoodboard" + maxItems: 1 + type: array + prompt: + type: string + resolution: + description: "Resolution scale. One of: 1K." + enum: + - 1K + type: string + seed: + nullable: true + type: number + styles: + description: Styles (typically LoRAs) to use for the generation + items: + $ref: "#/components/schemas/KreaStyle" + type: array + required: + - prompt + - aspect_ratio + - resolution + type: object + KreaImageStyleReference: + properties: + strength: + format: double + maximum: 2 + minimum: -2 + type: number + url: + format: uri + type: string + required: + - strength + type: object + KreaJob: + properties: + completed_at: + format: date-time + nullable: true + type: string + created_at: + format: date-time + type: string + job_id: + format: uuid + type: string + result: + allOf: + - $ref: "#/components/schemas/KreaJobResult" + nullable: true + status: + description: "Available options: backlogged, queued, scheduled, processing, sampling, intermediate-complete, completed, failed, cancelled" + enum: + - backlogged + - queued + - scheduled + - processing + - sampling + - intermediate-complete + - completed + - failed + - cancelled + type: string + required: + - job_id + - status + - created_at + - completed_at + - result + type: object + KreaJobResult: + properties: + style_id: + type: string + urls: + items: + format: uri + type: string + type: array + type: object + KreaMoodboard: + properties: + id: + format: uuid + type: string + strength: + default: 0.35 + format: double + maximum: 1.5 + minimum: -0.5 + type: number + required: + - id + type: object + KreaStyle: + properties: + id: + type: string + strength: + format: double + maximum: 2 + minimum: -2 + type: number + required: + - id + - strength + type: object + LTXImage2VideoRequest: + properties: + duration: + description: Video duration in seconds + enum: + - 6 + - 8 + - 10 + type: integer + fps: + default: 25 + description: Frame rate in frames per second + enum: + - 25 + - 50 + type: integer + generate_audio: + default: true + description: Generate audio for the video + type: boolean + image_uri: + description: Image to be used as the first frame of the video (HTTPS URL or base64 data URI) + type: string + model: + description: Model to use for generation + enum: + - ltx-2-fast + - ltx-2-pro + type: string + prompt: + description: Text description of how the image should be animated + maxLength: 10000 + type: string + resolution: + description: Output video resolution + enum: + - 1920x1080 + - 2560x1440 + - 3840x2160 + type: string + required: + - image_uri + - prompt + - model + - duration + - resolution + type: object + LTXText2VideoRequest: + properties: + duration: + description: Video duration in seconds + enum: + - 6 + - 8 + - 10 + type: integer + fps: + default: 25 + description: Frame rate in frames per second + enum: + - 25 + - 50 + type: integer + generate_audio: + default: true + description: Generate audio for the video + type: boolean + model: + description: Model to use for generation + enum: + - ltx-2-fast + - ltx-2-pro + type: string + prompt: + description: Text prompt describing the desired video content + maxLength: 10000 + type: string + resolution: + description: Output video resolution + enum: + - 1920x1080 + - 2560x1440 + - 3840x2160 + type: string + required: + - prompt + - model + - duration + - resolution + type: object + LumaAgentsAspectRatio: + description: "Output aspect ratio. The ray-3.2 video models support the subset 9:16, 3:4, 1:1, 4:3, 16:9, 21:9." + enum: + - 3:1 + - 2:1 + - 21:9 + - 16:9 + - 3:2 + - 4:3 + - 1:1 + - 3:4 + - 2:3 + - 9:16 + - 1:2 + - 1:3 + type: string + LumaAgentsError: + description: The error object + properties: + detail: + description: The error message + type: string + type: object + LumaAgentsFailureCode: + description: Machine-readable failure code for programmatic handling + enum: + - content_moderated + - generation_failed + - budget_exhausted + - output_not_found + type: string + LumaAgentsGeneration: + description: Generation status and output + properties: + created_at: + description: Creation timestamp + type: string + failure_code: + $ref: "#/components/schemas/LumaAgentsFailureCode" + failure_reason: + description: Human-readable failure description + type: string + id: + description: Generation identifier + type: string + model: + description: Model used + type: string + output: + items: + $ref: "#/components/schemas/LumaAgentsGenerationOutput" + type: array + state: + $ref: "#/components/schemas/LumaAgentsState" + type: + $ref: "#/components/schemas/LumaAgentsGenerationType" + type: object + LumaAgentsGenerationOutput: + description: A generated output entry + properties: + type: + description: Media type (e.g. image) + type: string + url: + description: Presigned URL (1hr expiry) + type: string + type: object + LumaAgentsGenerationRequest: + description: The Luma Agents generation request object + properties: + aspect_ratio: + $ref: "#/components/schemas/LumaAgentsAspectRatio" + image_ref: + description: "Reference images for style/content guidance. Up to 9 for type 'image', up to 8 for type 'image_edit'." + items: + $ref: "#/components/schemas/LumaAgentsImageRef" + type: array + model: + description: "Model to use. uni-1 / uni-1-max for image generation, ray-3.2 for video generation, editing, and reframing." + type: string + output_format: + $ref: "#/components/schemas/LumaAgentsOutputFormat" + prompt: + description: Text prompt + type: string + source: + $ref: "#/components/schemas/LumaAgentsImageRef" + style: + $ref: "#/components/schemas/LumaAgentsStyle" + type: + $ref: "#/components/schemas/LumaAgentsGenerationType" + video: + $ref: "#/components/schemas/LumaAgentsVideoOptions" + web_search: + description: Enable web search grounding + type: boolean + required: + - prompt + type: object + LumaAgentsGenerationType: + description: The kind of generation to perform. image/image_edit are produced by the uni-1 / uni-1-max models; video/video_edit/video_reframe are produced by the ray-3.2 model. + enum: + - image + - image_edit + - video + - video_edit + - video_reframe + type: string + LumaAgentsImageRef: + description: "Reference to an image or video. Used for style/content guidance, guided generation, video-edit/video-reframe sources, and guide keyframes. Provide exactly one of generation_id, url, or data." + properties: + data: + description: Base64-encoded image or video data + type: string + generation_id: + description: UUID of a prior completed generation to reuse as the source. Used by ray-3.2 video_edit / video_reframe. + type: string + media_type: + description: "MIME type. Required with data (and with url for video sources, e.g. video/mp4 on video_edit / video_reframe)." + type: string + url: + description: Publicly accessible image or video URL + type: string + type: object + LumaAgentsOutputFormat: + description: Output image format + enum: + - png + - jpeg + type: string + LumaAgentsState: + description: Current state of the generation + enum: + - queued + - processing + - completed + - failed + type: string + LumaAgentsStyle: + description: Style preset + enum: + - auto + - manga + type: string + LumaAgentsVideoDuration: + description: Clip duration for ray-3.2 video / video_edit. Defaults to 5s. HDR generation (type video) is restricted to 5s. + enum: + - 5s + - 10s + type: string + LumaAgentsVideoOptions: + description: "Video output settings for ray-3.2. Only the fields that affect validation and billing are modelled here; additional fields (edit controls, end_frame, loop, source_position) are forwarded to Luma untouched." + properties: + duration: + $ref: "#/components/schemas/LumaAgentsVideoDuration" + exr_export: + description: Export an EXR file alongside the MP4. Requires hdr true. Rejected for video_reframe. + type: boolean + hdr: + description: Render in HDR. Requires 720p/1080p. Rejected for video_reframe. + type: boolean + keyframes: + description: "Guide-frame images. A single keyframe makes a type \"video\" request a single-keyframe extend, which always bills as one 5s block." + items: + $ref: "#/components/schemas/LumaAgentsImageRef" + type: array + loop: + description: Loop the generated clip. Create-only (type video). + type: boolean + resolution: + $ref: "#/components/schemas/LumaAgentsVideoResolution" + start_frame: + $ref: "#/components/schemas/LumaAgentsImageRef" + type: object + LumaAgentsVideoResolution: + description: Output resolution for ray-3.2 video. Defaults to 720p. 360p is the draft tier. HDR requires 720p or 1080p. + enum: + - 360p + - 540p + - 720p + - 1080p + type: string + LumaAspectRatio: + default: 16:9 + description: The aspect ratio of the generation + enum: + - 1:1 + - 16:9 + - 9:16 + - 4:3 + - 3:4 + - 21:9 + - 9:21 + example: 16:9 + type: string + LumaAssets: + description: The assets of the generation + properties: + image: + description: The URL of the image + format: uri + type: string + progress_video: + description: The URL of the progress video + format: uri + type: string + video: + description: The URL of the video + format: uri + type: string + type: object + LumaAudioGenerationRequest: + description: The audio generation request object + properties: + callback_url: + description: The callback URL for the audio + format: uri + type: string + generation_type: + default: add_audio + enum: + - add_audio + type: string + negative_prompt: + description: The negative prompt of the audio + type: string + prompt: + description: The prompt of the audio + type: string + type: object + LumaError: + description: The error object + example: + detail: Invalid API key is provided + properties: + detail: + description: The error message + type: string + type: object + LumaGeneration: + description: The generation response object + example: + assets: + video: https://example.com/video.mp4 + created_at: 2023-06-01T12:00:00Z + failure_reason: null + id: 123e4567-e89b-12d3-a456-426614174000 + model: ray-2 + request: + aspect_ratio: 16:9 + keyframes: + frame0: + type: image + url: https://example.com/image.jpg + frame1: + id: 123e4567-e89b-12d3-a456-426614174000 + type: generation + loop: true + prompt: A serene lake surrounded by mountains at sunset + state: completed + properties: + assets: + $ref: "#/components/schemas/LumaAssets" + created_at: + description: The date and time when the generation was created + format: date-time + type: string + failure_reason: + description: The reason for the state of the generation + type: string + generation_type: + $ref: "#/components/schemas/LumaGenerationType" + id: + description: The ID of the generation + format: uuid + type: string + model: + description: The model used for the generation + type: string + request: + description: The request of the generation + oneOf: + - $ref: "#/components/schemas/LumaGenerationRequest" + - $ref: "#/components/schemas/LumaImageGenerationRequest" + - $ref: "#/components/schemas/LumaUpscaleVideoGenerationRequest" + - $ref: "#/components/schemas/LumaAudioGenerationRequest" + state: + $ref: "#/components/schemas/LumaState" + type: object + LumaGenerationReference: + description: The generation reference object + example: + id: 123e4567-e89b-12d3-a456-426614174003 + type: generation + properties: + id: + description: The ID of the generation + format: uuid + type: string + type: + default: generation + enum: + - generation + type: string + required: + - type + - id + type: object + LumaGenerationRequest: + description: The generation request object + properties: + aspect_ratio: + $ref: "#/components/schemas/LumaAspectRatio" + callback_url: + description: "The callback URL of the generation, a POST request with Generation object will be sent to the callback URL when the generation is dreaming, completed, or failed" + format: uri + type: string + duration: + $ref: "#/components/schemas/LumaVideoModelOutputDuration" + generation_type: + default: video + enum: + - video + type: string + keyframes: + $ref: "#/components/schemas/LumaKeyframes" + loop: + description: Whether to loop the video + type: boolean + model: + $ref: "#/components/schemas/LumaVideoModel" + prompt: + description: The prompt of the generation + type: string + resolution: + $ref: "#/components/schemas/LumaVideoModelOutputResolution" + required: + - duration + - resolution + - prompt + - aspect_ratio + - model + type: object + LumaGenerationType: + enum: + - video + - image + type: string + LumaImageGenerationRequest: + description: The image generation request object + properties: + aspect_ratio: + $ref: "#/components/schemas/LumaAspectRatio" + callback_url: + description: The callback URL for the generation + format: uri + type: string + character_ref: + properties: + identity0: + $ref: "#/components/schemas/LumaImageIdentity" + type: object + generation_type: + default: image + enum: + - image + type: string + image_ref: + items: + $ref: "#/components/schemas/LumaImageRef" + type: array + model: + $ref: "#/components/schemas/LumaImageModel" + modify_image_ref: + $ref: "#/components/schemas/LumaModifyImageRef" + prompt: + description: The prompt of the generation + type: string + style_ref: + items: + $ref: "#/components/schemas/LumaImageRef" + type: array + type: object + LumaImageIdentity: + description: The image identity object + properties: + images: + description: The URLs of the image identity + items: + format: uri + type: string + type: array + type: object + LumaImageModel: + default: photon-1 + description: The image model used for the generation + enum: + - photon-1 + - photon-flash-1 + type: string + LumaImageRef: + description: The image reference object + properties: + url: + description: The URL of the image reference + format: uri + type: string + weight: + description: The weight of the image reference + type: number + type: object + LumaImageReference: + description: The image object + example: + type: image + url: https://example.com/image.jpg + properties: + type: + default: image + enum: + - image + type: string + url: + description: The URL of the image + format: uri + type: string + required: + - type + - url + type: object + LumaKeyframe: + description: "A keyframe can be either a Generation reference, an Image, or a Video" + discriminator: + mapping: + generation: "#/components/schemas/LumaGenerationReference" + image: "#/components/schemas/LumaImageReference" + propertyName: type + oneOf: + - $ref: "#/components/schemas/LumaGenerationReference" + - $ref: "#/components/schemas/LumaImageReference" + LumaKeyframes: + description: The keyframes of the generation + example: + frame0: + type: image + url: https://example.com/image.jpg + frame1: + id: 123e4567-e89b-12d3-a456-426614174000 + type: generation + properties: + frame0: + $ref: "#/components/schemas/LumaKeyframe" + frame1: + $ref: "#/components/schemas/LumaKeyframe" + type: object + LumaModifyImageRef: + description: The modify image reference object + properties: + url: + description: The URL of the image reference + format: uri + type: string + weight: + description: The weight of the modify image reference + type: number + type: object + LumaState: + description: The state of the generation + enum: + - queued + - dreaming + - completed + - failed + example: completed + type: string + LumaUpscaleVideoGenerationRequest: + description: The upscale generation request object + properties: + callback_url: + description: The callback URL for the upscale + format: uri + type: string + generation_type: + default: upscale_video + enum: + - upscale_video + type: string + resolution: + $ref: "#/components/schemas/LumaVideoModelOutputResolution" + type: object + LumaVideoModel: + default: ray-2 + description: The video model used for the generation + enum: + - ray-2 + - ray-flash-2 + - ray-1-6 + example: ray-2 + type: string + LumaVideoModelOutputDuration: + anyOf: + - enum: + - 5s + - 9s + type: string + - type: string + LumaVideoModelOutputResolution: + anyOf: + - enum: + - 540p + - 720p + - 1080p + - 4k + type: string + - type: string + MachineStats: + properties: + cpu_capacity: + description: Total CPU on the machine. + type: string + disk_capacity: + description: Total disk capacity on the machine. + type: string + gpu_type: + description: The GPU type. eg. NVIDIA Tesla K80 + type: string + initial_cpu: + description: Initial CPU available before the job starts. + type: string + initial_disk: + description: Initial disk available before the job starts. + type: string + initial_ram: + description: Initial RAM available before the job starts. + type: string + machine_name: + description: Name of the machine. + type: string + memory_capacity: + description: Total memory on the machine. + type: string + os_version: + description: The operating system version. eg. Ubuntu Linux 20.04 + type: string + pip_freeze: + description: The pip freeze output + type: string + vram_time_series: + description: Time series of VRAM usage. + type: object + type: object + MeshyAiModel: + default: latest + description: ID of the model to use. + enum: + - meshy-5 + - latest + type: string + MeshyAnimationCreateResponse: + properties: + result: + description: The task id of the newly created animation task. + type: string + required: + - result + type: object + MeshyAnimationPostProcess: + description: Parameters for post-processing animation files. + properties: + fps: + default: 30 + description: The target frame rate. Default is 30. Applicable only when operation_type is change_fps. + enum: + - 24 + - 25 + - 30 + - 60 + type: integer + operation_type: + description: The type of operation to perform. + enum: + - change_fps + - fbx2usdz + - extract_armature + type: string + required: + - operation_type + type: object + MeshyAnimationRequest: + properties: + action_id: + description: The identifier of the animation action to apply. + type: integer + post_process: + $ref: "#/components/schemas/MeshyAnimationPostProcess" + rig_task_id: + description: The id of a successfully completed rigging task (from POST /openapi/v1/rigging). The character from this task will be animated. + type: string + required: + - rig_task_id + - action_id + type: object + MeshyAnimationResult: + description: Contains the output animation URLs if the task SUCCEEDED. + properties: + animation_fbx_url: + description: Downloadable URL for the animation in FBX format. + type: string + animation_glb_url: + description: Downloadable URL for the animation in GLB format. + type: string + processed_animation_fps_fbx_url: + description: Downloadable URL for the animation with changed FPS in FBX format. + type: string + processed_armature_fbx_url: + description: Downloadable URL for the processed armature in FBX format. + type: string + processed_usdz_url: + description: Downloadable URL for the processed animation in USDZ format. + type: string + type: object + MeshyAnimationTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + expires_at: + description: "Timestamp of when the task result expires, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: Progress of the task (0-100). + maximum: 100 + minimum: 0 + type: integer + result: + $ref: "#/components/schemas/MeshyAnimationResult" + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + type: + description: Type of the Animation task. + enum: + - animate + type: string + required: + - id + - status + type: object + MeshyArtStyle: + default: realistic + description: Describe your desired art style of the object. + enum: + - realistic + - sculpture + type: string + MeshyImageTo3DCreateResponse: + properties: + result: + description: The task id of the newly created Image to 3D task. + type: string + required: + - result + type: object + MeshyImageTo3DModelUrls: + description: Downloadable URLs to the 3D model files generated by Meshy. + properties: + fbx: + description: Downloadable URL to the FBX file. + type: string + glb: + description: Downloadable URL to the GLB file. + type: string + mtl: + description: Downloadable URL to the MTL file. + type: string + obj: + description: Downloadable URL to the OBJ file. + type: string + pre_remeshed_glb: + description: Downloadable URL to the original GLB output before remeshing. Available only when should_remesh and save_pre_remeshed_model are both true. + type: string + usdz: + description: Downloadable URL to the USDZ file. + type: string + type: object + MeshyImageTo3DRequest: + properties: + ai_model: + $ref: "#/components/schemas/MeshyAiModel" + enable_pbr: + default: false + description: "Generate PBR Maps (metallic, roughness, normal) in addition to the base color." + type: boolean + image_url: + description: "Provide an image for Meshy to use in model creation. Supports .jpg, .jpeg, .png formats or base64-encoded data URI." + type: string + is_a_t_pose: + default: false + description: Deprecated. Use pose_mode instead. Whether to generate the model in an A/T pose. + type: boolean + model_type: + default: standard + description: "Specify the type of 3D mesh generation.\n- standard: Regular high-detail 3D mesh generation.\n- lowpoly: Generates low-poly mesh optimized for cleaner polygons.\nWhen lowpoly is selected, ai_model, topology, target_polycount, should_remesh, save_pre_remeshed_model are ignored.\n" + enum: + - standard + - lowpoly + type: string + moderation: + default: false + description: "When true, input content will be screened for potentially harmful content." + type: boolean + pose_mode: + $ref: "#/components/schemas/MeshyPoseMode" + save_pre_remeshed_model: + default: false + description: "When true, stores an extra GLB file before the remesh phase completes. Only takes effect when should_remesh is true." + type: boolean + should_remesh: + default: true + description: "Controls whether to enable the remesh phase. When false, returns highest-precision triangular mesh." + type: boolean + should_texture: + default: true + description: "Determines if textures are generated. When false, provides a mesh without textures." + type: boolean + symmetry_mode: + $ref: "#/components/schemas/MeshySymmetryMode" + target_polycount: + default: 30000 + description: "Specify the target number of polygons in the generated model. Valid range is 100 to 300,000." + maximum: 300000 + minimum: 100 + type: integer + texture_image_url: + description: "Provide a 2d image to guide the texturing process. Supports .jpg, .jpeg, .png formats or base64-encoded data URI." + type: string + texture_prompt: + description: Provide a text prompt to guide the texturing process. Maximum 600 characters. + maxLength: 600 + type: string + topology: + $ref: "#/components/schemas/MeshyTopology" + required: + - image_url + type: object + MeshyImageTo3DTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + expires_at: + description: "Timestamp of when the task result expires, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + model_urls: + $ref: "#/components/schemas/MeshyImageTo3DModelUrls" + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task. 0 if not started, 100 when succeeded." + maximum: 100 + minimum: 0 + type: integer + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + texture_image_url: + description: Downloadable URL to the texture image that was used to guide the texturing process. + type: string + texture_prompt: + description: The text prompt that was used to guide the texturing process. + type: string + texture_urls: + description: An array of texture URL objects that are generated from the task. + items: + $ref: "#/components/schemas/MeshyTextureUrls" + type: array + thumbnail_url: + description: Downloadable URL to the thumbnail image of the model file. + type: string + type: + description: Type of the Image to 3D task. + enum: + - image-to-3d + type: string + required: + - id + - status + type: object + MeshyModelUrls: + description: Downloadable URLs to the textured 3D model files generated by Meshy. + properties: + fbx: + description: Downloadable URL to the FBX file. + type: string + glb: + description: Downloadable URL to the GLB file. + type: string + mtl: + description: Downloadable URL to the MTL file. + type: string + obj: + description: Downloadable URL to the OBJ file. + type: string + usdz: + description: Downloadable URL to the USDZ file. + type: string + type: object + MeshyMultiImageTo3DCreateResponse: + properties: + result: + description: The task id of the newly created Multi-Image to 3D task. + type: string + required: + - result + type: object + MeshyMultiImageTo3DRequest: + properties: + ai_model: + default: latest + description: ID of the model to use. + enum: + - meshy-5 + - latest + type: string + enable_pbr: + default: false + description: "Generate PBR Maps (metallic, roughness, normal) in addition to the base color." + type: boolean + image_urls: + description: Provide 1 to 4 images for Meshy to use in model creation. All images should depict the same object from different angles. + items: + type: string + maxItems: 4 + minItems: 1 + type: array + is_a_t_pose: + default: false + description: Deprecated. Use pose_mode instead. Whether to generate the model in an A/T pose. + type: boolean + moderation: + default: false + description: "When true, input content will be screened for potentially harmful content." + type: boolean + pose_mode: + $ref: "#/components/schemas/MeshyPoseMode" + save_pre_remeshed_model: + default: false + description: "When true, stores an extra GLB file before the remesh phase completes. Only takes effect when should_remesh is true." + type: boolean + should_remesh: + default: true + description: "Controls whether to enable the remesh phase. When false, returns highest-precision triangular mesh." + type: boolean + should_texture: + default: true + description: "Determines if textures are generated. When false, provides a mesh without textures for 5 credits." + type: boolean + symmetry_mode: + $ref: "#/components/schemas/MeshySymmetryMode" + target_polycount: + default: 30000 + description: "Specify the target number of polygons in the generated model. Valid range is 100 to 300,000." + maximum: 300000 + minimum: 100 + type: integer + texture_image_url: + description: "Provide a 2d image to guide the texturing process. Supports .jpg, .jpeg, .png formats or base64-encoded data URI." + type: string + texture_prompt: + description: Provide a text prompt to guide the texturing process. Maximum 600 characters. + maxLength: 600 + type: string + topology: + $ref: "#/components/schemas/MeshyTopology" + required: + - image_urls + type: object + MeshyMultiImageTo3DTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + expires_at: + description: "Timestamp of when the task result expires, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + model_urls: + $ref: "#/components/schemas/MeshyImageTo3DModelUrls" + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task. 0 if not started, 100 when succeeded." + maximum: 100 + minimum: 0 + type: integer + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + texture_prompt: + description: The text prompt that was used to guide the texturing process. + type: string + texture_urls: + description: An array of texture URL objects that are generated from the task. + items: + $ref: "#/components/schemas/MeshyTextureUrls" + type: array + thumbnail_url: + description: Downloadable URL to the thumbnail image of the model file. + type: string + type: + description: Type of the Multi-Image to 3D task. + enum: + - multi-image-to-3d + type: string + required: + - id + - status + type: object + MeshyPoseMode: + description: Specify the pose mode for the generated model. + enum: + - a-pose + - t-pose + - "" + type: string + MeshyRemeshCreateResponse: + properties: + result: + description: The id of the newly created remesh task. + type: string + required: + - result + type: object + MeshyRemeshModelUrls: + description: Downloadable URLs to the remeshed 3D model files. + properties: + blend: + description: Downloadable URL to the Blender file. + type: string + fbx: + description: Downloadable URL to the FBX file. + type: string + glb: + description: Downloadable URL to the GLB file. + type: string + obj: + description: Downloadable URL to the OBJ file. + type: string + stl: + description: Downloadable URL to the STL file. + type: string + usdz: + description: Downloadable URL to the USDZ file. + type: string + type: object + MeshyRemeshRequest: + properties: + convert_format_only: + default: false + description: "If true, only changes the format of the input model file, ignoring other inputs like topology, resize_height, and target_polycount." + type: boolean + input_task_id: + description: The ID of the completed Image to 3D or Text to 3D task you wish to remesh. Required if model_url is not provided. + type: string + model_url: + description: "A publicly accessible URL or data URI to a 3D model. Supported formats glb, gltf, obj, fbx, stl. Required if input_task_id is not provided." + type: string + origin_at: + description: Position of the origin. + enum: + - bottom + - center + - "" + type: string + resize_height: + default: 0 + description: Resize the model to a certain height measured in meters. 0 means no resizing. + type: number + target_formats: + default: + - glb + description: A list of target formats for the remeshed model. + items: + enum: + - glb + - fbx + - obj + - usdz + - blend + - stl + type: string + type: array + target_polycount: + default: 30000 + description: "Specify the target number of polygons in the generated model. Valid range is 100 to 300,000." + maximum: 300000 + minimum: 100 + type: integer + topology: + $ref: "#/components/schemas/MeshyTopology" + type: object + MeshyRemeshTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + model_urls: + $ref: "#/components/schemas/MeshyRemeshModelUrls" + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task. 0 if not started, 100 when succeeded." + maximum: 100 + minimum: 0 + type: integer + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyRemeshTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + type: + description: Type of the Remesh task. + enum: + - remesh + type: string + required: + - id + - status + type: object + MeshyRemeshTaskStatus: + description: Status of the remesh task. + enum: + - PENDING + - PROCESSING + - SUCCEEDED + - FAILED + type: string + MeshyRetextureCreateResponse: + properties: + result: + description: The task id of the newly created Retexture task. + type: string + required: + - result + type: object + MeshyRetextureModelUrls: + description: Downloadable URLs to the textured 3D model files. + properties: + fbx: + description: Downloadable URL to the FBX file. + type: string + glb: + description: Downloadable URL to the GLB file. + type: string + usdz: + description: Downloadable URL to the USDZ file. + type: string + type: object + MeshyRetextureRequest: + properties: + ai_model: + $ref: "#/components/schemas/MeshyAiModel" + enable_original_uv: + default: true + description: Use the original UV of the model instead of generating new UVs. + type: boolean + enable_pbr: + default: false + description: "Generate PBR Maps (metallic, roughness, normal) in addition to the base color." + type: boolean + image_style_url: + description: "A 2d image to guide the texturing process. Supports jpg, jpeg, png formats or base64-encoded data URI. Required if text_style_prompt is not provided." + type: string + input_task_id: + description: The ID of the completed Image to 3D or Text to 3D task you wish to retexture. Required if model_url is not provided. + type: string + model_url: + description: "A publicly accessible URL or Data URI to a 3D model. Supported formats glb, gltf, obj, fbx, stl. Required if input_task_id is not provided." + type: string + text_style_prompt: + description: Describe your desired texture style of the object using text. Maximum 600 characters. Required if image_style_url is not provided. + maxLength: 600 + type: string + type: object + MeshyRetextureTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + expires_at: + description: "Timestamp of when the task result expires, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + image_style_url: + description: The image input that was used to create the texturing task. + type: string + model_urls: + $ref: "#/components/schemas/MeshyRetextureModelUrls" + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task. 0 if not started, 100 when succeeded." + maximum: 100 + minimum: 0 + type: integer + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + text_style_prompt: + description: The text prompt that was used to create the texturing task. + type: string + texture_urls: + description: An array of texture URL objects that are generated from the task. + items: + $ref: "#/components/schemas/MeshyTextureUrls" + type: array + thumbnail_url: + description: Downloadable URL to the thumbnail image of the model file. + type: string + type: + description: Type of the Retexture task. + enum: + - retexture + type: string + required: + - id + - status + type: object + MeshyRiggingBasicAnimations: + description: Contains URLs for default animations. + properties: + running_armature_glb_url: + description: Downloadable URL for running animation armature in GLB format. + type: string + running_fbx_url: + description: Downloadable URL for running animation in FBX format (with skin). + type: string + running_glb_url: + description: Downloadable URL for running animation in GLB format (with skin). + type: string + walking_armature_glb_url: + description: Downloadable URL for walking animation armature in GLB format. + type: string + walking_fbx_url: + description: Downloadable URL for walking animation in FBX format (with skin). + type: string + walking_glb_url: + description: Downloadable URL for walking animation in GLB format (with skin). + type: string + type: object + MeshyRiggingCreateResponse: + properties: + result: + description: The task id of the newly created rigging task. + type: string + required: + - result + type: object + MeshyRiggingRequest: + properties: + height_meters: + default: 1.7 + description: The approximate height of the character model in meters. Must be a positive number. + type: number + input_task_id: + description: The input task that needs to be rigged. Required if model_url is not provided. + type: string + model_url: + description: A publicly accessible URL or Data URI to a textured humanoid GLB file. Required if input_task_id is not provided. + type: string + texture_image_url: + description: "The model's UV-unwrapped base color texture image. Publicly accessible URL or Data URI. Supports .png format." + type: string + type: object + MeshyRiggingResult: + description: Contains the output asset URLs if the task SUCCEEDED. + properties: + basic_animations: + $ref: "#/components/schemas/MeshyRiggingBasicAnimations" + rigged_character_fbx_url: + description: Downloadable URL for the rigged character in FBX format. + type: string + rigged_character_glb_url: + description: Downloadable URL for the rigged character in GLB format. + type: string + type: object + MeshyRiggingTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + expires_at: + description: "Timestamp of when the task result expires, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task (0-100). 0 if not started, 100 if succeeded." + maximum: 100 + minimum: 0 + type: integer + result: + $ref: "#/components/schemas/MeshyRiggingResult" + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + type: + description: Type of the Rigging task. + enum: + - rig + type: string + required: + - id + - status + type: object + MeshySymmetryMode: + default: auto + description: Controls symmetry behavior during model generation. + enum: + - "off" + - auto + - "on" + type: string + MeshyTaskError: + description: Error object that contains the error message if the task failed. + properties: + message: + description: Detailed error message. + type: string + type: object + MeshyTaskStatus: + description: Status of the task. + enum: + - PENDING + - IN_PROGRESS + - SUCCEEDED + - FAILED + - CANCELED + type: string + MeshyTextTo3DCreateResponse: + properties: + result: + description: The task id of the newly created Text to 3D task. + type: string + required: + - result + type: object + MeshyTextTo3DPreviewRequest: + properties: + ai_model: + $ref: "#/components/schemas/MeshyAiModel" + art_style: + $ref: "#/components/schemas/MeshyArtStyle" + is_a_t_pose: + default: false + description: Deprecated. Use pose_mode instead. Whether to generate the model in an A/T pose. + type: boolean + mode: + description: "This field should be set to \"preview\" when creating a preview task." + enum: + - preview + type: string + moderation: + default: false + description: "When true, input content will be screened for potentially harmful content." + type: boolean + pose_mode: + $ref: "#/components/schemas/MeshyPoseMode" + prompt: + description: Describe what kind of object the 3D model is. Maximum 600 characters. + maxLength: 600 + type: string + should_remesh: + default: true + description: "Controls whether to enable the remesh phase. When false, returns highest-precision triangular mesh." + type: boolean + symmetry_mode: + $ref: "#/components/schemas/MeshySymmetryMode" + target_polycount: + default: 30000 + description: "Specify the target number of polygons in the generated model. Valid range is 100 to 300,000." + maximum: 300000 + minimum: 100 + type: integer + topology: + $ref: "#/components/schemas/MeshyTopology" + required: + - mode + - prompt + type: object + MeshyTextTo3DRefineRequest: + properties: + ai_model: + $ref: "#/components/schemas/MeshyAiModel" + enable_pbr: + default: false + description: "Generate PBR Maps (metallic, roughness, normal) in addition to the base color. Note that enable_pbr should be set to false when using Sculpture style." + type: boolean + mode: + description: "This field should be set to \"refine\" when creating a refine task." + enum: + - refine + type: string + moderation: + default: false + description: "When true, input content will be screened for potentially harmful content." + type: boolean + preview_task_id: + description: The corresponding preview task id. The status of the given preview task must be SUCCEEDED. + type: string + texture_image_url: + description: "Provide a 2d image to guide the texturing process. Supports .jpg, .jpeg, .png formats or base64-encoded data URI." + type: string + texture_prompt: + description: Provide an additional text prompt to guide the texturing process. Maximum 600 characters. + maxLength: 600 + type: string + required: + - mode + - preview_task_id + type: object + MeshyTextTo3DRequest: + discriminator: + mapping: + preview: "#/components/schemas/MeshyTextTo3DPreviewRequest" + refine: "#/components/schemas/MeshyTextTo3DRefineRequest" + propertyName: mode + oneOf: + - $ref: "#/components/schemas/MeshyTextTo3DPreviewRequest" + - $ref: "#/components/schemas/MeshyTextTo3DRefineRequest" + MeshyTextTo3DTask: + properties: + art_style: + description: The unmodified art_style that was used to create the preview task. + type: string + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + model_urls: + $ref: "#/components/schemas/MeshyModelUrls" + negative_prompt: + description: Deprecated field maintained for backward compatibility. + type: string + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task. 0 if not started, 100 when succeeded." + maximum: 100 + minimum: 0 + type: integer + prompt: + description: The unmodified prompt that was used to create the task. + type: string + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + texture_image_url: + description: Downloadable URL to the texture image that was used to guide the texturing process. + type: string + texture_prompt: + description: Additional text prompt provided to guide the texturing process during the refine stage. + type: string + texture_richness: + description: Deprecated field maintained for backward compatibility. + type: string + texture_urls: + description: An array of texture URL objects that are generated from the task. + items: + $ref: "#/components/schemas/MeshyTextureUrls" + type: array + thumbnail_url: + description: Downloadable URL to the thumbnail image of the model file. + type: string + type: + description: Type of the Text to 3D task. + enum: + - text-to-3d-preview + - text-to-3d-refine + type: string + video_url: + description: Deprecated field returning the downloadable URL to the preview video. + type: string + required: + - id + - status + type: object + MeshyTextureUrls: + description: Texture URL object containing PBR maps. + properties: + base_color: + description: Downloadable URL to the base color map image. + type: string + metallic: + description: Downloadable URL to the metallic map image. + type: string + normal: + description: Downloadable URL to the normal map image. + type: string + roughness: + description: Downloadable URL to the roughness map image. + type: string + type: object + MeshyTopology: + default: triangle + description: Specify the topology of the generated model. + enum: + - quad + - triangle + type: string + MigrationAPIKey: + description: "One of a customer's API keys, for cloud's migrate-on-miss to seed into\nworkspace_api_keys by hash. M2M/admin-only; carries the hash, never plaintext.\n" + properties: + description: + type: string + key_hash: + type: string + key_prefix: + type: string + name: + type: string + required: + - key_hash + type: object + MinimaxBaseResponse: + description: Common response structure used by Minimax APIs + properties: + status_code: + description: "Status code. 0 indicates success, other values indicate errors." + type: integer + status_msg: + description: Specific error details or success message. + type: string + required: + - status_code + - status_msg + type: object + MinimaxFileRetrieveResponse: + description: Response from retrieving a Minimax file download URL. + properties: + base_resp: + $ref: "#/components/schemas/MinimaxBaseResponse" + file: + properties: + bytes: + description: File size in bytes + type: integer + created_at: + description: "Unix timestamp when the file was created, in seconds" + type: integer + download_url: + description: The URL to download the video + type: string + file_id: + description: Unique identifier for the file + type: integer + filename: + description: The name of the file + type: string + purpose: + description: The purpose of using the file + type: string + type: object + required: + - file + - base_resp + type: object + MinimaxTaskResultResponse: + description: Response from querying a Minimax video generation task status. + properties: + base_resp: + $ref: "#/components/schemas/MinimaxBaseResponse" + file_id: + description: "After the task status changes to Success, this field returns the file ID corresponding to the generated video." + type: string + status: + description: "Task status: 'Queueing' (in queue), 'Preparing' (task is preparing), 'Processing' (generating), 'Success' (task completed successfully), or 'Fail' (task failed)." + enum: + - Queueing + - Preparing + - Processing + - Success + - Fail + type: string + task_id: + description: The task ID being queried. + type: string + required: + - task_id + - status + - base_resp + type: object + MinimaxVideoGenerationRequest: + description: Parameters for the Minimax video generation proxy request. + properties: + callback_url: + description: Optional. URL to receive real-time status updates about the video generation task. + type: string + duration: + default: 6 + description: Video length in seconds. Only available for MiniMax-Hailuo-02 + enum: + - 6 + - 10 + type: integer + first_frame_image: + description: "URL or base64 encoding of the first frame image. Required when model is I2V-01, I2V-01-Director, or I2V-01-live." + type: string + model: + description: "Required. ID of model. Options: MiniMax-Hailuo-02, T2V-01-Director, I2V-01-Director, S2V-01, I2V-01, I2V-01-live, T2V-01" + enum: + - MiniMax-Hailuo-02 + - T2V-01-Director + - I2V-01-Director + - S2V-01 + - I2V-01 + - I2V-01-live + - T2V-01 + type: string + prompt: + description: "Description of the video. Should be less than 2000 characters. Supports camera movement instructions in [brackets]." + maxLength: 2000 + type: string + prompt_optimizer: + default: true + description: "If true (default), the model will automatically optimize the prompt. Set to false for more precise control." + type: boolean + resolution: + default: 768P + description: Video resolution. Only available for MiniMax-Hailuo-02. + enum: + - 768P + - 1080P + type: string + subject_reference: + description: Only available when model is S2V-01. The model will generate a video based on the subject uploaded through this parameter. + items: + properties: + image: + description: URL or base64 encoding of the subject reference image. + type: string + mask: + description: URL or base64 encoding of the mask for the subject reference image. + type: string + type: object + type: array + required: + - model + type: object + MinimaxVideoGenerationResponse: + description: Response from the Minimax video generation API. + properties: + base_resp: + $ref: "#/components/schemas/MinimaxBaseResponse" + task_id: + description: The task ID for the asynchronous video generation task. + type: string + required: + - task_id + - base_resp + type: object + Modality: + description: Type of input or output content modality. + enum: + - MODALITY_UNSPECIFIED + - TEXT + - IMAGE + - VIDEO + - AUDIO + - DOCUMENT + type: string + ModalityTokenCount: + properties: + modality: + $ref: "#/components/schemas/Modality" + tokenCount: + description: Number of tokens for the given modality. + type: integer + type: object + ModelClassification: + properties: + cost_cents: + description: Representative per-call rate-card cost in USD cents; null if unknown. + format: double + nullable: true + type: number + effective_tier: + description: Tier the gate assigns; empty string means not capped. + type: string + model: + type: string + override: + description: "Raw override tier ('expensive' | 'exempt'); null when unset." + nullable: true + type: string + reason: + description: "One of model_override, cost_ladder, exempt, model_default." + type: string + required: + - model + - effective_tier + - reason + type: object + ModelResponseProperties: + description: Common properties for model responses + properties: + instructions: + description: Instructions for the model on how to generate the response + type: string + max_output_tokens: + description: Maximum number of tokens to generate + type: integer + model: + description: The model used to generate the response + type: string + temperature: + default: 1 + description: Controls randomness in the response + maximum: 2 + minimum: 0 + type: number + top_p: + default: 1 + description: Controls diversity of the response via nucleus sampling + maximum: 1 + minimum: 0 + type: number + truncation: + default: disabled + description: How to handle truncation of the response + enum: + - disabled + - auto + type: string + type: object + MoonvalleyImageToVideoRequest: + allOf: + - $ref: "#/components/schemas/MoonvalleyTextToVideoRequest" + - properties: + keyframes: + additionalProperties: + properties: + image_url: + type: string + type: object + type: object + type: object + MoonvalleyPromptResponse: + properties: + error: + type: object + frame_conditioning: + type: object + id: + type: string + inference_params: + type: object + meta: + type: object + model_params: + type: object + output_url: + type: string + prompt_text: + type: string + status: + type: string + type: object + MoonvalleyResizeVideoRequest: + allOf: + - $ref: "#/components/schemas/MoonvalleyVideoToVideoRequest" + - properties: + frame_position: + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + frame_resolution: + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + scale: + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + type: object + MoonvalleyTextToImageRequest: + properties: + image_url: + type: string + inference_params: + $ref: "#/components/schemas/MoonvalleyTextToVideoInferenceParams" + prompt_text: + type: string + webhook_url: + type: string + type: object + MoonvalleyTextToVideoInferenceParams: + properties: + guidance_scale: + default: 10 + description: Guidance scale for generation control + format: float + type: number + height: + default: 1080 + description: Height of the generated video in pixels + type: integer + negative_prompt: + description: Negative prompt text + type: string + seed: + default: 9 + description: "Random seed for generation (default: random)" + type: integer + steps: + default: 80 + description: Number of denoising steps + type: integer + use_negative_prompts: + default: true + description: Whether to use negative prompts + type: boolean + width: + default: 1920 + description: Width of the generated video in pixels + type: integer + type: object + MoonvalleyTextToVideoRequest: + properties: + image_url: + type: string + inference_params: + $ref: "#/components/schemas/MoonvalleyTextToVideoInferenceParams" + prompt_text: + type: string + webhook_url: + type: string + type: object + MoonvalleyUploadFileRequest: + properties: + file: + format: binary + type: string + type: object + MoonvalleyUploadFileResponse: + properties: + access_url: + type: string + type: object + MoonvalleyVideoToVideoInferenceParams: + properties: + control_params: + properties: + motion_intensity: + default: 6 + description: Intensity of motion control + format: int32 + type: integer + type: object + guidance_scale: + default: 10 + description: Guidance scale for generation control + format: float + type: number + negative_prompt: + description: Negative prompt text + type: string + seed: + default: 9 + description: "Random seed for generation (default: random)" + type: integer + steps: + default: 80 + description: Number of denoising steps + type: integer + use_negative_prompts: + default: true + description: Whether to use negative prompts + type: boolean + type: object + MoonvalleyVideoToVideoRequest: + properties: + control_type: + description: Supported types for video control + enum: + - motion_control + - pose_control + type: string + image_url: + description: Url to control image + type: string + inference_params: + $ref: "#/components/schemas/MoonvalleyVideoToVideoInferenceParams" + prompt_text: + description: Describes the video to generate + type: string + video_url: + description: Url to control video + type: string + webhook_url: + description: Optional webhook URL for notifications + type: string + required: + - prompt_text + - video_url + - control_type + type: object + Node: + properties: + author: + type: string + banner_url: + description: "URL to the node's banner." + type: string + category: + deprecated: true + description: "DEPRECATED: The category of the node. Use 'tags' field instead. This field will be removed in a future version." + type: string + created_at: + description: The date and time when the node was created + format: date-time + type: string + description: + type: string + downloads: + description: The number of downloads of the node. + type: integer + github_stars: + description: Number of stars on the GitHub repository. + type: integer + icon: + description: "URL to the node's icon." + type: string + id: + description: The unique identifier of the node. + type: string + latest_version: + $ref: "#/components/schemas/NodeVersion" + license: + description: "The path to the LICENSE file in the node's repository." + type: string + name: + description: The display name of the node. + type: string + preempted_comfy_node_names: + description: A list of Comfy node names that are preempted by this node. + items: + type: string + type: array + publisher: + $ref: "#/components/schemas/Publisher" + rating: + description: The average rating of the node. + type: number + repository: + description: "URL to the node's repository." + type: string + search_ranking: + description: "A numerical value representing the node's search ranking, used for sorting search results." + type: integer + status: + $ref: "#/components/schemas/NodeStatus" + status_detail: + description: The status detail of the node. + type: string + supported_accelerators: + description: "List of accelerators (e.g. CUDA, DirectML, ROCm) that this node supports" + items: + type: string + type: array + supported_comfyui_frontend_version: + description: Supported versions of ComfyUI frontend + type: string + supported_comfyui_version: + description: Supported versions of ComfyUI + type: string + supported_os: + description: List of operating systems that this node supports + items: + type: string + type: array + tags: + items: + type: string + type: array + tags_admin: + description: Admin-only tags for security warnings and admin metadata + items: + type: string + type: array + translations: + additionalProperties: + additionalProperties: true + type: object + description: Translations of node metadata in different languages. + type: object + type: object + NodeStatus: + enum: + - NodeStatusActive + - NodeStatusDeleted + - NodeStatusBanned + type: string + NodeVersion: + properties: + changelog: + description: Summary of changes made in this version + type: string + comfy_node_extract_status: + description: The status of comfy node extraction process. + type: string + createdAt: + description: The date and time the version was created. + format: date-time + type: string + dependencies: + description: A list of pip dependencies required by the node. + items: + type: string + type: array + deprecated: + description: Indicates if this version is deprecated. + type: boolean + downloadUrl: + description: "[Output Only] URL to download this version of the node" + type: string + id: + type: string + node_id: + description: The unique identifier of the node. + type: string + status: + $ref: "#/components/schemas/NodeVersionStatus" + status_reason: + type: string + supported_accelerators: + description: "List of accelerators (e.g. CUDA, DirectML, ROCm) that this node supports" + items: + type: string + type: array + supported_comfyui_frontend_version: + description: Supported versions of ComfyUI frontend + type: string + supported_comfyui_version: + description: Supported versions of ComfyUI + type: string + supported_os: + description: List of operating systems that this node supports + items: + type: string + type: array + tags: + items: + type: string + type: array + tags_admin: + description: Admin-only tags for security warnings and admin metadata + items: + type: string + type: array + version: + description: "The version identifier, following semantic versioning. Must be unique for the node." + type: string + type: object + NodeVersionIdentifier: + properties: + node_id: + description: The unique identifier of the node + type: string + version: + description: The version of the node + type: string + required: + - node_id + - version + type: object + NodeVersionStatus: + enum: + - NodeVersionStatusActive + - NodeVersionStatusDeleted + - NodeVersionStatusBanned + - NodeVersionStatusPending + - NodeVersionStatusFlagged + type: string + NodeVersionUpdateRequest: + properties: + changelog: + description: The changelog describing the version changes. + type: string + deprecated: + description: Whether the version is deprecated. + type: boolean + type: object + OpenAICreateResponse: + allOf: + - $ref: "#/components/schemas/CreateModelResponseProperties" + - $ref: "#/components/schemas/ResponseProperties" + - properties: + include: + description: "Specify additional output data to include in the model response. Currently\nsupported values are:\n- `file_search_call.results`: Include the search results of\n the file search tool call.\n- `message.input_image.image_url`: Include image urls from the input message.\n- `computer_call_output.output.image_url`: Include image urls from the computer call output.\n" + items: + $ref: "#/components/schemas/Includable" + nullable: true + type: array + input: + description: "Text, image, or file inputs to the model, used to generate a response.\n\nLearn more:\n- [Text inputs and outputs](/docs/guides/text)\n- [Image inputs](/docs/guides/images)\n- [File inputs](/docs/guides/pdf-files)\n- [Conversation state](/docs/guides/conversation-state)\n- [Function calling](/docs/guides/function-calling)\n" + oneOf: + - description: "A text input to the model, equivalent to a text input with the\n`user` role.\n" + title: Text input + type: string + - description: "A list of one or many input items to the model, containing\ndifferent content types.\n" + items: + $ref: "#/components/schemas/InputItem" + title: Input item list + type: array + parallel_tool_calls: + default: true + description: "Whether to allow the model to run tool calls in parallel.\n" + nullable: true + type: boolean + store: + default: true + description: "Whether to store the generated model response for later retrieval via\nAPI.\n" + nullable: true + type: boolean + stream: + default: false + description: "If set to true, the model response data will be streamed to the client\nas it is generated using [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format).\nSee the [Streaming section below](/docs/api-reference/responses-streaming)\nfor more information.\n" + nullable: true + type: boolean + usage: + $ref: "#/components/schemas/ResponseUsage" + required: + - model + - input + type: object + OpenAIImageEditRequest: + properties: + background: + description: Background transparency + example: opaque + type: string + model: + description: "The model to use for image editing (e.g., dall-e-2, gpt-image-1, gpt-image-1.5, gpt-image-2)" + example: gpt-image-2 + type: string + moderation: + description: Content moderation setting + enum: + - low + - auto + example: auto + type: string + "n": + description: The number of images to generate + example: 1 + type: integer + output_compression: + description: Compression level for JPEG or WebP (0-100) + example: 100 + type: integer + output_format: + description: Format of the output image + enum: + - png + - webp + - jpeg + example: png + type: string + prompt: + description: A text description of the desired edit + example: Give the rocketship rainbow coloring + type: string + quality: + description: The quality of the edited image + example: low + type: string + size: + description: Size of the output image + example: 1024x1024 + type: string + user: + description: A unique identifier for end-user monitoring + example: user-1234 + type: string + required: + - model + - prompt + type: object + OpenAIImageGenerationRequest: + properties: + background: + description: Background transparency + enum: + - transparent + - opaque + example: opaque + type: string + model: + description: "The model to use for image generation (e.g., dall-e-2, dall-e-3, gpt-image-1, gpt-image-1.5, gpt-image-2)" + example: gpt-image-2 + type: string + moderation: + description: Content moderation setting + enum: + - low + - auto + example: auto + type: string + "n": + description: The number of images to generate (1-10). Only 1 supported for dall-e-3. + example: 1 + type: integer + output_compression: + description: Compression level for JPEG or WebP (0-100) + example: 100 + type: integer + output_format: + description: Format of the output image + enum: + - png + - webp + - jpeg + example: png + type: string + prompt: + description: A text description of the desired image + example: Draw a rocket in front of a blackhole in deep space + type: string + quality: + description: The quality of the generated image + enum: + - low + - medium + - high + - standard + - hd + example: high + type: string + response_format: + description: Response format of image data + enum: + - url + - b64_json + example: b64_json + type: string + size: + description: "Size of the image (e.g., 1024x1024, 1536x1024, auto)" + example: 1024x1536 + type: string + style: + description: Style of the image (only for dall-e-3) + enum: + - vivid + - natural + example: vivid + type: string + user: + description: A unique identifier for end-user monitoring + example: user-1234 + type: string + required: + - prompt + type: object + OpenAIImageGenerationResponse: + properties: + data: + items: + properties: + b64_json: + description: Base64 encoded image data + type: string + revised_prompt: + description: Revised prompt + type: string + url: + description: URL of the image + type: string + type: object + type: array + usage: + properties: + input_tokens: + type: integer + input_tokens_details: + properties: + image_tokens: + type: integer + text_tokens: + type: integer + type: object + output_tokens: + type: integer + output_tokens_details: + properties: + image_tokens: + type: integer + text_tokens: + type: integer + type: object + total_tokens: + type: integer + type: object + type: object + OpenAIModels: + enum: + - gpt-4 + - gpt-4-0314 + - gpt-4-0613 + - gpt-4-32k + - gpt-4-32k-0314 + - gpt-4-32k-0613 + - gpt-4-0125-preview + - gpt-4-turbo + - gpt-4-turbo-2024-04-09 + - gpt-4-turbo-preview + - gpt-4-1106-preview + - gpt-4-vision-preview + - gpt-3.5-turbo + - gpt-3.5-turbo-16k + - gpt-3.5-turbo-0301 + - gpt-3.5-turbo-0613 + - gpt-3.5-turbo-1106 + - gpt-3.5-turbo-0125 + - gpt-3.5-turbo-16k-0613 + - gpt-4.1 + - gpt-4.1-mini + - gpt-4.1-nano + - gpt-4.1-2025-04-14 + - gpt-4.1-mini-2025-04-14 + - gpt-4.1-nano-2025-04-14 + - o1 + - o1-mini + - o1-preview + - o1-pro + - o1-2024-12-17 + - o1-preview-2024-09-12 + - o1-mini-2024-09-12 + - o1-pro-2025-03-19 + - o3 + - o3-mini + - o3-2025-04-16 + - o3-mini-2025-01-31 + - o4-mini + - o4-mini-2025-04-16 + - gpt-4o + - gpt-4o-mini + - gpt-4o-2024-11-20 + - gpt-4o-2024-08-06 + - gpt-4o-2024-05-13 + - gpt-4o-mini-2024-07-18 + - gpt-4o-audio-preview + - gpt-4o-audio-preview-2024-10-01 + - gpt-4o-audio-preview-2024-12-17 + - gpt-4o-mini-audio-preview + - gpt-4o-mini-audio-preview-2024-12-17 + - gpt-4o-search-preview + - gpt-4o-mini-search-preview + - gpt-4o-search-preview-2025-03-11 + - gpt-4o-mini-search-preview-2025-03-11 + - computer-use-preview + - computer-use-preview-2025-03-11 + - gpt-5 + - gpt-5-mini + - gpt-5-nano + - gpt-5.5 + - gpt-5.5-pro + - chatgpt-4o-latest + type: string + OpenAIResponse: + allOf: + - $ref: "#/components/schemas/ModelResponseProperties" + - $ref: "#/components/schemas/ResponseProperties" + - properties: + created_at: + description: Unix timestamp (in seconds) of when this Response was created. + type: number + error: + $ref: "#/components/schemas/ResponseError" + id: + description: Unique identifier for this Response. + type: string + incomplete_details: + description: "Details about why the response is incomplete.\n" + nullable: true + properties: + reason: + description: The reason why the response is incomplete. + enum: + - max_output_tokens + - content_filter + type: string + type: object + object: + description: "The object type of this resource - always set to `response`." + enum: + - response + type: string + x-stainless-const: true + output: + description: "An array of content items generated by the model.\n\n- The length and order of items in the `output` array is dependent\n on the model's response.\n- Rather than accessing the first item in the `output` array and\n assuming it's an `assistant` message with the content generated by\n the model, you might consider using the `output_text` property where\n supported in SDKs.\n" + items: + $ref: "#/components/schemas/OutputItem" + type: array + output_text: + description: "SDK-only convenience property that contains the aggregated text output\nfrom all `output_text` items in the `output` array, if any are present.\nSupported in the Python and JavaScript SDKs.\n" + nullable: true + type: string + x-oaiSupportedSDKs: + - python + - javascript + parallel_tool_calls: + default: true + description: "Whether to allow the model to run tool calls in parallel.\n" + type: boolean + status: + description: "The status of the response generation. One of `completed`, `failed`, `in_progress`, or `incomplete`." + enum: + - completed + - failed + - in_progress + - incomplete + type: string + usage: + $ref: "#/components/schemas/ResponseUsage" + type: object + description: A response from the model + type: object + OpenAIResponseStreamEvent: + anyOf: + - $ref: "#/components/schemas/ResponseCreatedEvent" + - $ref: "#/components/schemas/ResponseInProgressEvent" + - $ref: "#/components/schemas/ResponseCompletedEvent" + - $ref: "#/components/schemas/ResponseFailedEvent" + - $ref: "#/components/schemas/ResponseIncompleteEvent" + - $ref: "#/components/schemas/ResponseOutputItemAddedEvent" + - $ref: "#/components/schemas/ResponseOutputItemDoneEvent" + - $ref: "#/components/schemas/ResponseContentPartAddedEvent" + - $ref: "#/components/schemas/ResponseContentPartDoneEvent" + - $ref: "#/components/schemas/ResponseErrorEvent" + description: Events that can be emitted during response streaming + type: object + OpenAIVideoCreateRequest: + properties: + input_reference: + description: Optional image or video reference that guides generation + format: binary + type: string + model: + default: sora-2 + description: The video generation model to use + enum: + - sora-2 + - sora-2-pro + type: string + prompt: + description: Text prompt that describes the video to generate + example: A calico cat playing a piano on stage + type: string + seconds: + default: "4" + description: Clip duration in seconds + enum: + - "4" + - "8" + - "12" + type: string + size: + default: 720x1280 + description: Output resolution formatted as width x height + enum: + - 720x1280 + - 1280x720 + - 1024x1792 + - 1792x1024 + type: string + required: + - prompt + type: object + OpenAIVideoJob: + properties: + completed_at: + description: "Unix timestamp (seconds) for when the job completed, if finished" + example: 1712698600 + type: integer + created_at: + description: Unix timestamp (seconds) for when the job was created + example: 1712697600 + type: integer + error: + description: "Error payload that explains why generation failed, if applicable" + properties: + code: + description: Error code + type: string + message: + description: Human-readable error message + type: string + type: object + expires_at: + description: "Unix timestamp (seconds) for when the downloadable assets expire, if set" + example: 1712784000 + type: integer + id: + description: Unique identifier for the video job + example: video_123 + type: string + model: + description: The video generation model that produced the job + example: sora-2 + type: string + object: + description: "The object type, which is always video" + enum: + - video + example: video + type: string + progress: + description: Approximate completion percentage for the generation task + example: 0 + type: integer + quality: + description: Quality of the generated video + example: standard + type: string + remixed_from_video_id: + description: Identifier of the source video if this video is a remix + example: video_456 + type: string + seconds: + description: Duration of the generated clip in seconds + example: "8" + type: string + size: + description: The resolution of the generated video + example: 1024x1808 + type: string + status: + description: Current lifecycle status of the video job + enum: + - queued + - in_progress + - completed + - failed + example: queued + type: string + type: object + OpenRouterAnthropicCacheControlDirective: + description: "Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. Currently supported for Anthropic Claude models." + properties: + ttl: + $ref: "#/components/schemas/OpenRouterAnthropicCacheControlTtl" + type: + $ref: "#/components/schemas/OpenRouterAnthropicCacheControlDirectiveType" + required: + - type + title: AnthropicCacheControlDirective + type: object + OpenRouterAnthropicCacheControlDirectiveType: + enum: + - ephemeral + title: AnthropicCacheControlDirectiveType + type: string + OpenRouterAnthropicCacheControlTtl: + enum: + - 5m + - 1h + title: AnthropicCacheControlTtl + type: string + OpenRouterBigNumberUnion: + description: Price per million prompt tokens + title: BigNumberUnion + type: string + OpenRouterChatAssistantImages: + description: Generated images from image generation models + items: + $ref: "#/components/schemas/OpenRouterChatAssistantImagesItems" + title: ChatAssistantImages + type: array + OpenRouterChatAssistantImagesItems: + properties: + image_url: + $ref: "#/components/schemas/OpenRouterChatAssistantImagesItemsImageUrl" + required: + - image_url + title: ChatAssistantImagesItems + type: object + OpenRouterChatAssistantImagesItemsImageUrl: + properties: + url: + description: URL or base64-encoded data of the generated image + type: string + required: + - url + title: ChatAssistantImagesItemsImageUrl + type: object + OpenRouterChatAssistantMessage: + description: Assistant message for requests and responses + properties: + audio: + $ref: "#/components/schemas/OpenRouterChatAudioOutput" + content: + $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingAssistantContent" + images: + $ref: "#/components/schemas/OpenRouterChatAssistantImages" + name: + description: Optional name for the assistant + type: string + reasoning: + description: Reasoning output + nullable: true + type: string + reasoning_details: + $ref: "#/components/schemas/OpenRouterChatReasoningDetails" + refusal: + description: Refusal message if content was refused + nullable: true + type: string + tool_calls: + description: Tool calls made by the assistant + items: + $ref: "#/components/schemas/OpenRouterChatToolCall" + type: array + title: ChatAssistantMessage + type: object + OpenRouterChatAudioOutput: + description: Audio output data or reference + properties: + data: + description: Base64 encoded audio data + type: string + expires_at: + description: Audio expiration timestamp + type: integer + id: + description: Audio output identifier + type: string + transcript: + description: Audio transcript + type: string + title: ChatAudioOutput + type: object + OpenRouterChatChoice: + description: Chat completion choice + properties: + finish_reason: + $ref: "#/components/schemas/OpenRouterChatFinishReasonEnum" + index: + description: Choice index + type: integer + logprobs: + $ref: "#/components/schemas/OpenRouterChatTokenLogprobs" + message: + $ref: "#/components/schemas/OpenRouterChatAssistantMessage" + required: + - finish_reason + - index + - message + title: ChatChoice + type: object + OpenRouterChatContentCacheControl: + description: Cache control for the content part + properties: + ttl: + $ref: "#/components/schemas/OpenRouterAnthropicCacheControlTtl" + type: + $ref: "#/components/schemas/OpenRouterChatContentCacheControlType" + required: + - type + title: ChatContentCacheControl + type: object + OpenRouterChatContentCacheControlType: + enum: + - ephemeral + title: ChatContentCacheControlType + type: string + OpenRouterChatContentItems: + description: Content part for chat completion messages + oneOf: + - description: File content part for document processing + properties: + file: + $ref: "#/components/schemas/OpenRouterChatContentItemsDiscriminatorMappingFileFile" + type: + description: "Discriminator value: file" + enum: + - file + type: string + required: + - type + - file + type: object + - description: Image content part for vision models + properties: + image_url: + $ref: "#/components/schemas/OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrl" + type: + description: "Discriminator value: image_url" + enum: + - image_url + type: string + required: + - type + - image_url + type: object + - description: Audio input content part. Supported audio formats vary by provider. + properties: + input_audio: + $ref: "#/components/schemas/OpenRouterChatContentItemsDiscriminatorMappingInputAudioInputAudio" + type: + description: "Discriminator value: input_audio" + enum: + - input_audio + type: string + required: + - type + - input_audio + type: object + - description: Video input content part (legacy format - deprecated) + properties: + type: + $ref: "#/components/schemas/OpenRouterLegacyChatContentVideoType" + video_url: + $ref: "#/components/schemas/OpenRouterChatContentVideoInput" + required: + - type + - video_url + type: object + - description: Text content part + properties: + cache_control: + $ref: "#/components/schemas/OpenRouterChatContentCacheControl" + text: + type: string + type: + $ref: "#/components/schemas/OpenRouterChatContentTextType" + required: + - type + - text + type: object + - description: Video input content part + properties: + type: + $ref: "#/components/schemas/OpenRouterChatContentVideoType" + video_url: + $ref: "#/components/schemas/OpenRouterChatContentVideoInput" + required: + - type + - video_url + type: object + title: ChatContentItems + OpenRouterChatContentItemsDiscriminatorMappingFileFile: + properties: + file_data: + description: File content as base64 data URL or URL + type: string + file_id: + description: File ID for previously uploaded files + type: string + filename: + description: Original filename + type: string + title: ChatContentItemsDiscriminatorMappingFileFile + type: object + OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrl: + properties: + detail: + $ref: "#/components/schemas/OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrlDetail" + url: + description: "URL of the image (data: URLs supported)" + type: string + required: + - url + title: ChatContentItemsDiscriminatorMappingImageUrlImageUrl + type: object + OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrlDetail: + description: Image detail level for vision models + enum: + - auto + - low + - high + title: ChatContentItemsDiscriminatorMappingImageUrlImageUrlDetail + type: string + OpenRouterChatContentItemsDiscriminatorMappingInputAudioInputAudio: + properties: + data: + description: Base64 encoded audio data + type: string + format: + description: "Audio format (e.g., wav, mp3, flac, m4a, ogg, aiff, aac, pcm16, pcm24). Supported formats vary by provider." + type: string + required: + - data + - format + title: ChatContentItemsDiscriminatorMappingInputAudioInputAudio + type: object + OpenRouterChatContentText: + description: Text content part + properties: + cache_control: + $ref: "#/components/schemas/OpenRouterChatContentCacheControl" + text: + type: string + type: + $ref: "#/components/schemas/OpenRouterChatContentTextType" + required: + - text + - type + title: ChatContentText + type: object + OpenRouterChatContentTextType: + enum: + - text + title: ChatContentTextType + type: string + OpenRouterChatContentVideoInput: + description: Video input object + properties: + url: + description: "URL of the video (data: URLs supported)" + type: string + required: + - url + title: ChatContentVideoInput + type: object + OpenRouterChatContentVideoType: + enum: + - video_url + title: ChatContentVideoType + type: string + OpenRouterChatDebugOptions: + description: Debug options for inspecting request transformations (streaming only) + properties: + echo_upstream_body: + description: "If true, includes the transformed upstream request body in a debug chunk at the start of the stream. Only works with streaming mode." + type: boolean + title: ChatDebugOptions + type: object + OpenRouterChatFinishReasonEnum: + enum: + - tool_calls + - stop + - length + - content_filter + - error + title: ChatFinishReasonEnum + type: string + OpenRouterChatFunctionTool: + description: Tool definition for function calling (regular function or OpenRouter built-in server tool) + oneOf: + - $ref: "#/components/schemas/OpenRouterChatFunctionTool0" + - $ref: "#/components/schemas/OpenRouterDatetimeServerTool" + - $ref: "#/components/schemas/ImageGenerationServerTool_OpenRouter" + - $ref: "#/components/schemas/OpenRouterChatSearchModelsServerTool" + - $ref: "#/components/schemas/OpenRouterWebFetchServerTool" + - $ref: "#/components/schemas/OpenRouterWebSearchServerTool" + - $ref: "#/components/schemas/OpenRouterChatWebSearchShorthand" + title: ChatFunctionTool + OpenRouterChatFunctionTool0: + properties: + cache_control: + $ref: "#/components/schemas/OpenRouterChatContentCacheControl" + function: + $ref: "#/components/schemas/OpenRouterChatFunctionToolOneOf0Function" + type: + $ref: "#/components/schemas/OpenRouterChatFunctionToolOneOf0Type" + required: + - function + - type + title: ChatFunctionTool0 + type: object + OpenRouterChatFunctionToolOneOf0Function: + description: Function definition for tool calling + properties: + description: + description: Function description for the model + type: string + name: + description: "Function name (a-z, A-Z, 0-9, underscores, dashes, max 64 chars)" + type: string + parameters: + additionalProperties: + description: Any type + description: Function parameters as JSON Schema object + type: object + strict: + description: Enable strict schema adherence + nullable: true + type: boolean + required: + - name + title: ChatFunctionToolOneOf0Function + type: object + OpenRouterChatFunctionToolOneOf0Type: + enum: + - function + title: ChatFunctionToolOneOf0Type + type: string + OpenRouterChatJsonSchemaConfig: + description: JSON Schema configuration object + properties: + description: + description: Schema description for the model + type: string + name: + description: "Schema name (a-z, A-Z, 0-9, underscores, dashes, max 64 chars)" + type: string + schema: + additionalProperties: + description: Any type + description: JSON Schema object + type: object + strict: + description: Enable strict schema adherence + nullable: true + type: boolean + required: + - name + title: ChatJsonSchemaConfig + type: object + OpenRouterChatMessages: + description: Chat completion message with role-based discrimination + oneOf: + - description: Assistant message for requests and responses + properties: + audio: + $ref: "#/components/schemas/OpenRouterChatAudioOutput" + content: + $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingAssistantContent" + images: + $ref: "#/components/schemas/OpenRouterChatAssistantImages" + name: + description: Optional name for the assistant + type: string + reasoning: + description: Reasoning output + nullable: true + type: string + reasoning_details: + $ref: "#/components/schemas/OpenRouterChatReasoningDetails" + refusal: + description: Refusal message if content was refused + nullable: true + type: string + role: + description: "Discriminator value: assistant" + enum: + - assistant + type: string + tool_calls: + description: Tool calls made by the assistant + items: + $ref: "#/components/schemas/OpenRouterChatToolCall" + type: array + required: + - role + type: object + - description: Developer message + properties: + content: + $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingDeveloperContent" + name: + description: Optional name for the developer message + type: string + role: + description: "Discriminator value: developer" + enum: + - developer + type: string + required: + - role + - content + type: object + - description: System message for setting behavior + properties: + content: + $ref: "#/components/schemas/OpenRouterChatSystemMessageContent" + name: + description: Optional name for the system message + type: string + role: + $ref: "#/components/schemas/OpenRouterChatSystemMessageRole" + required: + - role + - content + type: object + - description: Tool response message + properties: + content: + $ref: "#/components/schemas/OpenRouterChatToolMessageContent" + role: + $ref: "#/components/schemas/OpenRouterChatToolMessageRole" + tool_call_id: + description: ID of the assistant message tool call this message responds to + type: string + required: + - role + - content + - tool_call_id + type: object + - description: User message + properties: + content: + $ref: "#/components/schemas/OpenRouterChatUserMessageContent" + name: + description: Optional name for the user + type: string + role: + $ref: "#/components/schemas/OpenRouterChatUserMessageRole" + required: + - role + - content + type: object + title: ChatMessages + OpenRouterChatMessagesDiscriminatorMappingAssistantContent: + description: Assistant message content + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingAssistantContent1" + - description: Any type + title: ChatMessagesDiscriminatorMappingAssistantContent + OpenRouterChatMessagesDiscriminatorMappingAssistantContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentItems" + title: ChatMessagesDiscriminatorMappingAssistantContent1 + type: array + OpenRouterChatMessagesDiscriminatorMappingDeveloperContent: + description: Developer message content + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingDeveloperContent1" + title: ChatMessagesDiscriminatorMappingDeveloperContent + OpenRouterChatMessagesDiscriminatorMappingDeveloperContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentText" + title: ChatMessagesDiscriminatorMappingDeveloperContent1 + type: array + OpenRouterChatModelNames: + description: Models to use for completion + items: + $ref: "#/components/schemas/OpenRouterModelName" + title: ChatModelNames + type: array + OpenRouterChatNamedToolChoice: + description: Named tool choice for specific function + properties: + function: + $ref: "#/components/schemas/OpenRouterChatNamedToolChoiceFunction" + type: + $ref: "#/components/schemas/OpenRouterChatNamedToolChoiceType" + required: + - function + - type + title: ChatNamedToolChoice + type: object + OpenRouterChatNamedToolChoiceFunction: + properties: + name: + description: Function name to call + type: string + required: + - name + title: ChatNamedToolChoiceFunction + type: object + OpenRouterChatNamedToolChoiceType: + enum: + - function + title: ChatNamedToolChoiceType + type: string + OpenRouterChatReasoningDetails: + description: Reasoning details for extended thinking models + items: + $ref: "#/components/schemas/OpenRouterReasoningDetailUnion" + title: ChatReasoningDetails + type: array + OpenRouterChatReasoningSummaryVerbosityEnum: + enum: + - auto + - concise + - detailed + title: ChatReasoningSummaryVerbosityEnum + type: string + OpenRouterChatRequest: + description: Chat completion request parameters + properties: + cache_control: + $ref: "#/components/schemas/OpenRouterAnthropicCacheControlDirective" + debug: + $ref: "#/components/schemas/OpenRouterChatDebugOptions" + frequency_penalty: + description: Frequency penalty (-2.0 to 2.0) + format: double + nullable: true + type: number + image_config: + $ref: "#/components/schemas/OpenRouterImageConfig" + logit_bias: + additionalProperties: + format: double + type: number + description: Token logit bias adjustments + nullable: true + type: object + logprobs: + description: Return log probabilities + nullable: true + type: boolean + max_completion_tokens: + description: Maximum tokens in completion + nullable: true + type: integer + max_tokens: + description: "Maximum tokens (deprecated, use max_completion_tokens). Note: some providers enforce a minimum of 16." + nullable: true + type: integer + messages: + description: List of messages for the conversation + items: + $ref: "#/components/schemas/OpenRouterChatMessages" + type: array + metadata: + additionalProperties: + type: string + description: "Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values)" + type: object + modalities: + description: "Output modalities for the response. Supported values are \"text\", \"image\", and \"audio\"." + items: + $ref: "#/components/schemas/OpenRouterChatRequestModalitiesItems" + type: array + model: + $ref: "#/components/schemas/OpenRouterModelName" + models: + $ref: "#/components/schemas/OpenRouterChatModelNames" + parallel_tool_calls: + description: "Whether to enable parallel function calling during tool use. When true, the model may generate multiple tool calls in a single response." + nullable: true + type: boolean + plugins: + description: "Plugins you want to enable for this request, including their settings." + items: + $ref: "#/components/schemas/OpenRouterChatRequestPluginsItems" + type: array + presence_penalty: + description: Presence penalty (-2.0 to 2.0) + format: double + nullable: true + type: number + provider: + $ref: "#/components/schemas/OpenRouterProviderPreferences" + reasoning: + $ref: "#/components/schemas/OpenRouterChatRequestReasoning" + response_format: + $ref: "#/components/schemas/OpenRouterChatRequestResponseFormat" + route: + description: Any type + seed: + description: Random seed for deterministic outputs + nullable: true + type: integer + service_tier: + description: The service tier to use for processing this request. + oneOf: + - $ref: "#/components/schemas/OpenRouterChatRequestServiceTier" + session_id: + description: "A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters." + type: string + stop: + $ref: "#/components/schemas/OpenRouterChatRequestStop" + stop_server_tools_when: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhen" + stream: + default: false + description: Enable streaming response + type: boolean + stream_options: + $ref: "#/components/schemas/OpenRouterChatStreamOptions" + temperature: + description: Sampling temperature (0-2) + format: double + nullable: true + type: number + tool_choice: + $ref: "#/components/schemas/OpenRouterChatToolChoice" + tools: + description: Available tools for function calling + items: + $ref: "#/components/schemas/OpenRouterChatFunctionTool" + type: array + top_logprobs: + description: Number of top log probabilities to return (0-20) + nullable: true + type: integer + top_p: + description: Nucleus sampling parameter (0-1) + format: double + nullable: true + type: number + trace: + $ref: "#/components/schemas/OpenRouterTraceConfig" + user: + description: Unique user identifier + type: string + required: + - messages + title: ChatRequest + type: object + OpenRouterChatRequestModalitiesItems: + enum: + - text + - image + - audio + title: ChatRequestModalitiesItems + type: string + OpenRouterChatRequestPluginsItems: + oneOf: + - description: auto-router variant + properties: + allowed_models: + description: "List of model patterns to filter which models the auto-router can route between. Supports wildcards (e.g., \"anthropic/*\" matches all Anthropic models). When not specified, uses the default supported models list." + items: + type: string + type: array + enabled: + description: Set to false to disable the auto-router plugin for this request. Defaults to true. + type: boolean + id: + description: "Discriminator value: auto-router" + enum: + - auto-router + type: string + required: + - id + type: object + - description: context-compression variant + properties: + enabled: + description: Set to false to disable the context-compression plugin for this request. Defaults to true. + type: boolean + engine: + $ref: "#/components/schemas/OpenRouterContextCompressionEngine" + id: + description: "Discriminator value: context-compression" + enum: + - context-compression + type: string + required: + - id + type: object + - description: file-parser variant + properties: + enabled: + description: Set to false to disable the file-parser plugin for this request. Defaults to true. + type: boolean + id: + description: "Discriminator value: file-parser" + enum: + - file-parser + type: string + pdf: + $ref: "#/components/schemas/OpenRouterPDFParserOptions" + required: + - id + type: object + - description: fusion variant + properties: + analysis_models: + description: "Slugs of models to run in parallel as the \"expert panel\" the judge analyzes. Each model receives the same user prompt with web_search + web_fetch enabled. Capped at 8 models to bound cost amplification. When omitted, defaults to the Quality preset from the /labs/fusion UI (~anthropic/claude-opus-latest, ~openai/gpt-latest, ~google/gemini-pro-latest)." + items: + type: string + type: array + enabled: + description: Set to false to disable the fusion plugin for this request. Defaults to true. + type: boolean + id: + description: "Discriminator value: fusion" + enum: + - fusion + type: string + max_tool_calls: + description: Maximum number of tool-calling steps each panelist (analysis model) and the judge model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16. + type: integer + model: + description: "Slug of the model that performs both the judge step (with web_search + web_fetch) and the final synthesis. When omitted, defaults to the first model in the Quality preset." + type: string + required: + - id + type: object + - description: moderation variant + properties: + id: + description: "Discriminator value: moderation" + enum: + - moderation + type: string + required: + - id + type: object + - description: pareto-router variant + properties: + enabled: + description: Set to false to disable the pareto-router plugin for this request. Defaults to true. + type: boolean + id: + description: "Discriminator value: pareto-router" + enum: + - pareto-router + type: string + min_coding_score: + description: "Minimum desired coding score between 0 and 1, where 1 is best. Higher values select from stronger coding models (sourced from Artificial Analysis coding percentiles). Maps internally to one of three tiers (low, medium, high). Omit to use the router default tier." + format: double + type: number + required: + - id + type: object + - description: response-healing variant + properties: + enabled: + description: Set to false to disable the response-healing plugin for this request. Defaults to true. + type: boolean + id: + description: "Discriminator value: response-healing" + enum: + - response-healing + type: string + required: + - id + type: object + - description: web variant + properties: + enabled: + description: Set to false to disable the web-search plugin for this request. Defaults to true. + type: boolean + engine: + $ref: "#/components/schemas/OpenRouterWebSearchEngine" + exclude_domains: + description: "A list of domains to exclude from web search results. Supports wildcards (e.g. \"*.substack.com\") and path filtering (e.g. \"openai.com/blog\")." + items: + type: string + type: array + id: + $ref: "#/components/schemas/OpenRouterWebSearchPluginId" + include_domains: + description: "A list of domains to restrict web search results to. Supports wildcards (e.g. \"*.substack.com\") and path filtering (e.g. \"openai.com/blog\")." + items: + type: string + type: array + max_results: + type: integer + max_uses: + description: Maximum number of times the model can invoke web search in a single turn. Passed through to native providers that support it (e.g. Anthropic). + type: integer + search_prompt: + type: string + user_location: + $ref: "#/components/schemas/OpenRouterWebSearchPluginUserLocation" + required: + - id + type: object + - description: web-fetch variant + properties: + allowed_domains: + description: Only fetch from these domains. + items: + type: string + type: array + blocked_domains: + description: Never fetch from these domains. + items: + type: string + type: array + id: + $ref: "#/components/schemas/OpenRouterWebFetchPluginId" + max_content_tokens: + description: Maximum content length in approximate tokens. Content exceeding this limit is truncated. + type: integer + max_uses: + description: "Maximum number of web fetches per request. Once exceeded, the tool returns an error." + type: integer + required: + - id + type: object + title: ChatRequestPluginsItems + OpenRouterChatRequestReasoning: + description: Configuration options for reasoning models + properties: + effort: + description: Constrains effort on reasoning for reasoning models + oneOf: + - $ref: "#/components/schemas/OpenRouterChatRequestReasoningEffort" + summary: + $ref: "#/components/schemas/OpenRouterChatReasoningSummaryVerbosityEnum" + title: ChatRequestReasoning + type: object + OpenRouterChatRequestReasoningEffort: + description: Constrains effort on reasoning for reasoning models + enum: + - xhigh + - high + - medium + - low + - minimal + - none + title: ChatRequestReasoningEffort + type: string + OpenRouterChatRequestResponseFormat: + description: Response format configuration + oneOf: + - description: Custom grammar response format + properties: + grammar: + description: Custom grammar for text generation + type: string + type: + description: "Discriminator value: grammar" + enum: + - grammar + type: string + required: + - type + - grammar + type: object + - description: JSON object response format + properties: + type: + $ref: "#/components/schemas/OpenRouterFormatJsonObjectConfigType" + required: + - type + type: object + - description: JSON Schema response format for structured outputs + properties: + json_schema: + $ref: "#/components/schemas/OpenRouterChatJsonSchemaConfig" + type: + description: "Discriminator value: json_schema" + enum: + - json_schema + type: string + required: + - type + - json_schema + type: object + - description: Python code response format + properties: + type: + description: "Discriminator value: python" + enum: + - python + type: string + required: + - type + type: object + - description: Default text response format + properties: + type: + description: "Discriminator value: text" + enum: + - text + type: string + required: + - type + type: object + title: ChatRequestResponseFormat + OpenRouterChatRequestServiceTier: + description: The service tier to use for processing this request. + enum: + - auto + - default + - flex + - priority + - scale + title: ChatRequestServiceTier + type: string + OpenRouterChatRequestStop: + description: Stop sequences (up to 4) + oneOf: + - type: string + - items: + type: string + type: array + - description: Any type + title: ChatRequestStop + OpenRouterChatResult: + description: Chat completion response + properties: + choices: + description: List of completion choices + items: + $ref: "#/components/schemas/OpenRouterChatChoice" + type: array + created: + description: Unix timestamp of creation + type: integer + id: + description: Unique completion identifier + type: string + model: + description: Model used for completion + type: string + object: + $ref: "#/components/schemas/OpenRouterChatResultObject" + openrouter_metadata: + $ref: "#/components/schemas/OpenRouterMetadata" + service_tier: + description: The service tier used by the upstream provider for this request + nullable: true + type: string + system_fingerprint: + description: System fingerprint + nullable: true + type: string + usage: + $ref: "#/components/schemas/OpenRouterChatUsage" + required: + - choices + - created + - id + - model + - object + - system_fingerprint + title: ChatResult + type: object + OpenRouterChatResultObject: + enum: + - chat.completion + title: ChatResultObject + type: string + OpenRouterChatSearchModelsServerTool: + description: "OpenRouter built-in server tool: searches and filters AI models available on OpenRouter" + properties: + parameters: + $ref: "#/components/schemas/OpenRouterSearchModelsServerToolConfig" + type: + $ref: "#/components/schemas/OpenRouterChatSearchModelsServerToolType" + required: + - type + title: ChatSearchModelsServerTool + type: object + OpenRouterChatSearchModelsServerToolType: + enum: + - openrouter:experimental__search_models + title: ChatSearchModelsServerToolType + type: string + OpenRouterChatStreamOptions: + description: Streaming configuration options + properties: + include_usage: + description: "Deprecated: This field has no effect. Full usage details are always included." + type: boolean + title: ChatStreamOptions + type: object + OpenRouterChatSystemMessageContent: + description: System message content + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatSystemMessageContent1" + title: ChatSystemMessageContent + OpenRouterChatSystemMessageContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentText" + title: ChatSystemMessageContent1 + type: array + OpenRouterChatSystemMessageRole: + enum: + - system + title: ChatSystemMessageRole + type: string + OpenRouterChatTokenLogprob: + description: Token log probability information + properties: + bytes: + description: UTF-8 bytes of the token + items: + type: integer + nullable: true + type: array + logprob: + description: Log probability of the token + format: double + type: number + token: + description: The token + type: string + top_logprobs: + description: Top alternative tokens with probabilities + items: + $ref: "#/components/schemas/OpenRouterChatTokenLogprobTopLogprobsItems" + type: array + required: + - bytes + - logprob + - token + - top_logprobs + title: ChatTokenLogprob + type: object + OpenRouterChatTokenLogprobTopLogprobsItems: + properties: + bytes: + items: + type: integer + nullable: true + type: array + logprob: + format: double + type: number + token: + type: string + required: + - bytes + - logprob + - token + title: ChatTokenLogprobTopLogprobsItems + type: object + OpenRouterChatTokenLogprobs: + description: Log probabilities for the completion + properties: + content: + description: Log probabilities for content tokens + items: + $ref: "#/components/schemas/OpenRouterChatTokenLogprob" + nullable: true + type: array + refusal: + description: Log probabilities for refusal tokens + items: + $ref: "#/components/schemas/OpenRouterChatTokenLogprob" + nullable: true + type: array + required: + - content + title: ChatTokenLogprobs + type: object + OpenRouterChatToolCall: + description: Tool call made by the assistant + properties: + function: + $ref: "#/components/schemas/OpenRouterChatToolCallFunction" + id: + description: Tool call identifier + type: string + type: + $ref: "#/components/schemas/OpenRouterChatToolCallType" + required: + - function + - id + - type + title: ChatToolCall + type: object + OpenRouterChatToolCallFunction: + properties: + arguments: + description: Function arguments as JSON string + type: string + name: + description: Function name to call + type: string + required: + - arguments + - name + title: ChatToolCallFunction + type: object + OpenRouterChatToolCallType: + enum: + - function + title: ChatToolCallType + type: string + OpenRouterChatToolChoice: + description: Tool choice configuration + oneOf: + - $ref: "#/components/schemas/OpenRouterChatToolChoice0" + - $ref: "#/components/schemas/OpenRouterChatToolChoice1" + - $ref: "#/components/schemas/OpenRouterChatToolChoice2" + - $ref: "#/components/schemas/OpenRouterChatNamedToolChoice" + title: ChatToolChoice + OpenRouterChatToolChoice0: + enum: + - none + title: ChatToolChoice0 + type: string + OpenRouterChatToolChoice1: + enum: + - auto + title: ChatToolChoice1 + type: string + OpenRouterChatToolChoice2: + enum: + - required + title: ChatToolChoice2 + type: string + OpenRouterChatToolMessageContent: + description: Tool response content + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatToolMessageContent1" + title: ChatToolMessageContent + OpenRouterChatToolMessageContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentItems" + title: ChatToolMessageContent1 + type: array + OpenRouterChatToolMessageRole: + enum: + - tool + title: ChatToolMessageRole + type: string + OpenRouterChatUsage: + description: Token usage statistics + properties: + completion_tokens: + description: Number of tokens in the completion + type: integer + completion_tokens_details: + description: Detailed completion token usage + oneOf: + - $ref: "#/components/schemas/OpenRouterChatUsageCompletionTokensDetails" + cost: + description: Cost of the completion + format: double + nullable: true + type: number + cost_details: + $ref: "#/components/schemas/OpenRouterCostDetails" + is_byok: + description: Whether a request was made using a Bring Your Own Key configuration + type: boolean + prompt_tokens: + description: Number of tokens in the prompt + type: integer + prompt_tokens_details: + description: Detailed prompt token usage + oneOf: + - $ref: "#/components/schemas/OpenRouterChatUsagePromptTokensDetails" + total_tokens: + description: Total number of tokens + type: integer + required: + - completion_tokens + - prompt_tokens + - total_tokens + title: ChatUsage + type: object + OpenRouterChatUsageCompletionTokensDetails: + description: Detailed completion token usage + properties: + accepted_prediction_tokens: + description: Accepted prediction tokens + nullable: true + type: integer + audio_tokens: + description: Tokens used for audio output + nullable: true + type: integer + reasoning_tokens: + description: Tokens used for reasoning + nullable: true + type: integer + rejected_prediction_tokens: + description: Rejected prediction tokens + nullable: true + type: integer + title: ChatUsageCompletionTokensDetails + type: object + OpenRouterChatUsagePromptTokensDetails: + description: Detailed prompt token usage + properties: + audio_tokens: + description: Audio input tokens + type: integer + cache_write_tokens: + description: Tokens written to cache. Only returned for models with explicit caching and cache write pricing. + type: integer + cached_tokens: + description: Cached prompt tokens + type: integer + video_tokens: + description: Video input tokens + type: integer + title: ChatUsagePromptTokensDetails + type: object + OpenRouterChatUserMessageContent: + description: User message content + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatUserMessageContent1" + title: ChatUserMessageContent + OpenRouterChatUserMessageContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentItems" + title: ChatUserMessageContent1 + type: array + OpenRouterChatUserMessageRole: + enum: + - user + title: ChatUserMessageRole + type: string + OpenRouterChatWebSearchShorthand: + description: Web search tool using OpenAI Responses API syntax. Automatically converted to openrouter:web_search. + properties: + allowed_domains: + description: "Limit search results to these domains. Supported by Exa, Firecrawl, Parallel, and most native providers (Anthropic, OpenAI, xAI). Not supported with Perplexity. Cannot be used with excluded_domains." + items: + type: string + type: array + engine: + $ref: "#/components/schemas/OpenRouterWebSearchEngineEnum" + excluded_domains: + description: "Exclude search results from these domains. Supported by Exa, Firecrawl, Parallel, Anthropic, and xAI. Not supported with OpenAI (silently ignored) or Perplexity. Cannot be used with allowed_domains." + items: + type: string + type: array + max_results: + description: "Maximum number of search results to return per search call. Defaults to 5. Applies to Exa, Firecrawl, and Parallel engines; ignored with native provider search." + type: integer + max_total_results: + description: "Maximum total number of search results across all search calls in a single request. Once this limit is reached, the tool will stop returning new results. Useful for controlling cost and context size in agentic loops. Defaults to 50 when not specified." + type: integer + parameters: + $ref: "#/components/schemas/OpenRouterWebSearchConfig" + search_context_size: + $ref: "#/components/schemas/OpenRouterSearchQualityLevel" + type: + $ref: "#/components/schemas/OpenRouterChatWebSearchShorthandType" + user_location: + $ref: "#/components/schemas/OpenRouterWebSearchUserLocationServerTool" + required: + - type + title: ChatWebSearchShorthand + type: object + OpenRouterChatWebSearchShorthandType: + enum: + - web_search + - web_search_preview + - web_search_preview_2025_03_11 + - web_search_2025_08_26 + title: ChatWebSearchShorthandType + type: string + OpenRouterContextCompressionEngine: + description: "The compression engine to use. Defaults to \"middle-out\"." + enum: + - middle-out + title: ContextCompressionEngine + type: string + OpenRouterCostDetails: + description: Breakdown of upstream inference costs + properties: + upstream_inference_completions_cost: + format: double + type: number + upstream_inference_cost: + format: double + nullable: true + type: number + upstream_inference_prompt_cost: + format: double + type: number + required: + - upstream_inference_completions_cost + - upstream_inference_prompt_cost + title: CostDetails + type: object + OpenRouterDatetimeServerTool: + description: "OpenRouter built-in server tool: returns the current date and time" + properties: + parameters: + $ref: "#/components/schemas/OpenRouterDatetimeServerToolConfig" + type: + $ref: "#/components/schemas/OpenRouterDatetimeServerToolType" + required: + - type + title: DatetimeServerTool + type: object + OpenRouterDatetimeServerToolConfig: + description: Configuration for the openrouter:datetime server tool + properties: + timezone: + description: "IANA timezone name (e.g. \"America/New_York\"). Defaults to UTC." + type: string + title: DatetimeServerToolConfig + type: object + OpenRouterDatetimeServerToolType: + enum: + - openrouter:datetime + title: DatetimeServerToolType + type: string + OpenRouterEndpointInfo: + properties: + model: + type: string + provider: + type: string + selected: + type: boolean + required: + - model + - provider + - selected + title: EndpointInfo + type: object + OpenRouterEndpointsMetadata: + properties: + available: + items: + $ref: "#/components/schemas/OpenRouterEndpointInfo" + type: array + total: + type: integer + required: + - available + - total + title: EndpointsMetadata + type: object + OpenRouterFormatJsonObjectConfigType: + enum: + - json_object + title: FormatJsonObjectConfigType + type: string + OpenRouterImageConfig: + oneOf: + - type: string + - format: double + type: number + - items: + description: Any type + type: array + title: ImageConfig + OpenRouterImageGenerationServerToolConfig: + description: "Configuration for the openrouter:image_generation server tool. Accepts all image_config params (aspect_ratio, quality, size, background, output_format, output_compression, moderation, etc.) plus a model field." + properties: + model: + description: "Which image generation model to use (e.g. \"openai/gpt-5-image\"). Defaults to \"openai/gpt-5-image\"." + type: string + title: ImageGenerationServerToolConfig + type: object + OpenRouterImageGenerationServerToolOpenRouterType: + enum: + - openrouter:image_generation + title: ImageGenerationServerToolOpenRouterType + type: string + OpenRouterLegacyChatContentVideoType: + enum: + - input_video + title: LegacyChatContentVideoType + type: string + OpenRouterMetadata: + properties: + attempt: + type: integer + attempts: + items: + $ref: "#/components/schemas/OpenRouterRouterAttempt" + type: array + endpoints: + $ref: "#/components/schemas/OpenRouterEndpointsMetadata" + is_byok: + type: boolean + params: + $ref: "#/components/schemas/OpenRouterRouterParams" + pipeline: + items: + $ref: "#/components/schemas/OpenRouterPipelineStage" + type: array + region: + nullable: true + type: string + requested: + type: string + strategy: + $ref: "#/components/schemas/OpenRouterRoutingStrategy" + summary: + type: string + required: + - attempt + - endpoints + - is_byok + - region + - requested + - strategy + - summary + title: OpenRouterMetadata + type: object + OpenRouterModelName: + description: Model to use for completion + title: ModelName + type: string + OpenRouterPDFParserEngine: + description: "The engine to use for parsing PDF files. \"pdf-text\" is deprecated and automatically redirected to \"cloudflare-ai\"." + oneOf: + - $ref: "#/components/schemas/OpenRouterPdfParserEngine0" + - $ref: "#/components/schemas/OpenRouterPdfParserEngine1" + title: PDFParserEngine + OpenRouterPDFParserOptions: + description: Options for PDF parsing. + properties: + engine: + $ref: "#/components/schemas/OpenRouterPDFParserEngine" + title: PDFParserOptions + type: object + OpenRouterPdfParserEngine0: + enum: + - mistral-ocr + - native + - cloudflare-ai + title: PdfParserEngine0 + type: string + OpenRouterPdfParserEngine1: + enum: + - pdf-text + title: PdfParserEngine1 + type: string + OpenRouterPercentileLatencyCutoffs: + description: Percentile-based latency cutoffs. All specified cutoffs must be met for an endpoint to be preferred. + properties: + p50: + description: Maximum p50 latency (seconds) + format: double + nullable: true + type: number + p75: + description: Maximum p75 latency (seconds) + format: double + nullable: true + type: number + p90: + description: Maximum p90 latency (seconds) + format: double + nullable: true + type: number + p99: + description: Maximum p99 latency (seconds) + format: double + nullable: true + type: number + title: PercentileLatencyCutoffs + type: object + OpenRouterPercentileThroughputCutoffs: + description: Percentile-based throughput cutoffs. All specified cutoffs must be met for an endpoint to be preferred. + properties: + p50: + description: Minimum p50 throughput (tokens/sec) + format: double + nullable: true + type: number + p75: + description: Minimum p75 throughput (tokens/sec) + format: double + nullable: true + type: number + p90: + description: Minimum p90 throughput (tokens/sec) + format: double + nullable: true + type: number + p99: + description: Minimum p99 throughput (tokens/sec) + format: double + nullable: true + type: number + title: PercentileThroughputCutoffs + type: object + OpenRouterPipelineStage: + properties: + cost_usd: + format: double + nullable: true + type: number + data: + additionalProperties: + description: Any type + type: object + guardrail_id: + type: string + guardrail_scope: + type: string + name: + type: string + summary: + type: string + type: + $ref: "#/components/schemas/OpenRouterPipelineStageType" + required: + - name + - type + title: PipelineStage + type: object + OpenRouterPipelineStageType: + description: "Categorical kind of a pipeline stage. Multiple plugins can share a type (e.g. all guardrail-level plugins emit `guardrail`); the `name` field disambiguates which plugin emitted it." + enum: + - guardrail + - plugin + - server_tools + - response_healing + - context_compression + title: PipelineStageType + type: string + OpenRouterPreferredMaxLatency: + description: "Preferred maximum latency (in seconds). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints above the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold." + oneOf: + - format: double + type: number + - $ref: "#/components/schemas/OpenRouterPercentileLatencyCutoffs" + - description: Any type + title: PreferredMaxLatency + OpenRouterPreferredMinThroughput: + description: "Preferred minimum throughput (in tokens per second). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints below the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold." + oneOf: + - format: double + type: number + - $ref: "#/components/schemas/OpenRouterPercentileThroughputCutoffs" + - description: Any type + title: PreferredMinThroughput + OpenRouterProviderName: + enum: + - AkashML + - AI21 + - AionLabs + - Alibaba + - Ambient + - Baidu + - Amazon Bedrock + - Amazon Nova + - Anthropic + - Arcee AI + - AtlasCloud + - Avian + - Azure + - BaseTen + - BytePlus + - Black Forest Labs + - Cerebras + - Chutes + - Cirrascale + - Clarifai + - Cloudflare + - Cohere + - Crucible + - Crusoe + - DeepInfra + - DeepSeek + - DekaLLM + - Featherless + - Fireworks + - Friendli + - GMICloud + - Google + - Google AI Studio + - Groq + - Hyperbolic + - Inception + - Inceptron + - InferenceNet + - Ionstream + - Infermatic + - Io Net + - Inflection + - Liquid + - Mara + - Mancer 2 + - Minimax + - ModelRun + - Mistral + - Modular + - Moonshot AI + - Morph + - NCompass + - Nebius + - Nex AGI + - NextBit + - Novita + - Nvidia + - OpenAI + - OpenInference + - Parasail + - Poolside + - Perceptron + - Perplexity + - Phala + - Recraft + - Reka + - Relace + - SambaNova + - Seed + - SiliconFlow + - Sourceful + - StepFun + - Stealth + - StreamLake + - Switchpoint + - Together + - Upstage + - Venice + - WandB + - Xiaomi + - xAI + - Z.AI + - FakeProvider + title: ProviderName + type: string + OpenRouterProviderPreferences: + description: "When multiple model providers are available, optionally indicate your routing preference." + properties: + allow_fallbacks: + description: "Whether to allow backup providers to serve requests\n- true: (default) when the primary provider (or your custom providers in \"order\") is unavailable, use the next best provider.\n- false: use only the primary/custom provider, and return the upstream error if it's unavailable.\n" + nullable: true + type: boolean + data_collection: + description: "Data collection setting. If no available model provider meets the requirement, your request will return an error.\n- allow: (default) allow providers which store user data non-transiently and may train on it\n\n- deny: use only providers which do not collect user data." + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderPreferencesDataCollection" + enforce_distillable_text: + description: "Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used." + nullable: true + type: boolean + ignore: + description: "List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request." + items: + $ref: "#/components/schemas/OpenRouterProviderPreferencesIgnoreItems" + nullable: true + type: array + max_price: + $ref: "#/components/schemas/OpenRouterProviderPreferencesMaxPrice" + only: + description: "List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request." + items: + $ref: "#/components/schemas/OpenRouterProviderPreferencesOnlyItems" + nullable: true + type: array + order: + description: "An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message." + items: + $ref: "#/components/schemas/OpenRouterProviderPreferencesOrderItems" + nullable: true + type: array + preferred_max_latency: + $ref: "#/components/schemas/OpenRouterPreferredMaxLatency" + preferred_min_throughput: + $ref: "#/components/schemas/OpenRouterPreferredMinThroughput" + quantizations: + description: A list of quantization levels to filter the provider by. + items: + $ref: "#/components/schemas/OpenRouterQuantization" + nullable: true + type: array + require_parameters: + description: "Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest." + nullable: true + type: boolean + sort: + $ref: "#/components/schemas/OpenRouterProviderPreferencesSort" + zdr: + description: "Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used." + nullable: true + type: boolean + title: ProviderPreferences + type: object + OpenRouterProviderPreferencesDataCollection: + description: "Data collection setting. If no available model provider meets the requirement, your request will return an error.\n- allow: (default) allow providers which store user data non-transiently and may train on it\n\n- deny: use only providers which do not collect user data." + enum: + - deny + - allow + title: ProviderPreferencesDataCollection + type: string + OpenRouterProviderPreferencesIgnoreItems: + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderName" + - type: string + title: ProviderPreferencesIgnoreItems + OpenRouterProviderPreferencesMaxPrice: + description: "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion." + properties: + audio: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + completion: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + image: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + prompt: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + request: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + title: ProviderPreferencesMaxPrice + type: object + OpenRouterProviderPreferencesOnlyItems: + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderName" + - type: string + title: ProviderPreferencesOnlyItems + OpenRouterProviderPreferencesOrderItems: + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderName" + - type: string + title: ProviderPreferencesOrderItems + OpenRouterProviderPreferencesSort: + description: "The sorting strategy to use for this request, if \"order\" is not specified. When set, no load balancing is performed." + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderSort" + - $ref: "#/components/schemas/OpenRouterProviderSortConfig" + - description: Any type + title: ProviderPreferencesSort + OpenRouterProviderSort: + description: "The provider sorting strategy (price, throughput, latency)" + enum: + - price + - throughput + - latency + - exacto + title: ProviderSort + type: string + OpenRouterProviderSortConfig: + description: "The provider sorting strategy (price, throughput, latency)" + properties: + by: + description: "The provider sorting strategy (price, throughput, latency)" + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderSortConfigBy" + partition: + description: "Partitioning strategy for sorting: \"model\" (default) groups endpoints by model before sorting (fallback models remain fallbacks), \"none\" sorts all endpoints together regardless of model." + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderSortConfigPartition" + title: ProviderSortConfig + type: object + OpenRouterProviderSortConfigBy: + description: "The provider sorting strategy (price, throughput, latency)" + enum: + - price + - throughput + - latency + - exacto + title: ProviderSortConfigBy + type: string + OpenRouterProviderSortConfigPartition: + description: "Partitioning strategy for sorting: \"model\" (default) groups endpoints by model before sorting (fallback models remain fallbacks), \"none\" sorts all endpoints together regardless of model." + enum: + - model + - none + title: ProviderSortConfigPartition + type: string + OpenRouterQuantization: + enum: + - int4 + - int8 + - fp4 + - fp6 + - fp8 + - fp16 + - bf16 + - fp32 + - unknown + title: Quantization + type: string + OpenRouterReasoningDetailUnion: + description: Reasoning detail union schema + oneOf: + - description: Reasoning detail encrypted schema + properties: + data: + type: string + format: + $ref: "#/components/schemas/OpenRouterReasoningFormat" + id: + nullable: true + type: string + index: + type: integer + type: + description: "Discriminator value: reasoning.encrypted" + type: string + required: + - type + - data + type: object + - description: Reasoning detail summary schema + properties: + format: + $ref: "#/components/schemas/OpenRouterReasoningFormat" + id: + nullable: true + type: string + index: + type: integer + summary: + type: string + type: + description: "Discriminator value: reasoning.summary" + type: string + required: + - type + - summary + type: object + - description: Reasoning detail text schema + properties: + format: + $ref: "#/components/schemas/OpenRouterReasoningFormat" + id: + nullable: true + type: string + index: + type: integer + signature: + nullable: true + type: string + text: + nullable: true + type: string + type: + description: "Discriminator value: reasoning.text" + type: string + required: + - type + type: object + title: ReasoningDetailUnion + OpenRouterReasoningFormat: + enum: + - unknown + - openai-responses-v1 + - azure-openai-responses-v1 + - xai-responses-v1 + - anthropic-claude-v1 + - google-gemini-v1 + title: ReasoningFormat + type: string + OpenRouterRouterAttempt: + properties: + model: + type: string + provider: + type: string + status: + type: integer + required: + - model + - provider + - status + title: RouterAttempt + type: object + OpenRouterRouterParams: + properties: + quality_floor: + format: double + type: number + throughput_floor: + format: double + type: number + version_group: + type: string + title: RouterParams + type: object + OpenRouterRoutingStrategy: + enum: + - direct + - auto + - free + - latest + - alias + - fallback + - pareto + - bodybuilder + - fusion + title: RoutingStrategy + type: string + OpenRouterSearchModelsServerToolConfig: + description: Configuration for the openrouter:experimental__search_models server tool + properties: + max_results: + description: "Maximum number of models to return. Defaults to 5, max 20." + type: integer + title: SearchModelsServerToolConfig + type: object + OpenRouterSearchQualityLevel: + description: "How much context to retrieve per result. Applies to Exa and Parallel engines; ignored with native provider search and Firecrawl. For Exa, pins a fixed per-result character cap (low=5,000, medium=15,000, high=30,000); when omitted, Exa picks an adaptive size per query and document (typically ~2,000–4,000 characters per result). For Parallel, controls the total characters across all results; when omitted, Parallel uses its own default size." + enum: + - low + - medium + - high + title: SearchQualityLevel + type: string + OpenRouterStopServerToolsWhen: + description: "Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`." + items: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenCondition" + title: StopServerToolsWhen + type: array + OpenRouterStopServerToolsWhenCondition: + description: "A single condition that, when met, halts the server-tool agent loop." + oneOf: + - description: "Stop when the upstream model emits this finish reason (e.g. `length`)." + properties: + reason: + type: string + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenFinishReasonIsType" + required: + - type + - reason + type: object + - description: Stop after a tool with this name has been called. + properties: + tool_name: + type: string + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenHasToolCallType" + required: + - type + - tool_name + type: object + - description: Stop once cumulative cost across the loop exceeds this dollar threshold. + properties: + max_cost_in_dollars: + format: double + type: number + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenMaxCostType" + required: + - type + - max_cost_in_dollars + type: object + - description: Stop once cumulative token usage across the loop exceeds this threshold. + properties: + max_tokens: + type: integer + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenMaxTokensUsedType" + required: + - type + - max_tokens + type: object + - description: Stop after the agent loop has executed this many steps. + properties: + step_count: + type: integer + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenStepCountIsType" + required: + - type + - step_count + type: object + title: StopServerToolsWhenCondition + OpenRouterStopServerToolsWhenFinishReasonIsType: + enum: + - finish_reason_is + title: StopServerToolsWhenFinishReasonIsType + type: string + OpenRouterStopServerToolsWhenHasToolCallType: + enum: + - has_tool_call + title: StopServerToolsWhenHasToolCallType + type: string + OpenRouterStopServerToolsWhenMaxCostType: + enum: + - max_cost + title: StopServerToolsWhenMaxCostType + type: string + OpenRouterStopServerToolsWhenMaxTokensUsedType: + enum: + - max_tokens_used + title: StopServerToolsWhenMaxTokensUsedType + type: string + OpenRouterStopServerToolsWhenStepCountIsType: + enum: + - step_count_is + title: StopServerToolsWhenStepCountIsType + type: string + OpenRouterTraceConfig: + description: "Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations." + properties: + generation_name: + type: string + parent_span_id: + type: string + span_name: + type: string + trace_id: + type: string + trace_name: + type: string + title: TraceConfig + type: object + OpenRouterWebFetchEngineEnum: + description: "Which fetch engine to use. \"auto\" (default) uses native if the provider supports it, otherwise Exa. \"native\" forces the provider's built-in fetch. \"exa\" uses Exa Contents API. \"openrouter\" uses direct HTTP fetch. \"firecrawl\" uses Firecrawl scrape (requires BYOK)." + enum: + - auto + - native + - openrouter + - firecrawl + - exa + title: WebFetchEngineEnum + type: string + OpenRouterWebFetchPluginId: + enum: + - web-fetch + title: WebFetchPluginId + type: string + OpenRouterWebFetchServerTool: + description: "OpenRouter built-in server tool: fetches full content from a URL (web page or PDF)" + properties: + parameters: + $ref: "#/components/schemas/OpenRouterWebFetchServerToolConfig" + type: + $ref: "#/components/schemas/OpenRouterWebFetchServerToolType" + required: + - type + title: WebFetchServerTool + type: object + OpenRouterWebFetchServerToolConfig: + description: Configuration for the openrouter:web_fetch server tool + properties: + allowed_domains: + description: Only fetch from these domains. + items: + type: string + type: array + blocked_domains: + description: Never fetch from these domains. + items: + type: string + type: array + engine: + $ref: "#/components/schemas/OpenRouterWebFetchEngineEnum" + max_content_tokens: + description: Maximum content length in approximate tokens. Content exceeding this limit is truncated. + type: integer + max_uses: + description: "Maximum number of web fetches per request. Once exceeded, the tool returns an error." + type: integer + title: WebFetchServerToolConfig + type: object + OpenRouterWebFetchServerToolType: + enum: + - openrouter:web_fetch + title: WebFetchServerToolType + type: string + OpenRouterWebSearchConfig: + properties: + allowed_domains: + description: "Limit search results to these domains. Supported by Exa, Firecrawl, Parallel, and most native providers (Anthropic, OpenAI, xAI). Not supported with Perplexity. Cannot be used with excluded_domains." + items: + type: string + type: array + engine: + $ref: "#/components/schemas/OpenRouterWebSearchEngineEnum" + excluded_domains: + description: "Exclude search results from these domains. Supported by Exa, Firecrawl, Parallel, Anthropic, and xAI. Not supported with OpenAI (silently ignored) or Perplexity. Cannot be used with allowed_domains." + items: + type: string + type: array + max_results: + description: "Maximum number of search results to return per search call. Defaults to 5. Applies to Exa, Firecrawl, and Parallel engines; ignored with native provider search." + type: integer + max_total_results: + description: "Maximum total number of search results across all search calls in a single request. Once this limit is reached, the tool will stop returning new results. Useful for controlling cost and context size in agentic loops. Defaults to 50 when not specified." + type: integer + search_context_size: + $ref: "#/components/schemas/OpenRouterSearchQualityLevel" + user_location: + $ref: "#/components/schemas/OpenRouterWebSearchUserLocationServerTool" + title: WebSearchConfig + type: object + OpenRouterWebSearchEngine: + description: The search engine to use for web search. + enum: + - native + - exa + - firecrawl + - parallel + title: WebSearchEngine + type: string + OpenRouterWebSearchEngineEnum: + description: "Which search engine to use. \"auto\" (default) uses native if the provider supports it, otherwise Exa. \"native\" forces the provider's built-in search. \"exa\" forces the Exa search API. \"firecrawl\" uses Firecrawl (requires BYOK). \"parallel\" uses the Parallel search API." + enum: + - auto + - native + - exa + - firecrawl + - parallel + title: WebSearchEngineEnum + type: string + OpenRouterWebSearchPluginId: + enum: + - web + title: WebSearchPluginId + type: string + OpenRouterWebSearchPluginUserLocation: + description: Approximate user location for location-biased search results. Passed through to native providers that support it (e.g. Anthropic). + properties: + city: + nullable: true + type: string + country: + nullable: true + type: string + region: + nullable: true + type: string + timezone: + nullable: true + type: string + type: + $ref: "#/components/schemas/OpenRouterWebSearchPluginUserLocationType" + required: + - type + title: WebSearchPluginUserLocation + type: object + OpenRouterWebSearchPluginUserLocationType: + enum: + - approximate + title: WebSearchPluginUserLocationType + type: string + OpenRouterWebSearchServerTool: + description: "OpenRouter built-in server tool: searches the web for current information" + properties: + parameters: + $ref: "#/components/schemas/OpenRouterWebSearchConfig" + type: + $ref: "#/components/schemas/OpenRouterWebSearchServerToolType" + required: + - type + title: OpenRouterWebSearchServerTool + type: object + OpenRouterWebSearchServerToolType: + enum: + - openrouter:web_search + title: OpenRouterWebSearchServerToolType + type: string + OpenRouterWebSearchUserLocationServerTool: + description: Approximate user location for location-biased results. + properties: + city: + nullable: true + type: string + country: + nullable: true + type: string + region: + nullable: true + type: string + timezone: + nullable: true + type: string + type: + $ref: "#/components/schemas/OpenRouterWebSearchUserLocationServerToolType" + title: WebSearchUserLocationServerTool + type: object + OpenRouterWebSearchUserLocationServerToolType: + enum: + - approximate + title: WebSearchUserLocationServerToolType + type: string + OutputAudioContent: + properties: + data: + description: Base64-encoded audio data + type: string + transcript: + description: Transcript of the audio + type: string + type: + description: The type of output content + enum: + - output_audio + type: string + required: + - type + - data + - transcript + type: object + OutputContent: + oneOf: + - $ref: "#/components/schemas/OutputTextContent" + - $ref: "#/components/schemas/OutputAudioContent" + OutputItem: + oneOf: + - $ref: "#/components/schemas/OutputMessage" + - $ref: "#/components/schemas/FileSearchToolCall" + - $ref: "#/components/schemas/FunctionToolCall" + - $ref: "#/components/schemas/WebSearchToolCall" + - $ref: "#/components/schemas/ComputerToolCall" + - $ref: "#/components/schemas/ReasoningItem" + OutputMessage: + properties: + content: + description: The content of the message + items: + $ref: "#/components/schemas/OutputContent" + type: array + role: + description: The role of the message + enum: + - assistant + type: string + type: + description: The type of output item + enum: + - message + type: string + required: + - type + - role + - content + type: object + OutputTextContent: + properties: + text: + description: The text content + type: string + type: + description: The type of output content + enum: + - output_text + type: string + required: + - type + - text + type: object + PersonalAccessToken: + properties: + createdAt: + description: "[Output Only]The date and time the token was created." + format: date-time + type: string + description: + description: "Optional. A more detailed description of the token's intended use." + type: string + id: + description: Unique identifier for the GitCommit + format: uuid + type: string + name: + description: Required. The name of the token. Can be a simple description. + type: string + token: + description: "[Output Only]. The personal access token. Only returned during creation." + type: string + type: object + PikaBody_generate_2_2_c2v_generate_2_2_pikascenes_post: + properties: + aspectRatio: + anyOf: + - maximum: 2.5 + minimum: 0.4 + type: number + description: Aspect ratio (width / height) + title: Aspectratio + duration: + default: 5 + title: Duration + type: integer + images: + items: + format: binary + type: string + title: Images + type: array + ingredientsMode: + enum: + - creative + - precise + title: Ingredientsmode + type: string + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + promptText: + anyOf: + - type: string + title: Prompttext + resolution: + default: 1080p + title: Resolution + type: string + seed: + anyOf: + - type: integer + title: Seed + required: + - ingredientsMode + title: Body_generate_2_2_c2v_generate_2_2_pikascenes_post + type: object + PikaBody_generate_2_2_i2v_generate_2_2_i2v_post: + properties: + duration: + $ref: "#/components/schemas/PikaDurationEnum" + image: + format: binary + nullable: true + title: Image + type: string + negativePrompt: + nullable: true + title: Negativeprompt + type: string + promptText: + nullable: true + title: Prompttext + type: string + resolution: + $ref: "#/components/schemas/PikaResolutionEnum" + seed: + nullable: true + title: Seed + type: integer + title: Body_generate_2_2_i2v_generate_2_2_i2v_post + type: object + PikaBody_generate_2_2_keyframe_generate_2_2_pikaframes_post: + properties: + duration: + maximum: 10 + minimum: 5 + title: Duration + type: integer + keyFrames: + description: Array of keyframe images + items: + format: binary + type: string + title: Keyframes + type: array + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + promptText: + title: Prompttext + type: string + resolution: + $ref: "#/components/schemas/PikaResolutionEnum" + seed: + anyOf: + - type: integer + title: Seed + required: + - promptText + title: Body_generate_2_2_keyframe_generate_2_2_pikaframes_post + type: object + PikaBody_generate_2_2_t2v_generate_2_2_t2v_post: + properties: + aspectRatio: + default: 1.7777777777777777 + description: Aspect ratio (width / height) + format: float + maximum: 2.5 + minimum: 0.4 + title: Aspectratio + type: number + duration: + $ref: "#/components/schemas/PikaDurationEnum" + negativePrompt: + nullable: true + title: Negativeprompt + type: string + promptText: + title: Prompttext + type: string + resolution: + $ref: "#/components/schemas/PikaResolutionEnum" + seed: + nullable: true + title: Seed + type: integer + required: + - promptText + title: Body_generate_2_2_t2v_generate_2_2_t2v_post + type: object + PikaBody_generate_pikadditions_generate_pikadditions_post: + properties: + image: + format: binary + title: Image + type: string + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + promptText: + anyOf: + - type: string + title: Prompttext + seed: + anyOf: + - type: integer + title: Seed + video: + format: binary + title: Video + type: string + title: Body_generate_pikadditions_generate_pikadditions_post + type: object + PikaBody_generate_pikaffects_generate_pikaffects_post: + properties: + image: + format: binary + title: Image + type: string + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + pikaffect: + $ref: "#/components/schemas/Pikaffect" + promptText: + anyOf: + - type: string + title: Prompttext + seed: + anyOf: + - type: integer + title: Seed + title: Body_generate_pikaffects_generate_pikaffects_post + type: object + PikaBody_generate_pikaswaps_generate_pikaswaps_post: + properties: + image: + anyOf: + - format: binary + type: string + title: Image + modifyRegionMask: + anyOf: + - format: binary + type: string + description: "A mask image that specifies the region to modify, where the mask is white and the background is black" + title: Modifyregionmask + modifyRegionRoi: + anyOf: + - type: string + description: Plaintext description of the object / region to modify + title: Modifyregionroi + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + promptText: + anyOf: + - type: string + title: Prompttext + seed: + anyOf: + - type: integer + title: Seed + video: + format: binary + title: Video + type: string + title: Body_generate_pikaswaps_generate_pikaswaps_post + type: object + PikaDurationEnum: + default: 5 + enum: + - 5 + - 10 + type: integer + PikaGenerateResponse: + properties: + video_id: + title: Video Id + type: string + required: + - video_id + title: GenerateResponse + type: object + PikaHTTPValidationError: + properties: + detail: + items: + $ref: "#/components/schemas/PikaValidationError" + title: Detail + type: array + title: HTTPValidationError + type: object + PikaResolutionEnum: + default: 1080p + enum: + - 1080p + - 720p + type: string + PikaStatusEnum: + enum: + - queued + - started + - finished + type: string + PikaValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + title: Location + type: array + msg: + title: Message + type: string + type: + title: Error Type + type: string + required: + - loc + - msg + - type + title: ValidationError + type: object + PikaVideoResponse: + properties: + id: + title: Id + type: string + progress: + nullable: true + title: Progress + type: integer + status: + $ref: "#/components/schemas/PikaStatusEnum" + url: + nullable: true + title: Url + type: string + required: + - id + - status + title: VideoResponse + type: object + Pikaffect: + enum: + - Cake-ify + - Crumble + - Crush + - Decapitate + - Deflate + - Dissolve + - Explode + - Eye-pop + - Inflate + - Levitate + - Melt + - Peel + - Poke + - Squish + - Ta-da + - Tear + type: string + PixverseImageUploadResponse: + properties: + ErrCode: + type: integer + ErrMsg: + type: string + Resp: + properties: + img_id: + type: integer + type: object + type: object + PixverseImageVideoRequest: + properties: + duration: + enum: + - 5 + - 8 + type: integer + img_id: + type: integer + model: + enum: + - v3.5 + type: string + motion_mode: + enum: + - normal + - fast + type: string + prompt: + type: string + quality: + enum: + - 360p + - 540p + - 720p + - 1080p + type: string + seed: + type: integer + style: + enum: + - anime + - 3d_animation + - clay + - comic + - cyberpunk + type: string + template_id: + type: integer + water_mark: + type: boolean + required: + - img_id + - model + - duration + - quality + - prompt + type: object + PixverseTextVideoRequest: + properties: + aspect_ratio: + enum: + - 16:9 + - 4:3 + - 1:1 + - 3:4 + - 9:16 + type: string + duration: + enum: + - 5 + - 8 + type: integer + model: + enum: + - v3.5 + type: string + motion_mode: + enum: + - normal + - fast + type: string + negative_prompt: + type: string + prompt: + type: string + quality: + enum: + - 360p + - 540p + - 720p + - 1080p + type: string + seed: + type: integer + style: + enum: + - anime + - 3d_animation + - clay + - comic + - cyberpunk + type: string + template_id: + type: integer + water_mark: + type: boolean + required: + - aspect_ratio + - duration + - model + - prompt + - quality + type: object + PixverseTransitionVideoRequest: + properties: + duration: + enum: + - 5 + - 8 + type: integer + first_frame_img: + type: integer + last_frame_img: + type: integer + model: + enum: + - v3.5 + type: string + motion_mode: + enum: + - normal + - fast + type: string + prompt: + type: string + quality: + enum: + - 360p + - 540p + - 720p + - 1080p + type: string + seed: + type: integer + style: + enum: + - anime + - 3d_animation + - clay + - comic + - cyberpunk + type: string + template_id: + type: integer + water_mark: + type: boolean + required: + - first_frame_img + - last_frame_img + - model + - duration + - quality + - prompt + - motion_mode + - seed + type: object + PixverseVideoResponse: + properties: + ErrCode: + type: integer + ErrMsg: + type: string + Resp: + properties: + video_id: + type: integer + type: object + type: object + PixverseVideoResultResponse: + properties: + ErrCode: + type: integer + ErrMsg: + type: string + Resp: + properties: + create_time: + type: string + id: + type: integer + modify_time: + type: string + negative_prompt: + type: string + outputHeight: + type: integer + outputWidth: + type: integer + prompt: + type: string + resolution_ratio: + type: integer + seed: + type: integer + size: + type: integer + status: + description: "Video generation status codes:\n* 1 - Generation successful\n* 5 - Generating\n* 6 - Deleted\n* 7 - Contents moderation failed\n* 8 - Generation failed\n" + enum: + - 1 + - 5 + - 6 + - 7 + - 8 + type: integer + style: + type: string + url: + type: string + type: object + type: object + PromoCodeResponse: + properties: + active: + description: Whether the promo code is currently active + type: boolean + code: + description: The generated promotional code + type: string + coupon_id: + description: The Stripe coupon ID associated with this promo code + type: string + expires_at: + description: Unix timestamp when the promo code expires + format: int64 + type: integer + id: + description: The Stripe promotion code ID + type: string + max_redemptions: + description: Maximum number of times this code can be redeemed + type: integer + metadata: + additionalProperties: + type: string + description: Set of key-value pairs for storing additional information + type: object + times_redeemed: + description: Number of times this code has been redeemed + type: integer + required: + - id + - code + - coupon_id + - active + type: object + Publisher: + properties: + createdAt: + description: The date and time the publisher was created. + format: date-time + type: string + description: + type: string + id: + description: "The unique identifier for the publisher. It's akin to a username. Should be lowercase." + type: string + logo: + description: "URL to the publisher's logo." + type: string + members: + description: A list of members in the publisher. + items: + $ref: "#/components/schemas/PublisherMember" + type: array + name: + type: string + source_code_repo: + type: string + status: + $ref: "#/components/schemas/PublisherStatus" + support: + type: string + website: + type: string + type: object + PublisherMember: + properties: + id: + description: The unique identifier for the publisher member. + type: string + role: + description: The role of the user in the publisher. + type: string + user: + $ref: "#/components/schemas/PublisherUser" + type: object + PublisherStatus: + enum: + - PublisherStatusActive + - PublisherStatusBanned + type: string + PublisherUser: + properties: + email: + description: The email address for this user. + type: string + id: + description: The unique id for this user. + type: string + name: + description: The name for this user. + type: string + type: object + QuiverImageObject: + description: Image input for Quiver AI (URL or base64) + properties: + base64: + description: Base64-encoded image payload + maxLength: 16777216 + type: string + url: + description: Network image URL. Only http/https URLs allowed. + format: uri + type: string + type: object + QuiverImageToSVGRequest: + description: Request body for Quiver AI image-to-SVG vectorization + properties: + auto_crop: + default: false + description: Auto-crop image to the dominant subject before vectorization + type: boolean + image: + $ref: "#/components/schemas/QuiverImageObject" + max_output_tokens: + description: Maximum number of output tokens + maximum: 131072 + minimum: 1 + type: integer + model: + description: Model identifier for SVG vectorization + example: arrow-1.1 + type: string + presence_penalty: + default: 0 + description: Penalty for tokens already present in prior output + maximum: 2 + minimum: -2 + nullable: true + type: number + stream: + default: false + description: Enable Server-Sent Events streaming + type: boolean + target_size: + description: Square resize target in pixels + maximum: 4096 + minimum: 128 + type: integer + temperature: + default: 1 + description: Sampling temperature + maximum: 2 + minimum: 0 + type: number + top_p: + default: 1 + description: Nucleus sampling probability + maximum: 1 + minimum: 0 + type: number + required: + - model + - image + type: object + QuiverSVGResponse: + description: Response from Quiver AI SVG generation/vectorization + properties: + created: + description: Unix timestamp of creation + type: integer + credits: + description: Credit cost for this request. Use this for billing instead of usage tokens. + minimum: 0 + type: integer + data: + items: + properties: + mime_type: + description: MIME type of the output + enum: + - image/svg+xml + type: string + svg: + description: Raw SVG markup + type: string + required: + - svg + - mime_type + type: object + minItems: 1 + type: array + id: + description: Unique identifier for the generation + type: string + usage: + deprecated: true + description: Deprecated. Use credits for billing values. + properties: + input_tokens: + deprecated: true + description: Deprecated. Token counts are retained for compatibility and may be zeroed. + minimum: 0 + type: integer + output_tokens: + deprecated: true + description: Deprecated. Token counts are retained for compatibility and may be zeroed. + minimum: 0 + type: integer + total_tokens: + deprecated: true + description: Deprecated. Token counts are retained for compatibility and may be zeroed. + minimum: 0 + type: integer + type: object + required: + - id + - created + - data + type: object + QuiverTextToSVGRequest: + description: Request body for Quiver AI text-to-SVG generation + properties: + instructions: + description: Additional style or formatting guidance + type: string + max_output_tokens: + description: Maximum number of output tokens + maximum: 131072 + minimum: 1 + type: integer + model: + description: Model identifier for SVG generation + example: arrow-1.1 + type: string + "n": + default: 1 + description: Number of SVGs to generate + maximum: 16 + minimum: 1 + type: integer + presence_penalty: + default: 0 + description: Penalty for tokens already present in prior output + maximum: 2 + minimum: -2 + nullable: true + type: number + prompt: + description: Text description of the desired SVG output + type: string + references: + description: "Optional reference images to guide style/composition. Accepts URL object, base64 object, or URL string shorthand. Runtime limits are model-specific." + items: + oneOf: + - $ref: "#/components/schemas/QuiverImageObject" + - description: URL string shorthand for a reference image + format: uri + type: string + maxItems: 16 + type: array + temperature: + default: 1 + description: Sampling temperature + maximum: 2 + minimum: 0 + type: number + top_p: + default: 1 + description: Nucleus sampling probability + maximum: 1 + minimum: 0 + type: number + required: + - model + - prompt + type: object + RGBColor: + description: RGB color values + example: + rgb: + - 255 + - 0 + - 0 + properties: + rgb: + items: + maximum: 255 + minimum: 0 + type: integer + maxItems: 3 + minItems: 3 + type: array + required: + - rgb + type: object + Reasoning: + description: "**o-series models only**\n\nConfiguration options for\n[reasoning models](https://platform.openai.com/docs/guides/reasoning).\n" + properties: + effort: + $ref: "#/components/schemas/ReasoningEffort" + generate_summary: + deprecated: true + description: "**Deprecated:** use `summary` instead.\n\nA summary of the reasoning performed by the model. This can be\nuseful for debugging and understanding the model's reasoning process.\nOne of `auto`, `concise`, or `detailed`.\n" + enum: + - auto + - concise + - detailed + type: string + summary: + description: "A summary of the reasoning performed by the model. This can be\nuseful for debugging and understanding the model's reasoning process.\nOne of `auto`, `concise`, or `detailed`.\n" + enum: + - auto + - concise + - detailed + type: string + title: Reasoning + type: object + ReasoningEffort: + default: medium + description: "**o-series models only**\n\nConstrains effort on reasoning for\n[reasoning models](https://platform.openai.com/docs/guides/reasoning).\nCurrently supported values are `low`, `medium`, and `high`. Reducing\nreasoning effort can result in faster responses and fewer tokens used\non reasoning in a response.\n" + enum: + - low + - medium + - high + type: string + ReasoningItem: + description: "A description of the chain of thought used by a reasoning model while generating\na response.\n" + properties: + id: + description: "The unique identifier of the reasoning content.\n" + type: string + status: + description: "The status of the item. One of `in_progress`, `completed`, or\n`incomplete`. Populated when items are returned via API.\n" + enum: + - in_progress + - completed + - incomplete + type: string + summary: + description: "Reasoning text contents.\n" + items: + properties: + text: + description: "A short summary of the reasoning used by the model when generating\nthe response.\n" + type: string + type: + description: "The type of the object. Always `summary_text`.\n" + enum: + - summary_text + type: string + x-stainless-const: true + required: + - type + - text + type: object + type: array + type: + description: "The type of the object. Always `reasoning`.\n" + enum: + - reasoning + type: string + x-stainless-const: true + required: + - id + - summary + - type + title: Reasoning + type: object + RecraftCreateStyleRequest: + description: Request body for creating a Recraft style reference + properties: + file1: + description: "First image file (PNG, JPG, or WEBP)" + format: binary + type: string + file2: + description: "Second image file (PNG, JPG, or WEBP)" + format: binary + type: string + file3: + description: "Third image file (PNG, JPG, or WEBP)" + format: binary + type: string + file4: + description: "Fourth image file (PNG, JPG, or WEBP)" + format: binary + type: string + file5: + description: "Fifth image file (PNG, JPG, or WEBP)" + format: binary + type: string + style: + description: The base style of the generated images + enum: + - realistic_image + - digital_illustration + - vector_illustration + - icon + type: string + required: + - style + - file1 + type: object + RecraftCreateStyleResponse: + description: Response containing the created style ID + properties: + id: + description: The unique identifier of the created style + format: uuid + type: string + required: + - id + type: object + RecraftGenerateImageResponse: + properties: + created: + type: integer + credits: + type: integer + data: + items: + $ref: "#/components/schemas/RecraftImage" + type: array + required: + - created + - data + - credits + type: object + RecraftImage: + properties: + b64_json: + type: string + features: + $ref: "#/components/schemas/RecraftImageFeatures" + image_id: + format: uuid + type: string + revised_prompt: + type: string + url: + type: string + required: + - image_id + type: object + RecraftImageColor: + properties: + rgb: + items: + type: integer + type: array + std: + items: + type: number + type: array + weight: + type: number + type: object + RecraftImageFeatures: + properties: + nsfw_score: + type: number + type: object + RecraftImageFormat: + enum: + - webp + - png + type: string + RecraftImageGenerationRequest: + description: Parameters for the Recraft image generation proxy request. + properties: + controls: + description: The controls for the generated image + properties: + artistic_level: + description: "Defines artistic tone of your image. At a simple level, the person looks straight at the camera in a static and clean style. Dynamic and eccentric levels introduce movement and creativity." + maximum: 5 + minimum: 0 + nullable: true + type: integer + background_color: + $ref: "#/components/schemas/RGBColor" + colors: + description: An array of preferable colors + items: + $ref: "#/components/schemas/RGBColor" + type: array + no_text: + description: Do not embed text layouts + type: boolean + type: object + model: + description: "The model to use for generation (e.g., \"recraftv3\")" + type: string + "n": + description: The number of images to generate + maximum: 4 + minimum: 1 + type: integer + prompt: + description: The text prompt describing the image to generate + type: string + size: + description: "The size of the generated image (e.g., \"1024x1024\")" + type: string + style: + description: "The style to apply to the generated image (e.g., \"digital_illustration\")" + type: string + style_id: + description: "The style ID to apply to the generated image (e.g., \"123e4567-e89b-12d3-a456-426614174000\"). If style_id is provided, style should not be provided." + type: string + required: + - prompt + - model + - size + - "n" + type: object + RecraftImageGenerationResponse: + description: Response from the Recraft image generation API. + properties: + created: + description: Unix timestamp when the generation was created + type: integer + credits: + description: Number of credits used for the generation + type: integer + data: + description: Array of generated image information + items: + properties: + image_id: + description: Unique identifier for the generated image + type: string + url: + description: URL to access the generated image + type: string + type: object + type: array + required: + - created + - credits + - data + type: object + RecraftImageStyle: + enum: + - digital_illustration + - icon + - realistic_image + - vector_illustration + type: string + RecraftImageSubStyle: + enum: + - 2d_art_poster + - 3d + - 80s + - glow + - grain + - hand_drawn + - infantile_sketch + - kawaii + - pixel_art + - psychedelic + - seamless + - voxel + - watercolor + - broken_line + - colored_outline + - colored_shapes + - colored_shapes_gradient + - doodle_fill + - doodle_offset_fill + - offset_fill + - outline + - outline_gradient + - uneven_fill + - 70s + - cartoon + - doodle_line_art + - engraving + - flat_2 + - kawaii + - line_art + - linocut + - seamless + - b_and_w + - enterprise + - hard_flash + - hdr + - motion_blur + - natural_light + - studio_portrait + - line_circuit + - 2d_art_poster_2 + - engraving_color + - flat_air_art + - hand_drawn_outline + - handmade_3d + - stickers_drawings + - plastic + - pictogram + type: string + RecraftImageToImageRequest: + properties: + block_nsfw: + type: boolean + calculate_features: + type: boolean + controls: + $ref: "#/components/schemas/RecraftUserControls" + image: + format: binary + type: string + image_format: + $ref: "#/components/schemas/RecraftImageFormat" + model: + $ref: "#/components/schemas/RecraftTransformModel" + "n": + type: integer + negative_prompt: + type: string + prompt: + type: string + response_format: + $ref: "#/components/schemas/RecraftResponseFormat" + strength: + type: number + style: + $ref: "#/components/schemas/RecraftImageStyle" + style_id: + format: uuid + type: string + substyle: + $ref: "#/components/schemas/RecraftImageSubStyle" + text_layout: + $ref: "#/components/schemas/RecraftTextLayout" + required: + - prompt + - image + - strength + type: object + RecraftProcessImageRequest: + properties: + image: + format: binary + type: string + image_format: + $ref: "#/components/schemas/RecraftImageFormat" + response_format: + $ref: "#/components/schemas/RecraftResponseFormat" + required: + - image + type: object + RecraftProcessImageResponse: + properties: + created: + type: integer + credits: + type: integer + image: + $ref: "#/components/schemas/RecraftImage" + required: + - created + - image + - credits + type: object + RecraftResponseFormat: + enum: + - url + - b64_json + type: string + RecraftTextLayout: + items: + $ref: "#/components/schemas/RecraftTextLayoutItem" + type: array + RecraftTextLayoutItem: + properties: + bbox: + items: + items: + type: number + x-go-type: float32 + type: array + type: array + text: + type: string + required: + - text + - bbox + type: object + RecraftTransformImageWithMaskRequest: + properties: + block_nsfw: + type: boolean + calculate_features: + type: boolean + image: + format: binary + type: string + image_format: + $ref: "#/components/schemas/RecraftImageFormat" + mask: + format: binary + type: string + model: + $ref: "#/components/schemas/RecraftTransformModel" + "n": + type: integer + negative_prompt: + type: string + prompt: + type: string + response_format: + $ref: "#/components/schemas/RecraftResponseFormat" + style: + $ref: "#/components/schemas/RecraftImageStyle" + style_id: + format: uuid + type: string + substyle: + $ref: "#/components/schemas/RecraftImageSubStyle" + text_layout: + $ref: "#/components/schemas/RecraftTextLayout" + required: + - image + - mask + - prompt + type: object + RecraftTransformModel: + enum: + - refm1 + - recraft20b + - recraftv2 + - recraftv3 + - recraftv4 + - recraftv4_pro + - flux1_1pro + - flux1dev + - imagen3 + - hidream_i1_dev + type: string + RecraftUserControls: + properties: + artistic_level: + type: integer + background_color: + $ref: "#/components/schemas/RecraftImageColor" + colors: + items: + $ref: "#/components/schemas/RecraftImageColor" + type: array + no_text: + type: boolean + type: object + ReleaseNote: + properties: + attention: + description: The attention level for this release + enum: + - low + - medium + - high + type: string + content: + description: The content of the release note in markdown format + type: string + id: + description: Unique identifier for the release note + type: integer + project: + description: The project this release note belongs to + enum: + - comfyui + - comfyui_frontend + - desktop + - cloud + type: string + published_at: + description: When the release note was published + format: date-time + type: string + version: + description: The version of the release + type: string + required: + - id + - project + - version + - attention + - content + - published_at + type: object + RenderingSpeed: + default: DEFAULT + description: The rendering speed setting that controls the trade-off between generation speed and quality + enum: + - DEFAULT + - TURBO + - QUALITY + type: string + ResponseCompletedEvent: + description: Emitted when the model response is complete. + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "The type of the event. Always `response.completed`." + enum: + - response.completed + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseContentPartAddedEvent: + description: Emitted when a new content part is added. + properties: + content_index: + description: The index of the content part that was added. + type: integer + item_id: + description: The ID of the output item that the content part was added to. + type: string + output_index: + description: The index of the output item that the content part was added to. + type: integer + part: + $ref: "#/components/schemas/OutputContent" + type: + description: "The type of the event. Always `response.content_part.added`." + enum: + - response.content_part.added + type: string + x-stainless-const: true + required: + - type + - item_id + - output_index + - content_index + - part + type: object + ResponseContentPartDoneEvent: + description: Emitted when a content part is done. + properties: + content_index: + description: The index of the content part that is done. + type: integer + item_id: + description: The ID of the output item that the content part was added to. + type: string + output_index: + description: The index of the output item that the content part was added to. + type: integer + part: + $ref: "#/components/schemas/OutputContent" + type: + description: "The type of the event. Always `response.content_part.done`." + enum: + - response.content_part.done + type: string + x-stainless-const: true + required: + - type + - item_id + - output_index + - content_index + - part + type: object + ResponseCreatedEvent: + description: An event that is emitted when a response is created. + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "The type of the event. Always `response.created`." + enum: + - response.created + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseError: + description: An error object returned when the model fails to generate a Response. + properties: + code: + $ref: "#/components/schemas/ResponseErrorCode" + message: + description: A human-readable description of the error. + type: string + required: + - code + - message + type: object + ResponseErrorCode: + description: The error code for the response. + enum: + - server_error + - rate_limit_exceeded + - invalid_prompt + - vector_store_timeout + - invalid_image + - invalid_image_format + - invalid_base64_image + - invalid_image_url + - image_too_large + - image_too_small + - image_parse_error + - image_content_policy_violation + - invalid_image_mode + - image_file_too_large + - unsupported_image_media_type + - empty_image_file + - failed_to_download_image + - image_file_not_found + type: string + ResponseErrorEvent: + description: Emitted when an error occurs. + properties: + code: + description: "The error code.\n" + type: string + message: + description: "The error message.\n" + type: string + param: + description: "The error parameter.\n" + type: string + type: + description: "The type of the event. Always `error`.\n" + enum: + - error + type: string + x-stainless-const: true + required: + - type + - code + - message + - param + type: object + ResponseFailedEvent: + description: "An event that is emitted when a response fails.\n" + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "The type of the event. Always `response.failed`.\n" + enum: + - response.failed + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseFormatJsonObject: + description: "JSON object response format. An older method of generating JSON responses.\nUsing `json_schema` is recommended for models that support it. Note that the\nmodel will not generate JSON without a system or user message instructing it\nto do so.\n" + properties: + type: + description: "The type of response format being defined. Always `json_object`." + enum: + - json_object + type: string + x-stainless-const: true + required: + - type + title: JSON object + type: object + ResponseFormatJsonSchemaSchema: + additionalProperties: true + description: "The schema for the response format, described as a JSON Schema object.\nLearn how to build JSON schemas [here](https://json-schema.org/).\n" + title: JSON schema + type: object + ResponseFormatText: + description: "Default response format. Used to generate text responses.\n" + properties: + type: + description: "The type of response format being defined. Always `text`." + enum: + - text + type: string + x-stainless-const: true + required: + - type + title: Text + type: object + ResponseInProgressEvent: + description: Emitted when the response is in progress. + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "The type of the event. Always `response.in_progress`.\n" + enum: + - response.in_progress + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseIncompleteEvent: + description: "An event that is emitted when a response finishes as incomplete.\n" + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "The type of the event. Always `response.incomplete`.\n" + enum: + - response.incomplete + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseOutputItemAddedEvent: + description: Emitted when a new output item is added. + properties: + item: + $ref: "#/components/schemas/OutputItem" + output_index: + description: "The index of the output item that was added.\n" + type: integer + type: + description: "The type of the event. Always `response.output_item.added`.\n" + enum: + - response.output_item.added + type: string + x-stainless-const: true + required: + - type + - output_index + - item + type: object + ResponseOutputItemDoneEvent: + description: Emitted when an output item is marked done. + properties: + item: + $ref: "#/components/schemas/OutputItem" + output_index: + description: "The index of the output item that was marked done.\n" + type: integer + type: + description: "The type of the event. Always `response.output_item.done`.\n" + enum: + - response.output_item.done + type: string + x-stainless-const: true + required: + - type + - output_index + - item + type: object + ResponseProperties: + properties: + instructions: + description: "Inserts a system (or developer) message as the first item in the model's context.\n\nWhen using along with `previous_response_id`, the instructions from a previous\nresponse will not be carried over to the next response. This makes it simple\nto swap out system (or developer) messages in new responses.\n" + type: string + max_output_tokens: + description: "An upper bound for the number of tokens that can be generated for a response, including visible output tokens and [reasoning tokens](/docs/guides/reasoning).\n" + type: integer + model: + $ref: "#/components/schemas/OpenAIModels" + previous_response_id: + description: "The unique ID of the previous response to the model. Use this to\ncreate multi-turn conversations. Learn more about\n[conversation state](/docs/guides/conversation-state).\n" + type: string + reasoning: + $ref: "#/components/schemas/Reasoning" + text: + properties: + format: + $ref: "#/components/schemas/TextResponseFormatConfiguration" + type: object + tool_choice: + description: "How the model should select which tool (or tools) to use when generating\na response. See the `tools` parameter to see how to specify which tools\nthe model can call.\n" + oneOf: + - $ref: "#/components/schemas/ToolChoiceOptions" + - $ref: "#/components/schemas/ToolChoiceTypes" + - $ref: "#/components/schemas/ToolChoiceFunction" + tools: + items: + $ref: "#/components/schemas/Tool" + type: array + truncation: + default: disabled + description: "The truncation strategy to use for the model response.\n- `auto`: If the context of this response and previous ones exceeds\n the model's context window size, the model will truncate the\n response to fit the context window by dropping input items in the\n middle of the conversation.\n- `disabled` (default): If a model response will exceed the context window\n size for a model, the request will fail with a 400 error.\n" + enum: + - auto + - disabled + type: string + type: object + ResponseUsage: + description: "Represents token usage details including input tokens, output tokens,\na breakdown of output tokens, and the total tokens used.\n" + properties: + input_tokens: + description: The number of input tokens. + type: integer + input_tokens_details: + description: A detailed breakdown of the input tokens. + properties: + cached_tokens: + description: "The number of tokens that were retrieved from the cache.\n[More on prompt caching](/docs/guides/prompt-caching).\n" + type: integer + required: + - cached_tokens + type: object + output_tokens: + description: The number of output tokens. + type: integer + output_tokens_details: + description: A detailed breakdown of the output tokens. + properties: + reasoning_tokens: + description: The number of reasoning tokens. + type: integer + required: + - reasoning_tokens + type: object + total_tokens: + description: The total number of tokens used. + type: integer + required: + - input_tokens + - input_tokens_details + - output_tokens + - output_tokens_details + - total_tokens + type: object + ReveImageCreateRequest: + description: Request body for Reve image creation. + properties: + aspect_ratio: + default: 3:2 + description: The desired aspect ratio of the generated image. + enum: + - 16:9 + - 9:16 + - 3:2 + - 2:3 + - 4:3 + - 3:4 + - 1:1 + type: string + postprocessing: + description: Optional postprocessing operations to apply after generation. May add additional cost. + items: + $ref: "#/components/schemas/RevePostprocessingOperation" + type: array + prompt: + description: The text description of the desired image. Maximum length is 2560 characters. + maxLength: 2560 + type: string + test_time_scaling: + description: "If included, the model will spend more effort making better images. Values between 1 and 15 are accepted. Adds additional credits cost." + maximum: 15 + minimum: 1 + type: number + version: + default: latest + description: "Model version to use. Supported: latest, reve-create@20250915." + type: string + required: + - prompt + type: object + ReveImageEditRequest: + description: Request body for Reve image editing. + properties: + aspect_ratio: + description: The desired aspect ratio. Defaults to the aspect ratio of the reference image if not provided. + enum: + - 16:9 + - 9:16 + - 3:2 + - 2:3 + - 4:3 + - 3:4 + - 1:1 + type: string + edit_instruction: + description: The text description of how to edit the provided image. Maximum length is 2560 characters. + maxLength: 2560 + type: string + postprocessing: + description: Optional postprocessing operations to apply after generation. May add additional cost. + items: + $ref: "#/components/schemas/RevePostprocessingOperation" + type: array + reference_image: + description: A base64 encoded image to use as reference for the edit. + type: string + test_time_scaling: + description: "If included, the model will spend more effort making better images. Values between 1 and 15 are accepted. Adds additional credits cost." + maximum: 15 + minimum: 1 + type: number + version: + default: latest + description: "Model version to use. Supported: latest-fast, latest, reve-edit-fast@20251030, reve-edit@20250915." + type: string + required: + - edit_instruction + - reference_image + type: object + ReveImageRemixRequest: + description: Request body for Reve image remixing. + properties: + aspect_ratio: + description: "The desired aspect ratio. If not provided, smartly chosen by the model." + enum: + - 16:9 + - 9:16 + - 3:2 + - 2:3 + - 4:3 + - 3:4 + - 1:1 + type: string + postprocessing: + description: Optional postprocessing operations to apply after generation. May add additional cost. + items: + $ref: "#/components/schemas/RevePostprocessingOperation" + type: array + prompt: + description: The text description of the desired image. May include xml img tags to refer to specific reference images by index. Maximum length is 2560 characters. + maxLength: 2560 + type: string + reference_images: + description: A list of 1-6 base64 encoded reference images. Each must be less than 10 MB. Total pixel count must be no more than 32 million pixels. + items: + type: string + maxItems: 6 + minItems: 1 + type: array + test_time_scaling: + description: "If included, the model will spend more effort making better images. Values between 1 and 15 are accepted. Adds additional credits cost." + maximum: 15 + minimum: 1 + type: number + version: + default: latest + description: "Model version to use. Supported: latest-fast, latest, reve-remix-fast@20251030, reve-remix@20250915." + type: string + required: + - prompt + - reference_images + type: object + ReveImageResponse: + description: Response from the Reve image API. + properties: + content_violation: + description: Indicates whether the generated image violates the content policy. + type: boolean + credits_remaining: + description: The number of credits remaining in your budget. + type: number + credits_used: + description: The number of credits used for this request. + type: number + image: + description: The base64 encoded image data. Empty if the request was not successful. + type: string + request_id: + description: A unique id for the request. + type: string + version: + description: The specific model version used in the generation process. + type: string + type: object + RevePostprocessingOperation: + description: A postprocessing operation to apply after image generation. + properties: + effect_name: + description: Name of the effect to apply. Only used when process is effect. + type: string + effect_parameters: + description: Optional parameters to override default effect settings. + type: object + max_dim: + description: "Maximum dimension for fit_image. At least one of max_dim, max_width, or max_height must be set." + maximum: 1024 + type: integer + max_height: + description: Maximum height for fit_image. + maximum: 1024 + type: integer + max_width: + description: Maximum width for fit_image. + maximum: 1024 + type: integer + process: + description: "The postprocessing operation: upscale, remove_background, fit_image, or effect." + enum: + - upscale + - remove_background + - fit_image + - effect + type: string + upscale_factor: + description: "Upscale factor (2, 3, or 4). Only used when process is upscale." + maximum: 4 + minimum: 2 + type: integer + required: + - process + type: object + Rodin3DCheckStatusRequest: + properties: + subscription_key: + description: subscription from generate endpoint + type: string + required: + - subscription_key + type: object + Rodin3DCheckStatusResponse: + properties: + jobs: + description: Details for the generation status. + items: + $ref: "#/components/schemas/RodinCheckStatusJobItem" + type: array + type: object + Rodin3DDownloadRequest: + properties: + task_uuid: + description: Task UUID + type: string + required: + - task_uuid + type: object + Rodin3DDownloadResponse: + properties: + list: + items: + $ref: "#/components/schemas/RodinResourceItem" + type: array + type: object + Rodin3DGenerateRequest: + properties: + TAPose: + description: "Optional. When generating the human-like model, this parameter controls the generation result to T/A pose. When true, your model will be either T pose or A pose.\n" + type: boolean + addons: + description: "Optional. The default is []. Possible value is `HighPack`. By selecting HighPack: generate 4K resolution texture instead of the default 2K. If Quad mode, the number of faces will be ~16 times the number of faces selected in the `quality` parameter.\n" + items: + $ref: "#/components/schemas/RodinAddonType" + type: array + bbox_condition: + description: "Optional. This is a controlnet that controls the maximum size of the generated model. This array must contain 3 elements, Width (Y-axis), Height (Z-axis), and Length (X-axis), in this exact fixed sequence (y, z, x).\n" + items: + type: integer + type: array + condition_mode: + $ref: "#/components/schemas/RodinConditionModeType" + geometry_file_format: + $ref: "#/components/schemas/RodinGeometryFileFormatType" + geometry_instruct_mode: + $ref: "#/components/schemas/RodinGeometryInstructModeType" + hd_texture: + description: "Optional. Default is false. If true, high-quality texture will be provided.\n" + type: boolean + images: + description: "Images to be used in generation, up to 5 images. As the form data request will preserve the order of the images, the first image will be the image for material generation. For Image-to-3D generation: required (one or more images are needed, maximum 5 images). For Text-to-3D generation: null.\n" + type: string + is_micro: + description: "Optional. Default is false. If true, micro detail scale is applied. This parameter is only available in the Gen-2.5-Extreme-High tier.\n" + type: boolean + is_symmetric: + description: "Optional. Default is false. If true, this parameter will determine whether the generated model is symmetric.\n" + type: boolean + material: + $ref: "#/components/schemas/RodinMaterialType" + mesh_mode: + $ref: "#/components/schemas/RodinMeshModeType" + mesh_simplify: + description: "Optional. Default is true. If true, the generated models will be simplified. This parameter takes effect when mesh_mode is set to Raw.\n" + type: boolean + mesh_smooth: + description: "Optional. Default is false. If true, the generated models will be smoothed (similar to Rodin Gen-1). This parameter takes effect when mesh_mode is set to Quad.\n" + type: boolean + preview_render: + description: "Optional. Default is false. If true, an additional high-quality render image will be provided in the download list.\n" + type: boolean + prompt: + description: "A textual prompt to guide the model generation. For Image-to-3D generation: optional (if not provided, an AI-generated prompt based on the provided images will be used). For Text-to-3D generation: required.\n" + type: string + quality: + $ref: "#/components/schemas/RodinQualityType" + quality_override: + description: "Optional. Customize poly count for generation, providing more accurate control over mesh face count. When mesh_mode = Raw: range from 500 to 1,000,000 (default 500,000). When mesh_mode = Quad: range from 1,000 to 200,000 (default 18,000). When this parameter is invoked, the `quality` parameter will not take effect.\n" + type: integer + seed: + description: "Optional. A seed value for randomization in the mesh generation, ranging from 0 to 65535 (both inclusive). If not provided, the seed will be randomly generated.\n" + type: integer + texture_delight: + description: "Optional. Default is false. If true, this parameter applies images preprocessing to remove lighting information from textures.\n" + type: boolean + texture_mode: + $ref: "#/components/schemas/RodinTextureModeType" + tier: + $ref: "#/components/schemas/RodinTierType" + use_original_alpha: + description: "Default is false. If true, the original transparency channel of the images will be used when processing the image.\n" + type: boolean + type: object + Rodin3DGenerateResponse: + properties: + error: + description: "Error message, if any. Possible values include NO_ACTIVE_SUBSCRIPTION, SUBSCRIPTION_PLAN_TOO_LOW, INSUFFICIENT_FUND, INVALID_REQUEST, USER_NOT_FOUND, GROUP_NOT_FOUND, PERMISSION_DENIED, UNKNOWN.\n" + nullable: true + type: string + jobs: + $ref: "#/components/schemas/RodinGenerateJobsData" + message: + description: Success message or detailed error information. + type: string + prompt: + description: Echoed prompt (when applicable). + type: string + submit_time: + description: Submission timestamp. + type: string + uuid: + description: Task UUID. Use this for status/download requests. + type: string + type: object + RodinAddonType: + description: "Possible value is `HighPack`. By selecting HighPack: generate 4K resolution texture instead of the default 2K. If Quad mode, the number of faces will be ~16 times the number of faces selected in the `quality` parameter. Additional 1 credit per generation.\n" + enum: + - HighPack + type: string + RodinCheckStatusJobItem: + properties: + status: + $ref: "#/components/schemas/RodinStatusOptions" + uuid: + description: sub uuid + type: string + type: object + RodinConditionModeType: + description: "Useful only for multi-image 3D generation. Optional. Chooses the mode of the multi-image generation. Default is concat. For `fuse` mode (uploading images of multiple objects), fuse mode will extract and fuse all the features of all the objects from the images for generation. For `concat` mode (uploading images of a single object), concat mode will inform the Rodin model to expect these images to be multi-view images of a single object.\n" + enum: + - fuse + - concat + type: string + RodinGenerateJobsData: + properties: + subscription_key: + description: Subscription Key. + type: string + uuids: + description: subjobs uuid. + items: + type: string + type: array + type: object + RodinGeometryFileFormatType: + description: "Optional. The format of the output geometry file. Default is glb.\n" + enum: + - glb + - usdz + - fbx + - obj + - stl + type: string + RodinGeometryInstructModeType: + description: "Optional. Default is `faithful`. The Creative mode enhances generative robustness while ensuring output consistency, allowing for more flexible and creative generation while maintaining quality and consistency across outputs. Available for Gen-2.5-Medium and Gen-2.5-High tiers.\n" + enum: + - faithful + - creative + type: string + RodinMaterialType: + description: "Optional. The material type. Default is PBR. PBR: Physically Based Materials, including base color texture, metallicness texture, normal texture and roughness texture, providing high realism and physically accurate behavior over dynamic lighting. Shaded: only base color texture with baked lighting, providing stylized visuals. All: both PBR and Shaded will be delivered. None: asset without material.\n" + enum: + - PBR + - Shaded + - All + - None + type: string + RodinMeshModeType: + description: "Optional. It controls the type of faces of generated models. Default is Quad. The Raw mode generates triangular face models. The Quad mode generates quadrilateral face models. When its value is Raw, `quality` will be fixed to medium and `addons` will be fixed to []. For Rodin Sketch tier, only triangular faces can be generated.\n" + enum: + - Quad + - Raw + type: string + RodinQualityType: + description: "Optional. The face count of the generated model. Default is medium.\n" + enum: + - extra-low + - low + - medium + - high + type: string + RodinResourceItem: + properties: + name: + description: File name + type: string + url: + description: Download url + type: string + type: object + RodinStatusOptions: + enum: + - Done + - Failed + - Generating + - Waiting + type: string + RodinTextureModeType: + description: "Optional. Higher values invest more thinking effort and produce better results, at the cost of longer generation time.\n" + enum: + - legacy + - extreme-low + - low + - medium + - high + type: string + RodinTierType: + description: "Tier of generation. The default value is Regular. Sketch: fast generation with basic details, suitable for initial concepts. Regular: balanced quality and speed, ideal for general use. Detail: enhanced details compared to Regular, recommended for intricate results (longer processing time). Smooth: clearer and sharper output than Regular, with slightly longer processing time. Set the value to `Gen-2` to invoke Gen-2 generation. Use the `Gen-2.5-*` values to invoke Gen-2.5 generation: Gen-2.5-Extreme-Low (quick simple assets), Gen-2.5-Low (clean assets and small hardsurface props), Gen-2.5-Medium (moderately complex models), Gen-2.5-High (high-quality assets with richer structural representation and smooth surfaces), Gen-2.5-Extreme-High (high-frequency detail reproduction).\n" + enum: + - Regular + - Sketch + - Detail + - Smooth + - Gen-2 + - Gen-2.5-Extreme-Low + - Gen-2.5-Low + - Gen-2.5-Medium + - Gen-2.5-High + - Gen-2.5-Extreme-High + type: string + RunwayAspectRatioEnum: + enum: + - 1280:720 + - 720:1280 + - 1104:832 + - 832:1104 + - 960:960 + - 1584:672 + - 1280:768 + - 768:1280 + type: string + RunwayContentModeration: + description: Settings that affect the behavior of the content moderation system. + properties: + publicFigureThreshold: + description: "When set to `low`, the content moderation system will be less strict about preventing generations that include recognizable public figures." + enum: + - auto + - low + type: string + type: object + RunwayDurationEnum: + enum: + - 5 + - 10 + type: integer + RunwayImageToVideoRequest: + properties: + duration: + $ref: "#/components/schemas/RunwayDurationEnum" + model: + $ref: "#/components/schemas/RunwayModelEnum" + promptImage: + $ref: "#/components/schemas/RunwayPromptImageObject" + promptText: + description: Text prompt for the generation + maxLength: 1000 + type: string + ratio: + $ref: "#/components/schemas/RunwayAspectRatioEnum" + seed: + description: Random seed for generation + format: int64 + maximum: 4294967295 + minimum: 0 + type: integer + required: + - promptImage + - seed + - model + - duration + - ratio + type: object + RunwayImageToVideoResponse: + properties: + id: + description: Task ID + type: string + type: object + RunwayModelEnum: + description: Available Runway models for generation. + enum: + - gen4_turbo + - gen3a_turbo + type: string + RunwayPromptImageDetailedObject: + description: Represents an image with its position in the video sequence. + properties: + position: + description: "The position of the image in the output video. 'last' is currently supported for gen3a_turbo only." + enum: + - first + - last + type: string + uri: + description: A HTTPS URL or data URI containing an encoded image. + type: string + required: + - uri + - position + type: object + RunwayPromptImageObject: + description: Image(s) to use for the video generation. Can be a single URI or an array of image objects with positions. + oneOf: + - description: A single HTTPS URL or data URI for the first frame image. + type: string + - description: An array of image objects with positions. No two images can have the same position. + items: + $ref: "#/components/schemas/RunwayPromptImageDetailedObject" + type: array + RunwayTaskStatusEnum: + description: Possible statuses for a Runway task. + enum: + - SUCCEEDED + - RUNNING + - FAILED + - PENDING + - CANCELLED + - THROTTLED + type: string + RunwayTaskStatusResponse: + properties: + createdAt: + description: Task creation timestamp + format: date-time + type: string + id: + description: Task ID + type: string + output: + description: Array of output video URLs + items: + type: string + type: array + progress: + description: Float value between 0 and 1 representing the progress of the task. Only available if status is RUNNING. + format: float + maximum: 1 + minimum: 0 + type: number + status: + $ref: "#/components/schemas/RunwayTaskStatusEnum" + required: + - id + - status + - createdAt + type: object + RunwayTextToImageAspectRatioEnum: + enum: + - 1920:1080 + - 1080:1920 + - 1024:1024 + - 1360:768 + - 1080:1080 + - 1168:880 + - 1440:1080 + - 1080:1440 + - 1808:768 + - 2112:912 + type: string + RunwayTextToImageRequest: + properties: + model: + description: Model to use for generation + enum: + - gen4_image + type: string + promptText: + description: Text prompt for the image generation + maxLength: 1000 + type: string + ratio: + $ref: "#/components/schemas/RunwayTextToImageAspectRatioEnum" + referenceImages: + description: Array of reference images to guide the generation + items: + properties: + uri: + description: A HTTPS URL or data URI containing an encoded image + type: string + type: object + type: array + required: + - promptText + - model + - ratio + type: object + RunwayTextToImageResponse: + properties: + id: + description: Task ID + type: string + type: object + RunwayVideoToVideoKeyframe: + description: Timed guidance image placed at a specific point in the input video. + oneOf: + - properties: + seconds: + description: Absolute timestamp in seconds from the start of the input video when this guidance image should apply. + maximum: 30 + minimum: 0 + type: number + uri: + description: "A HTTPS URL, Runway or data URI containing an encoded image." + type: string + required: + - uri + - seconds + type: object + - properties: + at: + description: "Position as a fraction [0.0, 1.0] of the input video duration when this guidance image should apply." + maximum: 1 + minimum: 0 + type: number + uri: + description: "A HTTPS URL, Runway or data URI containing an encoded image." + type: string + required: + - uri + - at + type: object + RunwayVideoToVideoModelEnum: + description: Available Runway models for video-to-video generation. + enum: + - aleph2 + type: string + RunwayVideoToVideoPromptImage: + description: An image keyframe for guiding the edit at a specific point in the video. + properties: + position: + $ref: "#/components/schemas/RunwayVideoToVideoPromptImagePosition" + uri: + description: "A HTTPS URL, Runway or data URI containing an encoded image." + type: string + required: + - uri + - position + type: object + RunwayVideoToVideoPromptImagePosition: + description: The position in the output video where the image should apply. + oneOf: + - description: "\"first\" places the image at the start (timestamp 0); \"last\" places it at the end (timestamp = duration)." + enum: + - first + - last + type: string + - description: Places the image at an absolute timestamp. + properties: + timestampSeconds: + description: Absolute timestamp in seconds from the start of the output video. + minimum: 0 + type: number + type: + enum: + - timestamp + type: string + required: + - type + - timestampSeconds + type: object + - description: Places the image at a relative position. + properties: + positionPercentage: + description: "Position as a fraction [0.0, 1.0] of the total video duration." + maximum: 1 + minimum: 0 + type: number + type: + enum: + - position + type: string + required: + - type + - positionPercentage + type: object + RunwayVideoToVideoRequest: + description: "Request to edit an input video into a new video using Runway's API." + properties: + contentModeration: + $ref: "#/components/schemas/RunwayContentModeration" + keyframes: + description: Timed guidance images placed at specific points in the input video. Up to 5 keyframes. + items: + $ref: "#/components/schemas/RunwayVideoToVideoKeyframe" + maxItems: 5 + minItems: 1 + type: array + model: + $ref: "#/components/schemas/RunwayVideoToVideoModelEnum" + promptImage: + description: A list of up to 5 image keyframes for guiding the edit at specific points in the video. + items: + $ref: "#/components/schemas/RunwayVideoToVideoPromptImage" + maxItems: 5 + minItems: 1 + type: array + promptText: + description: A non-empty string up to 1000 characters describing what should appear in the output. + maxLength: 1000 + minLength: 1 + type: string + seed: + description: Random seed for generation. + format: int64 + maximum: 4294967295 + minimum: 0 + type: integer + videoUri: + description: "The input video to edit (HTTPS URL, Runway upload URI, or data URI). Must be 30 seconds or shorter." + type: string + required: + - model + - promptText + - videoUri + type: object + RunwayVideoToVideoResponse: + properties: + id: + description: Task ID + type: string + type: object + SeedanceAssetError: + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + SeedanceAssetModeration: + properties: + strategy: + description: "Content Pre-filter review strategy. \"Skip\" bypasses most non-baseline policies (requires Secure Mode off on the account)." + enum: + - Default + - Skip + type: string + required: + - strategy + type: object + SeedanceCreateAssetRequest: + properties: + asset_type: + enum: + - Image + - Video + - Audio + type: string + group_id: + description: BytePlus Asset Group ID the asset will belong to. Caller must own this group. + type: string + moderation: + $ref: "#/components/schemas/SeedanceAssetModeration" + name: + description: "Optional asset name, up to 64 characters." + type: string + project_name: + description: "BytePlus project name. Defaults to \"default\". Must match the Asset Group's project." + type: string + url: + description: Publicly accessible URL of the asset. + type: string + required: + - group_id + - url + - asset_type + type: object + SeedanceCreateAssetResponse: + properties: + asset_id: + description: BytePlus-issued asset id. Clients poll seedanceGetAsset with this until status == Active. + type: string + required: + - asset_id + type: object + SeedanceCreateVisualValidateSessionRequest: + properties: + name: + description: "Optional human-readable label for the asset group that will be created by this verification. Stored locally and returned by seedanceListVisualValidationGroups so users can identify their groups in selectors.\n" + maxLength: 64 + type: string + type: object + SeedanceCreateVisualValidateSessionResponse: + properties: + h5_link: + description: BytePlus-issued H5 liveness link. Open in a browser with camera access. Valid for ~120 seconds. + type: string + session_id: + description: Session identifier. Clients poll seedanceGetVisualValidateSession with this. + format: uuid + type: string + required: + - session_id + - h5_link + type: object + SeedanceGetAssetResponse: + properties: + asset_type: + enum: + - Image + - Video + - Audio + type: string + create_time: + format: date-time + nullable: true + type: string + error: + $ref: "#/components/schemas/SeedanceAssetError" + group_id: + type: string + id: + type: string + name: + nullable: true + type: string + project_name: + nullable: true + type: string + status: + enum: + - Active + - Processing + - Failed + type: string + update_time: + format: date-time + nullable: true + type: string + url: + description: Access URL valid for ~12 hours. + nullable: true + type: string + required: + - id + - asset_type + - group_id + - status + type: object + SeedanceGetVisualValidateSessionResponse: + properties: + error_code: + nullable: true + type: string + error_message: + nullable: true + type: string + group_id: + description: Populated only when status == completed. This is the BytePlus Asset Group ID the user will upload assets into. + nullable: true + type: string + name: + description: Optional human-readable label provided when the session was created. + nullable: true + type: string + session_id: + format: uuid + type: string + status: + enum: + - pending + - completed + - failed + type: string + required: + - session_id + - status + type: object + SeedanceListUserAssetsResponse: + properties: + assets: + items: + $ref: "#/components/schemas/SeedanceUserAsset" + type: array + truncated: + description: True if the global per-request asset cap was hit and older results were dropped. + type: boolean + required: + - assets + - truncated + type: object + SeedanceListVisualValidationGroupsResponse: + properties: + groups: + items: + $ref: "#/components/schemas/SeedanceVisualValidationGroup" + type: array + required: + - groups + type: object + SeedanceUserAsset: + properties: + asset_id: + type: string + asset_type: + enum: + - Image + - Video + - Audio + type: string + create_time: + format: date-time + type: string + group_id: + type: string + group_name: + description: "Display label of the source group, denormalized for client-side search." + type: string + name: + nullable: true + type: string + status: + enum: + - Active + - Processing + - Failed + type: string + url: + description: BytePlus access URL (~12h validity). Refreshed on each list call. + nullable: true + type: string + required: + - asset_id + - group_id + - group_name + - asset_type + - status + - create_time + type: object + SeedanceVirtualLibraryCreateAssetRequest: + properties: + asset_type: + default: Image + description: BytePlus asset type. The AIGC virtual library accepts both Image and Video. Defaults to Image for backward compatibility with existing clients. + enum: + - Image + - Video + type: string + hash: + description: Client-supplied content hash used as the per-customer dedup key. Re-submitting the same hash returns the existing asset id without re-uploading to BytePlus. + type: string + url: + description: "Publicly accessible URL of the asset to upload to the caller's virtual portrait library." + type: string + required: + - url + - hash + type: object + SeedanceVirtualLibraryCreateAssetResponse: + properties: + asset_id: + description: BytePlus-issued asset id. Clients poll seedanceGetAsset with this until status == Active. + type: string + required: + - asset_id + type: object + SeedanceVisualValidationGroup: + properties: + created_at: + format: date-time + type: string + group_id: + description: BytePlus-issued asset group id. + type: string + name: + description: "Display label. Caller-supplied at creation time when available; otherwise a server-generated fallback derived from the creation date.\n" + type: string + required: + - group_id + - name + - created_at + type: object + SoniloErrorResponse: + properties: + detail: + properties: + code: + description: Error code + type: string + message: + description: Human-readable error message + type: string + type: object + type: object + SoniloStreamEvent: + description: A single NDJSON event from the Sonilo streaming response. Additional event types beyond those listed may appear; unknown types should be ignored by clients. + oneOf: + - properties: + copy_index: + minimum: 0 + type: integer + display_tags: + items: + type: string + type: array + prompt_index: + minimum: 0 + type: integer + stream_index: + minimum: 0 + type: integer + summary: + description: Short natural-language description of the generated track. + type: string + title: + type: string + type: + enum: + - title + type: string + required: + - type + - stream_index + - prompt_index + - copy_index + - title + - display_tags + type: object + - properties: + channels: + type: integer + data: + description: Base64-encoded AAC in fMP4 fragments; concatenate per stream_index. + type: string + num_streams: + minimum: 1 + type: integer + sample_rate: + type: integer + stream_index: + minimum: 0 + type: integer + type: + enum: + - audio_chunk + type: string + required: + - type + - sample_rate + - channels + - stream_index + - num_streams + - data + type: object + - properties: + type: + enum: + - complete + type: string + required: + - type + type: object + - properties: + code: + type: string + message: + type: string + type: + enum: + - error + type: string + required: + - type + - message + type: object + SoniloTextToMusicRequest: + properties: + duration: + description: Desired duration of the output track in seconds. + maximum: 360 + minimum: 1 + type: integer + prompt: + description: Text prompt describing the desired music. Max length 1000 characters. + maxLength: 1000 + minLength: 1 + type: string + required: + - prompt + - duration + type: object + SoniloVideoToMusicRequest: + oneOf: + - properties: + prompt: + description: Optional text prompt to guide music generation. + type: string + video: + description: Multipart file part; e.g. video/mp4. Max file size 300MB. + format: binary + type: string + required: + - video + type: object + - properties: + prompt: + description: Optional text prompt to guide music generation. + type: string + video_url: + description: Public http:// or https:// URL of the video. Private/internal addresses are rejected. + format: uri + type: string + required: + - video_url + type: object + StorageFile: + properties: + file_path: + description: Path to the file in storage + type: string + id: + description: Unique identifier for the storage file + format: uuid + type: string + public_url: + description: Public URL + type: string + type: object + StripeEvent: + properties: + data: + properties: + object: + type: object + type: object + id: + type: string + object: + enum: + - event + type: string + type: + enum: + - invoice.paid + type: string + required: + - id + - object + - type + - data + type: object + SubscriptionDuration: + description: The subscription billing duration + enum: + - MONTHLY + - ANNUAL + type: string + SubscriptionTier: + description: The subscription tier level + enum: + - FREE + - STANDARD + - CREATOR + - PRO + - FOUNDERS_EDITION + type: string + TencentErrorResponse: + description: Error response from Tencent API + properties: + Response: + properties: + Error: + properties: + Code: + description: Error code + type: string + Message: + description: Error message + type: string + type: object + RequestId: + description: Unique request ID for troubleshooting + type: string + type: object + type: object + TencentFile3D: + description: 3D file information + properties: + PreviewImageUrl: + description: Preview image URL + format: uri + type: string + Type: + description: 3D file format + enum: + - GLB + - OBJ + type: string + Url: + description: File URL (valid for 24 hours) + format: uri + type: string + type: object + TencentHunyuan3DProRequest: + description: Request body for Tencent Hunyuan 3D Pro generation + properties: + EnablePBR: + default: false + description: Whether to enable PBR material generation. + type: boolean + FaceCount: + default: 500000 + description: Face count for 3D model generation. + maximum: 1500000 + minimum: 40000 + type: integer + GenerateType: + default: Normal + description: "Generation task type:\n- Normal: generates a geometric model with textures (default)\n- LowPoly: model generated after intelligent polygon reduction\n- Geometry: generate model without textures (white model)\n- Sketch: generative model from sketch or line drawing\n" + enum: + - Normal + - LowPoly + - Geometry + - Sketch + type: string + ImageBase64: + description: "Base64 encoded image for image-to-3D generation.\nResolution: min 128px, max 5000px per side.\nMax size: 8MB (recommend 6MB before encoding).\nSupported formats: jpg, png, jpeg, webp.\nEither ImageBase64/ImageUrl or Prompt is required.\n" + type: string + ImageUrl: + description: "URL of input image for image-to-3D generation.\nResolution: min 128px, max 5000px per side.\nMax size: 8MB.\nSupported formats: jpg, png, jpeg, webp.\nEither ImageBase64/ImageUrl or Prompt is required.\n" + format: uri + type: string + Model: + default: "3.0" + description: "Tencent HY 3D Global model version.\nDefaults to 3.0, with optional choices: 3.0, 3.1.\nWhen selecting version 3.1, the LowPoly parameter is unavailable.\n" + enum: + - "3.0" + - "3.1" + example: "3.0" + type: string + MultiViewImages: + description: "Multi-perspective model images for 3D generation.\nEach perspective is limited to one image.\nImage size limit: max 8MB after encoding.\nImage resolution: min 128px, max 5000px per side.\nSupported formats: JPG, PNG.\n" + items: + $ref: "#/components/schemas/TencentViewImage" + type: array + PolygonType: + default: triangle + description: "Polygon type (only effective when GenerateType is LowPoly).\n- triangle: triangular faces (default)\n- quadrilateral: mix of quadrangle and triangle faces\n" + enum: + - triangle + - quadrilateral + type: string + Prompt: + description: "Text description for 3D content generation.\nSupports up to 1024 utf-8 characters.\nEither Prompt or ImageBase64/ImageUrl is required, but not both.\n" + example: A cat + maxLength: 1024 + type: string + type: object + TencentHunyuan3DProResponse: + description: Response from Tencent Hunyuan 3D Pro submit endpoint + properties: + Response: + properties: + Error: + description: Error object (present when request fails) + properties: + Code: + description: Error code + type: string + Message: + description: Error message + type: string + type: object + JobId: + description: Task ID (valid for 24 hours) + example: "1375367755519696896" + type: string + RequestId: + description: Unique request ID for troubleshooting + example: 13f47dd0-1af9-4383-b401-dae18d6e99fc + type: string + type: object + type: object + TencentHunyuan3DQueryRequest: + properties: + JobId: + description: The JobId returned from the submit endpoint + example: "1375367755519696896" + type: string + required: + - JobId + type: object + TencentHunyuan3DQueryResponse: + description: Response from Tencent Hunyuan 3D query endpoint + properties: + Response: + properties: + ErrorCode: + description: Error code (empty string if no error) + type: string + ErrorMessage: + description: Error message if task failed (empty string if no error) + type: string + RequestId: + description: Unique request ID for troubleshooting + type: string + ResultFile3Ds: + description: Array of generated 3D files + items: + $ref: "#/components/schemas/TencentFile3D" + type: array + Status: + description: "Task status:\n- WAIT: waiting\n- RUN: running\n- FAIL: failed\n- DONE: successful\n" + enum: + - WAIT + - RUN + - FAIL + - DONE + type: string + type: object + type: object + TencentHunyuan3DSmartTopologyRequest: + description: Request body for Tencent Hunyuan 3D Smart Topology (retopology/polygon reduction) + properties: + FaceLevel: + description: Polygon reduction level. + enum: + - high + - medium + - low + example: medium + type: string + File3D: + $ref: "#/components/schemas/TencentInputFile3D" + PolygonType: + description: Polygon type for the output mesh. Defaults to triangle. + enum: + - triangle + - quadrilateral + example: triangle + type: string + required: + - File3D + type: object + TencentHunyuan3DTextureEditRequest: + description: Request body for Tencent Hunyuan 3D texture edit + properties: + EnablePBR: + description: Whether to enable the PBR texture parameter; only supported when using Prompt. + example: true + type: boolean + File3D: + $ref: "#/components/schemas/TencentInputFile3D" + Image: + $ref: "#/components/schemas/TencentImageInfo" + Prompt: + description: Describes texture editing. Either Image or Prompt is required; they cannot coexist. + example: a kitten + maxLength: 1024 + type: string + required: + - File3D + type: object + TencentHunyuan3DUVRequest: + description: Request body for Tencent Hunyuan 3D UV unfolding + properties: + File: + $ref: "#/components/schemas/TencentInputFile3D" + type: object + TencentHunyuan3DUVResponse: + description: Response from Tencent Hunyuan 3D UV submit endpoint + properties: + Response: + properties: + Error: + description: Error object (present when request fails) + properties: + Code: + description: Error code + type: string + Message: + description: Error message + type: string + type: object + JobId: + description: Task ID for the UV unwrapping job + example: "1384898587778465792" + type: string + RequestId: + description: Unique request ID for troubleshooting + example: 5265eb4a-0f4f-4cb1-9b3d-d9f1fb9347d2 + type: string + type: object + type: object + TencentImageInfo: + description: Reference image - Base64 data or image URL + properties: + ImageBase64: + description: "Base64 encoded image. Resolution 128-4096 per side, converted Base64 less than 10MB. Formats jpg, jpeg, png." + type: string + ImageUrl: + description: "Image URL. If both Base64 and Url provided, Url prevails." + format: uri + type: string + type: object + TencentInputFile3D: + description: 3D file input for UV unwrapping + properties: + Type: + description: 3D file format type + enum: + - FBX + - OBJ + - GLB + example: GLB + type: string + Url: + description: URL of the 3D file that needs UV unwrapping + example: https://example.com/model.glb + format: uri + type: string + required: + - Type + - Url + type: object + TencentViewImage: + description: A view image for multi-perspective 3D generation + properties: + ViewImageBase64: + description: "Base64 encoded image for this view.\nResolution: min 128px, max 5000px per side.\nMax size: 8MB.\nSupported formats: JPG, PNG.\n" + type: string + ViewImageUrl: + description: "URL of the image for this view.\nResolution: min 128px, max 5000px per side.\nMax size: 8MB.\nSupported formats: JPG, PNG.\n" + format: uri + type: string + ViewType: + description: "The viewing angle type for this image.\n- left: Left view\n- right: Right view\n- back: Rear view\n- top: Top view (only supported in Model 3.1)\n- bottom: Bottom view (only supported in Model 3.1)\n- left_front: Left front 45 degree view (only supported in Model 3.1)\n- right_front: Right front 45 degree view (only supported in Model 3.1)\n" + enum: + - left + - right + - back + - top + - bottom + - left_front + - right_front + type: string + type: object + TextResponseFormatConfiguration: + description: "An object specifying the format that the model must output.\n\nConfiguring `{ \"type\": \"json_schema\" }` enables Structured Outputs,\nwhich ensures the model will match your supplied JSON schema. Learn more in the\n[Structured Outputs guide](/docs/guides/structured-outputs).\n\nThe default format is `{ \"type\": \"text\" }` with no additional options.\n\n**Not recommended for gpt-4o and newer models:**\n\nSetting to `{ \"type\": \"json_object\" }` enables the older JSON mode, which\nensures the message the model generates is valid JSON. Using `json_schema`\nis preferred for models that support it.\n" + oneOf: + - $ref: "#/components/schemas/ResponseFormatText" + - $ref: "#/components/schemas/TextResponseFormatJsonSchema" + - $ref: "#/components/schemas/ResponseFormatJsonObject" + TextResponseFormatJsonSchema: + description: "JSON Schema response format. Used to generate structured JSON responses.\nLearn more about [Structured Outputs](/docs/guides/structured-outputs).\n" + properties: + description: + description: "A description of what the response format is for, used by the model to\ndetermine how to respond in the format.\n" + type: string + name: + description: "The name of the response format. Must be a-z, A-Z, 0-9, or contain\nunderscores and dashes, with a maximum length of 64.\n" + type: string + schema: + $ref: "#/components/schemas/ResponseFormatJsonSchemaSchema" + strict: + default: false + description: "Whether to enable strict schema adherence when generating the output.\nIf set to true, the model will always follow the exact schema defined\nin the `schema` field. Only a subset of JSON Schema is supported when\n`strict` is `true`. To learn more, read the [Structured Outputs\nguide](/docs/guides/structured-outputs).\n" + type: boolean + type: + description: "The type of response format being defined. Always `json_schema`." + enum: + - json_schema + type: string + x-stainless-const: true + required: + - type + - schema + - name + title: JSON schema + type: object + Tool: + discriminator: + propertyName: type + oneOf: + - $ref: "#/components/schemas/FileSearchTool" + - $ref: "#/components/schemas/FunctionTool" + - $ref: "#/components/schemas/WebSearchPreviewTool" + - $ref: "#/components/schemas/ComputerUsePreviewTool" + ToolChoiceFunction: + description: "Use this option to force the model to call a specific function.\n" + properties: + name: + description: The name of the function to call. + type: string + type: + description: "For function calling, the type is always `function`." + enum: + - function + type: string + x-stainless-const: true + required: + - type + - name + title: Function tool + type: object + ToolChoiceOptions: + description: "Controls which (if any) tool is called by the model.\n\n`none` means the model will not call any tool and instead generates a message.\n\n`auto` means the model can pick between generating a message or calling one or\nmore tools.\n\n`required` means the model must call one or more tools.\n" + enum: + - none + - auto + - required + title: Tool choice mode + type: string + ToolChoiceTypes: + description: "Indicates that the model should use a built-in tool to generate a response.\n[Learn more about built-in tools](/docs/guides/tools).\n" + properties: + type: + description: "The type of hosted tool the model should to use. Learn more about\n[built-in tools](/docs/guides/tools).\n\nAllowed values are:\n- `file_search`\n- `web_search_preview`\n- `computer_use_preview`\n" + enum: + - file_search + - web_search_preview + - computer_use_preview + - web_search_preview_2025_03_11 + type: string + required: + - type + title: Hosted tool + type: object + TopazCombinedCreateRequest: + oneOf: + - $ref: "#/components/schemas/TopazCreateRequestVideoSchema" + - $ref: "#/components/schemas/TopazCreateRequestImageSequenceSchema" + TopazCreateRequestImageSequenceSchema: + properties: + destination: + properties: + external: + $ref: "#/components/schemas/TopazExternalStorage" + type: object + filters: + $ref: "#/components/schemas/TopazInputFilters" + output: + $ref: "#/components/schemas/TopazOutputInformationImageSequence" + source: + description: Source details for the video + properties: + container: + description: The container format of the image files + enum: + - DPX + - EXR + - JPEG + - PNG + - TIFF + example: TIFF + type: string + endNumber: + description: Optional ending frame number for image sequences + example: 120 + type: integer + external: + $ref: "#/components/schemas/TopazExternalStorage" + frameCount: + description: "Total number of frames in the video, in this case, equal to the number of image files." + example: 18000 + type: number + frameRate: + description: Frame rate of the video + example: 30 + type: number + resolution: + description: Resolution details of the image + properties: + height: + description: Height of the image in pixels + example: 1080 + type: integer + width: + description: Width of the image in pixels + example: 1920 + type: integer + required: + - width + - height + type: object + startNumber: + description: Optional starting frame number for image sequences + example: 120 + type: integer + required: + - container + - frameCount + - frameRate + - resolution + - external + type: object + required: + - source + - filters + - output + - destination + title: Image Sequence + type: object + TopazCreateRequestVideoSchema: + properties: + destination: + properties: + external: + $ref: "#/components/schemas/TopazExternalStorage" + type: object + filters: + $ref: "#/components/schemas/TopazInputFilters" + output: + $ref: "#/components/schemas/TopazOutputInformationVideo" + overrides: + properties: + isPaidDiffusion: + type: boolean + type: object + source: + description: Source details for the video + properties: + container: + description: The container format of the video file + enum: + - mp4 + - mov + - mkv + example: mp4 + type: string + duration: + description: Duration of the video file in seconds + example: 600 + type: number + external: + $ref: "#/components/schemas/TopazExternalStorage" + frameCount: + description: Total number of frames in the video + example: 18000 + type: number + frameRate: + description: Frame rate of the video + example: 30 + type: number + resolution: + description: Resolution details of the video + properties: + height: + description: Height of the video in pixels + example: 1080 + type: integer + width: + description: Width of the video in pixels + example: 1920 + type: integer + required: + - width + - height + type: object + size: + description: Size of the video file in bytes + example: 123456000 + type: integer + required: + - container + - size + - duration + - frameCount + - frameRate + - resolution + type: object + required: + - source + - filters + - output + title: Video AI + type: object + TopazCredentialsS3: + properties: + externalId: + description: Kind of like a secret string for extra layer of security + example: MSTnuGztXtTU25XKjVfMJCsujv6VtAGtv1TGSjtOL6M= + type: string + roleArn: + description: AWS ARN of the role to assume + example: arn:aws:iam::123456789:role/topazlabs + type: string + required: + - roleArn + - externalId + type: object + TopazDownloadResponse: + properties: + download_url: + description: Presigned URL to download the image + example: https://example.com/d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b?presigned_headers + type: string + expiry: + description: Expiration time of the presigned URLs in Unix timestamp + example: 1617220000 + type: integer + head_url: + description: Presigned URL to get image metadata + example: https://example.com/d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b?presigned_headers + type: string + required: + - download_url + - expiry + type: object + TopazEnhanceGenRequest: + properties: + color_preservation: + default: "true" + description: "To preserve the original color - available for Reimagine only (must be string \"true\" or \"false\" due to Topaz API requirement)" + enum: + - "true" + - "false" + type: string + creativity: + default: 3 + description: Creativity settings range from 1 to 9 - - available for Reimagine only + maximum: 9 + minimum: 1 + type: integer + crop_to_fill: + default: false + description: Default behavior is to letterbox the image if a differing aspect ratio is chosen. Enable crop_to_fill by setting this to true if you instead want to crop the image to fill the dimensions + type: boolean + face_enhancement: + default: true + description: "By default, faces (if any) are enhanced during image processing as well. Set face_enhancement to false if you don't want this" + type: boolean + face_enhancement_creativity: + default: 0 + description: "Choose the level of creativity for face enhancement from 0 to 1. Defaults to 0, and is ignored if face_enhancement is false" + maximum: 1 + minimum: 0 + type: number + face_enhancement_strength: + default: 0.8 + description: "Control how sharp the enhanced faces are relative to the background from 0 to 1. Defaults to 0.8, and is ignored if face_enhancement is false" + maximum: 1 + minimum: 0 + type: number + face_preservation: + default: "true" + description: "To preserve the identity of characters - available for Reimagine only (must be string \"true\" or \"false\" due to Topaz API requirement)" + enum: + - "true" + - "false" + type: string + image: + description: "The image file to be processed. Supported formats - jpeg (or jpg), png, tiff (or tif)" + format: binary + type: string + model: + default: Reimagine + description: The model to use for processing the image (Bloom - Creative Upscale) + enum: + - Reimagine + type: string + output_format: + default: jpeg + description: The desired format of the output image + enum: + - jpeg + - jpg + - png + - tiff + - tif + type: string + output_height: + description: The desired height of the output image in pixels + maximum: 32000 + minimum: 1 + type: integer + output_width: + description: The desired width of the output image in pixels + maximum: 32000 + minimum: 1 + type: integer + prompt: + description: Text prompt for creative upscaling guidance - available for Reimagine only + example: enter-your-prompt-here + type: string + source_id: + description: Unique identifier of the source image + example: d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b + type: string + source_url: + description: The URL of the source image + example: https://example.com/image.jpg + type: string + subject_detection: + default: All + description: "Specifies whether you want to detect all subjects in the image, only the foreground subject, or only the background for the AI model to run on" + enum: + - All + - Foreground + - Background + type: string + required: + - model + type: object + TopazEnhanceGenResponse: + properties: + eta: + description: Expected completion time in Unix timestamp + example: 1617220000 + type: integer + process_id: + description: Unique identifier for the processing job + example: d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b + type: string + source_id: + description: Unique identifier of the source image + example: d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b + type: string + required: + - process_id + - eta + type: object + TopazExternalStorage: + properties: + bucketName: + example: galaxies + type: string + credentials: + $ref: "#/components/schemas/TopazCredentialsS3" + key: + description: "The example includes the standard specifier for image sequence requests, with optional directory path. It must begin with \"%\" and end with the integer specifier \"d\". The \"0\" in the example indicates left-padding with zeroes, and \"6\" indicates the number of digits in the file name.\nKeys for video requests must be valid characters supported by S3.\n" + example: milky_way/%06d.tiff + type: string + provider: + enum: + - s3 + example: s3 + type: string + required: + - provider + - credentials + - bucketName + - key + type: object + TopazInputFilters: + description: Array of EnhancementFilter or FrameInterpolationFilter objects + example: + - auto: Auto + blur: 0.6 + compression: 0.1 + details: 0.2 + fieldOrder: Auto + focusFixLevel: Normal + grain: 0.02 + grainSize: 1 + halo: 0.4 + model: prob-4 + noise: 0.3 + preblur: 0.5 + prenoise: 0.01 + recoverOriginalDetailValue: 0.7 + videoType: Progressive + - duplicate: true + duplicateThreshold: 0.01 + fps: 60 + model: apo-8 + slowmo: 2 + items: + anyOf: + - $ref: "#/components/schemas/TopazVideoEnhancementFilter" + - $ref: "#/components/schemas/TopazVideoFrameInterpolationFilter" + type: array + TopazOutputInformationImageSequence: + properties: + codecId: + description: "Video codec ID, if known. Defaults to videoEncoder." + example: h265-main-win-nvidia + type: string + container: + description: "Desired output container, defaults to the input container" + enum: + - DPX + - EXR + - JPEG + - PNG + - TIFF + example: TIFF + type: string + cropToFit: + description: Center cropping to fit the output dimensions + example: true + type: boolean + frameRate: + description: Frame rate + example: 30 + type: number + resolution: + description: Desired output resolution + properties: + height: + description: Height in pixels. The maximum size depends on the encoder and can be referenced using the table below
H264 H265 ProRes AV1 VP9
4096 8192 16386 8704 8192
+ example: 4320 + type: integer + width: + description: Width in pixels. The maximum size depends on the encoder and can be referenced using the table below
H264 H265 ProRes AV1 VP9
4096 8192 16386 16384 8192
+ example: 7680 + type: integer + required: + - width + - height + type: object + videoEncoder: + enum: + - DPX + - EXR + - JPEG + - PNG + - TIFF + example: TIFF + type: string + videoProfile: + description: Codec profile specific to videoEncoder + example: Main + type: string + required: + - resolution + - frameRate + type: object + TopazOutputInformationVideo: + properties: + audioBitrate: + description: "Audio bitrate, if audioTransfer is Copy or Convert. Default values for the codec are used if not provided." + example: "320" + type: string + audioCodec: + description: __Required if audioTransfer is Copy or Convert.__ + enum: + - AAC + - AC3 + - PCM + example: AAC + type: string + audioTransfer: + enum: + - Copy + - Convert + - None + example: Copy + type: string + codecId: + description: "Video codec ID, if known. Defaults to videoEncoder." + example: h265-main-win-nvidia + type: string + container: + description: Desired output container + enum: + - mp4 + - mov + - mkv + example: mp4 + type: string + cropToFit: + description: Center cropping to fit the output dimensions + example: true + type: boolean + dynamicCompressionLevel: + description: __Required if videoBitrate is not provided.__ Automatic CQP selection. + enum: + - Low + - Mid + - High + example: Mid + type: string + frameRate: + description: Frame rate + example: 30 + type: number + resolution: + description: Desired output resolution + properties: + height: + description: Height in pixels. The maximum size depends on the encoder and can be referenced using the table below
H264 H265 ProRes AV1 VP9
4096 8192 16386 8704 8192
+ example: 4320 + type: integer + width: + description: Width in pixels. The maximum size depends on the encoder and can be referenced using the table below
H264 H265 ProRes AV1 VP9
4096 8192 16386 16384 8192
+ example: 7680 + type: integer + required: + - width + - height + type: object + videoBitrate: + description: "__Required if dynamicCompressionLevel is not provided.__ Constant bitrate, suffixed with \"k\" for kilobits or \"m\" for megabits per second." + example: 1k + type: string + videoEncoder: + enum: + - AV1 + - FFV1 + - H264 + - H265 + - ProRes + - QuickTime Animation + - QuickTime R210 + - QuickTime V210 + - VP9 + example: H265 + type: string + videoProfile: + description: "Codec profile specific to videoEncoder. The following are some combinations of available profiles based on the 'videoEncoder' selection
H264 H265 ProRes AV1 VP9
High Main, Main10 422 Proxy, 422 LT, 422 Std, 422 HQ 8-bit, 10-bit Good, Best
" + example: Main + type: string + required: + - resolution + - frameRate + - audioCodec + - audioTransfer + type: object + TopazStatusResponse: + properties: + category: + description: "Processing category (e.g., \"Enhance\")" + type: string + creation_time: + description: Creation time in Unix timestamp + type: integer + credits: + description: Credits consumed for this job + type: integer + crop_to_fill: + description: Whether crop to fill is enabled + type: boolean + eta: + description: Expected completion time in Unix timestamp + type: integer + face_enhancement: + description: Whether face enhancement is enabled + type: boolean + face_enhancement_creativity: + description: Face enhancement creativity level + type: number + face_enhancement_strength: + description: Face enhancement strength level + type: number + filename: + description: Original filename without extension + type: string + input_format: + description: Format of the input image + type: string + input_height: + description: Height of the input image in pixels + type: integer + input_width: + description: Width of the input image in pixels + type: integer + model: + description: "Specific model used (e.g., \"Reimagine\")" + type: string + model_type: + description: "Type of model used (e.g., \"Generative\")" + type: string + modification_time: + description: Last modification time in Unix timestamp + type: integer + options_json: + description: JSON string containing additional options + type: string + output_format: + description: Format of the output image + type: string + output_height: + description: Height of the output image in pixels + type: integer + output_width: + description: Width of the output image in pixels + type: integer + process_id: + description: Unique identifier for the processing job + type: string + progress: + description: Progress percentage (0-100) + maximum: 100 + minimum: 0 + type: number + source_id: + description: Unique identifier of the source image + type: string + status: + description: Current status of the processing job + enum: + - Pending + - Processing + - Completed + - Failed + - Cancelled + type: string + subject_detection: + description: Subject detection setting + type: string + sync: + description: Whether this was a synchronous request + type: boolean + required: + - process_id + - status + - credits + type: object + TopazVideoAcceptResponse: + properties: + message: + description: Response message + example: Accepted + type: string + uploadId: + description: Upload ID for completing multi-part upload + example: GDlWC7qIaE6okS41Xf/ktpuS5XzTRabg + type: string + urls: + description: URLs to PUT the parts to + example: + - https://videocloud.s3.amazonaws.com/source.mp4?uploadPart1 + - https://videocloud.s3.amazonaws.com/source.mp4?uploadPart2 + items: + type: string + type: array + required: + - uploadId + - urls + type: object + TopazVideoCompleteUploadRequest: + properties: + md5Hash: + description: MD5 hash of the source video file in hex + example: 4d186321c1a7f0f354b297e8914ab240 + type: string + uploadResults: + description: An array of part number and ETag pairs of the uploaded parts. ETags are returned by S3 upon upload of the part. + items: + properties: + eTag: + description: eTag value returned by S3 upon upload of the part + example: d41d8cd98f00b204e9800998ecf8427e + type: string + partNum: + description: "Part number of the uploaded part, starting from 1" + example: 1 + type: integer + required: + - partNum + - eTag + type: object + type: array + required: + - uploadResults + type: object + TopazVideoCompleteUploadResponse: + properties: + message: + description: Confirmation message + example: Processing has been queued + type: string + required: + - message + type: object + TopazVideoCreateRequest: + oneOf: + - $ref: "#/components/schemas/TopazCreateRequestVideoSchema" + - $ref: "#/components/schemas/TopazCreateRequestImageSequenceSchema" + TopazVideoCreateResponse: + properties: + estimates: + $ref: "#/components/schemas/TopazVideoRequestEstimates" + requestId: + description: Unique identifier for the video processing request + example: c1f96dc2-c448-00e6-82ed-14ecb6403c62 + format: uuid + type: string + required: + - requestId + - estimates + type: object + TopazVideoEnhancedDownload: + description: Signed download URL to the enhanced video file + properties: + expiresAt: + description: Time in milliseconds since UTC epoch + example: 1727213400000 + type: integer + expiresIn: + description: TTL in milliseconds + example: 86400000 + type: integer + url: + example: https://videocloud.r2.cloudflarestorage.com/enhanced.mp4 + type: string + type: object + TopazVideoEnhancementFilter: + properties: + auto: + description: Parameter mode of the selected model + enum: + - Auto + - Manual + - Relative + example: Auto + type: string + blur: + description: Amount of sharpness applied + example: 0.6 + maximum: 1 + minimum: -1 + type: number + compression: + description: Adjust strength of compression recovery + example: 0.1 + maximum: 1 + minimum: -1 + type: number + creativity: + description: Creativity level for Starlight Creative (slc-1) only + enum: + - low + - high + type: string + details: + description: Amount of detail reconstruction + example: 0.2 + maximum: 1 + minimum: -1 + type: number + fieldOrder: + description: Optional specification of field order for interlaced input videos + enum: + - TopFirst + - BottomFirst + - Auto + example: Auto + type: string + focusFixLevel: + description: Downscales video input for stronger correction of blurred subjects + enum: + - None + - Normal + - Strong + example: Normal + type: string + grain: + description: Adds grain after AI model processing + example: 0.02 + maximum: 0.1 + minimum: 0 + type: number + grainSize: + description: Size of generated grain + example: 1 + maximum: 5 + minimum: 0 + type: number + halo: + description: Amount of halo reduction + example: 0.4 + maximum: 1 + minimum: -1 + type: number + isOptimizedMode: + description: Set to true for Starlight Creative (slc-1) only + type: boolean + model: + description: Short code name for AI model + enum: + - aaa-9 + - ahq-12 + - alq-13 + - alqs-2 + - amq-13 + - amqs-2 + - ddv-3 + - dtd-4 + - dtds-2 + - dtv-4 + - dtvs-2 + - gcg-5 + - ghq-5 + - iris-2 + - iris-3 + - nxf-1 + - nyx-3 + - prob-4 + - rhea-1 + - rxl-1 + - thd-3 + - thf-4 + - thm-2 + - slf-1 + - slc-1 + example: prob-4 + type: string + noise: + description: Amount of noise reduction + example: 0.3 + maximum: 1 + minimum: -1 + type: number + preblur: + description: Adjust anti-aliasing and deblurring strength + example: 0.5 + maximum: 1 + minimum: -1 + type: number + prenoise: + description: Adds noise to input to reduce over-smoothing + example: 0.01 + maximum: 0.1 + minimum: 0 + type: number + recoverOriginalDetailValue: + description: Reintroduce source details into the output video + example: 0.7 + maximum: 1 + minimum: 0 + type: number + videoType: + description: Frame/field type of the video + enum: + - Progressive + - Interlaced + - ProgressiveInterlaced + example: Progressive + type: string + required: + - model + type: object + TopazVideoFrameInterpolationFilter: + properties: + duplicate: + description: Analyze input for duplicate frames and remove them + example: true + type: boolean + duplicateThreshold: + description: Sensitivity of detection for duplicate frames + example: 0.01 + maximum: 0.1 + minimum: 0.001 + type: number + fps: + description: "Output frame rate, does not increase duration" + example: 60 + maximum: 240 + minimum: 15 + type: number + model: + description: Short code name for AI model + enum: + - aion-1 + - apf-2 + - apo-8 + - chf-3 + - chr-2 + example: apo-8 + type: string + slowmo: + description: Slow motion factor applied to input video + example: 2 + maximum: 16 + minimum: 1 + type: number + required: + - model + type: object + TopazVideoRequestEstimates: + description: Lower and upper bound estimates + properties: + cost: + description: Cost range in credits + example: + - 10 + - 12 + items: + type: integer + type: array + time: + description: Time range in seconds + example: + - 600 + - 700 + items: + type: integer + type: array + type: object + TopazVideoStatusResponse: + properties: + averageFps: + description: Average processing speed of each node + example: 1.23 + type: number + combinedFps: + description: Combined processing speed of all nodes + example: 12.34 + type: number + download: + $ref: "#/components/schemas/TopazVideoEnhancedDownload" + estimates: + $ref: "#/components/schemas/TopazVideoRequestEstimates" + message: + example: Processing + type: string + outputSize: + description: Size of output video + example: 10 GB + type: string + progress: + description: Total progress percentage + example: 82 + maximum: 100 + minimum: 0 + type: number + status: + description: Current status of the video processing + enum: + - requested + - accepted + - initializing + - preprocessing + - processing + - postprocessing + - complete + - canceling + - canceled + - failed + example: processing + type: string + required: + - status + type: object + TripoAnimation: + enum: + - preset:idle + - preset:walk + - preset:climb + - preset:jump + - preset:run + - preset:slash + - preset:shoot + - preset:hurt + - preset:fall + - preset:turn + type: string + TripoBalance: + properties: + balance: + type: number + frozen: + type: number + required: + - balance + - frozen + type: object + TripoConvertFormat: + enum: + - GLTF + - USDZ + - FBX + - OBJ + - STL + - 3MF + type: string + TripoErrorResponse: + properties: + code: + enum: + - 1001 + - 2000 + - 2001 + - 2002 + - 2003 + - 2004 + - 2006 + - 2007 + - 2008 + - 2010 + type: integer + message: + type: string + suggestion: + type: string + required: + - code + - message + - suggestion + type: object + TripoGeometryQuality: + enum: + - standard + - detailed + type: string + TripoImageToModel: + description: Task type for Tripo image-to-model generation. + enum: + - image_to_model + example: image_to_model + type: string + TripoModelStyle: + description: Style for the Tripo model generation. + enum: + - person:person2cartoon + - animal:venom + - object:clay + - object:steampunk + - object:christmas + - object:barbie + - gold + - ancient_bronze + example: object:clay + type: string + TripoModelVersion: + description: Version of the Tripo model. + enum: + - v2.5-20250123 + - v2.0-20240919 + - v1.4-20240625 + example: v2.5-20250123 + type: string + TripoMultiviewMode: + description: "Mode for multiview generation, specifying view orientation." + enum: + - LEFT + - RIGHT + example: LEFT + type: string + TripoMultiviewToModel: + description: Task type for Tripo multiview-to-model generation. + enum: + - multiview_to_model + example: multiview_to_model + type: string + TripoOrientation: + default: default + enum: + - align_image + - default + type: string + TripoResponseSuccessCode: + description: Standard success code for Tripo API responses. Typically 0 for success. + example: 0 + type: integer + TripoSpec: + enum: + - mixamo + - tripo + type: string + TripoStandardFormat: + enum: + - glb + - fbx + type: string + TripoStylizeOptions: + enum: + - lego + - voxel + - voronoi + - minecraft + type: string + TripoSuccessTask: + properties: + code: + enum: + - 0 + type: integer + data: + properties: + task_id: + description: used for getTask + type: string + required: + - task_id + type: object + required: + - code + - data + type: object + TripoTask: + properties: + consumed_credit: + description: Actual credits consumed by the task. Present once status is finalized; 0 for failed tasks. + type: integer + create_time: + type: integer + input: + type: object + output: + properties: + base_model: + type: string + model: + type: string + pbr_model: + type: string + rendered_image: + type: string + riggable: + type: boolean + topology: + enum: + - bip + - quad + type: string + type: object + progress: + maximum: 100 + minimum: 0 + type: integer + status: + enum: + - queued + - running + - success + - failed + - cancelled + - unknown + - banned + - expired + type: string + task_id: + type: string + type: + type: string + required: + - task_id + - type + - status + - input + - output + - progress + - create_time + type: object + TripoTextToModel: + description: "The type of the Tripo task, specifically for text-to-model operations." + enum: + - text_to_model + example: text_to_model + type: string + TripoTextureAlignment: + enum: + - original_image + - geometry + type: string + TripoTextureFormat: + enum: + - BMP + - DPX + - HDR + - JPEG + - OPEN_EXR + - PNG + - TARGA + - TIFF + - WEBP + type: string + TripoTextureQuality: + enum: + - standard + - detailed + type: string + TripoTopology: + enum: + - bip + - quad + type: string + TripoTypeAnimatePrerigcheck: + enum: + - animate_prerigcheck + type: string + TripoTypeAnimateRetarget: + enum: + - animate_retarget + type: string + TripoTypeAnimateRig: + enum: + - animate_rig + type: string + TripoTypeConvertModel: + enum: + - convert_model + type: string + TripoTypeRefineModel: + enum: + - refine_model + type: string + TripoTypeStylizeModel: + enum: + - stylize_model + type: string + TripoTypeTextureModel: + enum: + - texture_model + type: string + UpdateCouponRequest: + properties: + metadata: + additionalProperties: + type: string + description: Set of key-value pairs for storing additional information + type: object + name: + description: Name of the coupon displayed to customers + type: string + type: object + UpdatePromoCodeRequest: + properties: + active: + description: Whether the promo code is active + type: boolean + metadata: + additionalProperties: + type: string + description: Set of key-value pairs for storing additional information + type: object + type: object + UsageBalance: + description: "Current remaining balance, mirroring /customers/balance." + properties: + amount_micros: + format: double + type: number + cloud_credit_balance_micros: + format: double + type: number + currency: + type: string + prepaid_balance_micros: + format: double + type: number + type: object + UsageBreakdownRow: + properties: + cost_micros: + description: "Total gross spend for this group over the range, in microamount." + format: double + type: number + group_key: + type: string + share: + description: Fraction of total spend attributable to this group (0-1). + format: double + type: number + required: + - group_key + - cost_micros + - share + type: object + UsageBucket: + properties: + cost_micros: + description: "Gross spend in this period for this group, in microamount (1/1,000,000 USD)." + format: double + type: number + group_key: + description: Group value (e.g. model name) this bucket belongs to. + type: string + period_end: + description: End of the billing period this bucket belongs to. + format: date-time + type: string + period_start: + description: Start of the billing period this bucket belongs to. + format: date-time + type: string + required: + - period_start + - period_end + - group_key + - cost_micros + type: object + UsageSummary: + properties: + balance: + $ref: "#/components/schemas/UsageBalance" + spend_micros: + description: "Total gross spend over the range, in microamount." + format: double + type: number + required: + - spend_micros + type: object + User: + properties: + email: + description: The email address for this user. + type: string + id: + description: The unique id for this user. + type: string + isAdmin: + description: Indicates if the user has admin privileges. + type: boolean + isApproved: + description: Indicates if the user is approved. + type: boolean + name: + description: The name for this user. + type: string + type: object + Veo2GenVidPollRequest: + properties: + operationName: + description: Full operation name (from predict response) + example: projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID + type: string + required: + - operationName + type: object + Veo2GenVidPollResponse: + properties: + done: + type: boolean + error: + description: Error details if operation failed + properties: + code: + description: Error code + type: integer + message: + description: Error message + type: string + type: object + name: + type: string + response: + description: The actual prediction response if done is true + properties: + "@type": + example: type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse + type: string + raiMediaFilteredCount: + description: Count of media filtered by responsible AI policies + type: integer + raiMediaFilteredReasons: + description: Reasons why media was filtered by responsible AI policies + items: + type: string + type: array + videos: + items: + properties: + bytesBase64Encoded: + description: Base64-encoded video content + type: string + gcsUri: + description: Cloud Storage URI of the video + type: string + mimeType: + description: Video MIME type + type: string + type: object + type: array + type: object + type: object + Veo2GenVidRequest: + properties: + instances: + items: + properties: + image: + description: Optional image to guide video generation + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + format: byte + type: string + gcsUri: + type: string + mimeType: + type: string + type: object + prompt: + description: Text description of the video + type: string + required: + - prompt + type: object + type: array + parameters: + properties: + aspectRatio: + example: 16:9 + type: string + durationSeconds: + type: integer + enhancePrompt: + type: boolean + negativePrompt: + type: string + personGeneration: + enum: + - ALLOW + - BLOCK + type: string + sampleCount: + type: integer + seed: + format: uint32 + type: integer + storageUri: + description: Optional Cloud Storage URI to upload the video + type: string + type: object + type: object + Veo2GenVidResponse: + properties: + name: + description: Operation resource name + example: projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8 + type: string + required: + - name + type: object + VeoGenVidPollRequest: + properties: + operationName: + description: Full operation name returned from the generate response + example: projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID + type: string + required: + - operationName + type: object + VeoGenVidPollResponse: + description: Response from polling a Veo video generation operation + properties: + done: + description: Whether the operation has completed + type: boolean + error: + description: "Error details, present if the operation failed" + properties: + code: + description: gRPC error code + type: integer + message: + description: Error message + type: string + type: object + name: + description: Operation resource name + type: string + response: + description: "The prediction response, present when done is true" + properties: + "@type": + example: type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse + type: string + raiMediaFilteredCount: + description: Number of videos filtered by responsible AI policies + type: integer + raiMediaFilteredReasons: + description: Reasons why videos were filtered by responsible AI policies + items: + type: string + type: array + videos: + items: + properties: + bytesBase64Encoded: + description: Base64-encoded video content + type: string + gcsUri: + description: Cloud Storage URI of the generated video + type: string + mimeType: + description: Video MIME type (video/mp4) + type: string + type: object + type: array + type: object + type: object + VeoGenVidRequest: + properties: + instances: + items: + properties: + cameraControl: + description: Camera motion type. Requires image to be provided. + enum: + - fixed + - pan_left + - pan_right + - tilt_up + - tilt_down + - truck_left + - truck_right + - pedestal_up + - pedestal_down + - push_in + - pull_out + type: string + image: + description: Optional first frame image to guide video generation + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64-encoded image data + format: byte + type: string + gcsUri: + description: Cloud Storage URI of the image + type: string + mimeType: + description: MIME type of the image (image/jpeg or image/png) + enum: + - image/jpeg + - image/png + type: string + type: object + lastFrame: + description: Optional last frame image. Used with image to generate video between first and last frames. Supported by Veo 3.0+ models. + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64-encoded image data + format: byte + type: string + gcsUri: + description: Cloud Storage URI of the image + type: string + mimeType: + description: MIME type of the image (image/jpeg or image/png) + enum: + - image/jpeg + - image/png + type: string + type: object + mask: + description: Optional mask for video editing. Applies to input video. + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64-encoded mask bytes + format: byte + type: string + gcsUri: + description: Cloud Storage URI to mask file + type: string + maskMode: + description: How the mask is applied + enum: + - insert + - remove + - remove_static + - outpaint + type: string + mimeType: + description: "MIME type of the mask (image/png, image/jpeg, image/webp, or video formats)" + type: string + type: object + prompt: + description: Text description of the video to generate + type: string + referenceImages: + description: Optional reference images to guide video generation. Supports up to 3 asset images or 1 style image. Supported by Veo 3.1 models (preview). + items: + properties: + image: + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64-encoded image data + format: byte + type: string + gcsUri: + description: Cloud Storage URI of the image + type: string + mimeType: + description: MIME type of the image (image/jpeg or image/png) + enum: + - image/jpeg + - image/png + type: string + type: object + referenceId: + description: Optional identifier for the reference image + type: string + referenceType: + description: Type of reference image + enum: + - asset + - style + type: string + required: + - image + - referenceType + type: object + type: array + video: + description: Optional input video for video extension or editing. Incompatible with image and referenceImages. + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64-encoded video bytes + format: byte + type: string + gcsUri: + description: Cloud Storage URI of the input video + type: string + mimeType: + description: MIME type of the video + enum: + - video/mov + - video/mpeg + - video/mp4 + - video/mpg + - video/avi + - video/wmv + - video/mpegps + - video/x-flv + type: string + type: object + required: + - prompt + type: object + type: array + parameters: + properties: + aspectRatio: + description: "Aspect ratio of the generated video. Default: 16:9" + enum: + - 16:9 + - 9:16 + example: 16:9 + type: string + compressionQuality: + description: "Video compression quality. Default: optimized" + enum: + - optimized + - lossless + type: string + durationSeconds: + description: "Target duration of the generated video in seconds. Veo 2: 5-8. Veo 3/3.1: 4, 6, or 8. Default: 8" + type: number + enhancePrompt: + description: Automatically improve prompt for higher quality. Defaults to true. + type: boolean + fps: + description: Frame rate of generated videos in frames per second + type: integer + generateAudio: + description: Whether to generate audio along with the video. Defaults to true. Supported by Veo 3.0+ models. + type: boolean + negativePrompt: + description: Text describing what to avoid in the generated video + type: string + personGeneration: + description: "Controls people in generated videos. Default: allow_adult" + enum: + - dont_allow + - allow_adult + - allowAll + type: string + pubsubTopic: + description: "Cloud Pub/Sub topic for progress updates (projects/{project}/topics/{topic})" + type: string + resizeMode: + description: "Resize approach for input image. Default: pad" + enum: + - pad + - crop + type: string + resolution: + description: "Output video resolution. Supported by Veo 3.0+ models. Default: 720p" + enum: + - 720p + - 1080p + - 4k + type: string + sampleCount: + description: "Number of videos to generate. If not specified, 1 video is generated." + maximum: 4 + minimum: 1 + type: integer + seed: + description: Random seed for deterministic output. Different seeds used per video if sampleCount > 1. + format: uint32 + type: integer + storageUri: + description: Cloud Storage URI (gs://) for saving generated videos + type: string + task: + description: Operation type for the video generation request + enum: + - textToVideo + - imageToVideo + - referenceToVideo + - edit + - extend + - upscale + type: string + type: object + type: object + VeoGenVidResponse: + description: Response from a Veo video generation request. Contains the operation name for polling. + properties: + name: + description: Operation resource name used to poll for results via fetchPredictOperation + example: projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8 + type: string + required: + - name + type: object + ViduCreation: + properties: + cover_url: + type: string + id: + type: string + moderation_url: + items: + type: string + type: array + url: + type: string + watermarked_url: + type: string + type: object + ViduExtendReply: + properties: + created_at: + format: date-time + type: string + credits: + format: int32 + type: integer + duration: + format: int32 + type: integer + images: + items: + type: string + type: array + model: + type: string + payload: + type: string + prompt: + type: string + resolution: + type: string + state: + $ref: "#/components/schemas/ViduState" + task_id: + type: string + video_creation_id: + type: string + video_url: + type: string + required: + - task_id + - state + - credits + type: object + ViduExtendRequest: + properties: + callback_url: + description: Callback URL for task status updates + type: string + duration: + description: "Extended duration in seconds (1-7, default 5)" + format: int32 + type: integer + images: + description: Extended reference image to the end frame (only accepts 1 image) + items: + type: string + type: array + model: + description: Model name (viduq2-pro or viduq2-turbo) + type: string + payload: + description: Transparent transmission parameters (max 1048576 characters) + type: string + prompt: + description: Text prompt for video generation (max 2000 characters) + type: string + resolution: + description: "Resolution (540p, 720p, 1080p)" + type: string + video_creation_id: + description: "Vidu video_creation_id, required with video_url" + type: string + video_url: + description: "Any video URL, required with video_creation_id" + type: string + required: + - model + type: object + ViduGetCreationsReply: + properties: + creations: + items: + $ref: "#/components/schemas/ViduCreation" + type: array + err_code: + type: string + id: + type: string + state: + $ref: "#/components/schemas/ViduState" + type: object + ViduImageSetting: + properties: + duration: + description: "Duration between key frames in seconds (2-7, default 5)" + format: int32 + type: integer + key_image: + description: Reference image for each key frame + type: string + prompt: + description: Prompt for extending the previous frame + type: string + required: + - key_image + type: object + ViduMultiframeReply: + properties: + created_at: + format: date-time + type: string + credits: + format: int32 + type: integer + image_settings: + items: + $ref: "#/components/schemas/ViduImageSetting" + type: array + model: + type: string + payload: + type: string + resolution: + type: string + start_image: + type: string + state: + $ref: "#/components/schemas/ViduState" + task_id: + type: string + required: + - task_id + - state + - credits + type: object + ViduMultiframeRequest: + properties: + callback_url: + description: Callback URL for task status updates + type: string + image_settings: + description: Configuration for intelligent multi-frame generation (2-9 frames) + items: + $ref: "#/components/schemas/ViduImageSetting" + type: array + model: + description: Model name (viduq2-pro or viduq2-turbo) + type: string + payload: + description: Transparent transmission parameters (max 1048576 characters) + type: string + resolution: + description: "Video resolution (540p, 720p, 1080p)" + type: string + start_image: + description: The first frame image (Base64 or URL) + type: string + required: + - model + - start_image + - image_settings + type: object + ViduState: + enum: + - created + - processing + - queueing + - success + - failed + type: string + ViduTaskReply: + properties: + aspect_ratio: + type: string + bgm: + description: Whether background music was added + type: boolean + created_at: + format: date-time + type: string + credits: + format: int32 + type: integer + duration: + format: int32 + type: integer + images: + items: + type: string + type: array + model: + type: string + movement_amplitude: + enum: + - auto + - small + - medium + - large + type: string + off_peak: + description: Off peak mode status + type: boolean + payload: + description: Transparent transmission parameters + type: string + prompt: + type: string + resolution: + type: string + seed: + format: int32 + type: integer + state: + $ref: "#/components/schemas/ViduState" + style: + enum: + - general + - anime + type: string + task_id: + type: string + watermark: + description: Whether watermark was added + type: boolean + required: + - task_id + - state + - credits + type: object + ViduTaskRequest: + properties: + aspect_ratio: + type: string + audio: + description: Enable direct audio-video generation capability (default true for q3 model) + type: boolean + audio_type: + description: "Audio type when audio is true: all (sound effects + vocals), speech_only, sound_effect_only. Ineffective for q3 model" + enum: + - all + - speech_only + - sound_effect_only + type: string + bgm: + description: Add background music to generated video (ineffective for q3 model) + type: boolean + callback_url: + description: Callback URL for task status updates + type: string + duration: + description: "Video duration in seconds. viduq3-pro: 1-16, viduq2-pro-fast: 1-10, viduq2-pro/turbo: 1-8" + format: int32 + type: integer + enhance: + type: boolean + images: + description: Images for img2video (accepts 1 image as start frame) + items: + type: string + type: array + is_rec: + description: Use recommended prompt (consumes additional 10 credits) + type: boolean + meta_data: + description: "Metadata identification, JSON format string for custom metadata" + type: string + model: + description: "Model name: viduq3-pro, viduq2-pro-fast, viduq2-pro, viduq2-turbo, viduq1, viduq1-classic, vidu2.0" + type: string + movement_amplitude: + description: "Movement amplitude of objects in frame (ineffective for q2, q3 models)" + enum: + - auto + - small + - medium + - large + type: string + off_peak: + description: "Off peak mode (lower cost, tasks generated within 48 hours)" + type: boolean + payload: + description: Transparent transmission parameters (max 1048576 characters) + type: string + priority: + format: int32 + type: integer + prompt: + description: Text prompt for video generation (max 2000 characters) + type: string + resolution: + description: "Resolution: 360p, 540p, 720p, 1080p, 2K (availability depends on model and duration)" + type: string + seed: + description: Random seed (defaults to random if not specified) + format: int32 + type: integer + style: + enum: + - general + - anime + type: string + voice_id: + description: Voice ID for audio (ineffective for q3 model) + type: string + watermark: + description: Add watermark to video (default false) + type: boolean + wm_position: + description: "Watermark position: 1 (top left), 2 (top right), 3 (bottom right, default), 4 (bottom left)" + format: int32 + type: integer + wm_url: + description: Watermark image URL (uses default watermark if not provided) + type: string + type: object + WanImage2ImageGenerationRequest: + properties: + input: + description: "Enter basic information, such as prompt words, images, etc." + properties: + images: + description: Array of image URLs for image-to-image generation + items: + description: "Image URL. Supported formats JPEG, JPG, PNG, BMP, WEBP. Resolution width and height must be between 384 and 5000 pixels. File size no larger than 10MB." + type: string + maxItems: 2 + minItems: 1 + type: array + negative_prompt: + description: Reverse prompt words to describe content that you do not want to see in the image + maxLength: 500 + type: string + prompt: + description: "Positive prompt words to describe expected image elements and visual features. Support Chinese and English, length not exceeding 2000 characters" + maxLength: 2000 + type: string + required: + - prompt + - images + type: object + model: + description: The ID of the model to call for image-to-image generation + enum: + - wan2.5-i2i-preview + type: string + parameters: + description: Image processing parameters + properties: + "n": + default: 1 + description: "Number of generated images. Range 1-4, default is 1" + maximum: 4 + minimum: 1 + type: integer + seed: + description: "Random number seed to control randomness. Range [0, 2147483647]" + maximum: 2147483647 + minimum: 0 + type: integer + size: + default: 1280*1280 + description: Output image resolution. Default is 1280*1280. Width and height must be between 384 and 5000 pixels. + type: string + watermark: + default: false + description: Whether to add watermark logo in lower right corner + type: boolean + type: object + required: + - model + - input + type: object + WanImage2ImageGenerationResponse: + properties: + code: + description: The error code for the failed request (not returned if request is successful) + type: string + message: + description: Detailed information about the failed request (not returned if request is successful) + type: string + output: + properties: + task_id: + description: Task ID + type: string + task_status: + description: Task status + enum: + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + - CANCELED + - UNKNOWN + type: string + required: + - task_id + - task_status + type: object + request_id: + description: Unique request identifier + type: string + required: + - request_id + - output + type: object + WanImageGenerationRequest: + properties: + input: + description: "Enter basic information, such as prompt words, etc." + properties: + negative_prompt: + description: Reverse prompt words to describe content that you do not want to see in the image + type: string + prompt: + description: "Positive prompt words to describe expected image elements and visual features. Support Chinese and English, length not exceeding 800 characters" + type: string + required: + - prompt + type: object + model: + description: The ID of the model to call for text-to-image generation + enum: + - wan2.5-t2i-preview + type: string + parameters: + description: Image processing parameters + properties: + "n": + default: 4 + description: "Number of generated images. Range 1-4, default is 4" + maximum: 4 + minimum: 1 + type: integer + prompt_extend: + default: true + description: Enable prompt intelligent rewriting. Default is true + type: boolean + seed: + description: "Random number seed to control randomness. Range [0, 2147483647]" + maximum: 2147483647 + minimum: 0 + type: integer + size: + default: 1024*1024 + description: "Output image resolution. Default is 1024*1024. Pixel range [512, 1440], up to 200 megapixels" + type: string + watermark: + default: false + description: Whether to add watermark logo in lower right corner + type: boolean + type: object + required: + - model + - input + type: object + WanImageGenerationResponse: + properties: + code: + description: The error code for the failed request (not returned if request is successful) + type: string + message: + description: Detailed information about the failed request (not returned if request is successful) + type: string + output: + properties: + task_id: + description: Task ID + type: string + task_status: + description: Task status + enum: + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + - CANCELED + - UNKNOWN + type: string + required: + - task_id + - task_status + type: object + request_id: + description: Unique request identifier + type: string + required: + - request_id + - output + type: object + WanTaskQueryResponse: + properties: + output: + properties: + actual_prompt: + description: Actual prompt after intelligent rewriting (for video tasks) + type: string + check_audio: + description: Audio URL for I2V tasks with audio generation + type: string + code: + description: The error code for the failed request (not returned if request is successful) + type: string + end_time: + description: Task completion time + type: string + message: + description: Detailed information about the failed request (not returned if request is successful) + type: string + orig_prompt: + description: Original input prompt (for video tasks) + type: string + results: + description: List of task results for image generation tasks + items: + properties: + actual_prompt: + description: Actual prompt after intelligent rewriting (if enabled) + type: string + code: + description: Image error code (returned when some tasks fail) + type: string + message: + description: Image error information (returned when some tasks fail) + type: string + orig_prompt: + description: Original input prompt + type: string + url: + description: Generated image URL address + type: string + type: object + type: array + scheduled_time: + description: Task execution time + type: string + submit_time: + description: Task submission time + type: string + task_id: + description: Task ID + type: string + task_metrics: + description: Task result statistics for image generation tasks + properties: + FAILED: + description: Number of failed tasks + type: integer + SUCCEEDED: + description: Number of successful tasks + type: integer + TOTAL: + description: Total number of tasks + type: integer + type: object + task_status: + description: Task status + enum: + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + - CANCELED + - UNKNOWN + type: string + video_url: + description: Video URL for completed video generation tasks. Link validity period 24 hours + type: string + required: + - task_id + - task_status + type: object + request_id: + description: Unique request identifier + type: string + usage: + description: Output information statistics. Only successful results are counted + properties: + SR: + description: Video resolution level (I2V tasks) + type: integer + duration: + description: Duration of generated video in seconds (I2V tasks) + type: number + image_count: + description: Number of generated images (T2I tasks) + type: integer + size: + description: Image resolution (T2I tasks) + type: string + video_count: + description: Number of generated videos (T2V tasks) + type: integer + video_duration: + description: Duration of generated video in seconds (T2V tasks) + type: number + video_ratio: + description: Video resolution ratio (T2V tasks) + type: string + type: object + required: + - request_id + - output + type: object + WanVideoGenerationRequest: + properties: + input: + description: "Enter basic information, such as prompt words, etc." + properties: + audio_url: + description: "Audio file download URL. Supported formats: mp3 and wav. Cannot be used with reference_video_urls." + type: string + img_url: + description: "First frame image URL or Base64 encoded data. Required for I2V models. Image formats: JPEG, JPG, PNG, BMP, WEBP. Resolution: 360-2000 pixels. File size: max 10MB." + type: string + media: + description: "Media asset list for wan2.7 models. Specifies reference materials (image, audio, video)\nfor video generation. Each element contains a type and url field.\nSupported type values vary by model:\n- wan2.7-i2v: first_frame, last_frame, driving_audio, first_clip\n- wan2.7-r2v: reference_image, reference_video\n- wan2.7-videoedit: video, reference_image\n" + items: + properties: + type: + description: Media asset type + enum: + - first_frame + - last_frame + - driving_audio + - first_clip + - reference_image + - reference_video + - video + type: string + url: + description: URL of the media file (public HTTP/HTTPS URL or OSS temporary URL) + type: string + required: + - type + - url + type: object + type: array + negative_prompt: + description: Reverse prompt words are used to describe content that you do not want to see in the video screen + maxLength: 500 + type: string + prompt: + description: "Text prompt words. Support Chinese and English, length not exceeding 800 characters.\nFor wan2.6-r2v with multiple reference videos, use 'character1', 'character2', etc. to refer to subjects\nin the order of reference videos. Example: \"Character1 sings on the roadside, Character2 dances beside it\"\n" + maxLength: 800 + type: string + reference_video_urls: + description: "Reference video URLs for wan2.6-r2v model only. Array of 1-3 video URLs.\nInput restrictions:\n- Format: mp4, mov\n- Quantity: 1-3 videos\n- Single video length: 2-30 seconds\n- Single file size: max 30MB\n- Cannot be used with audio_url\nReference duration: Single video max 5s, two videos max 2.5s each, three videos proportionally less.\nBilling: Based on actual reference duration used.\n" + items: + type: string + maxItems: 3 + minItems: 1 + type: array + template: + description: "Video effect template name. Optional. Currently supported: squish, flying, carousel. When used, prompt parameter is ignored." + type: string + type: object + model: + description: The ID of the model to call + enum: + - wan2.5-t2v-preview + - wan2.5-i2v-preview + - wan2.6-t2v + - wan2.6-i2v + - wan2.6-r2v + - wan2.7-i2v + - wan2.7-t2v + - wan2.7-r2v + - wan2.7-videoedit + - happyhorse-1.0-t2v + - happyhorse-1.0-i2v + - happyhorse-1.0-r2v + - happyhorse-1.0-video-edit + - happyhorse-1.1-t2v + - happyhorse-1.1-i2v + - happyhorse-1.1-r2v + type: string + parameters: + description: Video processing parameters + properties: + audio: + default: true + description: Whether to add audio to the video + type: boolean + audio_setting: + default: auto + description: "Video audio setting for wan2.7-videoedit model.\n- auto (default): Model intelligently judges based on prompt content\n- origin: Forcefully preserve the original audio from the input video\n" + enum: + - auto + - origin + type: string + duration: + default: 5 + description: "The duration of the video generated, in seconds:\n- wan2.5 models: 5 or 10 seconds\n- wan2.6-t2v, wan2.6-i2v: 5, 10, or 15 seconds\n- wan2.6-r2v: 5 or 10 seconds only (no 15s support)\n- wan2.7-i2v, wan2.7-t2v: integer in [2, 15]\n- wan2.7-r2v, wan2.7-videoedit: integer in [2, 10]\n" + maximum: 15 + minimum: 2 + type: integer + prompt_extend: + default: true + description: Is it enabled prompt intelligent rewriting. Default is true + type: boolean + ratio: + description: "Aspect ratio of the generated video. For wan2.7 models only.\nIf not provided, defaults based on the resolution tier.\n" + enum: + - 16:9 + - 9:16 + - 1:1 + - 4:3 + - 3:4 + type: string + resolution: + description: "Resolution level. Supported values vary by model:\n- wan2.5-i2v-preview: 480P, 720P, 1080P\n- wan2.6-i2v: 720P, 1080P only (no 480P support)\n- wan2.7 models (i2v, t2v, r2v, videoedit): 720P, 1080P (default 1080P)\n" + enum: + - 480P + - 720P + - 1080P + type: string + seed: + description: "Random number seed, used to control the randomness of the model generated content" + maximum: 2147483647 + minimum: 0 + type: integer + shot_type: + default: single + description: "Intelligent multi-lens control. Only active when prompt_extend is enabled.\nFor wan2.6 and wan2.7-r2v models.\n- single: Single-shot video (default)\n- multi: Multi-shot video\n" + enum: + - multi + - single + type: string + size: + description: "Video resolution in format width*height. Supported resolutions vary by model:\nFor wan2.5 T2V: 480P (480*832, 832*480, 624*624), 720P, 1080P sizes\nFor wan2.6 T2V/R2V (no 480P):\n 720P: 1280*720, 720*1280, 960*960, 1088*832, 832*1088\n 1080P: 1920*1080, 1080*1920, 1440*1440, 1632*1248, 1248*1632\n" + type: string + watermark: + default: false + description: "Whether to add a watermark logo, the watermark is located in the lower right corner" + type: boolean + type: object + required: + - model + - input + type: object + WanVideoGenerationResponse: + properties: + code: + description: The error code for the failed request (not returned if request is successful) + type: string + message: + description: Detailed information about the failed request (not returned if request is successful) + type: string + output: + properties: + task_id: + description: Task ID + type: string + task_status: + description: Task status + enum: + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + - CANCELED + - UNKNOWN + type: string + required: + - task_id + - task_status + type: object + request_id: + description: Unique request identifier + type: string + required: + - output + - request_id + type: object + WavespeedFlashVSRRequest: + description: Request body for WavespeedAI FlashVSR video upscaling + properties: + duration: + description: "Duration of the video in seconds\n" + type: number + target_resolution: + default: 1080p + description: Target resolution to upscale to. + enum: + - 720p + - 1080p + - 2k + - 4k + type: string + video: + description: "The video to upscale. Can be a URL to the video file or a base64-encoded video.\n" + type: string + required: + - video + - duration + type: object + WavespeedSeedVR2ImageRequest: + description: Request body for WavespeedAI SeedVR2 image upscaling + properties: + enable_base64_output: + default: false + description: "If enabled, the output will be encoded into a BASE64 string instead of a URL." + type: boolean + image: + description: The URL of the image to upscale. + type: string + output_format: + default: jpeg + description: The format of the output image. + enum: + - jpeg + - png + - webp + type: string + target_resolution: + default: 4k + description: The target resolution of the output image. + enum: + - 2k + - 4k + - 8k + type: string + required: + - image + type: object + WavespeedTaskResponse: + description: Response from WavespeedAI task submission + properties: + code: + description: "HTTP status code (e.g., 200 for success)" + type: integer + data: + properties: + created_at: + description: ISO timestamp of when the request was created + type: string + error: + description: Error message (empty if no error occurred) + type: string + has_nsfw_contents: + description: Array of boolean values indicating NSFW detection for each output + items: + type: boolean + type: array + id: + description: Unique identifier for the prediction/task + type: string + model: + description: Model ID used for the prediction + type: string + outputs: + description: Array of URLs to the generated content (empty when status is not completed) + items: + type: string + type: array + status: + description: Status of the task + enum: + - created + - processing + - completed + - failed + type: string + timings: + properties: + inference: + description: Inference time in milliseconds + type: integer + type: object + urls: + properties: + get: + description: URL to retrieve the prediction result + type: string + type: object + type: object + message: + description: "Status message (e.g., \"success\")" + type: string + type: object + WavespeedTaskResultResponse: + description: Response from WavespeedAI task result query + properties: + code: + description: "HTTP status code (e.g., 200 for success)" + type: integer + data: + properties: + created_at: + description: ISO timestamp of when the request was created + type: string + error: + description: Error message (empty if no error occurred) + type: string + id: + description: Unique identifier for the prediction/task + type: string + model: + description: Model ID used for the prediction + type: string + outputs: + description: Array of URLs to the generated content (empty when status is not completed) + items: + type: string + type: array + status: + description: Status of the task + enum: + - created + - processing + - completed + - failed + type: string + timings: + properties: + inference: + description: Inference time in milliseconds + type: integer + type: object + urls: + properties: + get: + description: URL to retrieve the prediction result + type: string + type: object + type: object + message: + description: "Status message (e.g., \"success\")" + type: string + type: object + WebSearchPreviewTool: + description: "This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search)." + properties: + search_context_size: + description: "High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default." + enum: + - low + - medium + - high + type: string + type: + default: web_search_preview + description: "The type of the web search tool. One of `web_search_preview` or `web_search_preview_2025_03_11`." + enum: + - web_search_preview + - web_search_preview_2025_03_11 + type: string + x-stainless-const: true + required: + - type + title: Web search preview + type: object + WebSearchToolCall: + description: "The results of a web search tool call. See the\n[web search guide](/docs/guides/tools-web-search) for more information.\n" + properties: + id: + description: "The unique ID of the web search tool call.\n" + type: string + status: + description: "The status of the web search tool call.\n" + enum: + - in_progress + - searching + - completed + - failed + type: string + type: + description: "The type of the web search tool call. Always `web_search_call`.\n" + enum: + - web_search_call + type: string + x-stainless-const: true + required: + - id + - type + - status + title: Web search tool call + type: object + WorkflowRunStatus: + enum: + - WorkflowRunStatusStarted + - WorkflowRunStatusFailed + - WorkflowRunStatusCompleted + type: string + XAIGeneratedImage: + description: A generated image from xAI + properties: + b64_json: + description: A base64-encoded string representation of the generated image in jpeg encoding (if response_format is b64_json) + type: string + mime_type: + description: "The MIME type of the generated image (e.g. image/png, image/jpeg, image/webp)." + type: string + url: + description: A url to the generated image (if response_format is url) + type: string + type: object + XAIGeneratedVideo: + description: A generated video from xAI + properties: + duration: + description: Duration of the generated video in seconds + type: integer + respect_moderation: + description: Whether the video generated by the model respects moderation rules + type: boolean + url: + description: A url to the generated video + nullable: true + type: string + type: object + XAIImageEditRequest: + description: Request body for xAI Grok Imagine image editing + properties: + aspect_ratio: + description: "Aspect ratio of the output image for image editing with multiple images. For single image editing, do not set this." + enum: + - 1:1 + - 3:4 + - 4:3 + - 9:16 + - 16:9 + - 2:3 + - 3:2 + - 9:19.5 + - 19.5:9 + - 9:20 + - 20:9 + - 1:2 + - 2:1 + - auto + type: string + image: + $ref: "#/components/schemas/XAIImageObject" + images: + description: "List of input images for multi-reference editing. Mutually exclusive with image. When multiple images are provided, refer to them as , , etc. in the prompt." + items: + $ref: "#/components/schemas/XAIImageObject" + type: array + mask: + $ref: "#/components/schemas/XAIImageObject" + model: + default: grok-imagine-image + description: Model to be used + type: string + "n": + description: Number of image edits to be generated + type: integer + prompt: + description: Prompt for image editing + type: string + quality: + description: "Quality of the output image. Currently a no-op, reserved for future use." + enum: + - low + - medium + - high + type: string + resolution: + default: 1k + description: Resolution of the generated image. Defaults to 1k. + enum: + - 1k + - 2k + type: string + response_format: + default: url + description: Response format to return the image in. Can be url or b64_json. + enum: + - url + - b64_json + type: string + size: + description: Size of the image (not supported) + type: string + style: + description: Style of the image (not supported) + type: string + user: + description: "A unique identifier representing your end-user, which can help xAI to monitor and detect abuse" + type: string + required: + - prompt + type: object + XAIImageGenerationRequest: + description: Request body for xAI Grok Imagine image generation + properties: + aspect_ratio: + default: auto + description: Aspect ratio of the generated image. Defaults to auto for automatically selecting the best ratio for the prompt. + enum: + - 1:1 + - 3:4 + - 4:3 + - 9:16 + - 16:9 + - 2:3 + - 3:2 + - 9:19.5 + - 19.5:9 + - 9:20 + - 20:9 + - 1:2 + - 2:1 + - auto + type: string + model: + default: grok-imagine-image + description: Model to be used + type: string + "n": + default: 1 + description: Number of images to be generated + maximum: 10 + minimum: 1 + type: integer + prompt: + description: Prompt for image generation + type: string + quality: + description: "Quality of the output image. Currently a no-op, reserved for future use." + enum: + - low + - medium + - high + type: string + resolution: + default: 1k + description: Resolution of the generated image. Defaults to 1k. + enum: + - 1k + - 2k + type: string + response_format: + default: url + description: Response format to return the image in. Can be url or b64_json. + enum: + - url + - b64_json + type: string + size: + description: Size of the image (not supported) + type: string + style: + description: Style of the image (not supported) + type: string + user: + description: "A unique identifier representing your end-user, which can help xAI to monitor and detect abuse" + type: string + required: + - prompt + type: object + XAIImageGenerationResponse: + description: Response from xAI image generation or editing + properties: + block_reason: + description: "If the request was blocked by input moderation, contains the block reason" + type: string + data: + description: A list of generated image objects + items: + $ref: "#/components/schemas/XAIGeneratedImage" + type: array + usage: + $ref: "#/components/schemas/XAIImageUsage" + type: object + XAIImageObject: + description: Input image object for xAI endpoints + properties: + type: + description: Type of the image input + enum: + - image_url + type: string + url: + description: URL of the input image (public URL or base64-encoded data URI) + type: string + required: + - url + type: object + XAIImageUsage: + description: Usage information for the image generation request + properties: + cost_in_usd_ticks: + description: "Accurate cost of this request in USD ticks (10,000,000,000 ticks = 1 USD)" + type: integer + type: object + XAIReferenceImageObject: + description: A reference image used to guide video generation in R2V mode + properties: + url: + description: "URL of the reference image. Supports HTTPS URLs (public) or base64-encoded data URLs (e.g., data:image/jpeg;base64,...)." + type: string + required: + - url + type: object + XAIVideoAsyncResponse: + description: Response from xAI video generation or editing (async operation) + properties: + request_id: + description: Unique identifier to poll for the completed video + type: string + type: object + XAIVideoEditRequest: + description: Request body for xAI Grok Imagine video editing + properties: + model: + description: Model to be used + nullable: true + type: string + output: + description: Optional output destination for generated video + nullable: true + type: object + prompt: + description: Prompt for video editing + type: string + user: + description: A unique identifier representing your end-user + nullable: true + type: string + video: + $ref: "#/components/schemas/XAIVideoObject" + required: + - prompt + - video + type: object + XAIVideoExtensionRequest: + description: Request body for xAI Grok Imagine video extension + properties: + duration: + default: 6 + description: "Length of the extension in seconds. Range [2, 10]. Default 6." + maximum: 10 + minimum: 2 + nullable: true + type: integer + model: + description: Model to use + nullable: true + type: string + prompt: + description: Text description of what should happen next in the video + type: string + video: + $ref: "#/components/schemas/XAIVideoObject" + required: + - prompt + - video + type: object + XAIVideoGenerationRequest: + description: "Request body for xAI Grok Imagine video generation.\nSupports three modes: text-to-video (prompt only), image-to-video (prompt + image),\nand reference-to-video (prompt + reference_images).\nThe fields image, reference_images, and video are mutually exclusive.\n" + properties: + aspect_ratio: + default: 16:9 + description: Aspect ratio of the generated video + enum: + - 1:1 + - 16:9 + - 9:16 + - 4:3 + - 3:4 + - 3:2 + - 2:3 + type: string + duration: + default: 8 + description: "Video duration in seconds. Range [1, 15]. Default 8." + maximum: 15 + minimum: 1 + nullable: true + type: integer + image: + $ref: "#/components/schemas/XAIImageObject" + model: + description: Model to be used + type: string + output: + description: Optional output destination for generated video + nullable: true + type: object + prompt: + description: "Prompt for video generation. Maximum 4,096 characters." + type: string + reference_images: + description: One or more reference images to guide the video generation (reference-to-video mode). Mutually exclusive with image and video. + items: + $ref: "#/components/schemas/XAIReferenceImageObject" + type: array + resolution: + description: Resolution of the output video + nullable: true + type: string + size: + description: Size of the output video + nullable: true + type: string + user: + description: A unique identifier representing your end-user + nullable: true + type: string + required: + - prompt + type: object + XAIVideoObject: + description: Input video object for xAI endpoints + properties: + url: + description: "URL of the video (public URL or base64-encoded data URL). The video must have the .mp4 file extension and be encoded with .mp4 supported codecs such as H.265, H.264, AV1, etc." + type: string + required: + - url + type: object + XAIVideoResultResponse: + description: Response from getting video generation result + properties: + block_reason: + description: "If the request was blocked by input moderation, contains the block reason" + nullable: true + type: string + model: + description: The model used to generate the video + type: string + status: + description: "Status of the deferred request: \"pending\" or \"done\"" + enum: + - pending + - done + type: string + usage: + $ref: "#/components/schemas/XAIVideoUsage" + video: + $ref: "#/components/schemas/XAIGeneratedVideo" + type: object + XAIVideoUsage: + description: Usage information for the video generation request + properties: + cost_in_usd_ticks: + description: "The cost of this request expressed in USD ticks. One USD cent equals 100,000,000 ticks, so one US dollar equals 10,000,000,000 ticks.\n" + type: integer + type: object + securitySchemes: + BearerAuth: + bearerFormat: JWT + scheme: bearer + type: http +info: + title: Comfy API + version: "1.0" +openapi: 3.0.2 +paths: + "/admin/customers/{customer_id}/archive-metronome-data": + post: + description: Archives metronome data. See https://docs.metronome.com/api-reference/customers/archive-a-customer + operationId: PostAdminArchiveMetronomeData + parameters: + - description: The ID of the customer whose Metronome data to archive + in: path + name: customer_id + required: true + schema: + type: string + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + description: Success message + type: string + type: object + description: Metronome data archived successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request - missing required parameter + "401": + description: Unauthorized or missing admin API secret + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Archive customer Metronome data + tags: + - Admin + x-excluded: true + "/admin/customers/{customer_id}/balance": + get: + description: "Returns the specified customer's current remaining balance in microamount and its currency." + operationId: GetAdminCustomerBalance + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + amount_micros: + format: double + type: number + cloud_credit_balance_micros: + format: double + type: number + currency: + type: string + effective_balance_micros: + format: double + type: number + pending_charges_micros: + format: double + type: number + prepaid_balance_micros: + format: double + type: number + required: + - amount_micros + - currency + type: object + description: Customer balance retrieved successfully + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: "Admin get customer's remaining balance" + tags: + - Admin + x-excluded: true + "/admin/customers/{customer_id}/cloud-subscription-status": + get: + description: "Allows an admin to inspect a specific customer's cloud subscription status." + operationId: GetAdminCustomerCloudSubscriptionStatus + parameters: + - description: The ID of the customer whose subscription status to retrieve + in: path + name: customer_id + required: true + schema: + type: string + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + end_date: + description: The date when the subscription is set to end (ISO 8601 format) + format: date-time + nullable: true + type: string + has_fund: + description: Whether the customer has funds/credits available + type: boolean + is_active: + description: Whether the customer has an active cloud subscription + type: boolean + renewal_date: + description: The next renewal date for the subscription (ISO 8601 format) + format: date-time + nullable: true + type: string + subscription_duration: + allOf: + - $ref: "#/components/schemas/SubscriptionDuration" + nullable: true + subscription_id: + description: The active subscription ID if one exists + nullable: true + type: string + subscription_tier: + allOf: + - $ref: "#/components/schemas/SubscriptionTier" + nullable: true + type: object + description: Cloud subscription status retrieved successfully + "401": + description: Unauthorized or missing admin API secret + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin check cloud subscription status + tags: + - Admin + x-excluded: true + "/admin/customers/{customer_id}/partner-node-concurrency-override": + delete: + description: "Clears the override (sets it to NULL) so the customer's limit reverts to the spend engine.\n" + operationId: ClearAdminCustomerConcurrencyOverride + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Override cleared successfully + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin clear customer partner-node concurrency override + tags: + - Admin + x-excluded: true + get: + description: "Returns the customer's current partner-node concurrency override (the raw column value), the limit the gate enforces right now, and the limit the spend engine would apply if the override were cleared.\n" + operationId: GetAdminCustomerConcurrencyOverride + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + customer_id: + type: string + effective_limit: + description: Limit the gate enforces right now. + type: integer + effective_reason: + type: string + engine_limit: + description: Limit the spend engine would apply if the override were cleared. + type: integer + engine_reason: + type: string + lifetime_paid_spend_cents: + description: Lifetime paid spend in cents; null when the spend query failed. + format: int64 + nullable: true + type: integer + override: + description: Raw override column value; null when unset. + nullable: true + type: integer + required: + - customer_id + - effective_limit + - effective_reason + - engine_limit + - engine_reason + type: object + description: Override and resolved limits retrieved successfully + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin get customer partner-node concurrency override + tags: + - Admin + x-excluded: true + put: + description: "Pins the customer's partner-node concurrency override. Semantics: 0 = blocked, -1 = unlimited, positive = hard limit. Allowed values are -1, 0, and 1..200.\n" + operationId: SetAdminCustomerConcurrencyOverride + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + override: + description: "-1 unlimited, 0 blocked, 1..200 hard limit. Must be present and non-null; a missing or null value is rejected with 400 (use DELETE to clear the override).\n" + nullable: true + type: integer + required: + - override + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Override set successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid override value + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin set customer partner-node concurrency override + tags: + - Admin + x-excluded: true + "/admin/customers/{customer_id}/stripe-data": + delete: + description: Deletes the Stripe customer data associated with the given customer ID. + operationId: DeleteAdminCustomerStripeData + parameters: + - description: The ID of the customer whose Stripe data to delete + in: path + name: customer_id + required: true + schema: + type: string + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + description: Success message + type: string + type: object + description: Stripe data deleted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request - missing required parameter + "401": + description: Unauthorized or missing admin API secret + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Delete customer Stripe data + tags: + - Admin + x-excluded: true + /admin/generate-token: + post: + description: "Generates a short-lived JWT admin token for browser-based admin operations.\nThe user must already be authenticated with Firebase and have admin privileges.\nThe generated token expires after 1 hour.\n" + operationId: GenerateAdminToken + responses: + "200": + content: + application/json: + schema: + properties: + expires_at: + description: When the token expires + format: date-time + type: string + token: + description: The JWT admin token + type: string + required: + - token + - expires_at + type: object + description: JWT token generated successfully + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized or user is not an admin + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Generate a short-lived JWT admin token + tags: + - Admin + /admin/nodes: + post: + operationId: AdminCreateNode + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "409": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Duplicate error. + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new custom node using admin priviledge + tags: + - Registry + x-excluded: true + "/admin/nodes/{nodeId}": + put: + description: Only admins can update a node with admin privileges. + operationId: AdminUpdateNode + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Admin Update Node + tags: + - Registry + x-excluded: true + "/admin/nodes/{nodeId}/versions/{versionNumber}": + put: + description: Only admins can approve a node version. + operationId: AdminUpdateNodeVersion + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: versionNumber + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + status: + $ref: "#/components/schemas/NodeVersionStatus" + status_reason: + description: The reason for the status change. + type: string + supported_accelerators: + description: "List of accelerators (e.g. CUDA, DirectML, ROCm) that this node supports" + items: + type: string + type: array + supported_comfyui_frontend_version: + description: Supported versions of ComfyUI frontend + type: string + supported_comfyui_version: + description: Supported versions of ComfyUI + type: string + supported_os: + description: List of operating systems that this node supports + items: + type: string + type: array + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersion" + description: Version updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Admin Update Node Version Status + tags: + - Registry + x-excluded: true + /admin/nodeversions: + get: + description: Admin-only endpoint to list all node versions with support for including deleted versions. Only admins can access this endpoint. + operationId: AdminListAllNodeVersions + parameters: + - in: query + name: nodeId + schema: + type: string + - explode: true + in: query + name: statuses + schema: + items: + $ref: "#/components/schemas/NodeVersionStatus" + type: array + style: form + - in: query + name: include_status_reason + schema: + default: false + type: boolean + - description: The page number to retrieve. + in: query + name: page + schema: + default: 1 + type: integer + - description: The number of items to include per page. + in: query + name: pageSize + schema: + default: 10 + type: integer + - description: "search for status_reason, case insensitive" + in: query + name: status_reason + schema: + type: string + - description: Include soft-deleted node versions in the results + in: query + name: include_deleted + schema: + default: false + type: boolean + responses: + "200": + content: + application/json: + schema: + properties: + page: + description: Current page number + type: integer + pageSize: + description: Maximum number of node versions per page. Maximum is 100. + type: integer + total: + description: Total number of node versions available + type: integer + totalPages: + description: Total number of pages available + type: integer + versions: + items: + $ref: "#/components/schemas/NodeVersion" + type: array + type: object + description: List of all node versions + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Invalid input, object invalid" + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Admin list all node versions with optional filters + tags: + - Registry + x-excluded: true + /admin/partner-node-model-overrides: + get: + description: "Returns the effective tier classification for every model known to the rate card or the override table (override-aware; most rows have no override).\n" + operationId: ListAdminModelOverrides + parameters: + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + models: + items: + $ref: "#/components/schemas/ModelClassification" + type: array + required: + - models + type: object + description: Classifications retrieved successfully + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin list partner-node model tier classifications + tags: + - Admin + x-excluded: true + "/admin/partner-node-model-overrides/{model}": + delete: + description: "Removes the override so the model reverts to cost-based classification. Idempotent (200 even if no override existed).\n" + operationId: DeleteAdminModelOverride + parameters: + - in: path + name: model + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Override cleared successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin clear a model tier override + tags: + - Admin + x-excluded: true + get: + description: "Returns the model's effective tier — the override if one is set, else the cost-based classification. Always 200; an unknown model resolves to the default (not capped). Note: {model} is a single URL path segment, so a model ID containing a slash cannot be addressed via this route; use the list endpoint (GET /admin/partner-node-model-overrides) to see its classification. Partner-node model IDs are flat today, so this is not a current limitation.\n" + operationId: GetAdminModelOverride + parameters: + - in: path + name: model + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ModelClassification" + description: Classification retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: "Admin get a model's effective tier" + tags: + - Admin + x-excluded: true + put: + description: "Upserts an override pinning the model to a tier. tier must be 'expensive' or 'exempt'. Takes effect immediately on the handling pod and within MODEL_OVERRIDE_REFRESH on others.\n" + operationId: SetAdminModelOverride + parameters: + - in: path + name: model + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + tier: + description: "'expensive' or 'exempt'." + type: string + required: + - tier + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Override set successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid tier or model + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin set a model tier override + tags: + - Admin + x-excluded: true + /admin/sync-api-key-deletion: + post: + description: "Reverse-direction delete-sync (cloud → comfy-api registry, BE-1542). When a\nworkspace API key is deleted in cloud (the new source of truth), cloud calls\nthis endpoint so the comfy-api registry's api_keys row is removed too,\nkeeping the two stores convergent. Idempotent: deleting an unknown hash is a\nno_op. M2M/admin-only; carries the key hash, never plaintext.\n" + operationId: SyncApiKeyDeletion + parameters: + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + customer_id: + description: "Firebase UID of the key's owner, for mismatch detection. The\ndeletion proceeds by hash regardless (mirrors cloud's inbound\nRevokeByHash semantics).\n" + type: string + event: + description: "Sync event type; only \"delete\" is supported." + enum: + - delete + example: delete + type: string + key_hash: + description: SHA-256 hex hash of the API key to revoke. + maxLength: 64 + minLength: 64 + pattern: "^[A-Fa-f0-9]{64}$" + type: string + required: + - event + - key_hash + - customer_id + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + result: + description: "revoked when a matching key was deleted; no_op when no key\nmatched the hash (already deleted or never existed).\n" + type: string + required: + - result + type: object + description: Delete-sync processed + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid request (missing fields or unsupported event) + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized or missing admin API secret + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Revoke a registry API key by hash (reverse delete-sync) + tags: + - Admin + x-excluded: true + /admin/verify-api-key: + post: + description: "Validates a ComfyUI API key and returns the associated customer information.\nThis endpoint is used by cloud.comfy.org to authenticate users via API keys\ninstead of Firebase tokens.\n" + operationId: VerifyApiKey + parameters: + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + api_key: + description: "The ComfyUI API key to verify (e.g., comfy_xxx...)" + type: string + include_customer_keys: + description: "When true, the response also includes customer_api_keys: the\nfull set of the customer's API keys (hash + prefix + name +\ndescription) so cloud's migrate-on-miss can seed ALL of the\ncustomer's keys into workspace_api_keys, not just the one being\nverified. M2M/admin-only; carries hashes, never plaintext.\n" + type: boolean + required: + - api_key + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + customer_api_keys: + description: "All of the customer's API keys — returned ONLY when the\nrequest sets include_customer_keys=true. Lets cloud's\nmigrate-on-miss seed every key into workspace_api_keys (by\nhash) so the cloud key list matches the customer's full set,\nnot just the one verified. M2M/admin-only; hashes, no plaintext.\n" + items: + $ref: "#/components/schemas/MigrationAPIKey" + type: array + email: + description: "The customer's email address" + type: string + firebase_uid: + description: The Firebase UID of the user + type: string + is_admin: + description: Whether the customer is an admin + type: boolean + key_description: + description: "The api_keys row's own description. Returned so that cloud's\nmigrate-on-miss path can preserve it on the cached\nworkspace_api_keys row instead of writing a placeholder.\n" + type: string + key_name: + description: "The api_keys row's own name (display label). Returned so that\ncloud's migrate-on-miss path can preserve it on the cached\nworkspace_api_keys row instead of writing a placeholder.\n" + type: string + name: + description: "The customer's name" + type: string + valid: + description: Whether the API key is valid + type: boolean + required: + - valid + - firebase_uid + type: object + description: API key is valid + "401": + description: Unauthorized or missing admin API secret + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "API key auth not allowed for this account (e.g., free tier)" + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: API key not found or invalid + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Verify a ComfyUI API key and return customer details + tags: + - Admin + x-excluded: true + /branch: + get: + description: Returns all branches for a given repo. + operationId: GetBranch + parameters: + - description: The repo to filter by. + in: query + name: repo_name + required: true + schema: + default: comfyanonymous/ComfyUI + type: string + responses: + "200": + content: + application/json: + schema: + properties: + branches: + items: + type: string + type: array + type: object + description: An array of branches + "404": + description: Repo not found + "500": + description: Internal server error + summary: Retrieve all distinct branches for a given repo + tags: + - ComfyUI CI + x-excluded: true + /bulk/nodes/versions: + post: + operationId: GetBulkNodeVersions + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BulkNodeVersionsRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BulkNodeVersionsResponse" + description: Successfully retrieved node versions + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve multiple node versions in a single request + tags: + - Registry + /comfy-nodes: + get: + operationId: ListAllComfyNodes + parameters: + - in: query + name: pageSize + schema: + default: 100 + type: integer + - description: Page number (1-based indexing) + in: query + name: page + schema: + default: 1 + type: integer + - description: Filter by node ID + in: query + name: node_id + schema: + type: string + - description: Filter by node version + in: query + name: node_version + schema: + type: string + - description: Filter by ComfyUI node name + in: query + name: comfy_node_name + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + comfy_nodes: + items: + $ref: "#/components/schemas/ComfyNode" + type: array + total: + description: Total number of comfy nodes + type: integer + type: object + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: list all comfy-nodes + tags: + - Registry + /comfy-nodes/backfill: + post: + operationId: ComfyNodesBackfill + parameters: + - in: query + name: max_node + schema: + default: 10 + type: integer + responses: + "204": + description: Backfill triggered + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: trigger comfy nodes backfill + tags: + - Registry + x-excluded: true + "/comfy-nodes/{comfyNodeName}/node": + get: + description: Returns the node that contains a ComfyUI node with the specified name + operationId: GetNodeByComfyNodeName + parameters: + - description: The name of the ComfyUI node + in: path + name: comfyNodeName + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node details + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: No node found containing the specified ComfyUI node name + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve a node by ComfyUI node name + tags: + - Registry + /customers: + get: + description: "Search for customers by email, name, Stripe ID, or Metronome ID." + operationId: SearchCustomers + parameters: + - description: Email address to search for + in: query + name: email + schema: + type: string + - description: Customer name to search for + in: query + name: name + schema: + type: string + - description: Stripe customer ID to search for + in: query + name: stripe_id + schema: + type: string + - description: Metronome customer ID to search for\ + in: query + name: metronome_id + schema: + type: string + - description: Page number to retrieve + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of customers to return per page + in: query + name: limit + schema: + default: 10 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + customers: + items: + $ref: "#/components/schemas/Customer" + type: array + limit: + description: Number of customers per page + type: integer + page: + description: Current page number + type: integer + total: + description: Total number of matching customers + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: Customers matching the search criteria + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid request parameters + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - insufficient permissions + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Search for customers + tags: + - API Nodes + - Admin + x-excluded: true + post: + description: Creates a new customer. User identity is taken from the bearer token; the optional request body carries a Cloudflare Turnstile token used for server-side bot verification at signup (BE-1490). The body is optional — clients that do not run the Turnstile widget (e.g. the local OSS build) may omit it. + operationId: CreateCustomer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreateCustomerRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Customer" + description: Customer already exists + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Customer" + description: Customer created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new customer + tags: + - API Nodes + x-excluded: true + /customers/admin/coupons: + get: + description: Retrieves a list of all coupons from Stripe. Only admins can list coupons. + operationId: ListCoupons + parameters: + - description: Number of coupons to return + in: query + name: limit + schema: + default: 10 + maximum: 100 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + coupons: + items: + $ref: "#/components/schemas/CouponResponse" + type: array + has_more: + description: Whether there are more results available + type: boolean + required: + - coupons + type: object + description: List of coupons retrieved successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: List all coupons + tags: + - Admin + - API Nodes + x-excluded: true + post: + description: Creates a new coupon in Stripe. Only admins can create coupons. + operationId: CreateCoupon + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreateCouponRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/CouponResponse" + description: Coupon created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new Stripe coupon + tags: + - Admin + - API Nodes + x-excluded: true + "/customers/admin/coupons/{coupon_id}": + delete: + description: Deletes a coupon in Stripe. Only admins can delete coupons. + operationId: DeleteCoupon + parameters: + - description: The Stripe coupon ID + in: path + name: coupon_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + coupon_id: + description: The deleted coupon ID + type: string + message: + description: Success message + type: string + required: + - message + - coupon_id + type: object + description: Coupon deleted successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Coupon not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Delete a coupon + tags: + - Admin + - API Nodes + x-excluded: true + get: + description: Retrieves details of a specific coupon from Stripe. Only admins can view coupons. + operationId: GetCoupon + parameters: + - description: The Stripe coupon ID + in: path + name: coupon_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CouponResponse" + description: Coupon retrieved successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Coupon not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get a specific coupon + tags: + - Admin + - API Nodes + x-excluded: true + patch: + description: Updates a coupon in Stripe. Only admins can update coupons. + operationId: UpdateCoupon + parameters: + - description: The Stripe coupon ID + in: path + name: coupon_id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateCouponRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CouponResponse" + description: Coupon updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Coupon not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Update a coupon + tags: + - Admin + - API Nodes + x-excluded: true + /customers/admin/promo-codes: + get: + description: Retrieves a list of all promotional codes from Stripe. Only admins can list promo codes. + operationId: ListPromoCodes + parameters: + - description: Filter by active status + in: query + name: active + schema: + type: boolean + - description: Number of promo codes to return + in: query + name: limit + schema: + default: 10 + maximum: 100 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + has_more: + description: Whether there are more results available + type: boolean + promo_codes: + items: + $ref: "#/components/schemas/PromoCodeResponse" + type: array + required: + - promo_codes + type: object + description: List of promo codes retrieved successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: List all promotional codes + tags: + - Admin + - API Nodes + x-excluded: true + post: + description: Creates a new unique promotional code in Stripe for the specified coupon. Only admins can generate promo codes. + operationId: CreatePromoCode + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreatePromoCodeRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/PromoCodeResponse" + description: Promo code created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Generate a new Stripe promotional code + tags: + - Admin + - API Nodes + x-excluded: true + "/customers/admin/promo-codes/{promo_code_id}": + delete: + description: Deactivates a promotional code in Stripe. Only admins can deactivate promo codes. + operationId: DeletePromoCode + parameters: + - description: The Stripe promotion code ID + in: path + name: promo_code_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + description: Success message + type: string + promo_code_id: + description: The deactivated promo code ID + type: string + required: + - message + - promo_code_id + type: object + description: Promo code deactivated successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Promo code not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Deactivate a promotional code + tags: + - Admin + - API Nodes + x-excluded: true + get: + description: Retrieves details of a specific promotional code from Stripe. Only admins can view promo codes. + operationId: GetPromoCode + parameters: + - description: The Stripe promotion code ID + in: path + name: promo_code_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PromoCodeResponse" + description: Promo code retrieved successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Promo code not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get a specific promotional code + tags: + - Admin + - API Nodes + x-excluded: true + patch: + description: Updates a promotional code in Stripe. Only admins can update promo codes. + operationId: UpdatePromoCode + parameters: + - description: The Stripe promotion code ID + in: path + name: promo_code_id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UpdatePromoCodeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PromoCodeResponse" + description: Promo code updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Promo code not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Update a promotional code + tags: + - Admin + - API Nodes + x-excluded: true + /customers/api-keys: + get: + operationId: ListCustomerAPIKeys + responses: + "200": + content: + application/json: + schema: + properties: + api_keys: + items: + $ref: "#/components/schemas/APIKey" + type: array + type: object + description: List of API keys + "401": + description: Unauthorized + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: List all API keys for a customer + x-excluded: true + post: + operationId: CreateCustomerAPIKey + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreateAPIKeyRequest" + required: true + responses: + "201": + content: + application/json: + schema: + properties: + api_key: + $ref: "#/components/schemas/APIKeyWithPlaintext" + type: object + description: API key created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "404": + description: Customer or API key not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Create a new API key for a customer + x-excluded: true + "/customers/api-keys/{api_key_id}": + delete: + operationId: DeleteCustomerAPIKey + parameters: + - in: path + name: api_key_id + required: true + schema: + type: string + responses: + "204": + description: API key deleted + "401": + description: Unauthorized + "404": + description: Customer or API key not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Delete an API key for a customer + x-excluded: true + /customers/balance: + get: + description: "Returns the customer's current remaining balance in microamount and its currency, with separate breakdowns for prepaid commits and cloud credits." + operationId: GetCustomerBalance + responses: + "200": + content: + application/json: + schema: + properties: + amount_micros: + description: "The total remaining balance in microamount (1/1,000,000 of the currency unit)" + format: double + type: number + cloud_credit_balance_micros: + description: The remaining balance from cloud credits in microamount + format: double + type: number + currency: + description: "The currency code (e.g., \"usd\")" + type: string + effective_balance_micros: + description: The effective balance (total balance minus pending charges). Can be negative if pending charges exceed the balance. Only included when the show_negative_balances feature flag is enabled. + format: double + type: number + pending_charges_micros: + description: The total amount of pending/unbilled charges from draft invoices in microamount. Only included when the show_negative_balances feature flag is enabled. + format: double + type: number + prepaid_balance_micros: + description: The remaining balance from prepaid commits in microamount + format: double + type: number + required: + - amount_micros + - currency + type: object + description: Customer balance retrieved successfully + "401": + description: Unauthorized or invalid token + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Get customer's remaining balance" + tags: + - API Nodes + x-excluded: true + /customers/billing: + post: + description: "Creates a session for the customer to access their billing portal where they can manage subscriptions, payment methods, and view invoices." + operationId: AccessBillingPortal + requestBody: + content: + application/json: + schema: + properties: + return_url: + description: "Optional URL to redirect the customer after they're done with the billing portal" + type: string + target_tier: + description: "Optional target subscription tier. When provided, creates a deep link directly to the subscription update confirmation screen with this tier pre-selected." + enum: + - standard + - creator + - pro + - standard-yearly + - creator-yearly + - pro-yearly + type: string + type: object + responses: + "200": + content: + application/json: + schema: + properties: + billing_portal_url: + description: The URL to redirect the customer to the billing portal + type: string + type: object + description: Billing portal session created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input" + "401": + description: Unauthorized or invalid token + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Access customer billing portal + tags: + - API Nodes + - Released + x-excluded: true + /customers/cloud-subscription-checkout: + post: + description: Creates a cloud subscription checkout session for $20/month with automatic billing + operationId: CreateCloudSubscriptionCheckout + requestBody: + content: + application/json: + schema: + properties: + ga_client_id: + description: Google Analytics client ID from _ga cookie + type: string + ga_session_id: + description: Google Analytics session ID + type: string + ga_session_number: + description: Google Analytics session number + type: string + gbraid: + description: Google Ads iOS attribution parameter + type: string + gclid: + description: Google Ads click ID + type: string + im_ref: + description: Impact.com click ID for affiliate conversion tracking + type: string + rewardful_referral: + description: "Rewardful referral UUID (window.Rewardful.referral), passed to Stripe as client_reference_id for affiliate conversion tracking" + type: string + utm_campaign: + description: UTM campaign parameter + type: string + utm_content: + description: UTM content parameter + type: string + utm_medium: + description: UTM medium parameter + type: string + utm_source: + description: UTM source parameter + type: string + utm_term: + description: UTM term parameter + type: string + wbraid: + description: Google Ads web-to-app attribution parameter + type: string + type: object + responses: + "201": + content: + application/json: + schema: + properties: + checkout_url: + description: The URL to redirect the customer to complete subscription + type: string + type: object + description: Subscription checkout session created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input" + "401": + description: Unauthorized or invalid token + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create cloud subscription checkout session + tags: + - API Nodes + - Released + x-excluded: true + "/customers/cloud-subscription-checkout/{tier}": + post: + description: "Creates a cloud subscription checkout session for a specific subscription tier (standard, creator, or pro) with automatic billing" + operationId: CreateCloudSubscriptionCheckoutTier + parameters: + - description: "The subscription tier (standard, creator, or pro) with optional yearly billing (standard-yearly, creator-yearly, pro-yearly)" + in: path + name: tier + required: true + schema: + enum: + - standard + - creator + - pro + - standard-yearly + - creator-yearly + - pro-yearly + type: string + requestBody: + content: + application/json: + schema: + properties: + ga_client_id: + description: Google Analytics client ID from _ga cookie + type: string + ga_session_id: + description: Google Analytics session ID + type: string + ga_session_number: + description: Google Analytics session number + type: string + gbraid: + description: Google Ads iOS attribution parameter + type: string + gclid: + description: Google Ads click ID + type: string + im_ref: + description: Impact.com click ID for affiliate conversion tracking + type: string + rewardful_referral: + description: "Rewardful referral UUID (window.Rewardful.referral), passed to Stripe as client_reference_id for affiliate conversion tracking" + type: string + utm_campaign: + description: UTM campaign parameter + type: string + utm_content: + description: UTM content parameter + type: string + utm_medium: + description: UTM medium parameter + type: string + utm_source: + description: UTM source parameter + type: string + utm_term: + description: UTM term parameter + type: string + wbraid: + description: Google Ads web-to-app attribution parameter + type: string + type: object + responses: + "201": + content: + application/json: + schema: + properties: + checkout_url: + description: The URL to redirect the customer to complete subscription + type: string + type: object + description: Subscription checkout session created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input or tier" + "401": + description: Unauthorized or invalid token + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create cloud subscription checkout session for a specific tier + tags: + - API Nodes + - Released + x-excluded: true + /customers/cloud-subscription-status: + get: + description: Check if the customer has an active cloud subscription + operationId: GetCloudSubscriptionStatus + responses: + "200": + content: + application/json: + schema: + properties: + end_date: + description: The date when the subscription is set to end (ISO 8601 format) + format: date-time + nullable: true + type: string + free_tier_grant_state: + allOf: + - $ref: "#/components/schemas/FreeTierGrantState" + nullable: true + has_fund: + description: Whether the customer has funds/credits available + type: boolean + is_active: + description: Whether the customer has an active cloud subscription + type: boolean + renewal_date: + description: The next renewal date for the subscription (ISO 8601 format) + format: date-time + nullable: true + type: string + subscription_duration: + allOf: + - $ref: "#/components/schemas/SubscriptionDuration" + nullable: true + subscription_id: + description: The active subscription ID if one exists + nullable: true + type: string + subscription_tier: + allOf: + - $ref: "#/components/schemas/SubscriptionTier" + nullable: true + type: object + description: Cloud subscription status retrieved successfully + "401": + description: Unauthorized or invalid token + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Check cloud subscription status + tags: + - API Nodes + - Released + x-excluded: true + /customers/credit: + post: + operationId: InitiateCreditPurchase + requestBody: + content: + application/json: + schema: + properties: + amount_micros: + description: the amount of the checkout transaction in micro value + format: int64 + type: integer + currency: + description: the currency used in the checkout transaction + type: string + required: + - amount_micros + - currency + type: object + required: true + responses: + "201": + content: + application/json: + schema: + properties: + checkout_url: + description: the url to redirect the customer + type: string + type: object + description: Customer Checkout created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid token or user already exists" + "401": + description: Unauthorized or invalid token + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Initiates a Credit Purchase. + tags: + - API Nodes + - Released + x-excluded: true + /customers/events: + get: + operationId: GetCustomerEvents + parameters: + - description: Page number of the nodes list + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of nodes to return per page + in: query + name: limit + schema: + default: 10 + type: integer + - description: Event type to filter + in: query + name: filter + schema: + type: string + - description: "Start date for filtering events (RFC3339 format, e.g., 2025-01-01T00:00:00Z)" + in: query + name: start_date + schema: + format: date-time + type: string + - description: "End date for filtering events (RFC3339 format, e.g., 2025-01-31T23:59:59Z)" + in: query + name: end_date + schema: + format: date-time + type: string + responses: + "200": + content: + application/json: + schema: + properties: + events: + items: + $ref: "#/components/schemas/AuditLog" + type: array + limit: + description: Maximum number of nodes per page + type: integer + page: + description: Current page number + type: integer + total: + description: Total number of events available + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: A paginated list of nodes + "400": + description: "Invalid input, object invalid" + "404": + description: Not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get events related to customer + tags: + - API Nodes + x-excluded: true + /customers/me: + get: + description: Returns details about the currently authenticated customer based on their JWT token. + operationId: GetAuthenticatedCustomer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Customer" + description: Customer details retrieved successfully + "401": + description: Unauthorized or invalid token + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get authenticated customer details + tags: + - API Nodes + x-excluded: true + /customers/storage: + post: + description: Store a resource for a customer. Resource will have a 24 hour expiry. The signed URL will be generated for the specified file path. + operationId: CreateCustomerStorageResource + requestBody: + content: + application/json: + schema: + properties: + content_type: + description: "The content type of the file (e.g., 'image/png')" + type: string + file_hash: + description: "The hash of the file. If provided, an existing file with the same hash may be returned." + type: string + file_name: + description: "The desired name of the file (e.g., 'profile.jpg')" + type: string + required: + - file_name + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CustomerStorageResourceResponse" + description: Signed URL generated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Store a resource for a customer + tags: + - API Nodes + x-excluded: true + /customers/usage: + post: + description: "Returns the customer's as a dashboard URL." + operationId: GetCustomerUsage + requestBody: + content: + application/json: + schema: + properties: + color_overrides: + description: Optional list of colors to override for branding + items: + properties: + name: + description: The color property to override + enum: + - Gray_dark + - Gray_medium + - Gray_light + - Gray_extralight + - White + - Primary_medium + - Primary_light + - UsageLine_0 + - UsageLine_1 + - UsageLine_2 + - UsageLine_3 + - UsageLine_4 + - UsageLine_5 + - UsageLine_6 + - UsageLine_7 + - UsageLine_8 + - UsageLine_9 + - Primary_green + - Primary_red + - Progress_bar + - Progress_bar_background + type: string + value: + description: "Hex color code (e.g., \"#FF5733\")" + pattern: "^#[0-9A-Fa-f]{6}$" + type: string + required: + - name + - value + type: object + type: array + dashboard_type: + default: usage + description: The type of dashboard to retrieve + enum: + - invoices + - usage + - credits + - commits_and_credits + type: string + type: object + responses: + "200": + content: + application/json: + schema: + properties: + url: + description: "The dashboard URL for the customer's usage" + type: string + type: object + description: Successful response + "401": + description: Unauthorized or invalid token + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: "Get customer's usage" + tags: + - API Nodes + x-excluded: true + /customers/usage/timeseries: + get: + description: "Returns the authenticated customer's gross usage spend, grouped by model, endpoint, or product, as one stacked data point per billing period, plus a per-group breakdown and a summary, for rendering a custom usage dashboard. Sourced from invoice line items (real USD). Replaces the embeddable iframe." + operationId: GetCustomerUsageTimeSeries + parameters: + - description: Dimension to group spend by. Falls back to product name when the chosen key is absent on a line item. + in: query + name: group_by + schema: + default: model + enum: + - model + - endpoint + - product + type: string + - description: "Bucket size for the time series. \"month\" uses monthly invoice line items; \"day\" and \"hour\" use invoice breakdowns (provide starting_on/ending_before)." + in: query + name: granularity + schema: + default: month + enum: + - hour + - day + - month + type: string + - description: RFC 3339 start of the range (inclusive). Defaults to months before ending_before. + in: query + name: starting_on + schema: + format: date-time + type: string + - description: RFC 3339 end of the range (exclusive). Defaults to now. + in: query + name: ending_before + schema: + format: date-time + type: string + - description: "Lookback window in months, used when starting_on is omitted." + in: query + name: months + schema: + default: 6 + maximum: 24 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CustomerUsageTimeSeries" + description: Customer usage time series retrieved successfully + "401": + description: Unauthorized or invalid token + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Get customer's usage time series" + tags: + - API Nodes + x-excluded: true + "/customers/{customer_id}": + get: + description: Returns details about a customer by their ID. + operationId: GetCustomerById + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + customer: + $ref: "#/components/schemas/CustomerAdmin" + type: object + description: Customer details retrieved successfully + "401": + description: Unauthorized or invalid token + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get a customer by ID + tags: + - API Nodes + - Admin + x-excluded: true + "/customers/{customer_id}/balance": + get: + description: "Returns the specified customer's current remaining balance in microamount and its currency, with separate breakdowns for prepaid commits and cloud credits." + operationId: GetCustomerBalanceById + parameters: + - description: The ID of the customer whose balance to retrieve + in: path + name: customer_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + amount_micros: + description: "The total remaining balance in microamount (1/1,000,000 of the currency unit)" + format: double + type: number + cloud_credit_balance_micros: + description: The remaining balance from cloud credits in microamount + format: double + type: number + currency: + description: "The currency code (e.g., \"usd\")" + type: string + effective_balance_micros: + description: The effective balance (total balance minus pending charges). Can be negative if pending charges exceed the balance. Only included when the show_negative_balances feature flag is enabled. + format: double + type: number + pending_charges_micros: + description: The total amount of pending/unbilled charges from draft invoices in microamount. Only included when the show_negative_balances feature flag is enabled. + format: double + type: number + prepaid_balance_micros: + description: The remaining balance from prepaid commits in microamount + format: double + type: number + required: + - amount_micros + - currency + type: object + description: Customer balance retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized or invalid token + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Get customer's remaining balance by ID" + tags: + - API Nodes + - Admin + x-excluded: true + "/customers/{customer_id}/events": + get: + operationId: GetCustomerEventsById + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - description: Page number of the nodes list + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of nodes to return per page + in: query + name: limit + schema: + default: 10 + type: integer + - description: Event type to filter + in: query + name: filter + schema: + type: string + - description: "Start date for filtering events (RFC3339 format, e.g., 2025-01-01T00:00:00Z)" + in: query + name: start_date + schema: + format: date-time + type: string + - description: "End date for filtering events (RFC3339 format, e.g., 2025-01-31T23:59:59Z)" + in: query + name: end_date + schema: + format: date-time + type: string + responses: + "200": + content: + application/json: + schema: + properties: + events: + items: + $ref: "#/components/schemas/AuditLog" + type: array + limit: + description: Maximum number of nodes per page + type: integer + page: + description: Current page number + type: integer + total: + description: Total number of events available + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: A paginated list of nodes + "400": + description: "Invalid input, object invalid" + "404": + description: Not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get events related to customer + tags: + - API Nodes + x-excluded: true + "/customers/{customer_id}/usage": + post: + description: Manually track usage for a customer in Metronome. This endpoint is for admin use to record usage events. + operationId: TrackCustomerUsage + parameters: + - description: The ID of the customer to track usage for + in: path + name: customer_id + required: true + schema: + type: string + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + params: + additionalProperties: true + description: Custom parameters for the usage event + type: object + timestamp: + description: Timestamp of the usage event (RFC3339 format) + format: date-time + type: string + transaction_id: + description: Unique transaction ID for this usage event + format: uuid + type: string + required: + - transaction_id + - params + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + message: + description: Success message + type: string + type: object + description: Usage tracked successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized or invalid token + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Track usage for a customer (Admin only) + tags: + - API Nodes + - Admin + x-excluded: true + /features: + get: + description: "Returns the server's feature capabilities" + operationId: GetFeatures + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FeaturesResponse" + description: Success + summary: Get server feature flags + tags: + - Registry + /gitcommit: + get: + description: "Returns all runs, jobs, job results, and storage files associated with a given commit." + operationId: GetGitcommit + parameters: + - description: The ID of the commit to fetch data for. + in: query + name: commitId + schema: + type: string + - description: The operating system to filter the CI data by. + in: query + name: operatingSystem + schema: + type: string + - description: The name of the workflow to filter the CI data by. + in: query + name: workflowName + schema: + type: string + - description: The branch of the gitcommit to filter the CI data by. + in: query + name: branch + schema: + type: string + - description: The page number to retrieve. + in: query + name: page + schema: + default: 1 + type: integer + - description: The number of items to include per page. + in: query + name: pageSize + schema: + default: 10 + type: integer + - description: The repo to filter by. + in: query + name: repoName + schema: + default: comfyanonymous/ComfyUI + type: string + responses: + "200": + content: + application/json: + schema: + properties: + jobResults: + items: + $ref: "#/components/schemas/ActionJobResult" + type: array + totalNumberOfPages: + type: integer + type: object + description: "An object containing runs, jobs, job results, and storage files" + "404": + description: Commit not found + "500": + description: Internal server error + summary: Retrieve CI data for a given commit + tags: + - ComfyUI CI + x-excluded: true + /gitcommitsummary: + get: + description: "Returns a summary of git commits, including status, start time, and end time." + operationId: GetGitcommitsummary + parameters: + - description: The repository name to filter the git commits by. + in: query + name: repoName + schema: + default: comfyanonymous/ComfyUI + type: string + - description: The branch name to filter the git commits by. + in: query + name: branchName + schema: + type: string + - description: The page number to retrieve. + in: query + name: page + schema: + default: 1 + type: integer + - description: The number of items to include per page. + in: query + name: pageSize + schema: + default: 10 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + commitSummaries: + items: + $ref: "#/components/schemas/GitCommitSummary" + type: array + totalNumberOfPages: + type: integer + type: object + description: Successfully retrieved git commit summaries + "500": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Internal server error + summary: Retrieve a summary of git commits + tags: + - ComfyUI CI + x-excluded: true + /nodes: + get: + description: Returns a paginated list of nodes across all publishers. + operationId: ListAllNodes + parameters: + - description: Page number of the nodes list + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of nodes to return per page + in: query + name: limit + schema: + default: 10 + type: integer + - description: Filter nodes by supported operating systems + examples: + linux: + value: "POSIX :: Linux" + macos: + value: MacOS + macosx: + value: "MacOS :: MacOS X" + osIndependent: + value: OS Independent + ubuntu: + value: "POSIX :: Linux :: Ubuntu" + windows: + value: "Microsoft :: Windows" + windows10: + value: "Microsoft :: Windows :: Windows 10" + in: query + name: supported_os + schema: + type: string + - description: Filter nodes by supported accelerator + in: query + name: supported_accelerator + schema: + type: string + - description: Number of nodes to return per page + in: query + name: include_banned + schema: + type: boolean + - description: Retrieve nodes created or updated after this timestamp (ISO 8601 format) + in: query + name: timestamp + schema: + format: date-time + type: string + - description: Whether to fetch fresh result from database or use cached one if false + in: query + name: latest + schema: + type: boolean + - description: "Database column to use as ascending ordering. Add `;desc` as suffix on each column for descending sort" + in: query + name: sort + schema: + items: + type: string + type: array + - description: node_id to use as filter + in: query + name: node_id + schema: + items: + type: string + type: array + - description: Comfy UI version + in: query + name: comfyui_version + schema: + type: string + - description: The platform requesting the nodes + in: query + name: form_factor + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + limit: + description: Maximum number of nodes per page + type: integer + nodes: + items: + $ref: "#/components/schemas/Node" + type: array + page: + description: Current page number + type: integer + total: + description: Total number of nodes available + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: A paginated list of nodes + "400": + description: "Invalid input, object invalid" + "404": + description: Not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieves a list of nodes + tags: + - Registry + /nodes/reindex: + post: + operationId: ReindexNodes + parameters: + - description: Maximum number of nodes to send to algolia at a time + in: query + name: max_batch + schema: + type: integer + responses: + "200": + description: Reindex completed successfully. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request. + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Reindex all nodes for searching. + tags: + - Registry + x-excluded: true + /nodes/search: + get: + description: Returns a paginated list of nodes across all publishers. + operationId: SearchNodes + parameters: + - description: Page number of the nodes list + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of nodes to return per page + in: query + name: limit + schema: + default: 10 + type: integer + - description: Keyword to search the nodes + in: query + name: search + schema: + type: string + - description: Keyword to search the nodes by repository URL + in: query + name: repository_url_search + schema: + type: string + - description: Keyword to search the nodes by comfy node name + in: query + name: comfy_node_search + schema: + type: string + - description: Filter nodes by supported operating systems + examples: + linux: + value: "POSIX :: Linux" + macos: + value: MacOS + macosx: + value: "MacOS :: MacOS X" + osIndependent: + value: OS Independent + ubuntu: + value: "POSIX :: Linux :: Ubuntu" + windows: + value: "Microsoft :: Windows" + windows10: + value: "Microsoft :: Windows :: Windows 10" + in: query + name: supported_os + schema: + type: string + - description: Filter nodes by supported accelerator + in: query + name: supported_accelerator + schema: + type: string + - description: Number of nodes to return per page + in: query + name: include_banned + schema: + type: boolean + responses: + "200": + content: + application/json: + schema: + properties: + limit: + description: Maximum number of nodes per page + type: integer + nodes: + items: + $ref: "#/components/schemas/Node" + type: array + page: + description: Current page number + type: integer + total: + description: Total number of nodes available + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: A paginated list of nodes + "400": + description: "Invalid input, object invalid" + "404": + description: Not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieves a list of nodes + tags: + - Registry + /nodes/update-github-stars: + post: + operationId: UpdateGithubStars + parameters: + - description: Maximum number of nodes to update in one batch + in: query + name: max_batch + schema: + default: 100 + type: integer + responses: + "200": + description: Update GithubStars request triggered successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request. + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Update GitHub stars for nodes + tags: + - Registry + x-excluded: true + "/nodes/{nodeId}": + get: + description: Returns the details of a specific node. + operationId: GetNode + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - description: Whether to include the translation or not + in: query + name: include_translations + schema: + type: boolean + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node details + "302": + description: Redirect to node with normalized name match + headers: + Location: + description: URL of the node with the correct ID + schema: + type: string + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve a specific node by ID + tags: + - Registry + "/nodes/{nodeId}/install": + get: + description: "Retrieves the node data for installation, either the latest or a specific version." + operationId: InstallNode + parameters: + - description: The unique identifier of the node. + in: path + name: nodeId + required: true + schema: + type: string + - description: "Specific version of the node to retrieve. If omitted, the latest version is returned." + in: query + name: version + schema: + pattern: ^\d+\.\d+\.\d+$ + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersion" + description: Node data returned successfully. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Invalid input, such as a bad version format." + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node not found. + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Returns a node version to be installed. + tags: + - Registry + "/nodes/{nodeId}/reviews": + post: + operationId: PostNodeReview + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - description: number of star given to the node version + in: query + name: star + required: true + schema: + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Detailed information about a specific node + "400": + description: Bad Request + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Node version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Add review to a specific version of a node + tags: + - Registry + "/nodes/{nodeId}/translations": + post: + operationId: CreateNodeTranslations + parameters: + - description: The unique identifier of the node. + in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + data: + additionalProperties: + additionalProperties: true + type: object + type: object + type: object + required: true + responses: + "201": + description: Detailed information about a specific node + "400": + description: Bad Request + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Node version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Create Node Translations + tags: + - Registry + "/nodes/{nodeId}/versions": + get: + operationId: ListNodeVersions + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: query + name: statuses + schema: + items: + $ref: "#/components/schemas/NodeVersionStatus" + type: array + - in: query + name: include_status_reason + schema: + default: false + type: boolean + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/NodeVersion" + type: array + description: List of all node versions + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node banned + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: List all versions of a node + tags: + - Registry + "/nodes/{nodeId}/versions/{versionId}": + get: + operationId: GetNodeVersion + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - description: The version of the node. (Not a UUID). + in: path + name: versionId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersion" + description: Detailed information about a specific node version + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Node version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve a specific version of a node + tags: + - Registry + "/nodes/{nodeId}/versions/{version}/comfy-nodes": + get: + operationId: ListComfyNodes + parameters: + - description: The page number to retrieve. + in: query + name: page + schema: + default: 1 + type: integer + - description: The number of items to include per page. + in: query + name: limit + schema: + default: 10 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + comfy_nodes: + items: + $ref: "#/components/schemas/ComfyNode" + type: array + totalNumberOfPages: + type: integer + type: object + description: Comy Nodes obtained successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: list comfy-nodes for node version + tags: + - Registry + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: version + required: true + schema: + type: string + post: + operationId: CreateComfyNodes + requestBody: + content: + application/json: + schema: + properties: + cloud_build_info: + $ref: "#/components/schemas/ComfyNodeCloudBuildInfo" + nodes: + additionalProperties: + $ref: "#/components/schemas/ComfyNode" + reason: + type: string + status: + type: string + success: + type: boolean + type: object + required: true + responses: + "204": + description: Comy Nodes created successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + "409": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Existing Comfy Nodes exists + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: create comfy-nodes for certain node + tags: + - Registry + "/nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}": + get: + operationId: GetComfyNode + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: version + required: true + schema: + type: string + - in: path + name: comfyNodeName + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ComfyNode" + description: Comy Nodes created successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: get specify comfy-node based on its id + tags: + - Registry + put: + operationId: UpdateComfyNode + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: version + required: true + schema: + type: string + - in: path + name: comfyNodeName + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ComfyNodeUpdateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ComfyNode" + description: Comfy Node updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: ComfyNode not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Update a specific comfy-node + tags: + - Registry + /proxy/anthropic/v1/messages: + post: + description: "Forwards a Messages API request to Anthropic's `/v1/messages` endpoint\nand returns the model's reply. Supports both JSON responses and\nServer-Sent Events streaming (selected via `stream: true` in the body).\n" + operationId: AnthropicCreateMessage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/AnthropicCreateMessageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/AnthropicCreateMessageResponse" + text/event-stream: + schema: + description: Server-Sent Events stream of Anthropic message events + type: string + description: "Successful response from Anthropic Messages API. JSON shape when `stream` is omitted or false; otherwise a `text/event-stream` of message events." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a message via Anthropic Claude + tags: + - API Nodes + - Released + x-excluded: true + /proxy/beeble/v1/switchx/generations: + post: + description: Start a SwitchX compositing job. + operationId: BeebleCreateSwitchXJob + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleCreateSwitchXRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleSwitchXStatusResponse" + description: "The resulting job data. This will be returned in a pending state until the job is completed. See /v1/switchx/generations/{job_id} for retrieving the results." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Start SwitchX Generation + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/beeble/v1/switchx/generations/{job_id}": + get: + description: Poll the status of a SwitchX job. + operationId: BeebleGetSwitchXStatus + parameters: + - description: Job identifier (swx_...) + in: path + name: job_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleSwitchXStatusResponse" + description: The most up-to-date state of the job. Check the status field to determine completion. Output URLs are signed and expire after 72 hours; each call returns freshly signed URLs. + "401": + description: Unauthorized + "404": + description: Job not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get SwitchX Job Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/beeble/v1/uploads: + post: + description: "Create a presigned upload URL for a media file. The returned beeble_uri can be used as source_uri, reference_image_uri, or alpha_uri in SwitchX generation calls." + operationId: BeebleCreateUpload + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleUploadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleUploadResponse" + description: Presigned upload URL and beeble:// URI. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create Beeble Upload URL + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-2-max/generate: + post: + description: "Forwards image generation requests to BFL's Flux 2 Max API and returns the results. Supports image-to-image generation with up to 8 input images." + operationId: BflFlux2MaxGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFlux2ProGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: Successful response from BFL Flux 2 Max proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux 2 Max for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-2-pro/generate: + post: + description: "Forwards image generation requests to BFL's Flux 2 Pro API and returns the results. Supports image-to-image generation with up to 5 input images." + operationId: BflFlux2ProGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFlux2ProGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: Successful response from BFL Flux 2 Pro proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux 2 Pro for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-kontext-max/generate: + post: + description: "Forwards image editing requests to BFL's Flux Kontext Max API and returns the results." + operationId: BflFluxKontextMaxGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxKontextMaxGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxKontextMaxGenerateResponse" + description: Successful response from BFL Flux Kontext Max proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Kontext Max for image editing + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-kontext-pro/generate: + post: + description: "Forwards image editing requests to BFL's Flux Kontext Pro API and returns the results." + operationId: BflFluxKontextProGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxKontextProGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxKontextProGenerateResponse" + description: Successful response from BFL Flux Kontext Pro proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Kontext Pro for image editing + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.0-canny/generate: + post: + description: "Submits an image generation task with FLUX.1 Canny [pro]." + operationId: BFLProCannyV1FluxPro10CannyPost + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLCannyInputs" + required: true + responses: + "200": + content: + application/json: + schema: + anyOf: + - $ref: "#/components/schemas/BFLAsyncResponse" + - $ref: "#/components/schemas/BFLAsyncWebhookResponse" + title: Response Pro Canny V1 Flux Pro 1 0 Canny Post + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLHTTPValidationError" + description: Validation Error + summary: "Generate an image with FLUX.1 Canny [pro] using a control image." + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.0-depth/generate: + post: + description: "Submits an image generation task with FLUX.1 Depth [pro]." + operationId: BFLProDepthV1FluxPro10DepthPost + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLDepthInputs" + required: true + responses: + "200": + content: + application/json: + schema: + anyOf: + - $ref: "#/components/schemas/BFLAsyncResponse" + - $ref: "#/components/schemas/BFLAsyncWebhookResponse" + title: Response Pro Depth V1 Flux Pro 1 0 Depth Post + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLHTTPValidationError" + description: Validation Error + summary: "Generate an image with FLUX.1 Depth [pro] using a control image." + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.0-expand/generate: + post: + description: "Submits an image expansion task that adds the specified number of pixels to any combination of sides (top, bottom, left, right) while maintaining context." + operationId: BFLExpandV1FluxPro10ExpandPost + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProExpandInputs" + required: true + responses: + "200": + content: + application/json: + schema: + anyOf: + - $ref: "#/components/schemas/BFLAsyncResponse" + - $ref: "#/components/schemas/BFLAsyncWebhookResponse" + title: Response Expand V1 Flux Pro 1 0 Expand Post + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLHTTPValidationError" + description: Validation Error + summary: Expand an image by adding pixels on any side. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.0-fill/generate: + post: + description: "Submits an image generation task with the FLUX.1 Fill [pro] model using an input image and mask. Mask can be applied to alpha channel or submitted as a separate image." + operationId: BFLFillV1FluxPro10FillPost + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProFillInputs" + required: true + responses: + "200": + content: + application/json: + schema: + anyOf: + - $ref: "#/components/schemas/BFLAsyncResponse" + - $ref: "#/components/schemas/BFLAsyncWebhookResponse" + title: Response Fill V1 Flux Pro 1 0 Fill Post + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLHTTPValidationError" + description: Validation Error + summary: "Generate an image with FLUX.1 Fill [pro] using an input image and mask." + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.1-ultra/generate: + post: + description: "Forwards image generation requests to BFL's Flux Pro 1.1 Ultra API and returns the results." + operationId: BflFluxProGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: Successful response from BFL Flux Pro proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Pro 1.1 Ultra for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.1/generate: + post: + description: "Forwards image generation requests to BFL's Flux Pro 1.1 API and returns the results." + operationId: BflFluxPro11Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxPro1_1GenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxPro1_1GenerateResponse" + description: Successful response from BFL Flux Pro proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Pro 1.1 for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/v1/flux-tools/erase-v1: + post: + description: "Forwards erase requests to BFL's Flux Tools Erase v1 API and returns the results. Uses an input image and a mask identifying the object or region to remove." + operationId: BflEraseV1Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLEraseV1Request" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: Successful response from BFL Flux Tools Erase v1 proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Tools Erase v1 for object removal + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/v1/flux-tools/vto-v1: + post: + description: "Forwards virtual try-on requests to BFL's Flux Tools VTO v1 API and returns the results. Person and garment images are mapped to the underlying input image slots." + operationId: BflVtoV1Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLVtoV1Request" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: Successful response from BFL Flux Tools VTO v1 proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Tools VTO v1 for virtual try-on + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/image/edit: + post: + description: "Edit an existing image using Bria's FIBO Edit API. You can provide:\n1. A source image and a text-based instruction (prompt)\n2. A source image and a structured_instruction\n3. A source image, a mask, and a text-based instruction\n4. A source image, a mask, and a structured_instruction\n\nThis endpoint always uses async mode (sync: false) and returns a status_url to poll for results.\n" + operationId: BriaFiboEdit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaFiboEditRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Content moderation failure + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Edit an image using Bria FIBO + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/image/edit/remove_background: + post: + description: "Remove the background of an image using Bria's RMBG 2.0 model.\n\nReturns HTTP 202 with request_id and status_url when async (default).\nCan return 200 with result directly when sync is true.\n\nAccepted image formats: JPEG, JPG, PNG, WEBP.\n" + operationId: BriaImageRemoveBackground + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaImageRemoveBackgroundRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Content moderation failure + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Remove background from an image using Bria + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/bria/v2/status/{request_id}": + get: + description: "Retrieves the current status of an asynchronous Bria request.\n\nPoll this endpoint until the status is COMPLETED or ERROR.\n\nStatus values:\n- `IN_PROGRESS` – Request is being processed. Continue polling.\n- `COMPLETED` – Success. Response includes `result.image_url` for images, `result.video_url` for videos, or `result.structured_prompt` for structured prompt generation. Additional optional fields (seed, prompt, refined_prompt) may be included.\n- `ERROR` – Processing failed. Check error object for details.\n- `UNKNOWN` – Unexpected internal error.\n" + operationId: BriaGetStatus + parameters: + - description: "Unique identifier of the request (returned from edit, generate, or remove_background endpoints)" + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaStatusResponse" + description: Status retrieved successfully + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaStatusNotFoundResponse" + description: Request ID not found or expired + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get Bria request status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/structured_instruction/generate: + post: + description: "Translates a user's text-based edit instruction and source image/mask into a detailed,\nmachine-readable structured edit instruction in JSON format.\n\nThis endpoint uses Gemini 2.5 Flash VLM to understand the edit context and returns only\nthe JSON string without generating an image.\n\nThe resulting structured_instruction can be used as input for the /proxy/bria/v2/image/edit endpoint.\n\nThis endpoint always uses async mode (sync: false) and returns a status_url to poll for results.\n" + operationId: BriaStructuredInstructionGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaStructuredInstructionRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Content moderation failure + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Generate a structured instruction from text + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/video/edit/green_screen: + post: + description: "Initiates an asynchronous green-screen (chroma key) job for a video using Bria's API.\nThe original background is replaced with a solid broadcast-green, chroma-green, or blue\nscreen suitable for compositing.\n\nReturns HTTP 202 with request_id and status_url. Poll the status endpoint for results.\n\nSupported input containers: .mp4, .mov, .webm, .avi, .gif\nSupported input codecs: H.264, H.265 (HEVC), VP9, AV1, PhotoJPEG\nMax input duration: 60 seconds. Input resolution up to 16000x16000.\n" + operationId: BriaVideoGreenScreen + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaVideoGreenScreenRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Unprocessable Entity + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Apply a green screen to a video using Bria + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/video/edit/remove_background: + post: + description: "Initiates an asynchronous background removal job for a video using Bria's API.\n\nReturns HTTP 202 with request_id and status_url. Poll the status endpoint for results.\n\nSupported input containers: .mp4, .mov, .webm, .avi, .gif\nSupported input codecs: H.264, H.265 (HEVC), VP9, AV1, PhotoJPEG\nMax input duration: 60 seconds. Input resolution up to 16000x16000.\n" + operationId: BriaVideoRemoveBackground + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaVideoRemoveBackgroundRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Unprocessable Entity + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Remove background from a video using Bria + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/video/edit/replace_background: + post: + description: "Initiates an asynchronous background-replacement job for a video using Bria's API.\nThe original background is composited out and replaced with the supplied background\nimage or video.\n\nReturns HTTP 202 with request_id and status_url. Poll the status endpoint for results.\n\nSupported input containers: .mp4, .mov, .webm, .avi, .gif\nSupported input codecs: H.264, H.265 (HEVC), VP9, AV1, PhotoJPEG\nMax input duration: 60 seconds. Input resolution up to 16000x16000.\nThe background asset must match the foreground aspect ratio.\n" + operationId: BriaVideoReplaceBackground + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaVideoReplaceBackgroundRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Unprocessable Entity + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Replace the background of a video using Bria + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/byteplus-seedance2/api/v3/contents/generations/tasks/{task_id}": + get: + operationId: ByteplusSeedance2VideoGenerationQuery + parameters: + - description: The ID of the Seedance 2.0 video generation task to query + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusVideoGenerationQueryResponse" + description: Video generation task information retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/contents/generations/tasks: + post: + operationId: ByteplusVideoGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusVideoGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusVideoGenerationResponse" + description: Video generation task created successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/byteplus/api/v3/contents/generations/tasks/{task_id}": + get: + operationId: ByteplusVideoGenerationQuery + parameters: + - description: The ID of the video generation task to query + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusVideoGenerationQueryResponse" + description: Video generation task information retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/files: + post: + description: "Proxies POST https://ark.ap-southeast.bytepluses.com/api/v3/files. Uploads a binary file to ModelArk for later use (e.g. video understanding). See https://docs.byteplus.com/en/docs/ModelArk/1870405 for upstream details.\n" + operationId: ByteplusFileUpload + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/BytePlusFileUploadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusFile" + description: File uploaded successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Upload a file to BytePlus ModelArk + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/byteplus/api/v3/files/{id}": + get: + description: "Proxies GET https://ark.ap-southeast.bytepluses.com/api/v3/files/{id}. See https://docs.byteplus.com/en/docs/ModelArk/1870406 for upstream details.\n" + operationId: ByteplusFileGet + parameters: + - description: The ID of the file to retrieve. + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusFile" + description: File information retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Retrieve BytePlus ModelArk file information + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/images/generations: + post: + operationId: ByteplusImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusImageGenerationResponse" + description: Image generation completed successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/responses: + post: + description: "Proxies POST https://ark.ap-southeast.bytepluses.com/api/v3/responses. Creates a model response that supports text, image, video and file inputs, tool calls, structured output and deep-reasoning. See https://docs.byteplus.com/en/docs/ModelArk/1585128 for the upstream tutorial and request reference; the response object is documented at https://docs.byteplus.com/en/docs/ModelArk/1783703.\n" + operationId: ByteplusResponseCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusResponseCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusResponseObject" + description: Model response body (BytePlusResponseObject). + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a BytePlus ModelArk model response + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/tts/create: + post: + description: "Proxies POST https://voice.ap-southeast-1.bytepluses.com/api/v3/tts/create. Synchronously generates audio (voice, music and sound effects) with the Seed Audio 1.0 model from a text prompt, optionally guided by reference audio or a reference image. Generated audio is capped at 120 seconds per request. See https://docs.byteplus.com/en/docs/byteplusvoice/seedaudio-01 for upstream details.\n" + operationId: ByteplusTTSCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusTTSCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusTTSCreateResponse" + description: Audio generation completed successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a BytePlus Seed Audio generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/dummy: + post: + description: Dummy proxy endpoint that returns a simple string + operationId: DummyProxy + requestBody: + content: + application/json: + schema: + properties: + message: + type: string + type: object + responses: + "200": + description: Reindex completed successfully. + summary: Dummy proxy + tags: + - API Nodes + x-excluded: true + /proxy/elevenlabs/v1/audio-isolation: + post: + description: "Removes background noise from audio. Isolates vocals/speech from background sounds.\n" + operationId: ElevenLabsAudioIsolation + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/ElevenLabsAudioIsolationRequest" + required: true + responses: + "200": + content: + application/octet-stream: + schema: + format: binary + type: string + audio/mpeg: + schema: + format: binary + type: string + description: The isolated audio file + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Audio Isolation + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/shared-voices: + get: + description: "Retrieves a list of shared voices from the ElevenLabs voice library.\n" + operationId: ElevenLabsGetSharedVoices + parameters: + - description: "How many shared voices to return at maximum. Can not exceed 100, defaults to 30." + in: query + name: page_size + schema: + default: 30 + type: integer + - description: "Voice category used for filtering. One of: professional, famous, high_quality." + in: query + name: category + schema: + type: string + - description: Gender used for filtering + in: query + name: gender + schema: + type: string + - description: Age used for filtering + in: query + name: age + schema: + type: string + - description: Accent used for filtering + in: query + name: accent + schema: + type: string + - description: Language used for filtering + in: query + name: language + schema: + type: string + - description: Locale used for filtering + in: query + name: locale + schema: + type: string + - description: Search term used for filtering + in: query + name: search + schema: + type: string + - description: Use-case used for filtering + in: query + name: use_cases + schema: + items: + type: string + type: array + - description: Descriptives used for filtering + in: query + name: descriptives + schema: + items: + type: string + type: array + - description: Filter featured voices + in: query + name: featured + schema: + default: false + type: boolean + - description: Filter voices with a minimum notice period of the given number of days. + in: query + name: min_notice_period_days + schema: + type: integer + - description: Include/exclude voices with custom rates + in: query + name: include_custom_rates + schema: + type: boolean + - description: Include/exclude voices that are live moderated + in: query + name: include_live_moderated + schema: + type: boolean + - description: Filter voices that are enabled for the reader app + in: query + name: reader_app_enabled + schema: + default: false + type: boolean + - description: Filter voices by public owner ID + in: query + name: owner_id + schema: + type: string + - description: Sort criteria + in: query + name: sort + schema: + type: string + - description: Page number + in: query + name: page + schema: + default: 0 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsSharedVoicesPaginatedResponse" + description: Shared voices retrieved successfully + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: List Shared Voices + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/sound-generation: + post: + description: "Turn text into sound effects for your videos, voice-overs or video games\nusing the most advanced sound effects models in the world.\n" + operationId: ElevenLabsSoundGeneration + parameters: + - description: "Output format of the generated audio. Formatted as codec_sample_rate_bitrate.\nExamples: mp3_22050_32, mp3_44100_128, pcm_16000, ulaw_8000\n" + in: query + name: output_format + schema: + default: mp3_44100_128 + enum: + - mp3_22050_32 + - mp3_24000_48 + - mp3_44100_32 + - mp3_44100_64 + - mp3_44100_96 + - mp3_44100_128 + - mp3_44100_192 + - pcm_8000 + - pcm_16000 + - pcm_22050 + - pcm_24000 + - pcm_32000 + - pcm_44100 + - pcm_48000 + - ulaw_8000 + - alaw_8000 + - opus_48000_32 + - opus_48000_64 + - opus_48000_96 + - opus_48000_128 + - opus_48000_192 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsSoundGenerationRequest" + required: true + responses: + "200": + content: + application/octet-stream: + schema: + format: binary + type: string + audio/mpeg: + schema: + format: binary + type: string + description: The generated sound effect audio file + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Create Sound Effect + tags: + - API Nodes + - ElevenLabs + x-excluded: true + "/proxy/elevenlabs/v1/speech-to-speech/{voice_id}": + post: + description: "Transform audio from one voice to another. Maintain full control over emotion, timing and delivery.\n" + operationId: ElevenLabsSpeechToSpeech + parameters: + - description: ID of the voice to be used. Use the Get voices endpoint to list all available voices. + in: path + name: voice_id + required: true + schema: + type: string + - description: "When enable_logging is set to false zero retention mode will be used for the request.\nThis will mean history features are unavailable for this request, including request stitching.\nZero retention mode may only be used by enterprise customers.\n" + in: query + name: enable_logging + schema: + default: true + type: boolean + - description: "Latency optimization levels (0-4):\n0 - default mode (no latency optimizations)\n1 - normal latency optimizations (~50% improvement)\n2 - strong latency optimizations (~75% improvement)\n3 - max latency optimizations\n4 - max latency with text normalizer off (best latency but may mispronounce)\n" + in: query + name: optimize_streaming_latency + schema: + nullable: true + type: integer + - description: "Output format of the generated audio. Formatted as codec_sample_rate_bitrate.\nExamples: mp3_22050_32, mp3_44100_128, pcm_16000, ulaw_8000\n" + in: query + name: output_format + schema: + default: mp3_44100_128 + enum: + - mp3_22050_32 + - mp3_24000_48 + - mp3_44100_32 + - mp3_44100_64 + - mp3_44100_96 + - mp3_44100_128 + - mp3_44100_192 + - pcm_8000 + - pcm_16000 + - pcm_22050 + - pcm_24000 + - pcm_32000 + - pcm_44100 + - pcm_48000 + - ulaw_8000 + - alaw_8000 + - opus_48000_32 + - opus_48000_64 + - opus_48000_96 + - opus_48000_128 + - opus_48000_192 + type: string + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/ElevenLabsSpeechToSpeechRequest" + required: true + responses: + "200": + content: + application/octet-stream: + schema: + format: binary + type: string + audio/mpeg: + schema: + format: binary + type: string + audio/ogg: + schema: + format: binary + type: string + audio/wav: + schema: + format: binary + type: string + description: The generated audio file + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Voice Changer (Speech-to-Speech) + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/speech-to-text: + post: + description: "Transcribe an audio or video file. If webhook is set to true, the request will be processed\nasynchronously and results sent to configured webhooks. When use_multi_channel is true and\nthe provided audio has multiple channels, a 'transcripts' object with separate transcripts\nfor each channel is returned. Otherwise, returns a single transcript. The optional\nwebhook_metadata parameter allows you to attach custom data that will be included in\nwebhook responses for request correlation and tracking.\n" + operationId: ElevenLabsSpeechToText + parameters: + - description: "When enable_logging is set to false zero retention mode will be used for the request.\nThis will mean log and transcript storage features are unavailable for this request.\nZero retention mode may only be used by enterprise customers.\n" + in: query + name: enable_logging + schema: + default: true + type: boolean + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/ElevenLabsSTTRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsSTTResponse" + description: Synchronous transcription result + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Create transcript (Speech-to-Text) + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/text-to-dialogue: + post: + description: "Converts a list of text and voice ID pairs into speech (dialogue) and returns audio.\nUseful for generating conversations between multiple characters.\n" + operationId: ElevenLabsTextToDialogue + parameters: + - description: "Output format of the generated audio. Formatted as codec_sample_rate_bitrate.\nExamples: mp3_22050_32, mp3_44100_128, pcm_16000, ulaw_8000\n" + in: query + name: output_format + schema: + default: mp3_44100_128 + enum: + - mp3_22050_32 + - mp3_24000_48 + - mp3_44100_32 + - mp3_44100_64 + - mp3_44100_96 + - mp3_44100_128 + - mp3_44100_192 + - pcm_8000 + - pcm_16000 + - pcm_22050 + - pcm_24000 + - pcm_32000 + - pcm_44100 + - pcm_48000 + - ulaw_8000 + - alaw_8000 + - opus_48000_32 + - opus_48000_64 + - opus_48000_96 + - opus_48000_128 + - opus_48000_192 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsTextToDialogueRequest" + required: true + responses: + "200": + content: + application/octet-stream: + schema: + format: binary + type: string + audio/mpeg: + schema: + format: binary + type: string + audio/ogg: + schema: + format: binary + type: string + audio/wav: + schema: + format: binary + type: string + description: The generated audio file + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Create dialogue (Multi-voice TTS) + tags: + - API Nodes + - ElevenLabs + x-excluded: true + "/proxy/elevenlabs/v1/text-to-speech/{voice_id}": + post: + description: "Converts text into speech using a specified voice and returns audio.\n\nThe output format can be specified via the output_format query parameter.\nSupported formats include MP3, PCM, μ-law, and Opus with various sample rates and bitrates.\n" + operationId: ElevenLabsTextToSpeech + parameters: + - description: ID of the voice to use. Use the Get voices endpoint to list all available voices. + in: path + name: voice_id + required: true + schema: + type: string + - description: "When set to false, enables zero retention mode (enterprise only). History features will be unavailable." + in: query + name: enable_logging + schema: + default: true + type: boolean + - description: "Deprecated. Latency optimization levels (0-4):\n0 - default mode (no latency optimizations)\n1 - normal latency optimizations (~50% improvement)\n2 - strong latency optimizations (~75% improvement)\n3 - max latency optimizations\n4 - max latency with text normalizer off (best latency but may mispronounce)\n" + in: query + name: optimize_streaming_latency + schema: + maximum: 4 + minimum: 0 + type: integer + - description: "Output format of the generated audio. Formatted as codec_sample_rate_bitrate.\nExamples: mp3_22050_32, mp3_44100_128, pcm_16000, pcm_22050, ulaw_8000\n" + in: query + name: output_format + schema: + default: mp3_44100_128 + enum: + - mp3_22050_32 + - mp3_44100_32 + - mp3_44100_64 + - mp3_44100_96 + - mp3_44100_128 + - mp3_44100_192 + - pcm_8000 + - pcm_16000 + - pcm_22050 + - pcm_24000 + - pcm_32000 + - pcm_44100 + - pcm_48000 + - ulaw_8000 + - alaw_8000 + - opus_48000_32 + - opus_48000_64 + - opus_48000_96 + - opus_48000_128 + - opus_48000_192 + - wav_8000 + - wav_16000 + - wav_22050 + - wav_24000 + - wav_32000 + - wav_44100 + - wav_48000 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsTTSRequest" + required: true + responses: + "200": + content: + audio/mpeg: + schema: + format: binary + type: string + audio/ogg: + schema: + format: binary + type: string + audio/wav: + schema: + format: binary + type: string + description: The generated audio file + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: ElevenLabs Text to Speech + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/voices/add: + post: + description: "Create an instant voice clone and add it to your Voices.\n" + operationId: ElevenLabsCreateVoice + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/ElevenLabsCreateVoiceRequest" + required: true + responses: + "200": + content: + application/json: + schema: + properties: + requires_verification: + type: boolean + voice_id: + type: string + type: object + description: Voice created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Create Voice Clone + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v2/voices: + get: + description: "Proxies ElevenLabs `GET /v2/voices` (the paginated voice search endpoint)\nwith the `category` query parameter pinned to `premade`, so only premade\nvoices from the ElevenLabs voice library are ever returned.\n" + operationId: ElevenLabsGetVoices + parameters: + - description: Search term used to filter voices by name or description. + in: query + name: search + schema: + type: string + - description: "How many voices to return per page. Max 100, defaults to 10." + in: query + name: page_size + schema: + type: integer + - description: Pagination cursor returned by a previous call. + in: query + name: next_page_token + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsVoicesPaginatedResponse" + description: Voices retrieved successfully + "401": + description: Unauthorized + security: + - BearerAuth: + [] + summary: List Voices + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/fal/fal-ai/patina: + post: + description: "Submits an image to fal's PATINA model (fal-ai/patina) via the async queue API and returns a request_id. Predicts PBR material maps (basecolor, normal, roughness, metalness, height) from a single input image. Poll the status endpoint, then fetch the result." + operationId: FalPatina + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FalPatinaRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalQueueStatus" + description: Request accepted and queued by fal + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit a PBR material prediction to fal PATINA (image-to-image) + tags: + - API Nodes + - Released + x-excluded: true + /proxy/fal/fal-ai/patina/material: + post: + description: "Submits a material generation request to fal's PATINA model (fal-ai/patina/material) via fal's async queue API and returns a request_id. PATINA generations (especially 8K / 4x upscaling) can take minutes, so the job is queued rather than run synchronously: poll the status endpoint and then fetch the result. The base texture plus the requested PBR maps (basecolor, normal, roughness, metalness, height) are returned by the result endpoint once status is COMPLETED." + operationId: FalPatinaMaterialSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FalPatinaMaterialRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalQueueStatus" + description: Request accepted and queued by fal + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit a PBR material generation to fal PATINA + tags: + - API Nodes + - Released + x-excluded: true + /proxy/fal/fal-ai/patina/material/extract: + post: + description: "Submits a prompt + input image to fal's PATINA model (fal-ai/patina/material/extract) via the async queue API and returns a request_id. Extracts a texture from the image and generates a complete tiling PBR material. Poll the status endpoint, then fetch the result." + operationId: FalPatinaMaterialExtract + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FalPatinaMaterialExtractRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalQueueStatus" + description: Request accepted and queued by fal + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit a texture extraction + PBR material generation to fal PATINA + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/fal/fal-ai/patina/requests/{request_id}": + get: + description: "Forwards to fal's queue result endpoint for the given request_id and returns the generated material once the request is COMPLETED: a base texture image plus the requested PBR maps." + operationId: FalPatinaMaterialResult + parameters: + - description: The fal queue request id returned at submission. + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalPatinaMaterialResponse" + description: The completed PATINA material result + "401": + description: Unauthorized + "404": + description: Request not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Fetch the result of a completed fal PATINA request + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/fal/fal-ai/patina/requests/{request_id}/status": + get: + description: "Forwards to fal's queue status endpoint for the given request_id. Returns the queue status (IN_QUEUE, IN_PROGRESS, or COMPLETED). Once COMPLETED, fetch the result from the request endpoint." + operationId: FalPatinaMaterialStatus + parameters: + - description: The fal queue request id returned at submission. + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalQueueStatus" + description: Current queue status of the request + "401": + description: Unauthorized + "404": + description: Request not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Poll the status of a fal PATINA request + tags: + - API Nodes + - Released + x-excluded: true + /proxy/freepik/v1/ai/image-relight: + post: + description: "Relight an image using AI. This endpoint accepts a variety of parameters to customize the generated images.\n" + operationId: FreepikMagnificRelight + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikMagnificRelightRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The relight process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Relight an image + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/image-relight/{task_id}": + get: + description: Get the status of the relight task + operationId: FreepikMagnificRelightGetStatus + parameters: + - description: ID of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The task status is returned + "404": + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get the status of the relight task + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/image-style-transfer: + post: + description: Style transfer an image using AI. + operationId: FreepikMagnificStyleTransfer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikMagnificStyleTransferRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskData" + description: OK - The style transfer process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Style transfer an image + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/image-style-transfer/{task_id}": + get: + description: Get the status of the style transfer task + operationId: FreepikMagnificStyleTransferGetStatus + parameters: + - description: ID of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The task status is returned + "404": + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get the status of the style transfer task + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/image-upscaler: + post: + description: "This asynchronous endpoint enables image upscaling using advanced AI algorithms.\nUpon submission, it returns a unique task_id which can be used to track the progress.\nFor real-time production use, include the optional webhook_url parameter to receive\nan automated notification once the task has been completed.\n" + operationId: FreepikMagnificUpscalerCreative + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikMagnificUpscalerCreativeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The upscaling process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Upscale an image with Magnific + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/image-upscaler-precision-v2: + post: + description: "Upscales an image while adding new visual elements or details (V2).\nThis endpoint may modify the original image content based on the prompt and inferred context.\nUpon submission, it returns a unique task_id which can be used to track the progress.\n" + operationId: FreepikMagnificUpscalerPrecisionV2 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikMagnificUpscalerPrecisionV2Request" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The upscaling process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Upscale an image with Precision V2 + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}": + get: + description: Returns the current status and output URL of a specific precision upscaler V2 task. + operationId: FreepikMagnificUpscalerPrecisionV2GetStatus + parameters: + - description: ID of the task + in: path + name: task_id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The task status is returned + "404": + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get the status of the Precision V2 upscaling task + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/image-upscaler/{task_id}": + get: + description: Get the status of the upscaling task + operationId: FreepikMagnificUpscalerCreativeGetStatus + parameters: + - description: ID of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The task status is returned + "404": + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get the status of the upscaling task + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/skin-enhancer/creative: + post: + description: Enhance skin in images using AI with the Creative mode. This mode provides more artistic and stylized enhancements. + operationId: FreepikSkinEnhancerCreative + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikSkinEnhancerCreativeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The skin enhancer process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Skin enhancer using AI (Creative) + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/skin-enhancer/faithful: + post: + description: Enhance skin in images using AI with the Faithful mode. This mode preserves the original appearance while improving skin quality. + operationId: FreepikSkinEnhancerFaithful + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikSkinEnhancerFaithfulRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The skin enhancer process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Skin enhancer using AI (Faithful) + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/skin-enhancer/flexible: + post: + description: Enhance skin in images using AI with the Flexible mode. This mode allows you to choose the optimization target for the enhancement. + operationId: FreepikSkinEnhancerFlexible + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikSkinEnhancerFlexibleRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The skin enhancer process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Skin enhancer using AI (Flexible) + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/skin-enhancer/{task_id}": + get: + description: Get the status of a skin enhancer task (works for both Creative and Faithful modes) + operationId: FreepikSkinEnhancerGetStatus + parameters: + - description: ID of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The task status is returned + "404": + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get the status of one skin enhancer task + tags: + - Freepik + - Proxy + /proxy/hitpaw/api/photo-enhancer: + post: + description: "Submit an image processing task using HitPaw Photo Enhancement API.\nSupports multiple enhancement models for image super-resolution processing.\n\nThe returned job_id can be used with the task-status endpoint to check processing results.\n\n**Available Models:**\n- Enhancement & Denoise Models (face_2x/4x, face_v2_2x/4x, general_2x/4x, high_fidelity_2x/4x, sharpen_denoise, detail_denoise):\n - Max input: 67 MP, Max output: 600 MP\n - Supported formats: bmp, jpeg, jpg, png, jfif, tga, tiff, webp, heif\n- Generative Models (generative_portrait, generative):\n - No input limit, Max output: 8K (33 MP)\n - Supported formats: bmp, jpeg, jpg, png, jfif, tga, tiff, webp, heif\n" + operationId: HitpawPhotoEnhancer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawPhotoEnhancerRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawJobResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit HitPaw Photo Enhancement Task + tags: + - API Nodes + - HitPaw + x-excluded: true + /proxy/hitpaw/api/task-status: + post: + description: "Query the status and result of a previously submitted photo or video enhancement task.\nPoll this endpoint until the task status indicates completion (COMPLETED).\n\n**Status Codes:**\n- CONVERTING: Job is currently being processed\n- COMPLETED: Job has completed successfully, result is available\n- ERROR: Job failed due to an error\n" + operationId: HitpawTaskStatus + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawTaskStatusRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawTaskStatusResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query HitPaw Task Status + tags: + - API Nodes + - HitPaw + x-excluded: true + /proxy/hitpaw/api/video-enhancer: + post: + description: "Submit a video processing task using HitPaw Video Enhancement API.\nUses AI technology to upscale low-resolution videos to high resolution,\neliminate artifacts and noise, and improve clarity and details.\n\nThe returned job_id can be used with the task-status endpoint to check processing results.\n\n**Video Constraints:**\n- Duration: 0.5 seconds to 1 hour\n- Maximum output resolution: 36 MP (Total Pixels)\n- Supported input formats: dv, mlv, m2ts, m2t, m2v, nut, ser, 3g2, 3gp, asf, divx, f4v, h261, h263, m4v, mkv, mov, mp4, mpeg, mpeg4, mpg, mxf, ogv, rm, rmvb, webm, wmv, dmsm, dvdmedia, dvr-ms, mts, trp, ts, vob, vro, gif, xvid\n- Supported output formats: mp4, mov, mkv, m4v, avi, gif\n" + operationId: HitpawVideoEnhancer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawVideoEnhancerRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawJobResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Payment Required - Insufficient credits + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit HitPaw Video Enhancement Task + tags: + - API Nodes + - HitPaw + x-excluded: true + /proxy/ideogram/generate: + post: + description: "Forwards image generation requests to Ideogram's API and returns the results." + operationId: IdeogramGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Successful response from Ideogram proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or Ideogram) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Ideogram) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Ideogram took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to Ideogram for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/edit: + post: + description: "Forwards image editing requests to Ideogram's API and returns the results." + operationId: IdeogramV3Edit + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/IdeogramV3EditRequest" + description: Parameters for Ideogram V3 image editing + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Successful response from Ideogram proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Prompt or Initial Image failed the safety checks. + "429": + description: Rate limit exceeded (either from proxy or Ideogram) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Proxy request to Ideogram for image editing + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/generate: + post: + description: "Forwards image generation requests to Ideogram's API and returns the results." + operationId: IdeogramV3Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV3Request" + description: Parameters for Ideogram V3 image generation + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Successful response from Ideogram proxy + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Proxy request to Ideogram for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/reframe: + post: + operationId: IdeogramV3Reframe + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/IdeogramV3ReframeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV3IdeogramResponse" + description: Reframed image successfully returned + "400": + description: Bad Request + "401": + description: Unauthorized + "422": + description: Unprocessable Entity + "429": + description: Too Many Requests + summary: Reframe an image to a chosen resolution + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/remix: + post: + operationId: IdeogramV3Remix + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/IdeogramV3RemixRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV3IdeogramResponse" + description: Remix generated successfully + "400": + description: Bad Request + "403": + description: Forbidden + "422": + description: Unprocessable Entity + "429": + description: Too Many Requests + summary: Remix an image using a prompt + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/replace-background: + post: + operationId: IdeogramV3ReplaceBackground + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/IdeogramV3ReplaceBackgroundRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV3IdeogramResponse" + description: Background replaced successfully + "400": + description: Bad Request + "401": + description: Unauthorized + "422": + description: Unprocessable Entity + "429": + description: Too Many Requests + summary: Replace background of an image using a prompt + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v4/generate: + post: + description: "Forwards text-to-image generation requests to Ideogram's 4.0 API and returns the results." + operationId: IdeogramV4Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV4Request" + description: Parameters for Ideogram 4.0 image generation + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Successful response from Ideogram proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or Ideogram) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Ideogram) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Ideogram took too long to respond) + summary: Proxy request to Ideogram 4.0 for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/image-to-video/kling-3.0-turbo: + post: + operationId: KlingV2CreateVideoFromImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2Image2VideoRequest" + description: Create a Kling 3.0 Turbo image-to-video task + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2CreateTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + summary: KlingAI 3.0 Turbo Create Video from Image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/tasks: + get: + operationId: KlingV2QueryTask + parameters: + - description: "System task IDs to query. Supports batch queries separated by \",\". Mutually exclusive with external_task_ids." + in: query + name: task_ids + schema: + type: string + - description: "Custom task IDs to query. Supports batch queries separated by \",\". Mutually exclusive with task_ids." + in: query + name: external_task_ids + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2QueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + summary: KlingAI 3.0 Turbo Query Task by ID + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/text-to-video/kling-3.0-turbo: + post: + operationId: KlingV2CreateVideoFromText + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2Text2VideoRequest" + description: Create a Kling 3.0 Turbo text-to-video task + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2CreateTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + summary: KlingAI 3.0 Turbo Create Video from Text + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/account/costs: + get: + operationId: KlingQueryResourcePackages + parameters: + - in: query + name: start_time + required: true + schema: + description: "Start time for the query, Unix timestamp in ms" + type: integer + - in: query + name: end_time + required: true + schema: + description: "End time for the query, Unix timestamp in ms" + type: integer + - in: query + name: resource_pack_name + schema: + description: Resource package name for precise querying of a specific package + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingResourcePackageResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Resource Package Information + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/general/advanced-presets-elements: + get: + description: "Retrieves a list of advanced preset elements from Kling AI.\n" + operationId: KlingGetPresetsElements + parameters: + - description: "Page number. Value range: [1, 1000]." + in: query + name: pageNum + schema: + default: 1 + type: integer + - description: "Data volume per page. Value range: [1, 500]." + in: query + name: pageSize + schema: + default: 30 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingPresetsElementsResponse" + description: Presets elements retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: KlingAI Query Presets Elements + tags: + - API Nodes + - Kling + x-excluded: true + /proxy/kling/v1/images/generations: + get: + operationId: KlingImageGenerationsQueryTaskList + parameters: + - description: Page number + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: Data volume per page + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImageGenerationsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Image Generation Task List + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingCreateImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImageGenerationsRequest" + description: Create task for generating images + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImageGenerationsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Image Generation Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/images/generations/{id}": + get: + operationId: KlingImageGenerationsQuerySingleTask + parameters: + - description: Task ID + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImageGenerationsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Image Generation Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/images/kolors-virtual-try-on: + get: + operationId: KlingVirtualTryOnQueryTaskList + parameters: + - description: Page number + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: Data volume per page + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVirtualTryOnResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Virtual Try-On Task List + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingCreateVirtualTryOn + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVirtualTryOnRequest" + description: Create task for virtual try-on of clothing on human images + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVirtualTryOnResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Virtual Try-On Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/images/kolors-virtual-try-on/{id}": + get: + operationId: KlingVirtualTryOnQuerySingleTask + parameters: + - description: Task ID + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVirtualTryOnResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Virtual Try-On Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/images/omni-image: + post: + operationId: KlingCreateOmniImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingOmniImageRequest" + description: Create task for generating omni-image + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingOmniImageResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Omni-Image Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/images/omni-image/{id}": + get: + operationId: KlingOmniImageQuerySingleTask + parameters: + - description: Task ID or External Task ID. Can query by either task_id (generated by system) or external_task_id (customized task ID) + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingOmniImageResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Omni-Image Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/avatar/image2video: + post: + operationId: KlingCreateAvatarVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingAvatarRequest" + description: Create task for generating avatar video from image and audio + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingAvatarResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Avatar Video + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/avatar/image2video/{id}": + get: + operationId: KlingAvatarQueryTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingAvatarResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Avatar Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/effects: + get: + operationId: KlingVideoEffectsQueryTaskList + parameters: + - description: Page number + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: Data volume per page + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoEffectsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Video Effects Task List + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingCreateVideoEffects + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoEffectsRequest" + description: Create task for generating video with effects + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoEffectsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Video Effects Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/effects/{id}": + get: + operationId: KlingVideoEffectsQuerySingleTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoEffectsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Video Effects Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/image2video: + post: + operationId: KlingCreateVideoFromImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImage2VideoRequest" + description: Create task for generating video from image + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Video from Image + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/image2video/{id}": + get: + operationId: KlingImage2VideoQuerySingleTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Image2Video Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/lip-sync: + get: + operationId: KlingLipSyncQueryTaskList + parameters: + - description: Page number + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: Data volume per page + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingLipSyncResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Lip-Sync Task List + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingCreateLipSyncVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingLipSyncRequest" + description: Create task for generating lip-sync video + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingLipSyncResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Lip-Sync Video + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/lip-sync/{id}": + get: + operationId: KlingLipSyncQuerySingleTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingLipSyncResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Lip-Sync Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/motion-control: + post: + operationId: KlingCreateMotionControl + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingMotionControlRequest" + description: Create task for generating motion control video + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingMotionControlResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Motion Control Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/motion-control/{id}": + get: + operationId: KlingMotionControlQuerySingleTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingMotionControlResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Motion Control Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/omni-video: + post: + operationId: KlingCreateOmniVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingOmniVideoRequest" + description: Create task for generating omni-video + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Omni-Video Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/omni-video/{id}": + get: + operationId: KlingOmniVideoQuerySingleTask + parameters: + - description: Task ID or External Task ID. Can query by either task_id (generated by system) or external_task_id (customized task ID) + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Omni-Video Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/text2video: + post: + operationId: KlingCreateVideoFromText + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingText2VideoRequest" + description: Create task for generating video from text + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Video from Text + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/text2video/{id}": + get: + operationId: KlingText2VideoQuerySingleTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/video-extend: + get: + operationId: KlingVideoExtendQueryTaskList + parameters: + - description: Page number + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: Data volume per page + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoExtendResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Video-Extend Task List + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingExtendVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoExtendRequest" + description: Create task for extending video duration + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoExtendResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Extend Video Duration + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/video-extend/{id}": + get: + operationId: KlingVideoExtendQuerySingleTask + parameters: + - description: Task ID + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoExtendResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Video-Extend Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/krea/assets: + post: + description: Upload an asset + operationId: KreaUploadAsset + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/KreaAssetUploadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaAsset" + description: The uploaded asset. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid file type/size + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Upload an asset + tags: + - API Nodes + - Released + x-excluded: true + /proxy/krea/generate/image/krea/krea-2/large: + post: + description: Best for expressive photorealism. + operationId: KreaGenerateImageLarge + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KreaGenerateImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaJob" + description: "The resulting job data. This will be returned in a pending state until the job is completed. See /jobs/{id} for retrieving the results." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Krea 2 Large + tags: + - API Nodes + - Released + x-excluded: true + /proxy/krea/generate/image/krea/krea-2/medium: + post: + description: Best for expressive illustrations. + operationId: KreaGenerateImageMedium + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KreaGenerateImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaJob" + description: "The resulting job data. This will be returned in a pending state until the job is completed. See /jobs/{id} for retrieving the results." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Krea 2 Medium + tags: + - API Nodes + - Released + x-excluded: true + /proxy/krea/generate/image/krea/krea-2/medium-turbo: + post: + description: "Faster, more affordable variant of Krea 2 Medium." + operationId: KreaGenerateImageMediumTurbo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KreaGenerateImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaJob" + description: "The resulting job data. This will be returned in a pending state until the job is completed. See /jobs/{id} for retrieving the results." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Krea 2 Medium Turbo + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/krea/jobs/{job_id}": + get: + description: Get a job by ID + operationId: KreaGetJob + parameters: + - description: A unique identifier for a job + in: path + name: job_id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaJob" + description: "The most up-to-date state of the job. You can check when the job is completed by checking the status field. For completed loraTraining jobs, the result will include a style_id field." + "401": + description: Unauthorized + "404": + description: Job not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get a job by ID + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ltx/v1/image-to-video: + post: + description: Transform a static image into a dynamic video using LTX Video AI models + operationId: LtxCreateVideoFromImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LTXImage2VideoRequest" + description: Create video from image + required: true + responses: + "200": + content: + video/mp4: + schema: + format: binary + type: string + description: Video generated successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + summary: LTX Video Generate Video from Image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ltx/v1/text-to-video: + post: + description: Generate a video from a text prompt using LTX Video AI models + operationId: LtxCreateVideoFromText + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LTXText2VideoRequest" + description: Create video from text prompt + required: true + responses: + "200": + content: + video/mp4: + schema: + format: binary + type: string + description: Video generated successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + summary: LTX Video Generate Video from Text + tags: + - API Nodes + - Released + x-excluded: true + /proxy/luma/generations: + post: + description: Initiate a new generation with the provided prompt + operationId: LumaCreateGeneration + requestBody: + content: + application/json: + examples: + default: + value: + aspect_ratio: 16:9 + keyframes: + frame0: + type: image + url: https://example.com/image.jpg + frame1: + id: 123e4567-e89b-12d3-a456-426614174000 + type: generation + loop: true + prompt: A serene lake surrounded by mountains at sunset + schema: + $ref: "#/components/schemas/LumaGenerationRequest" + description: The generation request object + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaGeneration" + description: Generation created + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaError" + description: Error + summary: Create a generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/luma/generations/image: + post: + description: Generate an image with the provided prompt + operationId: LumaGenerateImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaImageGenerationRequest" + description: The image generation request object + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaGeneration" + description: Image generated + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaError" + description: Error + summary: Generate an image + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/luma/generations/{id}": + get: + description: Retrieve details of a specific generation by its ID + operationId: LumaGetGeneration + parameters: + - description: The ID of the generation + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaGeneration" + description: Generation found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaError" + description: Error + summary: Get a generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/luma_2/generations: + post: + description: "Submit an image generation or edit job. Returns immediately with an opaque job ID to poll via GET /proxy/luma_2/generations/{id}." + operationId: LumaAgentsCreateGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsGenerationRequest" + description: The generation request object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsGeneration" + description: Generation accepted + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsError" + description: Error + summary: Create a Luma Agents generation + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/luma_2/generations/{generation_id}": + get: + description: "Poll for generation status and output. On completion, the response includes presigned URLs to download the generated images." + operationId: LumaAgentsGetGeneration + parameters: + - description: The ID of the generation + in: path + name: generation_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsGeneration" + description: Generation found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsError" + description: Error + summary: Get a Luma Agents generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/animations: + post: + description: "Create a new task to apply a specific animation action to a previously rigged character. Includes post-processing options.\n" + operationId: MeshyAnimationCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyAnimationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyAnimationCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create an Animation Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/animations/{task_id}": + get: + description: Retrieve the status and result of an Animation task. + operationId: MeshyAnimationGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyAnimationTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Animation Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/image-to-3d: + post: + description: "Create a new Image to 3D task. This task generates a 3D model from an image input.\n" + operationId: MeshyImageTo3DCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyImageTo3DRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyImageTo3DCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create an Image to 3D Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/image-to-3d/{task_id}": + get: + description: Retrieve the status and result of an Image to 3D task. + operationId: MeshyImageTo3DGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyImageTo3DTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Image to 3D Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/multi-image-to-3d: + post: + description: "Create a new Multi-Image to 3D task. This task generates a 3D model from 1 to 4 images of the same object from different angles.\nMesh generation uses Meshy-5 model, while texture generation supports Meshy-6-preview model.\n" + operationId: MeshyMultiImageTo3DCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyMultiImageTo3DRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyMultiImageTo3DCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a Multi-Image to 3D Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}": + get: + description: Retrieve the status and result of a Multi-Image to 3D task. + operationId: MeshyMultiImageTo3DGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyMultiImageTo3DTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Multi-Image to 3D Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/remesh: + post: + description: "Create a new remesh task to remesh and export an existing 3D model into various formats.\n" + operationId: MeshyRemeshCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRemeshRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRemeshCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a Remesh Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/remesh/{task_id}": + get: + description: Retrieve the status and result of a Remesh task. + operationId: MeshyRemeshGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRemeshTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Remesh Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/retexture: + post: + description: "Create a new Retexture task to generate 3D texture from text or image inputs.\n" + operationId: MeshyRetextureCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRetextureRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRetextureCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a Retexture Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/retexture/{task_id}": + get: + description: Retrieve the status and result of a Retexture task. + operationId: MeshyRetextureGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRetextureTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Retexture Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/rigging: + post: + description: "Create a new rigging task for a given 3D model. Upon successful completion, provides a rigged character in standard formats and optionally basic walking/running animations.\n" + operationId: MeshyRiggingCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRiggingRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRiggingCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a Rigging Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/rigging/{task_id}": + get: + description: Retrieve the status and result of a Rigging task. + operationId: MeshyRiggingGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRiggingTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Rigging Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v2/text-to-3d: + post: + description: "Create a new Text to 3D Preview task. This task costs 20 credits for Meshy-6 models and 5 credits for other models.\n" + operationId: MeshyTextTo3DCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyTextTo3DRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyTextTo3DCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a Text to 3D Preview Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v2/text-to-3d/{task_id}": + get: + description: Retrieve the status and result of a Text to 3D task. + operationId: MeshyTextTo3DGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyTextTo3DTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Text to 3D Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/minimax/files/retrieve: + post: + description: Proxies a request to Minimax to get the download URL for a file + operationId: RetrieveMinimaxFile + parameters: + - description: "Unique identifier for the file, obtained from the generation response" + in: query + name: file_id + required: true + schema: + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MinimaxFileRetrieveResponse" + description: Successful response with file download URL + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or Minimax) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Minimax) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Minimax took too long to respond) + security: + - BearerAuth: + [] + summary: Retrieve download URL for a Minimax file + tags: + - API Nodes + - Released + x-excluded: true + /proxy/minimax/query/video_generation: + get: + description: Proxies a request to Minimax to check the status of a video generation task + operationId: GetMinimaxVideoGeneration + parameters: + - description: The task ID to be queried + in: query + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MinimaxTaskResultResponse" + description: Successful response with task status + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or Minimax) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Minimax) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Minimax took too long to respond) + security: + - BearerAuth: + [] + summary: Query status of a Minimax video generation task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/minimax/video_generation: + post: + description: "Forwards video generation requests to Minimax's API and returns the task ID for asynchronous processing." + operationId: MinimaxVideoGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MinimaxVideoGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MinimaxVideoGenerationResponse" + description: Successful response from Minimax proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or Minimax) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Minimax) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Minimax took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to Minimax for video generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/moonvalley/prompts/image-to-video: + post: + operationId: MoonvalleyImageToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyImageToVideoRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt created + summary: Create Image to Video Prompt + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/prompts/text-to-image: + post: + operationId: MoonvalleyTextToImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyTextToImageRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt created + summary: Create Text to Image Prompt + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/prompts/text-to-video: + post: + operationId: MoonvalleyTextToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyTextToVideoRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt created + summary: Create Text to Video Prompt + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/prompts/video-to-video: + post: + operationId: MoonvalleyVideoToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyVideoToVideoRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt created + summary: Create Video to Video Prompt + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/prompts/video-to-video/resize: + post: + operationId: MoonvalleyVideoToVideoResize + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyResizeVideoRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt created + summary: Resize a video + tags: + - API Nodes + x-excluded: true + "/proxy/moonvalley/prompts/{prompt_id}": + get: + operationId: MoonvalleyGetPrompt + parameters: + - in: path + name: prompt_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt details retrieved + summary: Get Prompt Details + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/uploads: + post: + operationId: MoonvalleyUpload + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/MoonvalleyUploadFileRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyUploadFileResponse" + description: File uploaded successfully + summary: Upload Files + tags: + - API Nodes + x-excluded: true + /proxy/openai/images/edits: + post: + operationId: OpenAIEditImage + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/OpenAIImageEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIImageGenerationResponse" + description: Image edited successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Edit an image using OpenAI's DALL-E model" + tags: + - API Nodes + - Released + x-excluded: true + /proxy/openai/images/generations: + post: + operationId: OpenAIGenerateImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIImageGenerationResponse" + description: Image generated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Generate an image using OpenAI's models" + tags: + - API Nodes + - Released + x-excluded: true + /proxy/openai/v1/responses: + post: + operationId: CreateOpenAIResponse + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAICreateResponse" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIResponse" + text/event-stream: + schema: + $ref: "#/components/schemas/OpenAIResponseStreamEvent" + description: OK + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/openai/v1/responses/{id}": + get: + operationId: GetOpenAIResponse + parameters: + - description: The ID of the response to retrieve. + in: path + name: id + required: true + schema: + example: resp_677efb5139a88190b512bc3fef8e535d + type: string + - description: "Additional fields to include in the response. See the `include`\nparameter for Response creation above for more information.\n" + in: query + name: include + schema: + items: + $ref: "#/components/schemas/Includable" + type: array + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIResponse" + description: OK + summary: "Retrieves a model response with the given ID.\n" + tags: + - API Nodes + - Released + x-excluded: true + /proxy/openai/v1/videos: + post: + operationId: OpenAICreateVideo + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/OpenAIVideoCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIVideoJob" + description: Video generation job created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Create a video using OpenAI's Sora model" + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/openai/v1/videos/{video_id}": + get: + operationId: OpenAIGetVideo + parameters: + - description: The identifier of the video to retrieve + in: path + name: video_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIVideoJob" + description: Video job details + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "404": + description: Video not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Retrieve a video + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/openai/v1/videos/{video_id}/content": + get: + operationId: OpenAIDownloadVideoContent + parameters: + - description: The identifier of the video whose media to download + in: path + name: video_id + required: true + schema: + type: string + - description: Which downloadable asset to return + in: query + name: variant + schema: + type: string + responses: + "200": + content: + video/mp4: + schema: + format: binary + type: string + description: Video content stream + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "404": + description: Video not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Download video content + tags: + - API Nodes + - Released + x-excluded: true + /proxy/openrouter/api/v1/chat/completions: + post: + description: "Forwards a Chat Completions request to OpenRouter's `/api/v1/chat/completions`\nendpoint and returns the model's reply. Streaming (`stream: true`) is\nrejected: billing relies on the `usage.cost` value OpenRouter returns,\nwhich is not guaranteed on every SSE stream. Billing is based on the\n`usage.cost` field in the response body.\n" + operationId: OpenrouterCreateChatCompletion + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpenRouterChatRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenRouterChatResult" + description: Successful response from OpenRouter Chat Completions API. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a chat completion via OpenRouter + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/2.2/i2v: + post: + operationId: PikaGenerate22I2vGenerate22I2vPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_2_2_i2v_generate_2_2_i2v_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate 2 2 I2V + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/2.2/pikaframes: + post: + operationId: PikaGenerate22KeyframeGenerate22PikaframesPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_2_2_keyframe_generate_2_2_pikaframes_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate 2 2 Keyframe + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/2.2/pikascenes: + post: + operationId: PikaGenerate22C2vGenerate22PikascenesPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_2_2_c2v_generate_2_2_pikascenes_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate 2 2 C2V + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/2.2/t2v: + post: + operationId: PikaGenerate22T2vGenerate22T2vPost + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PikaBody_generate_2_2_t2v_generate_2_2_t2v_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate 2 2 T2V + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/pikadditions: + post: + operationId: PikaGeneratePikadditionsGeneratePikadditionsPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_pikadditions_generate_pikadditions_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate Pikadditions + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/pikaffects: + post: + description: "Generate a video with a specific Pikaffect. Supported Pikaffects: Cake-ify, Crumble, Crush, Decapitate, Deflate, Dissolve, Explode, Eye-pop, Inflate, Levitate, Melt, Peel, Poke, Squish, Ta-da, Tear" + operationId: PikaGeneratePikaffectsGeneratePikaffectsPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_pikaffects_generate_pikaffects_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate Pikaffects + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/pikaswaps: + post: + description: "Exactly one of `modifyRegionMask` and `modifyRegionRoi` must be provided." + operationId: PikaGeneratePikaswapsGeneratePikaswapsPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_pikaswaps_generate_pikaswaps_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate Pikaswaps + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/pika/videos/{video_id}": + get: + operationId: PikaGetVideoVideosVideoIdGet + parameters: + - in: path + name: video_id + required: true + schema: + title: Video Id + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaVideoResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Get Video + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pixverse/image/upload: + post: + operationId: PixverseUploadImage + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + requestBody: + content: + multipart/form-data: + schema: + properties: + image: + format: binary + type: string + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseImageUploadResponse" + description: Image uploaded + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Upload an image to the server. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pixverse/video/img/generate: + post: + operationId: PixverseGenerateImageVideo + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseImageVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseVideoResponse" + description: Success + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Generate video from image. + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/pixverse/video/result/{id}": + get: + operationId: PixverseGetVideoResult + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + - in: path + name: id + required: true + schema: + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseVideoResultResponse" + description: Result fetched + summary: Get the result of a video generation. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pixverse/video/text/generate: + post: + operationId: PixverseGenerateTextVideo + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseTextVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseVideoResponse" + description: Success + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Generate video from text prompt. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pixverse/video/transition/generate: + post: + operationId: PixverseGenerateTransitionVideo + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseTransitionVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseVideoResponse" + description: Success + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Generate transition video between two images. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/quiver/v1/svgs/generations: + post: + description: Generate one or more SVGs from a text prompt using the Quiver AI Arrow model. + operationId: QuiverTextToSVG + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/QuiverTextToSVGRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/QuiverSVGResponse" + description: SVG generated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Generate SVG from text using Quiver AI + tags: + - API Nodes + - Released + x-excluded: true + /proxy/quiver/v1/svgs/vectorizations: + post: + description: Vectorize an image into one or more SVGs using the Quiver AI Arrow model. + operationId: QuiverImageToSVG + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/QuiverImageToSVGRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/QuiverSVGResponse" + description: SVG vectorization completed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Convert image to SVG using Quiver AI + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/image_generation: + post: + description: "Forwards image generation requests to Recraft's API and returns the generated images." + operationId: RecraftImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftImageGenerationResponse" + description: Successful response from Recraft proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Recraft) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Recraft took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to Recraft for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/creativeUpscale: + post: + operationId: RecraftCreativeUpscale + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftProcessImageRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftProcessImageResponse" + description: OK + summary: Creative Upscale + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/crispUpscale: + post: + operationId: RecraftCrispUpscale + requestBody: + content: + multipart/form-data: + schema: + properties: + file: + description: Image file to process + format: binary + type: string + required: + - file + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftImageGenerationResponse" + description: Background removed successfully + "400": + description: Bad request - Invalid parameters or file + "401": + description: Unauthorized - Invalid or missing API token + security: + [] + summary: Upscale an image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/imageToImage: + post: + operationId: RecraftImageToImage + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftImageToImageRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftGenerateImageResponse" + description: OK + summary: Generate image from image and prompt + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/inpaint: + post: + operationId: RecraftInpaintImage + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftTransformImageWithMaskRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftGenerateImageResponse" + description: OK + summary: Inpaint Image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/removeBackground: + post: + operationId: RecraftRemoveBackground + requestBody: + content: + multipart/form-data: + schema: + properties: + file: + description: Image file to process + format: binary + type: string + required: + - file + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + image: + properties: + url: + description: URL of the processed image + format: uri + type: string + type: object + type: object + description: Background removed successfully + "400": + description: Bad request - Invalid parameters or file + "401": + description: Unauthorized - Invalid or missing API token + security: + [] + summary: Remove background from an image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/replaceBackground: + post: + operationId: RecraftReplaceBackground + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftTransformImageWithMaskRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftGenerateImageResponse" + description: OK + summary: Replace Background + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/vectorize: + post: + operationId: RecraftVectorize + requestBody: + content: + multipart/form-data: + schema: + properties: + file: + description: Image file to process + format: binary + type: string + required: + - file + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftImageGenerationResponse" + description: Background removed successfully + "400": + description: Bad request - Invalid parameters or file + "401": + description: Unauthorized - Invalid or missing API token + security: + [] + summary: Vectorize an image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/styles: + post: + description: Upload a set of images to create a style reference. + operationId: RecraftCreateStyle + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftCreateStyleRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftCreateStyleResponse" + description: OK + summary: Create Style + tags: + - API Nodes + - Released + x-excluded: true + /proxy/reve/v1/image/create: + post: + description: Forwards image creation requests to the Reve API and returns the generated image. + operationId: ReveImageCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageResponse" + description: Successful response from Reve proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Generate an image using Reve + tags: + - API Nodes + - Released + x-excluded: true + /proxy/reve/v1/image/edit: + post: + description: Forwards image editing requests to the Reve API with an edit instruction and reference image. + operationId: ReveImageEdit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageResponse" + description: Successful response from Reve proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Edit an image using Reve + tags: + - API Nodes + - Released + x-excluded: true + /proxy/reve/v1/image/remix: + post: + description: Forwards image remix requests to the Reve API with reference images and a text prompt. + operationId: ReveImageRemix + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageRemixRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageResponse" + description: Successful response from Reve proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Remix images using Reve + tags: + - API Nodes + - Released + x-excluded: true + /proxy/rodin/api/v2/download: + post: + operationId: RodinDownload + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/Rodin3DDownloadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Rodin3DDownloadResponse" + description: Get the download list for the Rodin 3D Assets. + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get rodin 3D Assets download list. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/rodin/api/v2/rodin: + post: + operationId: RodinGenerate3DAsset + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/Rodin3DGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Rodin3DGenerateResponse" + description: 3D generate Task submitted successfully. + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Create 3D generate Task using Rodin API. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/rodin/api/v2/status: + post: + operationId: RodinCheckStatus + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/Rodin3DCheckStatusRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Rodin3DCheckStatusResponse" + description: Get the status of the 3D Assets generation. + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Check Rodin 3D Generate Status. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/runway/image_to_video: + post: + description: "Converts an image to a video using Runway's API" + operationId: RunwayImageToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayImageToVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayImageToVideoResponse" + description: Successful response + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Runway Image to Video Generation + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/runway/tasks/{task_id}": + get: + description: Get the status and output of a Runway task + operationId: RunwayGetTaskStatus + parameters: + - description: ID of the task to check + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayTaskStatusResponse" + description: Successful response + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Get Runway Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/runway/text_to_image: + post: + description: "Generates an image from text using Runway's API" + operationId: RunwayTextToImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayTextToImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayTextToImageResponse" + description: Successful response + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Runway Text to Image Generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/runway/video_to_video: + post: + description: "Edits a video into a new video using Runway's API" + operationId: RunwayVideoToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayVideoToVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayVideoToVideoResponse" + description: Successful response + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Runway Video to Video Generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/seedance/assets: + get: + description: "Fans out to BytePlus ListAssets across the caller's completed verification groups, denormalizes the group label into each row, and returns a single flat list. Result is post-filtered by asset_type. Optional group_id narrows to one group. Hard caps: 5 pages × 100 assets per group, 1000 total assets.\n" + operationId: SeedanceListUserAssets + parameters: + - description: Asset type to return. + in: query + name: asset_type + required: true + schema: + enum: + - Image + - Video + type: string + - description: Narrow the listing to one group. Caller must own it. + in: query + name: group_id + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceListUserAssetsResponse" + description: Assets owned by the caller + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: "List the caller's assets across all owned groups" + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: SeedanceCreateAsset + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceCreateAssetRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceCreateAssetResponse" + description: Asset creation accepted (asynchronous — poll seedanceGetAsset) + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/seedance/assets/{asset_id}": + get: + operationId: SeedanceGetAsset + parameters: + - description: BytePlus-issued asset id returned by seedanceCreateAsset + in: path + name: asset_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceGetAssetResponse" + description: Asset state + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/seedance/virtual-library/assets: + post: + operationId: SeedanceVirtualLibraryCreateAsset + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceVirtualLibraryCreateAssetRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceVirtualLibraryCreateAssetResponse" + description: Asset creation accepted (asynchronous — poll seedanceGetAsset) + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/seedance/visual-validate/groups: + get: + description: "Returns the caller's completed visual-validation groups (real-person H5 verification). Used to power the group selector in client UIs. Excludes virtual-library (AIGC) groups, which are not part of the public API surface.\n" + operationId: SeedanceListVisualValidationGroups + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceListVisualValidationGroupsResponse" + description: Visual-validation groups owned by the caller + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: "List the caller's completed visual-validation groups" + tags: + - API Nodes + - Released + x-excluded: true + /proxy/seedance/visual-validate/sessions: + post: + operationId: SeedanceCreateVisualValidateSession + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceCreateVisualValidateSessionRequest" + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceCreateVisualValidateSessionResponse" + description: Verification session created + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/seedance/visual-validate/sessions/{session_id}": + get: + operationId: SeedanceGetVisualValidateSession + parameters: + - description: The session id returned by seedanceCreateVisualValidateSession + in: path + name: session_id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceGetVisualValidateSessionResponse" + description: Session state + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/sonilo/t2m/generate: + post: + description: "Generate music from a text prompt using Sonilo text-to-music AI.\nRequires a prompt describing the desired music and a caller-specified duration.\nReturns a streaming NDJSON response with titles, audio chunks, and completion events.\n" + operationId: SoniloTextToMusicGenerate + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/SoniloTextToMusicRequest" + required: true + responses: + "200": + content: + application/x-ndjson: + schema: + $ref: "#/components/schemas/SoniloStreamEvent" + description: OK - Streaming NDJSON response with audio generation events + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Unauthorized - Invalid or missing API key + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Payment Required - Insufficient funds + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Unprocessable Entity - Validation error + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Too Many Requests - Rate limited + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Bad Gateway - Upstream generation error + security: + - BearerAuth: + [] + summary: Generate music from text prompt + tags: + - Sonilo + - Proxy + /proxy/sonilo/v2m/generate: + post: + description: "Generate music from a video using Sonilo video-to-music AI.\nAccepts either a video file upload or a video URL, with an optional prompt.\nReturns a streaming NDJSON response with one or more parallel audio streams\n(titles, audio chunks, and completion events).\nMax video duration: 6 minutes. Max upload size: 300MB.\n" + operationId: SoniloVideoToMusicGenerate + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/SoniloVideoToMusicRequest" + required: true + responses: + "200": + content: + application/x-ndjson: + schema: + $ref: "#/components/schemas/SoniloStreamEvent" + description: OK - Streaming NDJSON response with audio generation events + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Unauthorized - Invalid or missing API key + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Payment Required - Insufficient funds + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Unprocessable Entity - Validation error + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Too Many Requests - Rate limited + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Bad Gateway - Upstream generation error + security: + - BearerAuth: + [] + summary: Generate music from video + tags: + - Sonilo + - Proxy + /proxy/tencent/hunyuan/3d-part: + post: + description: "Submit a component identification and generation task using Tencent Hunyuan.\nAutomatically performs component splitting based on the model structure after inputting a 3D model file.\nRecommends inputting 3D models generated by AIGC. File size not greater than 100MB, face count not greater than 30,000. FBX format only.\n\nThe returned JobId can be used with the query endpoint to check task status.\n" + operationId: TencentHunyuan3DPartSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit Tencent Hunyuan 3D Part (Component Splitting) Task + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-part/query: + post: + description: "Query the status and result of a previously submitted 3D part (component splitting) task.\n\nPoll this endpoint until the task status indicates completion.\n" + operationId: TencentHunyuan3DPartQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query Tencent Hunyuan 3D Part Task Status + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-pro: + post: + description: "Submit a task to generate 3D content using Tencent HunYuan Large Model.\nSupports text-to-3D and image-to-3D generation.\n\nThis API provides 3 concurrent tasks by default. A new task can be processed\nonly after the previous one is completed.\n\nThe returned JobId can be used with the query endpoint to check task status.\n" + operationId: TencentHunyuan3DProSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DProRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DProResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit Tencent Hunyuan 3D Pro Generation Task + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-pro/query: + post: + description: "Query the status and result of a previously submitted 3D generation task.\n\nPoll this endpoint until the task status indicates completion.\n" + operationId: TencentHunyuan3DProQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query Tencent Hunyuan 3D Pro Task Status + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-smart-topology: + post: + description: "Submit a 3D smart topology (retopology/polygon reduction) task using Tencent Hunyuan.\nTakes an input 3D model and performs intelligent topology optimization.\nSupported input formats: GLB, OBJ. File size max 200MB.\n\nThe returned JobId can be used with the query endpoint to check task status.\n" + operationId: TencentHunyuan3DSmartTopologySubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DSmartTopologyRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit Tencent Hunyuan 3D Smart Topology Task + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-smart-topology/query: + post: + description: "Query the status and result of a previously submitted 3D smart topology task.\n\nPoll this endpoint until the task status indicates completion.\n" + operationId: TencentHunyuan3DSmartTopologyQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query Tencent Hunyuan 3D Smart Topology Task Status + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-texture-edit: + post: + description: "Submit a 3D model texture redrawing task using Tencent Hunyuan.\nAfter inputting the 3D model, perform 3D model texture redrawing based on semantics or images.\nSupported format: FBX. 3D model limit: less than 100000 faces.\nEither Image or Prompt is required; they cannot coexist. EnablePBR only supports enabling when using Prompt.\n\nThe returned JobId can be used with the query endpoint to check task status.\n" + operationId: TencentHunyuan3DTextureEditSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DTextureEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit Tencent Hunyuan 3D Texture Edit Task + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-texture-edit/query: + post: + description: "Query the status and result of a previously submitted 3D texture edit task.\n\nPoll this endpoint until the task status indicates completion.\n" + operationId: TencentHunyuan3DTextureEditQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query Tencent Hunyuan 3D Texture Edit Task Status + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-uv: + post: + description: "Submit a UV unwrapping task for a 3D model using Tencent Hunyuan.\nAfter inputting the model, UV unwrapping can be performed based on the\nmodel texture to output the corresponding UV map.\n\nThe returned JobId can be used with the query endpoint to check task status.\n" + operationId: TencentHunyuan3DUVSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit Tencent Hunyuan 3D UV Unfolding Task + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-uv/query: + post: + description: "Query the status and result of a previously submitted UV unwrapping task.\n\nPoll this endpoint until the task status indicates completion.\n" + operationId: TencentHunyuan3DUVQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query Tencent Hunyuan 3D UV Unfolding Task Status + tags: + - API Nodes + - Tencent + x-excluded: true + "/proxy/topaz/image/v1/download/{process_id}": + get: + operationId: TopazDownloadResult + parameters: + - description: The process ID returned from the enhance-gen request + in: path + name: process_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazDownloadResponse" + description: Presigned download URL for the processed image + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/topaz/image/v1/enhance-gen/async: + post: + operationId: TopazEnhanceGenAsync + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/TopazEnhanceGenRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazEnhanceGenResponse" + description: Image processing request has been successfully created + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/topaz/image/v1/status/{process_id}": + get: + operationId: TopazGetStatus + parameters: + - description: The process ID returned from the enhance-gen request + in: path + name: process_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazStatusResponse" + description: Status retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/topaz/video/: + post: + operationId: TopazVideoCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoCreateResponse" + description: Video enhancement request created successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/topaz/video/{request_id}/accept": + patch: + operationId: TopazVideoAccept + parameters: + - description: The request ID returned from the video create request + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoAcceptResponse" + description: Video request accepted successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/topaz/video/{request_id}/complete-upload": + patch: + description: "Send metadata of the multi-part uploads to complete the upload and begin processing the video.\n\nOptionally include the MD5 hash of the source video file to validate successful upload before processing.\n" + operationId: TopazVideoCompleteUpload + parameters: + - description: The request ID returned from the video create request + in: path + name: request_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoCompleteUploadRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoCompleteUploadResponse" + description: Video upload completed successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Complete Video Upload + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/topaz/video/{request_id}/status": + get: + operationId: TopazVideoGetStatus + parameters: + - description: The request ID returned from the video create request + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoStatusResponse" + description: Video status retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/tripo/v2/openapi/import: + post: + description: "Composite endpoint for Tripo model import (PN-328). The client first uploads the\nmodel file to ComfyUI API storage (POST /customers/storage) and then calls this\nendpoint with the resulting download URL. The backend performs the full Tripo\nimport flow server-side: downloads the file from storage, obtains short-lived STS\nupload credentials from Tripo, uploads the file to Tripo's object storage (SigV4),\nand creates an import_model task referencing the uploaded object. Returns Tripo's\ncreate-task response; poll /proxy/tripo/v2/openapi/task/{task_id} for completion.\nThe resulting task id is usable with Tripo post-processing tasks (texture_model,\nanimate_rig, convert_model, ...).\n\nThis is a synthetic comfy-api route (Tripo has no single-call equivalent); it\nexists so that Tripo's temporary storage credentials never leave the backend and\nno model binary ever travels inside this request.\n\nThe url host must be ComfyUI API storage (storage.googleapis.com).\nSupported formats: glb, fbx, obj, stl. Maximum file size: 150MB.\n" + operationId: TripoImportModel + requestBody: + content: + application/json: + schema: + properties: + format: + description: "File format (\"glb\", \"fbx\", \"obj\", \"stl\"). Optional; derived from the URL path extension when omitted." + type: string + url: + description: Download URL of the model file previously uploaded to ComfyUI API storage. + type: string + required: + - url + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoSuccessTask" + description: Import task created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Unauthorized access to requested resource + "413": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: File exceeds the 150MB limit + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Internal server error + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Upstream upload or task creation failed + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Server timeout + summary: Import an External 3D Model into Tripo + tags: + - API Nodes + - Released + x-excluded: true + /proxy/tripo/v2/openapi/task: + post: + operationId: TripoCreateTask + requestBody: + content: + application/json: + schema: + oneOf: + - properties: + auto_size: + default: false + type: boolean + face_limit: + type: integer + geometry_quality: + $ref: "#/components/schemas/TripoGeometryQuality" + model_seed: + type: integer + model_version: + $ref: "#/components/schemas/TripoModelVersion" + negative_prompt: + maxLength: 1024 + type: string + pbr: + default: true + type: boolean + prompt: + maxLength: 1024 + type: string + quad: + default: false + type: boolean + style: + $ref: "#/components/schemas/TripoModelStyle" + text_seed: + type: integer + texture: + default: true + type: boolean + texture_quality: + $ref: "#/components/schemas/TripoTextureQuality" + texture_seed: + type: integer + type: + $ref: "#/components/schemas/TripoTextToModel" + required: + - type + - prompt + type: object + - properties: + auto_size: + default: false + type: boolean + face_limit: + type: integer + file: + properties: + file_token: + type: string + type: + type: string + required: + - type + - file_token + type: object + geometry_quality: + $ref: "#/components/schemas/TripoGeometryQuality" + model_seed: + type: integer + model_version: + $ref: "#/components/schemas/TripoModelVersion" + orientation: + $ref: "#/components/schemas/TripoOrientation" + pbr: + default: true + type: boolean + quad: + default: false + type: boolean + style: + $ref: "#/components/schemas/TripoModelStyle" + texture: + default: true + type: boolean + texture_alignment: + $ref: "#/components/schemas/TripoTextureAlignment" + texture_quality: + $ref: "#/components/schemas/TripoTextureQuality" + texture_seed: + type: integer + type: + $ref: "#/components/schemas/TripoImageToModel" + required: + - type + - file + type: object + - properties: + auto_size: + default: false + type: boolean + face_limit: + type: integer + files: + items: + properties: + file_token: + type: string + type: + type: string + required: + - type + - file_token + type: object + type: array + geometry_quality: + $ref: "#/components/schemas/TripoGeometryQuality" + mode: + $ref: "#/components/schemas/TripoMultiviewMode" + model_seed: + type: integer + model_version: + $ref: "#/components/schemas/TripoModelVersion" + orientation: + $ref: "#/components/schemas/TripoOrientation" + orthographic_projection: + default: false + type: boolean + pbr: + default: true + type: boolean + quad: + default: false + type: boolean + texture: + default: true + type: boolean + texture_alignment: + $ref: "#/components/schemas/TripoTextureAlignment" + texture_quality: + $ref: "#/components/schemas/TripoTextureQuality" + texture_seed: + type: integer + type: + $ref: "#/components/schemas/TripoMultiviewToModel" + required: + - type + - files + type: object + - properties: + model_seed: + type: integer + original_model_task_id: + type: string + pbr: + default: true + type: boolean + texture: + default: true + type: boolean + texture_alignment: + $ref: "#/components/schemas/TripoTextureAlignment" + texture_quality: + $ref: "#/components/schemas/TripoTextureQuality" + texture_seed: + type: integer + type: + $ref: "#/components/schemas/TripoTypeTextureModel" + required: + - type + - original_model_task_id + type: object + - properties: + draft_model_task_id: + type: string + type: + $ref: "#/components/schemas/TripoTypeRefineModel" + required: + - type + - draft_model_task_id + type: object + - properties: + original_model_task_id: + type: string + type: + $ref: "#/components/schemas/TripoTypeAnimatePrerigcheck" + required: + - type + - original_model_task_id + type: object + - properties: + original_model_task_id: + type: string + out_format: + $ref: "#/components/schemas/TripoStandardFormat" + spec: + $ref: "#/components/schemas/TripoSpec" + topology: + $ref: "#/components/schemas/TripoTopology" + type: + $ref: "#/components/schemas/TripoTypeAnimateRig" + required: + - type + - original_model_task_id + type: object + - properties: + animation: + $ref: "#/components/schemas/TripoAnimation" + bake_animation: + default: true + type: boolean + original_model_task_id: + type: string + out_format: + $ref: "#/components/schemas/TripoStandardFormat" + type: + $ref: "#/components/schemas/TripoTypeAnimateRetarget" + required: + - type + - original_model_task_id + - animation + type: object + - properties: + block_size: + default: 80 + type: integer + original_model_task_id: + type: string + style: + $ref: "#/components/schemas/TripoStylizeOptions" + type: + $ref: "#/components/schemas/TripoTypeStylizeModel" + required: + - type + - style + - original_model_task_id + type: object + - properties: + face_limit: + default: 10000 + type: integer + flatten_bottom: + default: false + type: boolean + flatten_bottom_threshold: + default: 0.01 + type: number + force_symmetry: + default: false + type: boolean + format: + $ref: "#/components/schemas/TripoConvertFormat" + original_model_task_id: + type: string + pivot_to_center_bottom: + default: false + type: boolean + quad: + default: false + type: boolean + texture_format: + $ref: "#/components/schemas/TripoTextureFormat" + texture_size: + default: 4096 + type: integer + type: + $ref: "#/components/schemas/TripoTypeConvertModel" + required: + - type + - format + - original_model_task_id + type: object + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoSuccessTask" + description: Request successful + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Server timeout + summary: Create 3D Generation Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/tripo/v2/openapi/task/{task_id}": + get: + operationId: TripoGetTask + parameters: + - in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + code: + $ref: "#/components/schemas/TripoResponseSuccessCode" + data: + $ref: "#/components/schemas/TripoTask" + required: + - code + - data + type: object + description: Request successful + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Server timeout + summary: Get Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/tripo/v2/openapi/upload: + post: + operationId: TripoUploadFile + requestBody: + content: + multipart/form-data: + encoding: + profileImage: + contentType: "image/png, image/jpeg" + schema: + properties: + file: + format: binary + type: string + required: + - file + type: object + responses: + "200": + content: + application/json: + schema: + properties: + code: + $ref: "#/components/schemas/TripoResponseSuccessCode" + data: + properties: + image_token: + type: string + required: + - image_token + type: object + required: + - code + - data + type: object + description: Request successful + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Server timeout + summary: Upload File for 3D Generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/tripo/v2/openapi/user/balance: + get: + operationId: TripoGetBalance + responses: + "200": + content: + application/json: + schema: + properties: + code: + $ref: "#/components/schemas/TripoResponseSuccessCode" + data: + $ref: "#/components/schemas/TripoBalance" + required: + - code + - data + type: object + description: Request successful + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Server timeout + summary: Query Account Balance + tags: + - API Nodes + - Released + x-excluded: true + /proxy/veo/generate: + post: + operationId: VeoGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Veo2GenVidRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Veo2GenVidResponse" + description: Video generation successful + "400": + description: Bad request + "401": + description: Unauthorized + "403": + description: Forbidden + "500": + description: Internal server error + summary: "Generate a video from a text prompt and optional image. Deprecated. Use /proxy/veo/{modelId}/generate instead." + tags: + - API Nodes + - Released + x-excluded: true + /proxy/veo/poll: + post: + operationId: VeoPoll + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Veo2GenVidPollRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Veo2GenVidPollResponse" + description: Operation status and result + "400": + description: Bad request + "401": + description: Unauthorized + "404": + description: Operation not found + "500": + description: Internal error + summary: "Poll the status of a Veo prediction operation. Deprecated. Use /proxy/veo/{modelId}/poll instead." + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/veo/{modelId}/generate": + post: + operationId: VeoGenerateNew + parameters: + - description: The Veo model ID to use for generation + in: path + name: modelId + required: true + schema: + enum: + - veo-2.0-generate-001 + - veo-3.0-generate-001 + - veo-3.0-fast-generate-001 + - veo-3.1-generate-001 + - veo-3.1-fast-generate-001 + - veo-3.1-lite-generate-001 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VeoGenVidRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/VeoGenVidResponse" + description: Video generation successful + "400": + description: Bad request + "401": + description: Unauthorized + "403": + description: Forbidden + "500": + description: Internal server error + summary: Generate a video from a text prompt and optional image + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/veo/{modelId}/poll": + post: + operationId: VeoPollNew + parameters: + - description: The Veo model ID + in: path + name: modelId + required: true + schema: + enum: + - veo-2.0-generate-001 + - veo-3.0-generate-001 + - veo-3.0-fast-generate-001 + - veo-3.1-generate-001 + - veo-3.1-fast-generate-001 + - veo-3.1-lite-generate-001 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VeoGenVidPollRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/VeoGenVidPollResponse" + description: Operation status and result + "400": + description: Bad request + "401": + description: Unauthorized + "404": + description: Operation not found + "500": + description: Internal error + summary: Poll the status of a Veo prediction operation + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/vertexai/gemini/{model}": + post: + operationId: GeminiGenerateContent + parameters: + - description: Full resource name of the model. + in: path + name: model + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/GeminiGenerateContentRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/GeminiGenerateContentResponse" + description: Generated content response. + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Generate content using a specified model. + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/vertexai/imagen/{model}": + parameters: + - description: image generation model + in: path + name: model + required: true + schema: + enum: + - imagen-3.0-generate-002 + - imagen-3.0-generate-001 + - imagen-3.0-fast-generate-001 + - imagegeneration@006 + - imagegeneration@005 + - imagegeneration@002 + type: string + post: + operationId: ImagenGenerateImages + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ImagenGenerateImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ImagenGenerateImageResponse" + description: Successful image generation + 4XX: + description: Client error + 5XX: + description: Server error + summary: Generate images from a text prompt + tags: + - API Nodes + - Released + x-excluded: true + /proxy/vidu/extend: + post: + operationId: ViduExtend + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduExtendRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduExtendReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/img2video: + post: + operationId: ViduImg2Video + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/multiframe: + post: + operationId: ViduMultiframe + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduMultiframeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduMultiframeReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/reference2video: + post: + operationId: ViduReference2Video + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/start-end2video: + post: + operationId: ViduStartEnd2Video + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + "/proxy/vidu/tasks/{id}/creations": + get: + operationId: ViduGetCreations + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduGetCreationsReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/text2video: + post: + operationId: ViduText2Video + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/wan/api/v1/services/aigc/image2image/image-synthesis: + post: + operationId: WanImage2ImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WanImage2ImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WanImage2ImageGenerationResponse" + description: Image-to-image generation task created successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wan/api/v1/services/aigc/text2image/image-synthesis: + post: + operationId: WanImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WanImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WanImageGenerationResponse" + description: Image generation task created successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wan/api/v1/services/aigc/video-generation/video-synthesis: + post: + operationId: WanVideoGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WanVideoGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WanVideoGenerationResponse" + description: Video generation task created successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/wan/api/v1/tasks/{task_id}": + get: + operationId: WanTaskQueryProxy + parameters: + - description: The ID of the generation task to query + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WanTaskQueryResponse" + description: Generation task information retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/wavespeed/api/v3/predictions/{prediction_id}/result": + get: + description: "Retrieve the status and result of a FlashVSR video upscaling task.\n\nPoll this endpoint until status is \"completed\" or \"failed\".\n\nStatus values:\n- `created` - Task has been created\n- `processing` - Task is being processed\n- `completed` - Task completed successfully, outputs array contains result URLs\n- `failed` - Task failed, check error field for details\n" + operationId: WavespeedFlashVSRGetResult + parameters: + - description: The unique identifier of the prediction/task + in: path + name: prediction_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedTaskResultResponse" + description: Task result retrieved successfully + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get FlashVSR task result + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wavespeed/api/v3/wavespeed-ai/flashvsr: + post: + description: "Submit a video for upscaling using WavespeedAI's FlashVSR model.\nFlashVSR is a fast, high-quality video upscaler that boosts resolution and restores clarity\nfor low-resolution or blurry footage.\n\nSupported target resolutions: 720p, 1080p, 2k, 4k\n\nMax clip length: up to 10 minutes\nProcessing speed: approximately 3-20 seconds of wall time to process 1 second of video\n\nReturns a task ID that can be used to poll for the result.\n" + operationId: WavespeedFlashVSRSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedFlashVSRRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedTaskResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit a FlashVSR video upscaling task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image: + post: + description: "Upscale an image using WavespeedAI's SeedVR2 Image Upscaler.\nSeedVR2 boosts image resolution and quality, upscaling photos to 2K, 4K, or 8K\nfor sharp, detailed results.\n" + operationId: WavespeedSeedVR2ImageSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedSeedVR2ImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedTaskResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit a SeedVR2 image upscaling task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler: + post: + description: "Upscale an image using WavespeedAI's Ultimate Image Upscaler.\nThe most advanced AI enhancer that reimagines fine detail while upscaling images to 2K, 4K, or 8K.\n" + operationId: WavespeedUltimateImageUpscalerSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedSeedVR2ImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedTaskResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit an Ultimate Image Upscaler task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/images/edits: + post: + description: Modify an existing image based on a text prompt using the Grok Imagine API. + operationId: XaiImageEdit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIImageEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIImageGenerationResponse" + description: Image edited successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Edit images using xAI Grok Imagine + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/images/generations: + post: + description: Generate one or more images from a text prompt using the Grok Imagine API. + operationId: XaiImageGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIImageGenerationResponse" + description: Images generated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Generate images using xAI Grok Imagine + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/videos/edits: + post: + description: "Edit an existing video based on a text prompt (video-to-video editing).\nVideo editing is asynchronous. Returns a request_id to poll for the completed video.\nInput video limit is 8 seconds. Audio will not be modified.\n" + operationId: XaiVideoEdit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoAsyncResponse" + description: Video editing job created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Edit videos using xAI Grok Imagine + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/videos/extensions: + post: + description: "Generate a seamless continuation of an existing video. You provide a source video and a text prompt\ndescribing what should happen next. The API produces a new video that extends naturally from the end\nof the input video.\nVideo extension is asynchronous. Returns a request_id to poll for the completed video.\n" + operationId: XaiVideoExtension + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoExtensionRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoAsyncResponse" + description: Video extension job created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Extend videos using xAI Grok Imagine + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/videos/generations: + post: + description: "Generate a video from a text prompt (text-to-video), from an image with optional text (image-to-video),\nor from reference images with text (reference-to-video). The mode is determined by which optional fields\nare provided. Video generation is asynchronous. Returns a request_id to poll for the completed video.\n\nConflict rules: image + reference_images, video + reference_images, and image + video cannot be combined.\n" + operationId: XaiVideoGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoAsyncResponse" + description: Video generation job created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Generate videos using xAI Grok Imagine + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/xai/v1/videos/{request_id}": + get: + description: "Retrieve the result of a video generation or editing request.\nPoll this endpoint until the response includes a video object with the completed video URL.\n" + operationId: XaiVideoGetResult + parameters: + - description: The request ID returned by the video generation or editing endpoint + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoResultResponse" + description: Video generation result + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoResultResponse" + description: Video generation still pending + "401": + description: Unauthorized + "402": + description: Payment Required + "404": + description: Request ID not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get xAI video generation result + tags: + - API Nodes + - Released + x-excluded: true + /publishers: + get: + operationId: ListPublishers + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Publisher" + type: array + description: A list of publishers + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve all publishers + tags: + - Registry + post: + operationId: CreatePublisher + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + description: Publisher created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new publisher + tags: + - Registry + /publishers/validate: + get: + description: Checks if the publisher username is already taken. + operationId: ValidatePublisher + parameters: + - description: The publisher username to validate. + in: query + name: username + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + isAvailable: + description: "True if the username is available, false otherwise." + type: boolean + type: object + description: Username validation result + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Invalid input, such as missing username in the query." + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Validate if a publisher username is available + tags: + - Registry + "/publishers/{publisherId}": + delete: + operationId: DeletePublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "204": + description: Publisher deleted successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Publisher not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Delete a publisher + tags: + - Registry + get: + operationId: GetPublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + description: Publisher retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Publisher not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve a publisher by ID + tags: + - Registry + put: + operationId: UpdatePublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + description: Publisher updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "401": + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Publisher not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Update a publisher + tags: + - Registry + "/publishers/{publisherId}/ban": + post: + operationId: BanPublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "204": + description: Publisher Banned Successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Publisher not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Ban a publisher + tags: + - Registry + x-excluded: true + "/publishers/{publisherId}/nodes": + get: + operationId: ListNodesForPublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - description: Number of nodes to return per page + in: query + name: include_banned + schema: + type: boolean + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Node" + type: array + description: List of all nodes + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Retrieve all nodes + tags: + - Registry + post: + operationId: CreateNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new custom node + tags: + - Registry + "/publishers/{publisherId}/nodes/v2": + get: + operationId: ListNodesForPublisherV2 + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - description: Number of nodes to return per page + in: query + name: include_banned + schema: + type: boolean + - description: Page number of the nodes list + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of nodes to return per page + in: query + name: limit + schema: + default: 10 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + limit: + description: Maximum number of nodes per page + type: integer + nodes: + items: + $ref: "#/components/schemas/Node" + type: array + page: + description: Current page number + type: integer + total: + description: Total number of nodes available + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: List of all nodes + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Retrieve all nodes + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}": + delete: + operationId: DeleteNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + responses: + "204": + description: Node deleted successfully + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Delete a specific node + tags: + - Registry + put: + operationId: UpdateNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Update a specific node + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}/ban": + post: + operationId: BanPublisherNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + responses: + "204": + description: Node Banned Successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Publisher or Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: "Ban a publisher's Node" + tags: + - Registry + x-excluded: true + "/publishers/{publisherId}/nodes/{nodeId}/claim-my-node": + post: + description: "This endpoint allows a publisher to claim an unclaimed node that they own the repo, which is identified by the nodeId. The unclaimed node's repository must be owned by the authenticated user.\n" + operationId: ClaimMyNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ClaimMyNodeRequest" + required: true + responses: + "204": + description: Node claimed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Forbidden - various authorization and permission issues\nIncludes:\n- The authenticated user does not have permission to claim the node\n- The node is already claimed by another publisher\n- The GH_TOKEN is invalid\n- The repository is not owned by the authenticated GitHub user\n" + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Too many requests - GitHub API rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Service unavailable - GitHub API is currently unavailable + security: + - BearerAuth: + [] + summary: Claim nodeId into publisherId for the authenticated publisher + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}/permissions": + get: + operationId: GetPermissionOnPublisherNodes + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + canEdit: + type: boolean + type: object + description: A list of permissions + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve permissions the user has for a given publisher + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}/versions": + post: + operationId: PublishNodeVersion + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + node: + $ref: "#/components/schemas/Node" + node_version: + $ref: "#/components/schemas/NodeVersion" + personal_access_token: + type: string + required: + - node + - node_version + - personal_access_token + type: object + required: true + responses: + "201": + content: + application/json: + schema: + properties: + node_version: + $ref: "#/components/schemas/NodeVersion" + signedUrl: + description: The signed URL to upload the node version token. + type: string + type: object + description: New version published successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Publish a new version of a node + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}": + delete: + operationId: DeleteNodeVersion + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: versionId + required: true + schema: + type: string + responses: + "204": + description: Version unpublished (deleted) successfully + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version does not belong to the publisher + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + security: + - BearerAuth: + [] + summary: Unpublish (delete) a specific version of a node + tags: + - Registry + put: + description: Update only the changelog and deprecated status of a specific version of a node. + operationId: UpdateNodeVersion + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: versionId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersionUpdateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersion" + description: Version updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Update changelog and deprecation status of a node version + tags: + - Registry + "/publishers/{publisherId}/permissions": + get: + operationId: GetPermissionOnPublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + canEdit: + type: boolean + type: object + description: A list of permissions + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve permissions the user has for a given publisher + tags: + - Registry + "/publishers/{publisherId}/tokens": + get: + operationId: ListPersonalAccessTokens + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PersonalAccessToken" + type: array + description: List of all personal access tokens + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: No tokens found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Retrieve all personal access tokens for a publisher + tags: + - Registry + x-excluded: true + post: + operationId: CreatePersonalAccessToken + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PersonalAccessToken" + required: true + responses: + "201": + content: + application/json: + schema: + properties: + token: + description: The newly created personal access token. + type: string + type: object + description: Token created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new personal access token + tags: + - Registry + "/publishers/{publisherId}/tokens/{tokenId}": + delete: + operationId: DeletePersonalAccessToken + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: tokenId + required: true + schema: + type: string + responses: + "204": + description: Token deleted successfully + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Token not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Delete a specific personal access token + tags: + - Registry + /releases: + get: + description: Fetch release notes from Strapi with caching + operationId: GetReleaseNotes + parameters: + - description: The project to get release notes for + in: query + name: project + required: true + schema: + enum: + - comfyui + - comfyui_frontend + - desktop + - cloud + type: string + - description: The current version to filter release notes + in: query + name: current_version + schema: + type: string + - description: The locale for the release notes + in: query + name: locale + schema: + default: en + enum: + - en + - es + - fr + - ja + - ko + - ru + - zh + type: string + - description: The platform requesting the release notes + in: query + name: form_factor + schema: + type: string + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/ReleaseNote" + type: array + description: Release notes retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Get release notes + tags: + - Releases + post: + description: Webhook endpoint to process Github release events and generate release notes + operationId: ProcessReleaseWebhook + parameters: + - description: The name of the event that triggered the delivery + in: header + name: X-GitHub-Event + required: true + schema: + enum: + - release + type: string + - description: A globally unique identifier (GUID) to identify the event + in: header + name: X-GitHub-Delivery + required: true + schema: + format: uuid + type: string + - description: The unique identifier of the webhook + in: header + name: X-GitHub-Hook-ID + required: true + schema: + type: string + - description: HMAC hex digest of the request body using SHA-256 hash function + in: header + name: X-Hub-Signature-256 + schema: + type: string + - description: The type of resource where the webhook was created + in: header + name: X-GitHub-Hook-Installation-Target-Type + schema: + type: string + - description: The unique identifier of the resource where the webhook was created + in: header + name: X-GitHub-Hook-Installation-Target-ID + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/GithubReleaseWebhook" + required: true + responses: + "200": + description: Webhook processed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Validation failed or endpoint has been spammed + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Process Github release webhook + tags: + - Releases + x-excluded: true + /security-scan: + get: + description: Pull all pending node versions and conduct security scans. + operationId: SecurityScan + parameters: + - in: query + name: minAge + schema: + type: string + x-go-type: time.Duration + - in: query + name: minSecurityScanAge + schema: + type: string + x-go-type: time.Duration + - in: query + name: maxNodes + schema: + type: integer + responses: + "200": + description: Scan completed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Security Scan + tags: + - Registry + x-excluded: true + /seedance/complete: + get: + description: "Browser-facing landing page that BytePlus redirects the end user to after H5 liveness is complete. Logs the callback parameters and returns plain HTML the user sees in their browser. Client polls seedanceGetVisualValidateSession to observe the actual result.\n" + operationId: SeedanceVisualValidateCallback + parameters: + - in: query + name: bytedToken + required: true + schema: + type: string + - in: query + name: resultCode + required: true + schema: + type: string + - in: query + name: algorithmBaseRespCode + schema: + type: string + - in: query + name: reqMeasureInfoValue + schema: + type: string + - in: query + name: verify_type + schema: + type: string + responses: + "200": + content: + text/html: + schema: + type: string + description: "Landing page shown to the user's browser" + security: + [] + summary: BytePlus real-person verification callback landing page + tags: + - API Nodes + - Released + x-excluded: true + /upload-artifact: + post: + description: Receive artifacts (output files) from the ComfyUI GitHub Action + operationId: PostUploadArtifact + requestBody: + content: + application/json: + schema: + properties: + author: + description: The author of the commit + type: string + avg_vram: + description: The average amount of VRAM used in the run. + type: integer + branch_name: + type: string + bucket_name: + description: The name of the bucket where the output files are stored + type: string + comfy_logs_gcs_path: + description: The path to ComfyUI logs. eg. gs://bucket-name/logs + type: string + comfy_run_flags: + description: The flags used in the comfy run + type: string + commit_hash: + type: string + commit_message: + description: The commit message + type: string + commit_time: + description: "The time of the commit in the format of \"YYYY-MM-DDTHH:MM:SSZ\" (2016-10-10T00:00:00Z)" + type: string + cuda_version: + description: Cuda version. + type: string + end_time: + description: The end time of the job as a Unix timestamp. + format: int64 + type: integer + job_id: + description: Unique identifier for the job + type: string + job_trigger_user: + description: The user who triggered the job + type: string + machine_stats: + $ref: "#/components/schemas/MachineStats" + os: + description: Operating system used in the run + type: string + output_files_gcs_paths: + description: "A comma separated string that contains GCS path(s) to output files. eg. gs://bucket-name/output, gs://bucket-name/output2" + type: string + peak_vram: + description: The peak amount of VRAM used in the run. + type: integer + pr_number: + description: The pull request number + type: string + python_version: + description: The python version used in the run + type: string + pytorch_version: + description: The pytorch version used in the run + type: string + repo: + description: Repository name + type: string + run_id: + description: Unique identifier for the run + type: string + start_time: + description: The start time of the job as a Unix timestamp. + format: int64 + type: integer + status: + $ref: "#/components/schemas/WorkflowRunStatus" + workflow_name: + description: The name of the workflow + type: string + required: + - repo + - job_id + - run_id + - os + - commit_hash + - commit_time + - commit_message + - branch_name + - workflow_name + - start_time + - end_time + - pr_number + - python_version + - job_trigger_user + - author + - status + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Successfully received the artifact details + "400": + description: Invalid request + "500": + description: Internal server error + summary: Receive artifacts (output files) from the ComfyUI GitHub Action + tags: + - ComfyUI CI + x-excluded: true + /users: + get: + operationId: GetUser + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/User" + description: OK + "401": + description: Unauthorized + "404": + description: Not Found + security: + - BearerAuth: + [] + summary: Get information about the calling user. + tags: + - Registry + /users/publishers/: + get: + operationId: ListPublishersForUser + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Publisher" + type: array + description: A list of publishers + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve all publishers for a given user + tags: + - Registry + /versions: + get: + operationId: ListAllNodeVersions + parameters: + - in: query + name: nodeId + schema: + type: string + - explode: true + in: query + name: statuses + schema: + items: + $ref: "#/components/schemas/NodeVersionStatus" + type: array + style: form + - in: query + name: include_status_reason + schema: + default: false + type: boolean + - description: The page number to retrieve. + in: query + name: page + schema: + default: 1 + type: integer + - description: The number of items to include per page. + in: query + name: pageSize + schema: + default: 10 + type: integer + - description: "search for status_reason, case insensitive" + in: query + name: status_reason + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + page: + description: Current page number + type: integer + pageSize: + description: Maximum number of node versions per page. Maximum is 100. + type: integer + total: + description: Total number of node versions available + type: integer + totalPages: + description: Total number of pages available + type: integer + versions: + items: + $ref: "#/components/schemas/NodeVersion" + type: array + type: object + description: List of all node versions + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Invalid input, object invalid" + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node banned + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: List all node versions given some filters. + tags: + - Registry + /webhook/metronome/zero-balance: + post: + operationId: MetronomeZeroBalance + requestBody: + content: + application/json: + schema: + properties: + id: + description: the id of the webhook + type: string + properties: + properties: + customer_id: + description: the metronome customer id + type: string + remaining_balance: + description: the customer remaining balance + type: number + type: object + type: + description: the type of the webhook + type: string + required: + - id + - type + - properties + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Webhook processed succesfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: receive alert on remaining balance is 0 + tags: + - Webhook + - Metronome + x-excluded: true + /webhook/stripe/invoice-status: + post: + operationId: StripeInvoiceStatus + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/StripeEvent" + required: true + responses: + "200": + description: Webhook processed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Handle Stripe invoice.paid webhook event + tags: + - Billing + - Stripe + x-excluded: true + /webhook/stripe/subscription: + post: + operationId: StripeSubscriptionWebhook + requestBody: + content: + application/json: + schema: + description: Generic Stripe webhook event payload + type: object + required: true + responses: + "200": + description: Webhook processed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Handle Stripe subscription webhook events + tags: + - Billing + - Stripe + x-excluded: true + "/workflowresult/{workflowResultId}": + get: + operationId: GetWorkflowResult + parameters: + - in: path + name: workflowResultId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ActionJobResult" + description: Commit details + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Commit not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve a specific commit by ID + tags: + - ComfyUI CI + x-excluded: true +servers: + - url: https://api.comfy.org diff --git a/openapi/registry.ja.yaml b/openapi/registry.ja.yaml new file mode 100644 index 000000000..1e5c4de8e --- /dev/null +++ b/openapi/registry.ja.yaml @@ -0,0 +1,36109 @@ +# translationSourceHash: f7e0ff5a +# translationFrom: openapi/registry.en.yaml + +components: + parameters: + PixverseAiTraceId: + description: リクエストごとのユニークなUUID。 + in: header + name: Ai-trace-id + required: true + schema: + type: string + schemas: + APIKey: + properties: + created_at: + format: date-time + type: string + description: + type: string + id: + type: string + key_prefix: + type: string + name: + type: string + type: object + APIKeyWithPlaintext: + allOf: + - $ref: "#/components/schemas/APIKey" + - properties: + plaintext_key: + description: 完全なAPIキー(作成時にのみ返されます) + type: string + type: object + ActionJobResult: + properties: + action_job_id: + description: この結果が属するジョブの識別子 + type: string + action_run_id: + description: この結果が属する実行の識別子 + type: string + author: + description: コミットの作者 + type: string + avg_vram: + description: ジョブによって使用された平均VRAM + type: integer + branch_name: + description: 関連するgitブランチの名前 + type: string + comfy_run_flags: + description: "comfy run フラグ。例:`--low-vram`" + type: string + commit_hash: + description: コミットのハッシュ + type: string + commit_id: + description: コミットのID + type: string + commit_message: + description: コミットのメッセージ + type: string + commit_time: + description: コミットが行われたUnixタイムスタンプ + format: int64 + type: integer + cuda_version: + description: 使用されたCUDAバージョン + type: string + end_time: + description: ジョブの終了時間(Unixタイムスタンプ)。 + format: int64 + type: integer + git_repo: + description: リポジトリ名 + type: string + id: + description: ジョブ結果のユニークな識別子 + format: uuid + type: string + job_trigger_user: + description: ジョブをトリガーしたユーザー。 + type: string + machine_stats: + $ref: "#/components/schemas/MachineStats" + operating_system: + description: 使用されたオペレーティングシステム + type: string + peak_vram: + description: ジョブによって使用されたピークVRAM + type: integer + pr_number: + description: プルリクエスト番号 + type: string + python_version: + description: 使用されたPyTorchバージョン + type: string + pytorch_version: + description: 使用されたPyTorchバージョン + type: string + start_time: + description: ジョブの開始時間(Unixタイムスタンプ)。 + format: int64 + type: integer + status: + $ref: "#/components/schemas/WorkflowRunStatus" + storage_file: + $ref: "#/components/schemas/StorageFile" + workflow_name: + description: ワークフロー名 + type: string + type: object + AnthropicCacheCreationUsage: + description: Anthropic Messages API呼び出しにおける、TTLごとのキャッシュ書き込み入力トークンの内訳。 + properties: + ephemeral_1h_input_tokens: + type: integer + ephemeral_5m_input_tokens: + type: integer + type: object + AnthropicCreateMessageRequest: + additionalProperties: true + description: "Anthropic Messages API (`/v1/messages`) のリクエストボディ。プロキシが読み取るフィールド(モデル、プロンプト抽出、ストリーミング、課金)のみ厳密な型指定でアップストリームスキーマを反映します。その他のトップレベルフィールド(`tools`、`temperature`、`top_p`、`thinking`、`metadata` など)は `additionalProperties` によって変更されずに通過します。" + properties: + max_tokens: + description: 停止する前に生成する最大トークン数。 + type: integer + messages: + description: 会話のターン。完全なコンテンツブロック分類についてはAnthropic Messages APIのドキュメントを参照してください。 + items: + $ref: "#/components/schemas/AnthropicMessageParam" + type: array + model: + description: "Anthropicモデル識別子(例:`claude-sonnet-4-5`、`claude-opus-4-7`)。" + type: string + stream: + description: "trueの場合、レスポンスは単一のJSONボディではなく、Anthropicメッセージイベントの `text/event-stream` になります。" + type: boolean + system: + description: トップレベルのシステムプロンプト。Anthropicはパススルー経由で配列形式も受け付けます。 + type: string + required: + - model + - max_tokens + - messages + type: object + AnthropicCreateMessageResponse: + additionalProperties: true + description: "非ストリーミングのMessages APIレスポンスのJSON形状。ほとんどのフィールドは通過します。プロキシは課金のために `usage` を読み取ります。" + properties: + id: + type: string + model: + type: string + role: + type: string + stop_reason: + nullable: true + type: string + stop_sequence: + nullable: true + type: string + type: + type: string + usage: + $ref: "#/components/schemas/AnthropicMessagesUsage" + type: object + AnthropicMessageParam: + additionalProperties: true + description: "単一の会話ターン。プロキシはプロンプトキャプチャのために `role` と `content`(文字列またはコンテンツブロックの配列)のみ読み取り、その他のフィールドは通過します。" + properties: + content: + description: 文字列の短縮形、またはコンテンツブロック(テキスト、画像、ドキュメント、tool_use、tool_result ...)の配列。 + x-go-type: "interface{}" + role: + enum: + - user + - assistant + type: string + required: + - role + - content + type: object + AnthropicMessagesUsage: + description: Anthropic Messages API呼び出しのトークン使用量。 + properties: + cache_creation: + $ref: "#/components/schemas/AnthropicCacheCreationUsage" + cache_creation_input_tokens: + type: integer + cache_read_input_tokens: + type: integer + input_tokens: + type: integer + output_tokens: + type: integer + type: object + AuditLog: + properties: + createdAt: + description: イベントが作成された日時 + format: date-time + type: string + event_id: + description: イベントのID + type: string + event_type: + description: イベントのタイプ + type: string + params: + additionalProperties: true + description: イベントに関連するデータ + type: object + type: object + BFLAsyncResponse: + properties: + id: + title: Id + type: string + polling_url: + title: Polling Url + type: string + required: + - id + - polling_url + title: AsyncResponse + type: object + BFLAsyncWebhookResponse: + properties: + id: + title: Id + type: string + status: + title: Status + type: string + webhook_url: + title: Webhook Url + type: string + required: + - id + - status + - webhook_url + title: AsyncWebhookResponse + type: object + BFLCannyInputs: + properties: + canny_high_threshold: + anyOf: + - maximum: 500 + minimum: 0 + type: integer + default: 200 + description: Cannyエッジ検出の高いしきい値 + title: Canny High Threshold + canny_low_threshold: + anyOf: + - maximum: 500 + minimum: 0 + type: integer + default: 50 + description: Cannyエッジ検出の低いしきい値 + title: Canny Low Threshold + control_image: + anyOf: + - type: string + description: 前処理画像が提供されない場合に制御入力として使用するBase64エンコード画像 + title: Control Image + guidance: + anyOf: + - maximum: 100 + minimum: 1 + type: number + default: 30 + description: 画像生成プロセスのガイダンス強度 + title: Guidance + output_format: + anyOf: + - $ref: "#/components/schemas/BFLOutputFormat" + default: jpeg + description: "生成画像の出力形式。'jpeg' または 'png' が指定可能です。" + preprocessed_image: + anyOf: + - type: string + description: 制御前処理ステップをバイパスするオプションの前処理画像 + title: Preprocessed Image + prompt: + description: 画像生成のテキストプロンプト + example: ein fantastisches bild + title: Prompt + type: string + prompt_upsampling: + anyOf: + - type: boolean + default: false + description: プロンプトに対してアップサンプリングを実行するかどうか + title: Prompt Upsampling + safety_tolerance: + default: 2 + description: 入力および出力モデレーションの許容値。0から6の間で、0が最も厳しく、6が最も緩い。 + maximum: 6 + minimum: 0 + title: Safety Tolerance + type: integer + seed: + anyOf: + - type: integer + description: 再現性のためのオプションのシード + example: 42 + title: Seed + steps: + anyOf: + - maximum: 50 + minimum: 15 + type: integer + default: 50 + description: 画像生成プロセスのステップ数 + title: Steps + webhook_secret: + anyOf: + - type: string + description: Webhook署名検証のためのオプションのシークレット + title: Webhook Secret + webhook_url: + anyOf: + - format: uri + maxLength: 2083 + minLength: 1 + type: string + description: Webhook通知を受信するURL + title: Webhook Url + required: + - prompt + title: CannyInputs + type: object + BFLDepthInputs: + properties: + control_image: + anyOf: + - type: string + description: 制御入力として使用するBase64エンコード画像 + title: Control Image + guidance: + anyOf: + - maximum: 100 + minimum: 1 + type: number + default: 15 + description: 画像生成プロセスのガイダンス強度 + title: Guidance + output_format: + anyOf: + - $ref: "#/components/schemas/BFLOutputFormat" + default: jpeg + description: "生成画像の出力形式。'jpeg' または 'png' が指定可能です。" + preprocessed_image: + anyOf: + - type: string + description: 制御前処理ステップをバイパスするオプションの前処理画像 + title: Preprocessed Image + prompt: + description: 画像生成のテキストプロンプト + example: ein fantastisches bild + title: Prompt + type: string + prompt_upsampling: + anyOf: + - type: boolean + default: false + description: プロンプトに対してアップサンプリングを実行するかどうか + title: Prompt Upsampling + safety_tolerance: + default: 2 + description: 入力および出力モデレーションの許容値。0から6の間で、0が最も厳しく、6が最も緩い。 + maximum: 6 + minimum: 0 + title: Safety Tolerance + type: integer + seed: + anyOf: + - type: integer + description: 再現性のためのオプションのシード + example: 42 + title: Seed + steps: + anyOf: + - maximum: 50 + minimum: 15 + type: integer + default: 50 + description: 画像生成プロセスのステップ数 + title: Steps + webhook_secret: + anyOf: + - type: string + description: Webhook署名検証のためのオプションのシークレット + title: Webhook Secret + webhook_url: + anyOf: + - format: uri + maxLength: 2083 + minLength: 1 + type: string + description: Webhook通知を受信するURL + title: Webhook Url + required: + - prompt + title: DepthInputs + type: object + BFLEraseV1Request: + description: BFL Flux Tools Erase v1 オブジェクト削除APIのリクエストボディ + properties: + dilate_pixels: + default: 10 + description: 削除前にマスクを膨張させるピクセル数。膨張によりオブジェクトのエッジをカバーできます。最大25ピクセル。 + maximum: 25 + minimum: 0 + type: integer + image: + description: Base64エンコードされた入力画像またはHTTP(S)画像URL。 + type: string + mask: + description: Base64エンコードされた黒/白のマスクまたはHTTP(S)画像URL。白ピクセルは削除するオブジェクトを示し、黒ピクセルは保持されます。入力画像と同じ寸法である必要があります。 + type: string + output_format: + $ref: "#/components/schemas/BFLOutputFormat" + safety_tolerance: + default: 2 + description: 入力および出力モデレーションの許容値。0から5の間で、0が最も厳しく、5が最も緩い。 + maximum: 5 + minimum: 0 + type: integer + seed: + description: 再現性のためのオプションのシード。 + example: 42 + type: integer + webhook_secret: + description: Webhook署名検証のためのオプションのシークレット。 + type: string + webhook_url: + description: ウェブフック通知を受信するURL。 + format: uri + maxLength: 2083 + minLength: 1 + type: string + required: + - image + - mask + type: object + BFLFlux2ProGenerateRequest: + description: BFL Flux 2 Pro 画像生成APIのリクエストボディ。 + properties: + height: + default: 1024 + description: 画像の高さ。 + maximum: 2048 + minimum: 256 + type: integer + input_image: + description: 画像から画像生成用のBase64エンコード画像。 + type: string + input_image_2: + description: 画像から画像生成用のBase64エンコード画像。 + type: string + input_image_3: + description: 画像から画像生成用のBase64エンコード画像。 + type: string + input_image_4: + description: 画像から画像生成用のBase64エンコード画像。 + type: string + input_image_5: + description: 画像から画像生成用のBase64エンコード画像。 + type: string + input_image_6: + description: 画像から画像生成用のBase64エンコード画像。 + type: string + input_image_7: + description: 画像から画像生成用のBase64エンコード画像。 + type: string + input_image_8: + description: 画像から画像生成用のBase64エンコード画像。 + type: string + input_image_9: + description: 画像から画像生成用のBase64エンコード画像。 + type: string + output_format: + default: jpeg + description: 生成済み画像の出力形式。 + enum: + - jpeg + - png + type: string + prompt: + description: 生成する画像のテキスト説明。 + type: string + prompt_upsampling: + default: true + description: 生成のためのプロンプトを自動修正。 + type: boolean + safety_tolerance: + default: 2 + description: モデレーション許容値(Flux 2 Maxのみ)。 + maximum: 5 + minimum: 0 + type: integer + seed: + description: 再現性のためのシード。 + type: integer + width: + default: 1024 + description: 画像の幅。 + maximum: 2048 + minimum: 256 + type: integer + required: + - prompt + type: object + BFLFluxKontextMaxGenerateRequest: + properties: + guidance: + default: 3 + description: 生成のためのガイダンススケール。 + maximum: 20 + minimum: 1 + type: number + input_image: + description: 編集するBase64エンコード画像。 + type: string + prompt: + description: 画像上で編集内容を説明するテキストプロンプト。 + type: string + steps: + default: 50 + description: 推論ステップ数。 + maximum: 50 + minimum: 1 + type: integer + required: + - prompt + - input_image + type: object + BFLFluxKontextMaxGenerateResponse: + properties: + id: + description: 追跡用のジョブID。 + type: string + polling_url: + description: 結果をポーリングするURL。 + type: string + required: + - id + - polling_url + type: object + BFLFluxKontextProGenerateRequest: + properties: + guidance: + default: 3 + description: 生成のためのガイダンススケール。 + maximum: 20 + minimum: 1 + type: number + input_image: + description: 編集するBase64エンコード画像。 + type: string + prompt: + description: 画像上で編集内容を説明するテキストプロンプト。 + type: string + steps: + default: 50 + description: 推論ステップ数。 + maximum: 50 + minimum: 1 + type: integer + required: + - prompt + - input_image + type: object + BFLFluxKontextProGenerateResponse: + properties: + id: + description: 追跡用のジョブID。 + type: string + polling_url: + description: 結果をポーリングするURL。 + type: string + required: + - id + - polling_url + type: object + BFLFluxPro1_1GenerateRequest: + properties: + height: + description: 生成済み画像の高さ。 + type: integer + image_prompt: + description: オプションの画像プロンプト。 + type: string + output_format: + description: 出力画像形式。 + enum: + - jpeg + - png + type: string + prompt: + description: 画像生成のメインテキストプロンプト。 + type: string + prompt_upsampling: + description: プロンプトアップサンプリングを使用するかどうか。 + type: boolean + safety_tolerance: + description: 安全性許容値レベル + type: integer + seed: + description: 再現性のためのランダムシード + type: integer + webhook_secret: + description: 非同期処理用のオプションのwebhookシークレット + type: string + webhook_url: + description: 非同期処理用のオプションのwebhook URL + type: string + width: + description: 生成画像の幅 + type: integer + required: + - prompt + - width + - height + type: object + BFLFluxPro1_1GenerateResponse: + properties: + id: + description: 追跡用のジョブID + type: string + polling_url: + description: 結果をポーリングするためのURL + type: string + required: + - id + - polling_url + type: object + BFLFluxProExpandInputs: + properties: + bottom: + anyOf: + - maximum: 2048 + minimum: 0 + type: integer + default: 0 + description: 画像の下部に展開するピクセル数 + title: Bottom + guidance: + anyOf: + - maximum: 100 + minimum: 1.5 + type: number + default: 60 + description: 画像生成プロセスのガイダンス強度 + title: Guidance + image: + description: 展開したい画像を表すBase64エンコードされた文字列 + title: Image + type: string + left: + anyOf: + - maximum: 2048 + minimum: 0 + type: integer + default: 0 + description: 画像の左側に展開するピクセル数 + title: Left + output_format: + anyOf: + - $ref: "#/components/schemas/BFLOutputFormat" + default: jpeg + description: "生成画像の出力形式。'jpeg'または'png'にできます。" + prompt: + anyOf: + - type: string + default: "" + description: 行いたい変更の説明。このテキストは展開プロセスをガイドし、展開された領域の特徴、スタイル、変更を指定できます。 + example: ein fantastisches bild + title: Prompt + prompt_upsampling: + anyOf: + - type: boolean + default: false + description: プロンプトにアップサンプリングを実行するかどうか。有効にすると、より創造的な生成のためにプロンプトが自動的に変更されます。 + title: Prompt Upsampling + right: + anyOf: + - maximum: 2048 + minimum: 0 + type: integer + default: 0 + description: 画像の右側に展開するピクセル数 + title: Right + safety_tolerance: + default: 2 + description: 入力および出力モデレーションの許容値レベル。0から6の間で、0が最も厳しく、6が最も緩い。 + example: 2 + maximum: 6 + minimum: 0 + title: Safety Tolerance + type: integer + seed: + anyOf: + - type: integer + description: 再現性のためのオプションのシード + title: Seed + steps: + anyOf: + - maximum: 50 + minimum: 15 + type: integer + default: 50 + description: 画像生成プロセスのステップ数 + example: 50 + title: Steps + top: + anyOf: + - maximum: 2048 + minimum: 0 + type: integer + default: 0 + description: 画像の上部に展開するピクセル数 + title: Top + webhook_secret: + anyOf: + - type: string + description: webhook署名検証用のオプションのシークレット + title: Webhook Secret + webhook_url: + anyOf: + - format: uri + maxLength: 2083 + minLength: 1 + type: string + description: webhook通知を受け取るURL + title: Webhook Url + required: + - image + title: FluxProExpandInputs + type: object + BFLFluxProFillInputs: + properties: + guidance: + anyOf: + - maximum: 100 + minimum: 1.5 + type: number + default: 60 + description: 画像生成プロセスのガイダンス強度 + title: Guidance + image: + description: 変更したい画像を表すBase64エンコードされた文字列。必要に応じてアルファマスクを含めることができます。 + title: Image + type: string + mask: + anyOf: + - type: string + description: "画像内で変更したい領域のマスクを表すBase64エンコードされた文字列。マスクは画像と同じ寸法で、白黒である必要があります。黒い領域(0%)は変更なしを示し、白い領域(100%)はインペインティングの領域を指定します。オリジナル画像にアルファマスクを提供する場合はオプションです。検証: エンドポイントは、マスクの寸法が元の画像と一致することを確認します。" + title: Mask + output_format: + anyOf: + - $ref: "#/components/schemas/BFLOutputFormat" + default: jpeg + description: "生成画像の出力形式。'jpeg'または'png'にできます。" + prompt: + anyOf: + - type: string + default: "" + description: 行いたい変更の説明。このテキストはインペインティングプロセスをガイドし、マスクされた領域の特徴、スタイル、変更を指定できます。 + example: ein fantastisches bild + title: Prompt + prompt_upsampling: + anyOf: + - type: boolean + default: false + description: プロンプトにアップサンプリングを実行するかどうか。有効にすると、より創造的な生成のためにプロンプトが自動的に変更されます。 + title: Prompt Upsampling + safety_tolerance: + default: 2 + description: 入力および出力モデレーションの許容値レベル。0から6の間で、0が最も厳しく、6が最も緩い。 + example: 2 + maximum: 6 + minimum: 0 + title: Safety Tolerance + type: integer + seed: + anyOf: + - type: integer + description: 再現性のためのオプションのシード + title: Seed + steps: + anyOf: + - maximum: 50 + minimum: 15 + type: integer + default: 50 + description: 画像生成プロセスのステップ数 + example: 50 + title: Steps + webhook_secret: + anyOf: + - type: string + description: webhook署名検証用のオプションのシークレット + title: Webhook Secret + webhook_url: + anyOf: + - format: uri + maxLength: 2083 + minLength: 1 + type: string + description: webhook通知を受け取るURL + title: Webhook Url + required: + - image + title: FluxProFillInputs + type: object + BFLFluxProGenerateRequest: + description: BFL Flux Pro 1.1 Ultra画像生成APIのリクエスト本文 + properties: + guidance_scale: + description: 生成のためのガイダンススケール + maximum: 20 + minimum: 1 + type: number + height: + description: 生成する画像の高さ + maximum: 2048 + minimum: 64 + type: integer + negative_prompt: + description: 画像生成のためのネガティブプロンプト。 + type: string + num_images: + description: 生成する画像の数。 + maximum: 4 + minimum: 1 + type: integer + num_inference_steps: + description: 推論ステップの数。 + maximum: 100 + minimum: 1 + type: integer + prompt: + description: 画像生成のためのテキストプロンプト。 + type: string + seed: + description: 再現性のためのシード値。 + type: integer + width: + description: 生成する画像の幅。 + maximum: 2048 + minimum: 64 + type: integer + required: + - prompt + - width + - height + type: object + BFLFluxProGenerateResponse: + description: BFL Flux Pro 1.1 Ultra画像生成APIからのレスポンス。 + properties: + cost: + description: 生成タスクのコスト。 + format: float + type: number + id: + description: 生成タスクの一意識別子。 + type: string + input_mp: + description: 入力メガピクセル。 + format: float + type: number + output_mp: + description: 出力メガピクセル。 + format: float + type: number + polling_url: + description: 生成結果をポーリングするためのURL。 + type: string + required: + - id + - polling_url + type: object + BFLHTTPValidationError: + properties: + detail: + items: + $ref: "#/components/schemas/BFLValidationError" + title: Detail + type: array + title: HTTPValidationError + type: object + BFLOutputFormat: + enum: + - jpeg + - png + - webp + title: OutputFormat + type: string + BFLValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + title: Location + type: array + msg: + title: Message + type: string + type: + title: Error Type + type: string + required: + - loc + - msg + - type + title: ValidationError + type: object + BFLVtoV1Request: + description: BFL Flux Tools VTO v1バーチャルトライオンAPIのリクエストボディ。 + properties: + garment: + description: 1つ以上の衣服の画像(内部的にはinput_image_2にマッピング)。 + type: string + output_format: + $ref: "#/components/schemas/BFLOutputFormat" + person: + description: 人物画像(内部的にはinput_imageにマッピング)。 + type: string + prompt: + description: VTO生成のためのテキストプロンプト。 + example: "TRY-ON: The person of image 1 wearing the garments of image 2." + type: string + safety_tolerance: + default: 2 + description: 入力および出力モデレーションの許容レベル。パブリック使用時は0~5の間。 + maximum: 5 + minimum: 0 + type: integer + seed: + description: 再現性のためのオプションのシード。 + example: 42 + type: integer + webhook_secret: + description: Webhook署名検証のためのオプションのシークレット。 + type: string + webhook_url: + description: Webhook通知を受け取るURL。 + format: uri + maxLength: 2083 + minLength: 1 + type: string + required: + - prompt + - person + - garment + type: object + BeebleAlphaMode: + description: "アルファモード: auto, fill, custom, または select" + enum: + - auto + - fill + - custom + - select + type: string + BeebleCreateSwitchXRequest: + description: SwitchX生成ジョブを作成して開始するリクエスト。 + properties: + alpha_mode: + $ref: "#/components/schemas/BeebleAlphaMode" + alpha_uri: + description: カスタムアルファマットのURI。alpha_modeがcustomまたはselectの場合に必須。autoまたはfillの場合は無視されます。 + nullable: true + type: string + callback_url: + description: 完了または失敗時のWebhook通知のためのHTTPS URL。 + nullable: true + type: string + generation_type: + $ref: "#/components/schemas/BeebleGenerationType" + idempotency_key: + description: 安全なリトライのための冪等性キー。同じキーのジョブが既にアカウントに存在する場合、APIは新規作成せずに既存のジョブのステータスを返します。 + maxLength: 256 + minLength: 1 + nullable: true + type: string + max_resolution: + default: 1080 + description: "最大出力解像度: 720または1080(デフォルト: 1080)。" + nullable: true + type: integer + prompt: + description: "希望する出力のテキスト説明(最大2,000文字)。プロンプトまたはreference_image_uriの少なくとも1つが必須。" + maxLength: 2000 + nullable: true + type: string + reference_image_uri: + description: スタイル転送用の参照画像のURI。source_uriと同じURIタイプを受け付けます。 + nullable: true + type: string + source_uri: + description: "ソース画像またはビデオのURI。beeble://uploads/{id}/{filename}、https URL、またはdata:{mime};base64 URIを受け付けます(最大50 MB)。" + type: string + required: + - generation_type + - source_uri + - alpha_mode + type: object + BeebleGenerationType: + description: "出力タイプ: image または video" + enum: + - image + - video + type: string + BeebleSwitchXOutputUrls: + description: SwitchXジョブ出力の署名付きURL。 + properties: + alpha: + description: アルファマットURL。 + nullable: true + type: string + render: + description: 合成出力URL。 + nullable: true + type: string + source: + description: 前処理済みソースURL。 + nullable: true + type: string + type: object + BeebleSwitchXStatusResponse: + description: SwitchXジョブのステータスレスポンス。 + properties: + alpha_mode: + description: auto、fill、custom、または選択 + nullable: true + type: string + completed_at: + description: ジョブが完了したか失敗した時のISO 8601タイムスタンプ。 + nullable: true + type: string + created_at: + description: ジョブが作成された時のISO 8601タイムスタンプ。 + nullable: true + type: string + error: + description: エラーメッセージ(ステータスが失敗の場合に存在します)。 + nullable: true + type: string + generation_type: + description: 画像またはビデオ + nullable: true + type: string + id: + description: ジョブ識別子(swx_...) + type: string + modified_at: + description: 最後のステータス変更のISO 8601タイムスタンプ。 + nullable: true + type: string + output: + allOf: + - $ref: "#/components/schemas/BeebleSwitchXOutputUrls" + description: 出力URL(ステータスが完了の場合に存在します)。URLは署名され、72時間後に期限切れになります。新しいURLを取得するにはこのエンドポイントを再取得してください。 + nullable: true + progress: + description: 進捗率(0-100)。 + nullable: true + type: integer + status: + description: 現在のジョブステータス。 + enum: + - in_queue + - processing + - completed + - failed + type: string + webhook: + allOf: + - $ref: "#/components/schemas/BeebleWebhookStatus" + description: Webhook配信ステータス(callback_urlが指定された場合にのみ存在します)。 + nullable: true + required: + - id + - status + type: object + BeebleUploadRequest: + description: 署名付きアップロードURLを作成するためのリクエスト。 + properties: + filename: + description: "拡張子付きのファイル名。受け入れられる拡張子: .mp4、.mov、.png、.jpg、.jpeg、.webp" + maxLength: 255 + minLength: 3 + type: string + required: + - filename + type: object + BeebleUploadResponse: + description: 署名付きアップロードURLとbeeble:// URIを含むレスポンス。 + properties: + beeble_uri: + description: SwitchX生成呼び出しでこのファイルを参照するためのbeeble:// URI(source_uri、reference_image_uri、またはalpha_uri)。 + type: string + id: + description: アップロードID(upload_...) + type: string + upload_url: + description: ファイルをアップロードするための署名付きPUT URL。1時間後に期限切れになります。 + type: string + required: + - id + - upload_url + - beeble_uri + type: object + BeebleWebhookStatus: + description: SwitchXジョブのWebhook配信ステータス。 + properties: + attempts: + description: これまでの配信試行回数。 + nullable: true + type: integer + last_error: + description: 最後の失敗した配信試行からのエラーメッセージ。 + nullable: true + type: string + status: + description: 保留中、配信済み、または失敗 + nullable: true + type: string + type: object + BriaAsyncResponse: + description: Bria APIからの非同期レスポンス(202 Accepted) + properties: + request_id: + description: リクエストの一意識別子。 + type: string + status_url: + description: 結果をポーリングするためのURL。 + type: string + warning: + description: オプションの警告メッセージ。 + type: string + type: object + BriaErrorResponse: + description: Bria APIからのエラーレスポンス + properties: + error: + properties: + code: + description: エラーコード。 + type: integer + details: + description: 追加のエラー詳細。 + type: string + message: + description: エラーメッセージ。 + type: string + type: object + request_id: + description: リクエストの一意識別子。 + type: string + type: object + BriaFiboEditRequest: + description: Bria FIBO Edit APIのリクエストボディ。 + properties: + guidance_scale: + default: 5 + description: 生成画像が指示にどれだけ厳密に従うかを決定します。 + format: float + maximum: 5 + minimum: 3 + type: number + images: + description: 編集されるソース画像。公開URLまたはBase64エンコード。受け入れられるフォーマット:JPEG、JPG、PNG、WEBP。正確に1つのアイテムを含む必要があります。 + items: + type: string + maxItems: 1 + minItems: 1 + type: array + instruction: + description: テキストベースの編集指示(例:「空を青くする」、「猫を追加する」)。instructionまたはstructured_instructionのいずれかを指定する必要があります。 + type: string + ip_signal: + default: false + description: trueの場合、指示内の潜在的なIPコンテンツに対して警告を返します。 + type: boolean + mask: + description: オプションのマスク画像URLまたはBase64エンコード。黒い領域は保持され、白い領域は編集されます。 + type: string + model_version: + default: FIBO + description: 使用するモデルのバージョン。 + enum: + - FIBO + type: string + negative_prompt: + description: 編集された画像から除外する概念、スタイル、またはオブジェクトを指定するテキストプロンプト。 + type: string + prompt_content_moderation: + default: true + description: trueの場合、指示モデレーション失敗時に422を返します。 + type: boolean + seed: + description: 決定論的な生成のためのシード。省略された場合、ランダムなシードが使用されます。 + type: integer + steps_num: + default: 50 + description: 拡散ステップ数。 + maximum: 50 + minimum: 20 + type: integer + structured_instruction: + description: JSON形式の構造化編集指示を含む文字列。正確でプログラムによる制御には、instructionの代わりにこれを使用してください。 + type: string + visual_input_content_moderation: + default: true + description: trueの場合、画像またはマスクモデレーション失敗時に422を返します。 + type: boolean + visual_output_content_moderation: + default: true + description: trueの場合、ビジュアル出力モデレーション失敗時に422を返します。 + type: boolean + required: + - images + type: object + BriaImageRemoveBackgroundRequest: + description: Bria Image Remove Background APIのリクエストボディ + properties: + image: + description: 背景を削除する画像。サポートされている入力タイプは、Base64エンコードされた文字列または公開アクセス可能な画像ファイルを指すURLです。受け入れられる形式はJPEG、JPG、PNG、WEBPです。 + type: string + preserve_alpha: + description: 背景除去後、入力画像の部分的な透明領域を出力に保持するかどうかを制御します。 + type: boolean + sync: + description: false(デフォルト)の場合、リクエストは非同期で処理されます。trueの場合、APIは完了するまで接続を開いたままにします。 + type: boolean + visual_input_content_moderation: + description: 有効な場合、入力ビジュアルにコンテンツモデレーションを適用します。画像がモデレーションに失敗した場合は422を返します。 + type: boolean + visual_output_content_moderation: + description: 有効な場合、結果ビジュアルにコンテンツモデレーションを適用します。出力がモデレーションに失敗した場合は422を返します。 + type: boolean + required: + - image + type: object + BriaStatusNotFoundResponse: + description: request_idが見つからないか期限切れの場合のレスポンス + properties: + status: + enum: + - NOT_FOUND + type: string + required: + - status + type: object + BriaStatusResponse: + description: Bria APIからのステータスレスポンス + properties: + error: + description: エラーオブジェクト(statusがERRORの場合のみ存在) + properties: + code: + description: エラーコード。 + type: integer + details: + description: 追加のエラー詳細。 + type: string + message: + description: エラーメッセージ。 + type: string + type: object + request_id: + description: リクエストの一意の識別子。 + type: string + result: + description: 結果オブジェクト(statusがCOMPLETEDの場合のみ存在) + properties: + image_url: + description: 生成/編集された画像のURL。 + type: string + prompt: + description: オリジナルプロンプト。 + type: string + refined_prompt: + description: プロンプトの洗練されたバージョン。 + type: string + seed: + description: 生成に使用されたシード。 + type: integer + structured_prompt: + description: 詳細なJSON構造化プロンプト。 + type: string + video_url: + description: 生成されたビデオのURL。 + type: string + type: object + status: + description: リクエストの現在のステータス。 + enum: + - IN_PROGRESS + - COMPLETED + - ERROR + - UNKNOWN + type: string + type: object + BriaStructuredInstructionRequest: + description: Bria Structured Instruction Generate APIのリクエストボディ + properties: + images: + description: 編集するソース画像。公開URLまたはBase64エンコード。正確に1つのアイテムを含む必要があります。 + items: + type: string + maxItems: 1 + minItems: 1 + type: array + instruction: + description: 必須。テキストベースの編集指示(例:「空を青くする」、「猫を追加する」)。 + type: string + ip_signal: + default: false + description: trueの場合、指示内の潜在的なIPコンテンツに対して警告を返します。 + type: boolean + mask: + description: オプションのマスク画像URLまたはBase64エンコード。黒い領域は保持され、白い領域は編集されます。 + type: string + prompt_content_moderation: + default: true + description: trueの場合、指示モデレーション失敗時に422を返します。 + type: boolean + seed: + description: 決定論的生成のためのシード。省略するとランダムシードが使用されます。 + type: integer + visual_input_content_moderation: + default: true + description: trueの場合、画像またはマスクモデレーション失敗時に422を返します。 + type: boolean + required: + - images + - instruction + type: object + BriaVideoGreenScreenRequest: + description: Bria ビデオグリーンスクリーンAPIのリクエストボディ + properties: + green_shade: + description: クロマキー合成のための前景の背後に適用される単一の背景色。デフォルトはbroadcast_greenです。 + enum: + - broadcast_green + - chroma_green + - blue_screen + type: string + output_container_and_codec: + description: 出力コンテナとコーデックのプリセット。 + enum: + - mp4_h264 + - mp4_h265 + - webm_vp9 + - mov_h265 + - mov_proresks + - mkv_h264 + - mkv_h265 + - mkv_vp9 + - gif + type: string + preserve_audio: + description: 入力ビデオからオーディオを保持するかどうか。 + type: boolean + video: + description: 入力ビデオの公開アクセス可能なURL。対応する入力解像度は最大16000x16000 (16K)。最大再生時間は60秒。 + type: string + required: + - video + type: object + BriaVideoRemoveBackgroundRequest: + description: Bria ビデオ背景削除APIのリクエストボディ + properties: + background_color: + description: 出力ビデオの背景色。Transparentの場合、出力コーデックはアルファチャンネルをサポートする必要があります。 + enum: + - Transparent + - Black + - White + - Gray + - Red + - Green + - Blue + - Yellow + - Cyan + - Magenta + - Orange + type: string + output_container_and_codec: + description: 出力コンテナとコーデックのプリセット。 + enum: + - mp4_h264 + - mp4_h265 + - webm_vp9 + - mov_h265 + - mov_proresks + - mkv_h264 + - mkv_h265 + - mkv_vp9 + - gif + type: string + preserve_audio: + description: 入力ビデオからオーディオを保持するかどうか。 + type: boolean + video: + description: 入力ビデオの公開アクセス可能なURL。対応する入力解像度は最大16000x16000 (16K)。最大再生時間は60秒。 + type: string + required: + - video + type: object + BriaVideoReplaceBackgroundRequest: + description: Bria ビデオ背景置換APIのリクエストボディ + properties: + background_url: + description: 前景の背後に合成する背景アセット(画像またはビデオ)の公開アクセス可能なURL。前景のアスペクト比と一致する必要があります。 + type: string + output_container_and_codec: + description: 出力コンテナとコーデックのプリセット。 + enum: + - mp4_h264 + - mp4_h265 + - webm_vp9 + - mov_h265 + - mov_proresks + - mkv_h264 + - mkv_h265 + - mkv_vp9 + - gif + type: string + preserve_audio: + description: 入力(前景)ビデオからオーディオを保持するかどうか。 + type: boolean + video: + description: 入力(前景)ビデオの公開アクセス可能なURL。対応する入力解像度は最大16000x16000 (16K)。最大再生時間は60秒。 + type: string + required: + - video + - background_url + type: object + BulkNodeVersionResult: + properties: + error_message: + description: 取得に失敗した場合のエラーメッセージ(ステータスがerrorの場合のみ存在) + type: string + identifier: + $ref: "#/components/schemas/NodeVersionIdentifier" + node_version: + $ref: "#/components/schemas/NodeVersion" + status: + description: 取得操作のステータス + enum: + - success + - not_found + - error + type: string + required: + - identifier + - status + type: object + BulkNodeVersionsRequest: + properties: + node_versions: + description: 取得するノードIDとバージョンのペアのリスト + items: + $ref: "#/components/schemas/NodeVersionIdentifier" + type: array + required: + - node_versions + type: object + BulkNodeVersionsResponse: + properties: + node_versions: + description: 取得したノードバージョンとそのステータスのリスト + items: + $ref: "#/components/schemas/BulkNodeVersionResult" + type: array + required: + - node_versions + type: object + BytePlusFile: + description: "POST /api/v3/files および GET /api/v3/files/{id} によって返されるファイルオブジェクト。詳細は https://docs.byteplus.com/en/docs/ModelArk/1873424 を参照してください。\n" + properties: + bytes: + description: "ファイルサイズ(バイト単位)。ステータスが`active`の場合のみ返されます。" + type: integer + created_at: + description: ファイルがアップロードされたUnixタイムスタンプ(秒)。 + type: integer + error: + description: "ステータスが`failed`の場合のみ返されるエラーの詳細。" + nullable: true + properties: + code: + description: エラーコード。 + type: string + message: + description: エラーの説明。 + type: string + type: object + expire_at: + description: ファイルの有効期限が切れるUnixタイムスタンプ(秒)。 + type: integer + id: + description: ファイルの一意のID。 + type: string + mime_type: + description: "ファイルのMIMEタイプ。ステータスが`active`の場合のみ返されます。" + type: string + object: + description: "常に`file`。" + type: string + preprocess_configs: + $ref: "#/components/schemas/BytePlusFilePreprocessConfigs" + purpose: + description: ファイルの用途。 + type: string + status: + description: ファイルの処理ステータス。 + enum: + - processing + - active + - failed + type: string + type: object + BytePlusFilePreprocessConfigs: + description: ファイルタイプごとにアップロードされたファイルに適用される前処理ルール。 + nullable: true + properties: + video: + nullable: true + properties: + fps: + default: 1 + description: "Number of frames per second sampled from the video at upload\ntime. Higher values capture more detail but consume more tokens\nduring inference (range [10k, 80k] tokens per video).\n" + format: float + maximum: 5 + minimum: 0.2 + nullable: true + type: number + model: + description: "Video-understanding model ID or endpoint ID whose frame-sampling\nstrategy should be applied during preprocessing. If omitted, the\npre-`seed-1.8` default strategy is used.\n" + type: string + type: object + type: object + BytePlusFileUploadRequest: + description: "Multipart upload payload for POST /api/v3/files. The binary `file` is required; everything else mirrors the upstream optional fields. See https://docs.byteplus.com/en/docs/ModelArk/1870405.\n" + properties: + expire_at: + description: "Unix timestamp (seconds, UTC) at which the file should be expired.\nRange: [now + 86400, now + 2592000] (1 day to 30 days).\nDefault: now + 604800 (7 days).\n" + type: integer + file: + description: The binary file to upload. + format: binary + type: string + preprocess_configs: + $ref: "#/components/schemas/BytePlusFilePreprocessConfigs" + purpose: + default: user_data + description: "Purpose of the uploaded file. `user_data` is a general-purpose value\nand the only one currently documented by BytePlus.\n" + type: string + required: + - file + - purpose + type: object + BytePlusImageGenerationRequest: + properties: + guidance_scale: + description: "Controls how closely the output image aligns with the input prompt. Range [1, 10]. Higher values result in stronger prompt adherence. Default 2.5 for seedream-3-0-t2i-250415 and 5.5 for seededit-3-0-i2i-250628. Not supported by seedream-5.0-pro, 5.0-lite, 4.5 and 4.0." + format: float + maximum: 10 + minimum: 1 + type: number + image: + description: "Seedream-5.0-pro, 5.0-lite, 4.5 and 4.0, and seededit-3.0-i2i support this parameter.\n\nEnter the Base64 encoding or an accessible URL of the image to edit. Seedream-5.0-pro, 5.0-lite, 4.5 and 4.0 support inputting a single image or multiple images (see the multi-image blending example), while seededit-3.0-i2i only supports single-image input.\n\n• Image URL: Make sure that the image URL is accessible.\n• Base64 encoding: The format must be data:image/;base64,. Note: must be in lowercase, e.g., data:image/png;base64,.\n\nAn input image must meet the following requirements:\n• Image format: jpeg, png (seedream-5.0-pro, 5.0-lite, 4.5 and 4.0 also support webp, bmp, tiff and gif; seedream-5.0-pro also supports heic and heif)\n• Aspect ratio (width/height): In the range [1/16, 16] for seedream-5.0-pro, 5.0-lite, 4.5 and 4.0; [1/3, 3] for seededit-3.0-i2i\n• Width and height (px): > 14\n• Size: No more than 10 MB (30 MB for seedream-5.0-pro)\n• Total pixels: No more than 6000x6000 (36,000,000 px) for seedream-5.0-pro\n• Maximum of 14 reference images (10 for seedream-5.0-pro)\n" + oneOf: + - description: Single image (URL or Base64) + type: string + - description: "Multiple images (URLs or Base64) - supported by seedream-5.0-pro, 5.0-lite, 4.5 and 4.0" + items: + type: string + maxItems: 14 + type: array + model: + enum: + - seedream-3-0-t2i-250415 + - seededit-3-0-i2i-250628 + - seedream-4-0-250828 + - seedream-4-5-251128 + - seedream-5-0-260128 + - seedream-5-0-pro-260628 + type: string + optimize_prompt_options: + description: "Configuration for prompt optimization feature. Only seedream-5.0-pro/5.0-lite/4.5 (only support standard mode) and seedream-4.0 support this parameter.\n" + properties: + mode: + default: standard + description: "Set the mode for the prompt optimization feature. standard = Higher quality, longer generation time. fast = Faster but at a more average quality." + enum: + - standard + - fast + type: string + type: object + output_format: + default: jpeg + description: Specifies the format of the output image. Only seedream-5.0-pro and 5.0-lite support this parameter. + enum: + - png + - jpeg + type: string + prompt: + description: Text description for image generation or transformation + type: string + response_format: + default: url + description: Specifies the format of the generated image returned in the response + enum: + - url + - b64_json + type: string + seed: + default: -1 + description: "Random seed to control the stochasticity of image generation. Range: [-1, 2147483647]. If not specified, a seed will be automatically generated. To reproduce the same output, use the same seed value." + type: integer + sequential_image_generation: + description: "Controls whether to disable the batch generation feature. This parameter is only supported on seedream-5.0-lite, 4.5 and 4.0 (not supported by seedream-5.0-pro). Valid values:\nauto: In automatic mode, the model automatically determines whether to return multiple images and how many images it will contain based on the user's prompt.\ndisabled: Disables batch generation feature. The model will only generate one image.\n" + type: string + sequential_image_generation_options: + description: "Only seedream-5.0-lite, 4.5 and 4.0 support this parameter (not supported by seedream-5.0-pro).\nConfiguration for the batch image generation feature. This parameter is only effective when sequential_image_generation is set to auto.\n" + properties: + max_images: + default: 15 + description: Specifies the maximum number of images to generate in this request. Number of input reference images + Number of generated images ≤ 15. + maximum: 15 + minimum: 1 + type: integer + type: object + size: + description: "\"seedream-3-0-t2i-250415\": Specifies the dimensions (width x height in pixels) of the generated image. Must be between [512x512, 2048x2048]\n\"seededit-3-0-i2i-250628\": The width and height pixels of the generated image. Currently only supports adaptive.\n\"seedream-4-0-250828\": Set the specification for the generated image. Two methods are available but cannot be used together.\n Method 1 | Specify the resolution. Optional values: 1K, 2K, 4K\n Method 2 | Specify width and height in pixels. Default: 2048x2048, total pixels: [1024x1024, 4096x4096], aspect ratio: [1/16, 16]\n\"seedream-4-5-251128\": Two methods available.\n Method 1 | Specify the resolution. Optional values: 2K, 4K\n Method 2 | Specify width and height in pixels. Default: 2048x2048, total pixels: [2560x1440, 4096x4096], aspect ratio: [1/16, 16]\n\"seedream-5-0-260128\": Two methods available.\n Method 1 | Specify the resolution. Optional values: 2K, 3K\n Method 2 | Specify width and height in pixels. Default: 2048x2048, total pixels: [2560x1440, ~3072x3072], aspect ratio: [1/16, 16]\n\"seedream-5-0-pro-260628\": Two methods available (cannot be used together).\n Method 1 | Specify the resolution and describe the aspect ratio, shape or purpose of the image in the prompt; the model decides the final size. Optional values: 1K, 2K\n Method 2 | Specify width and height in pixels. Default: 1024x1024, total pixels: [1024x1024 (1048576), 2048x2048 (4194304)], aspect ratio: [1/16, 16]\n" + type: string + stream: + default: false + description: "Whether to enable streaming output mode. Only seedream-5.0-lite, 4.5 and 4.0 support this parameter (not supported by seedream-5.0-pro). false = All output images are returned at once. true = Each output image is returned immediately after generated." + type: boolean + watermark: + default: true + description: "Specifies whether to add a watermark to the generated image. false = No watermark, true = Adds watermark with 'AI generated' label" + type: boolean + required: + - prompt + - model + type: object + BytePlusImageGenerationResponse: + properties: + created: + description: Unix timestamp (in seconds) indicating the time when the request was created + type: integer + data: + description: Contains information about the generated image(s) + items: + properties: + b64_json: + description: "Base64-encoded image data (if response_format is \"b64_json\")" + type: string + output_format: + description: The file format of the output image. Only seedream-5.0-pro supports this field. + type: string + size: + description: "The width and height of the image in pixels, in the format x. Only seedream-5.0-pro, 5.0-lite, 4.5 and 4.0 support this parameter." + type: string + url: + description: "URL for image download (if response_format is \"url\")" + format: uri + type: string + type: object + type: array + error: + description: Error information (if any) + properties: + code: + description: Error code + type: string + message: + description: Error message + type: string + type: object + model: + description: The model ID used for the request + example: seedream-3-0-t2i-250415 + type: string + usage: + properties: + generated_images: + description: Number of images generated by the model + type: integer + input_images: + description: The number of images input to the model. Only seedream-5.0-pro supports this field. + type: integer + output_tokens: + description: The number of tokens used for the picture generated by the model. + type: integer + total_tokens: + description: The total number of tokens consumed by this request. + type: integer + type: object + type: object + BytePlusResponseAppliedContextEdit: + description: "One applied context-edit, discriminated by `type`." + discriminator: + mapping: + clear_thinking: "#/components/schemas/BytePlusResponseAppliedContextEditClearThinking" + clear_tool_uses: "#/components/schemas/BytePlusResponseAppliedContextEditClearToolUses" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseAppliedContextEditClearThinking" + - $ref: "#/components/schemas/BytePlusResponseAppliedContextEditClearToolUses" + BytePlusResponseAppliedContextEditClearThinking: + additionalProperties: true + properties: + cleared_thinking_turns: + description: Number of reasoning turns that were removed. + type: integer + type: + default: clear_thinking + enum: + - clear_thinking + type: string + required: + - type + type: object + BytePlusResponseAppliedContextEditClearToolUses: + additionalProperties: true + properties: + cleared_tool_uses: + description: Number of tool invocations that were removed. + type: integer + type: + default: clear_tool_uses + enum: + - clear_tool_uses + type: string + required: + - type + type: object + BytePlusResponseAppliedContextManagement: + additionalProperties: true + description: "Context-management strategies that were actually applied during this response. Unlike the request-side `BytePlusResponseContextManagement` (which configures strategies), this echoes the strategies the server invoked, with counts of what was cleared.\n" + properties: + applied_edits: + items: + $ref: "#/components/schemas/BytePlusResponseAppliedContextEdit" + type: array + type: object + BytePlusResponseContextEdit: + description: "A single context-edit strategy, discriminated by `type`." + discriminator: + mapping: + clear_thinking: "#/components/schemas/BytePlusResponseContextEditClearThinking" + clear_tool_uses: "#/components/schemas/BytePlusResponseContextEditClearToolUses" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseContextEditClearThinking" + - $ref: "#/components/schemas/BytePlusResponseContextEditClearToolUses" + BytePlusResponseContextEditClearThinking: + additionalProperties: true + description: "Clears chain-of-thought content per the `keep` strategy." + properties: + keep: + oneOf: + - additionalProperties: true + properties: + type: + default: thinking_turns + enum: + - thinking_turns + type: string + value: + default: 1 + description: Retain chain-of-thought for the most recent N turns. + type: integer + required: + - type + type: object + - description: Retain all chain-of-thought. + enum: + - all + type: string + type: + default: clear_thinking + enum: + - clear_thinking + type: string + required: + - type + - keep + type: object + BytePlusResponseContextEditClearToolUses: + additionalProperties: true + description: Clears tool-call content when the conversation exceeds a threshold. + properties: + clear_tool_input: + default: false + description: Whether to clear tool-call parameters. + type: boolean + exclude_tools: + description: Tool names that are never cleared. + items: + type: string + type: array + keep: + additionalProperties: true + properties: + type: + default: tool_uses + enum: + - tool_uses + type: string + value: + default: 3 + description: Retain tool-call content for the most recent N turns. + type: integer + required: + - type + type: object + trigger: + additionalProperties: true + properties: + type: + default: tool_uses + enum: + - tool_uses + type: string + value: + description: Trigger cleanup when tool-call turns reach N. + type: integer + required: + - type + - value + type: object + type: + default: clear_tool_uses + enum: + - clear_tool_uses + type: string + required: + - type + - keep + - trigger + type: object + BytePlusResponseContextManagement: + additionalProperties: true + description: "Context-management strategies (`clear_thinking`, `clear_tool_uses`) applied to keep the context window manageable.\n" + properties: + edits: + items: + $ref: "#/components/schemas/BytePlusResponseContextEdit" + type: array + type: object + BytePlusResponseCreateRequest: + additionalProperties: true + properties: + caching: + additionalProperties: true + description: Context-cache configuration. + properties: + prefix: + default: false + description: "When true, only create the public prefix cache; the model does not respond.\n" + type: boolean + type: + enum: + - enabled + - disabled + type: string + type: object + context_management: + $ref: "#/components/schemas/BytePlusResponseContextManagement" + expire_at: + description: "Unix timestamp (seconds, UTC) at which the stored response and cache expire. Range (creation_time, creation_time + 604800]. Default: creation_time + 259200 (3 days).\n" + type: integer + include: + description: "Additional output fields to include. Currently supported: `reasoning.encrypted_content` (encrypted+compressed reasoning for manual multi-turn reuse).\n" + items: + type: string + type: array + input: + description: Text content or list of input items provided to the model. + oneOf: + - description: "Plain text input, equivalent to a single user message." + type: string + - items: + $ref: "#/components/schemas/BytePlusResponseInputItem" + type: array + instructions: + description: "System/developer message prepended as the first instruction. Not compatible with `caching` — if `caching.type` is `enabled`, setting `instructions` returns an error.\n" + nullable: true + type: string + max_output_tokens: + description: Maximum output tokens (response + chain-of-thought). + nullable: true + type: integer + max_tool_calls: + maximum: 10 + minimum: 1 + type: integer + model: + description: "Model ID or Endpoint ID. See https://docs.byteplus.com/en/docs/ModelArk/1330310 for the model list and https://docs.byteplus.com/en/docs/ModelArk/1099522 for Endpoint IDs.\n" + type: string + previous_response_id: + description: "ID of the previous response, used to continue a multi-turn conversation. Insert ~100ms between requests to avoid failures.\n" + nullable: true + type: string + reasoning: + additionalProperties: true + description: Limits the workload of deep thinking. + properties: + effort: + description: "`minimal` disables thinking entirely. With `thinking.type =\ndisabled`, only `minimal` is allowed.\n" + enum: + - minimal + - low + - medium + - high + type: string + type: object + store: + default: true + description: "When true, the response is persisted and retrievable by ID for multi-turn use.\n" + nullable: true + type: boolean + temperature: + default: 1 + format: float + maximum: 2 + minimum: 0 + nullable: true + type: number + text: + additionalProperties: true + description: Output-format configuration. + properties: + format: + $ref: "#/components/schemas/BytePlusResponseTextFormat" + type: object + thinking: + additionalProperties: true + description: Controls deep-thinking mode. + properties: + type: + description: "`enabled`: always reason before responding.\n`disabled`: respond without additional reasoning.\n`auto`: model decides per-query.\n" + enum: + - enabled + - disabled + - auto + type: string + type: object + tool_choice: + description: Tool-selection mode. Only seed-1-6 models support this field. + oneOf: + - enum: + - none + - auto + - required + type: string + - $ref: "#/components/schemas/BytePlusResponseToolChoiceObject" + tools: + items: + $ref: "#/components/schemas/BytePlusResponseTool" + type: array + top_p: + default: 0.7 + format: float + maximum: 1 + minimum: 0 + nullable: true + type: number + required: + - model + - input + type: object + BytePlusResponseError: + description: Error details. Null when the response succeeded. + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + BytePlusResponseInputFile: + additionalProperties: true + description: "File input (currently PDF only). Provide exactly one of `file_id`, `file_data`, or `file_url`. `filename` is required with `file_data`.\n" + properties: + file_data: + description: Base64-encoded file (single file <= 50 MB). + type: string + file_id: + description: "ID of a file uploaded via the Files API. Must be `active`." + type: string + file_url: + description: Publicly accessible URL (single file <= 50 MB). + type: string + filename: + description: "Required when `file_data` is set." + type: string + type: + enum: + - input_file + type: string + required: + - type + type: object + BytePlusResponseInputFunctionCall: + additionalProperties: true + description: A tool/function invocation produced by the model in a prior turn. + properties: + arguments: + description: JSON-encoded string of the function arguments. + type: string + call_id: + description: Unique ID of the tool call generated by the model. + type: string + name: + type: string + status: + type: string + type: + enum: + - function_call + type: string + required: + - type + - arguments + - call_id + - name + type: object + BytePlusResponseInputFunctionCallOutput: + additionalProperties: true + description: "Output returned by a tool, paired with the function_call via call_id." + properties: + call_id: + type: string + output: + type: string + status: + type: string + type: + enum: + - function_call_output + type: string + required: + - type + - call_id + - output + type: object + BytePlusResponseInputImage: + additionalProperties: true + properties: + detail: + default: auto + enum: + - high + - low + - auto + type: string + file_id: + description: "ID of a file uploaded via the Files API. Must be `active`." + type: string + image_pixel_limit: + additionalProperties: true + description: "Optional pixel-count bounds. Overrides `detail` when set. Image pixel count must stay in [196, 36_000_000].\n" + nullable: true + properties: + max_pixels: + type: integer + min_pixels: + type: integer + type: object + image_url: + description: "Image URL or `data:image/...;base64,...` payload." + type: string + type: + enum: + - input_image + type: string + required: + - type + type: object + BytePlusResponseInputItem: + description: "One entry in the `input` array of a Responses request. Discriminated by the `type` field. See https://docs.byteplus.com/en/docs/ModelArk/1585128.\n" + discriminator: + mapping: + function_call: "#/components/schemas/BytePlusResponseInputFunctionCall" + function_call_output: "#/components/schemas/BytePlusResponseInputFunctionCallOutput" + message: "#/components/schemas/BytePlusResponseInputMessage" + reasoning: "#/components/schemas/BytePlusResponseInputReasoning" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseInputMessage" + - $ref: "#/components/schemas/BytePlusResponseInputFunctionCall" + - $ref: "#/components/schemas/BytePlusResponseInputFunctionCallOutput" + - $ref: "#/components/schemas/BytePlusResponseInputReasoning" + BytePlusResponseInputMessage: + additionalProperties: true + description: "A message sent to the model (or a stored prior message when `status` is set). Role precedence: developer/system > user; assistant messages represent prior model output.\n" + properties: + content: + oneOf: + - description: "Plain text content, equivalent to a single input_text item." + type: string + - items: + $ref: "#/components/schemas/BytePlusResponseMessageContent" + type: array + partial: + description: "Enables Continuation mode. Set the last message's role to `assistant` and `partial` to true; the model continues from its existing content.\n" + type: boolean + role: + enum: + - user + - system + - assistant + - developer + type: string + status: + description: "Status of a previously stored message. Only used when echoing previous inputs back to the model.\n" + enum: + - in_progress + - completed + - incomplete + type: string + type: + default: message + enum: + - message + type: string + required: + - type + - role + - content + type: object + BytePlusResponseInputReasoning: + additionalProperties: true + description: "Chain-of-thought block. Used both as input (manual reasoning injection for seed-1-8, seed-2-0, deepseek-v3-2) and as a response output item. As input, prefer `previous_response_id` in multi-turn conversations.\n" + properties: + content: + description: "Original (un-summarized) reasoning content. Returned on output items; not used on input.\n" + items: + additionalProperties: true + properties: + text: + type: string + type: + default: reasoning_text + enum: + - reasoning_text + type: string + required: + - type + type: object + type: array + encrypted_content: + description: "Encrypted+compressed original reasoning content. Returned only when `reasoning.encrypted_content` is in the request's `include` list. Supported from seed-2-0-pro-260328.\n" + type: string + id: + type: string + status: + enum: + - in_progress + - completed + - incomplete + type: string + summary: + items: + additionalProperties: true + properties: + text: + type: string + type: + default: summary_text + enum: + - summary_text + type: string + required: + - type + type: object + type: array + type: + enum: + - reasoning + type: string + required: + - type + type: object + BytePlusResponseInputText: + additionalProperties: true + properties: + text: + type: string + translation_options: + additionalProperties: true + description: "Translation-scenario configuration. Only supported by seed-translation-250728.\n" + properties: + source_language: + type: string + target_language: + type: string + required: + - target_language + type: object + type: + enum: + - input_text + type: string + required: + - type + - text + type: object + BytePlusResponseInputVideo: + additionalProperties: true + properties: + file_id: + description: "ID of a file uploaded via the Files API. Must be `active`." + type: string + fps: + description: Frames-per-second extracted from the video. + format: float + maximum: 5 + minimum: 0.2 + type: number + type: + enum: + - input_video + type: string + video_url: + description: "Video URL or `data:video/...;base64,...` payload." + type: string + required: + - type + type: object + BytePlusResponseMessageContent: + description: "One content item inside a message. Discriminated by `type`: `input_text` for text, `input_image` for images, `input_video` for videos, `input_file` for PDF/file uploads. File-backed types may reference a Files API id via `file_id`.\n" + discriminator: + mapping: + input_file: "#/components/schemas/BytePlusResponseInputFile" + input_image: "#/components/schemas/BytePlusResponseInputImage" + input_text: "#/components/schemas/BytePlusResponseInputText" + input_video: "#/components/schemas/BytePlusResponseInputVideo" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseInputText" + - $ref: "#/components/schemas/BytePlusResponseInputImage" + - $ref: "#/components/schemas/BytePlusResponseInputVideo" + - $ref: "#/components/schemas/BytePlusResponseInputFile" + BytePlusResponseObject: + description: "Non-streaming response body returned by POST /api/v3/responses. See https://docs.byteplus.com/en/docs/ModelArk/1783703.\n" + properties: + caching: + additionalProperties: true + properties: + prefix: + type: boolean + type: + enum: + - enabled + - disabled + type: string + type: object + context_management: + $ref: "#/components/schemas/BytePlusResponseAppliedContextManagement" + created_at: + description: Unix timestamp (seconds) when the response was created. + type: integer + error: + $ref: "#/components/schemas/BytePlusResponseError" + expire_at: + description: Unix timestamp (seconds) when the stored response expires. + type: integer + id: + description: "Unique ID of the response. Use as `previous_response_id` to continue the conversation." + type: string + incomplete_details: + additionalProperties: true + description: "Populated when `status` is `incomplete`." + nullable: true + properties: + reason: + description: "e.g. `max_output_tokens`, `content_filter`." + type: string + type: object + instructions: + description: "Echo of the request's `instructions` field." + nullable: true + type: string + max_output_tokens: + nullable: true + type: integer + max_tool_calls: + nullable: true + type: integer + metadata: + additionalProperties: true + nullable: true + type: object + model: + description: Model ID that generated the response. + type: string + object: + default: response + enum: + - response + type: string + output: + description: Ordered output items produced by the model. + items: + $ref: "#/components/schemas/BytePlusResponseOutputItem" + type: array + previous_response_id: + nullable: true + type: string + reasoning: + additionalProperties: true + properties: + effort: + enum: + - minimal + - low + - medium + - high + type: string + type: object + service_tier: + description: "TPM-guarantee-package usage. `default` means none." + enum: + - default + type: string + status: + enum: + - in_progress + - completed + - incomplete + - failed + - cancelled + type: string + store: + nullable: true + type: boolean + stream: + nullable: true + type: boolean + temperature: + format: float + nullable: true + type: number + text: + additionalProperties: true + description: "Echo of the request's `text` field." + properties: + format: + $ref: "#/components/schemas/BytePlusResponseTextFormat" + type: object + thinking: + additionalProperties: true + properties: + type: + enum: + - enabled + - disabled + - auto + type: string + type: object + tool_choice: + oneOf: + - enum: + - none + - auto + - required + type: string + - $ref: "#/components/schemas/BytePlusResponseToolChoiceObject" + tools: + items: + $ref: "#/components/schemas/BytePlusResponseTool" + type: array + top_p: + format: float + nullable: true + type: number + usage: + $ref: "#/components/schemas/BytePlusResponseUsage" + required: + - id + - object + - created_at + - model + - status + - output + type: object + BytePlusResponseOutputContent: + description: "One content block in an assistant message. `output_text` carries natural-language text and optional annotations; `refusal` carries a refusal message.\n" + discriminator: + mapping: + output_text: "#/components/schemas/BytePlusResponseOutputText" + refusal: "#/components/schemas/BytePlusResponseOutputRefusal" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseOutputText" + - $ref: "#/components/schemas/BytePlusResponseOutputRefusal" + BytePlusResponseOutputItem: + description: "One item in a response's `output` array. Discriminated by `type`: `message` for assistant messages, `function_call` for tool invocations, `reasoning` for chain-of-thought blocks. Mirrors the input item shapes the model can read back via `previous_response_id`.\n" + discriminator: + mapping: + function_call: "#/components/schemas/BytePlusResponseInputFunctionCall" + message: "#/components/schemas/BytePlusResponseOutputMessage" + reasoning: "#/components/schemas/BytePlusResponseInputReasoning" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseOutputMessage" + - $ref: "#/components/schemas/BytePlusResponseInputFunctionCall" + - $ref: "#/components/schemas/BytePlusResponseInputReasoning" + BytePlusResponseOutputMessage: + additionalProperties: true + description: An assistant message produced by the model. + properties: + content: + items: + $ref: "#/components/schemas/BytePlusResponseOutputContent" + type: array + id: + type: string + partial: + description: True when this message is a continuation-mode partial reply. + type: boolean + role: + default: assistant + enum: + - assistant + type: string + status: + enum: + - in_progress + - completed + - incomplete + type: string + type: + default: message + enum: + - message + type: string + required: + - type + - id + - role + - content + type: object + BytePlusResponseOutputRefusal: + additionalProperties: true + properties: + refusal: + type: string + type: + default: refusal + enum: + - refusal + type: string + required: + - type + - refusal + type: object + BytePlusResponseOutputText: + additionalProperties: true + properties: + annotations: + items: + additionalProperties: true + type: object + type: array + text: + type: string + type: + default: output_text + enum: + - output_text + type: string + required: + - type + - text + type: object + BytePlusResponseTextFormat: + description: "Text-output format discriminated by `type`. `text` returns natural language, `json_object` returns a free-form JSON object, `json_schema` constrains output to a caller-supplied JSON Schema.\n" + discriminator: + mapping: + json_object: "#/components/schemas/BytePlusResponseTextFormatJSONObject" + json_schema: "#/components/schemas/BytePlusResponseTextFormatJSONSchema" + text: "#/components/schemas/BytePlusResponseTextFormatText" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseTextFormatText" + - $ref: "#/components/schemas/BytePlusResponseTextFormatJSONObject" + - $ref: "#/components/schemas/BytePlusResponseTextFormatJSONSchema" + BytePlusResponseTextFormatJSONObject: + additionalProperties: true + properties: + type: + default: json_object + enum: + - json_object + type: string + required: + - type + type: object + BytePlusResponseTextFormatJSONSchema: + additionalProperties: true + properties: + description: + description: Hint the model uses when generating the response. + nullable: true + type: string + name: + description: Caller-defined name for the JSON structure. + type: string + schema: + additionalProperties: true + description: JSON Schema the model output must conform to. + type: object + strict: + default: false + nullable: true + type: boolean + type: + default: json_schema + enum: + - json_schema + type: string + required: + - type + - name + - schema + type: object + BytePlusResponseTextFormatText: + additionalProperties: true + properties: + type: + default: text + enum: + - text + type: string + required: + - type + type: object + BytePlusResponseTool: + additionalProperties: true + description: "A tool the model may invoke. Currently only `function` is supported." + properties: + description: + type: string + name: + type: string + parameters: + additionalProperties: true + description: "JSON Schema describing the function's parameters." + type: object + type: + default: function + enum: + - function + type: string + required: + - type + - name + - parameters + type: object + BytePlusResponseToolChoiceObject: + additionalProperties: true + description: "Forces the model to call a specific tool. When `type` is `function`, `name` is required.\n" + properties: + name: + type: string + type: + enum: + - function + type: string + required: + - type + type: object + BytePlusResponseUsage: + description: Token-usage breakdown for billing and observability. + properties: + input_tokens: + description: Total tokens in the request. + type: integer + input_tokens_details: + additionalProperties: true + description: "Breakdown of input tokens (cache hits, etc)." + properties: + cached_tokens: + description: Tokens served from the context cache. + type: integer + type: object + output_tokens: + description: Total tokens generated by the model. + type: integer + output_tokens_details: + additionalProperties: true + description: "Breakdown of output tokens (reasoning, etc)." + properties: + reasoning_tokens: + description: Tokens consumed by chain-of-thought. + type: integer + type: object + tool_usage: + additionalProperties: true + description: Per-tool invocation counts. + properties: + image_process: + description: Number of image-processing tool calls. + type: integer + mcp: + description: Number of MCP tool calls. + type: integer + web_search: + description: Number of web-search tool invocations. + type: integer + type: object + tool_usage_details: + additionalProperties: true + description: Per-tool breakdown of sub-tool invocation counts. + properties: + image_process: + additionalProperties: true + description: "e.g. `{\"zoom\":1,\"point\":1,\"grounding\":1}`." + type: object + mcp: + additionalProperties: true + description: "e.g. `{\"mcp_server_tos\":1,\"mcp_server_tls\":1}`." + type: object + web_search: + additionalProperties: true + description: "e.g. `{\"toutiao\":1,\"moji\":1,\"search_engine\":1}`." + type: object + type: object + total_tokens: + description: input_tokens + output_tokens. + type: integer + required: + - input_tokens + - output_tokens + - total_tokens + type: object + BytePlusTTSAudioConfig: + description: Output audio configuration. + properties: + format: + description: "Output audio format: wav (default), mp3, pcm or ogg_opus." + type: string + loudness_rate: + description: "-50 to 100; 100 means 2.0x volume, -50 means 0.5x volume (default: 0)." + type: integer + pitch_rate: + description: "-12 to 12 (default: 0)." + type: integer + sample_rate: + description: "Output sample rate: 8000, 16000, 24000 (default), 32000, 44100 or 48000." + type: integer + speech_rate: + description: "-50 to 100; 100 means 2.0x speed, -50 means 0.5x speed (default: 0)." + type: integer + type: object + BytePlusTTSCreateRequest: + description: Request body for a BytePlus Seed Audio 1.0 generation. + properties: + audio_config: + $ref: "#/components/schemas/BytePlusTTSAudioConfig" + model: + description: Model identifier. The only supported model is seed-audio-1.0. + type: string + references: + description: "Reference resources. Omit for text-only generation. Up to 3 audio references (each up to 30 seconds and 10 MB; wav, mp3, pcm or ogg_opus) or exactly 1 image reference (up to 10 MB; jpeg, png or webp). Image references cannot be mixed with audio references.\n" + items: + $ref: "#/components/schemas/BytePlusTTSReference" + type: array + text_prompt: + description: "Prompt or text to synthesize (max 2,048 characters). When audio references are provided, reference them by order using @Audio1, @Audio2 and @Audio3.\n" + maxLength: 2048 + type: string + watermark: + additionalProperties: true + description: Watermark configuration object. An empty object is accepted. + type: object + required: + - model + - text_prompt + type: object + BytePlusTTSCreateResponse: + description: Response body for a BytePlus Seed Audio 1.0 generation. + properties: + audio: + description: "Generated audio data, Base64-encoded." + type: string + code: + description: Status code. Refer to the official error-code document for details. + type: integer + duration: + description: "Duration after speed or post-processing, in seconds." + format: double + type: number + message: + description: Status details. + type: string + original_duration: + description: Original model output duration in seconds. Used for billing and capped at 120 seconds. + format: double + type: number + url: + description: "Temporary audio URL, valid for 2 hours." + type: string + type: object + BytePlusTTSReference: + description: "A single reference resource. For an audio reference, provide exactly one of speaker, audio_data or audio_url. For an image reference, provide exactly one of image_data or image_url.\n" + properties: + audio_data: + description: Base64-encoded reference audio. + type: string + audio_url: + description: URL of a remote reference audio file. + type: string + image_data: + description: Base64-encoded reference image. + type: string + image_url: + description: URL of a remote reference image. + type: string + speaker: + description: Voice ID. Can be a supported Doubao TTS voice or a voice-clone voice ID. + type: string + type: object + BytePlusVideoGenerationContent: + properties: + audio_url: + description: Input audio object. Only Seedance 2.0 & 2.0 fast support audio input. Cannot be used alone - must include at least 1 image or video. + properties: + url: + description: "Audio URL, Base64 encoding, or Asset ID.\nAudio URL: Public URL of the audio (wav, mp3).\nBase64: Format data:audio/;base64,\nAsset ID: Format asset://\n" + type: string + type: object + image_url: + properties: + url: + description: "Image content for image-to-video generation (when type is \"image_url\")\nImage URL: Make sure that the image URL is accessible.\nBase64-encoded content: Format must be data:image/;base64,\nAsset ID: Format asset://\n" + type: string + type: object + role: + description: "The role/position of the content item.\nFor images: first_frame, last_frame, or reference_image.\nFor videos: reference_video (Seedance 2.0 & 2.0 fast only).\nFor audio: reference_audio (Seedance 2.0 & 2.0 fast only).\n" + enum: + - first_frame + - last_frame + - reference_image + - reference_video + - reference_audio + type: string + text: + description: "The input text information for the model. Includes text prompt and optional parameters.\n\nText prompt (required): Description of the video to be generated using Chinese and English characters.\n\nParameters (optional): Add --[parameters] after the text prompt to control video specifications:\n- --resolution (--rs): 480p, 720p, 1080p (default: 720p)\n- --ratio (--rt): 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, 9:21, adaptive (default: 16:9 or adaptive)\n- --duration (--dur): 3-12 seconds (default: 5)\n- --framepersecond (--fps): 24 (default: 24)\n- --watermark (--wm): true/false (default: false)\n- --seed (--seed): -1 to 2^32-1 (default: -1)\n- --camerafixed (--cf): true/false (default: false)\n\nExample: \"A beautiful landscape --ratio 16:9 --resolution 720p --duration 5\"\n" + maxLength: 4096 + type: string + type: + description: The type of the input content + enum: + - text + - image_url + - video_url + - audio_url + type: string + video_url: + description: Input video object. Only Seedance 2.0 & 2.0 fast support video input. + properties: + url: + description: "Video URL or Asset ID.\nVideo URL: Public URL of the video (mp4, mov).\nAsset ID: Format asset://\n" + type: string + type: object + required: + - type + type: object + BytePlusVideoGenerationQueryResponse: + properties: + content: + description: "The output after the video generation task is completed, which contains the download URL of the output video." + properties: + video_url: + description: "The URL of the output video. For security purposes, the output video is cleared after 24 hours." + type: string + type: object + created_at: + description: The time when the task was created. The value is a UNIX timestamp in seconds. + type: integer + error: + description: "The error information. If the task succeeds, null is returned. If the task fails, the error information is returned." + nullable: true + properties: + code: + description: The error code + type: string + message: + description: The error message + type: string + type: object + id: + description: The ID of the video generation task + type: string + model: + description: The name and version of the model used by the task + type: string + status: + description: The state of the task + enum: + - queued + - running + - cancelled + - succeeded + - failed + - expired + type: string + updated_at: + description: The time when the task was last updated. The value is a UNIX timestamp in seconds. + type: integer + usage: + description: The token usage for the request + properties: + completion_tokens: + description: The number of tokens generated by the model + type: integer + total_tokens: + description: "For the video generation model, the number of input tokens is not calculated and defaults to 0. Therefore, total_tokens = completion_tokens." + type: integer + type: object + type: object + BytePlusVideoGenerationRequest: + properties: + callback_url: + description: Callback notification address for the result of this generation task + format: uri + type: string + content: + description: The input content for the model to generate a video + items: + $ref: "#/components/schemas/BytePlusVideoGenerationContent" + minItems: 1 + type: array + duration: + description: "Video duration in seconds. Seedance 2.0 & 2.0 fast: [4,15] or -1 (auto). Seedance 1.5 pro: [4,12] or -1. Seedance 1.0: [2,12].\n" + type: integer + execution_expires_after: + description: "Task timeout threshold in seconds. Default 172800 (48h). Range: [3600, 259200].\n" + type: integer + generate_audio: + default: true + description: "Supported by Seedance 2.0, 2.0 fast, and 1.5 pro. Whether the generated video includes audio synchronized with the visuals.\ntrue: The model outputs a video with synchronized audio.\nfalse: The model outputs a silent video.\n" + type: boolean + model: + description: "The ID of the model to call. Available models include seedance-1-5-pro-251215, seedance-1-0-pro-250528, seedance-1-0-pro-fast-251015, seedance-1-0-lite-t2v-250428, seedance-1-0-lite-i2v-250428" + enum: + - seedance-1-5-pro-251215 + - seedance-1-0-pro-250528 + - seedance-1-0-lite-t2v-250428 + - seedance-1-0-lite-i2v-250428 + - seedance-1-0-pro-fast-251015 + - dreamina-seedance-2-0-260128 + - dreamina-seedance-2-0-fast-260128 + - dreamina-seedance-2-0-mini + type: string + ratio: + description: "Aspect ratio of the generated video. Seedance 2.0 & 2.0 fast, 1.5 pro default: adaptive.\n" + enum: + - 16:9 + - 4:3 + - 1:1 + - 3:4 + - 9:16 + - 21:9 + - adaptive + type: string + resolution: + description: "Video resolution. Seedance 2.0 & 2.0 fast, 1.5 pro, 1.0 lite default: 720p. Seedance 1.0 pro & pro-fast default: 1080p.\nNote: Seedance 2.0 & 2.0 fast do not support 1080p.\n" + enum: + - 480p + - 720p + - 1080p + - 4k + type: string + return_last_frame: + default: false + description: "Whether to return the last frame image of the generated video.\ntrue: Returns the last frame image of the generated video. After setting this parameter to true, you can obtain the last frame image by calling the Querying the information about a video generation task. The last frame image is in PNG format, with its pixel width and height consistent with those of the generated video, and it contains no watermarks. Using this parameter allows the generation of multiple consecutive videos: the last frame of the previously generated video is used as the first frame of the next video task, enabling quick generation of multiple consecutive videos.\nfalse: Does not return the last frame image of the generated video.\n" + type: boolean + seed: + description: "Seed integer for controlling randomness. Range: [-1, 2^32-1]. -1 uses a random seed.\n" + type: integer + service_tier: + description: "Service tier for processing. Seedance 2.0 & 2.0 fast do not support flex (offline inference).\n" + enum: + - default + - flex + type: string + watermark: + default: false + description: Whether the generated video includes a watermark. + type: boolean + required: + - model + - content + type: object + BytePlusVideoGenerationResponse: + properties: + id: + description: The ID of the video generation task + type: string + required: + - id + type: object + ClaimMyNodeRequest: + properties: + GH_TOKEN: + description: GitHub token to verify if the user owns the repo of the node + type: string + required: + - GH_TOKEN + type: object + ComfyNode: + properties: + category: + description: "UI category where the node is listed, used for grouping nodes." + type: string + comfy_node_name: + description: Unique identifier for the node + type: string + deprecated: + description: Indicates if the node is deprecated. Deprecated nodes are hidden in the UI. + type: boolean + description: + description: "Brief description of the node's functionality or purpose." + type: string + experimental: + description: "Indicates if the node is experimental, subject to changes or removal." + type: boolean + function: + description: Name of the entry-point function to execute the node. + type: string + input_types: + description: Defines input parameters + type: string + output_is_list: + description: Boolean values indicating if each output is a list. + items: + type: boolean + type: array + policy: + $ref: "#/components/schemas/ComfyNodePolicy" + return_names: + description: Names of the outputs for clarity in workflows. + type: string + return_types: + description: Specifies the types of outputs produced by the node. + type: string + type: object + ComfyNodeCloudBuildInfo: + properties: + build_id: + type: string + location: + type: string + project_id: + type: string + project_number: + type: string + type: object + ComfyNodePolicy: + enum: + - ComfyNodePolicyActive + - ComfyNodePolicyBanned + - ComfyNodePolicyLocalOnly + type: string + ComfyNodeUpdateRequest: + properties: + category: + description: "UI category where the node is listed, used for grouping nodes." + type: string + deprecated: + description: Indicates if the node is deprecated. Deprecated nodes are hidden in the UI. + type: boolean + description: + description: "Brief description of the node's functionality or purpose." + type: string + experimental: + description: "Indicates if the node is experimental, subject to changes or removal." + type: boolean + function: + description: Name of the entry-point function to execute the node. + type: string + input_types: + description: Defines input parameters + type: string + output_is_list: + description: Boolean values indicating if each output is a list. + items: + type: boolean + type: array + policy: + $ref: "#/components/schemas/ComfyNodePolicy" + return_names: + description: Names of the outputs for clarity in workflows. + type: string + return_types: + description: Specifies the types of outputs produced by the node. + type: string + type: object + ComputerToolCall: + description: "A tool call to a computer use tool. See the\n[computer use guide](/docs/guides/tools-computer-use) for more information.\n" + properties: + action: + type: object + call_id: + description: "An identifier used when responding to the tool call with output.\n" + type: string + id: + description: The unique ID of the computer call. + type: string + status: + description: "The status of the item. One of `in_progress`, `completed`, or\n`incomplete`. Populated when items are returned via API.\n" + enum: + - in_progress + - completed + - incomplete + type: string + type: + default: computer_call + description: "The type of the computer call. Always `computer_call`." + enum: + - computer_call + type: string + required: + - type + - id + - action + - call_id + - pending_safety_checks + - status + title: Computer tool call + type: object + ComputerUsePreviewTool: + description: "A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use)." + properties: + display_height: + description: The height of the computer display. + type: integer + display_width: + description: The width of the computer display. + type: integer + environment: + description: The type of computer environment to control. + enum: + - windows + - mac + - linux + - ubuntu + - browser + type: string + type: + default: computer_use_preview + description: "The type of the computer use tool. Always `computer_use_preview`." + enum: + - computer_use_preview + type: string + x-stainless-const: true + required: + - type + - environment + - display_width + - display_height + title: Computer use preview + type: object + CouponResponse: + properties: + amount_off: + description: Amount off in cents + type: integer + currency: + description: Currency for amount_off + type: string + duration: + description: How long the coupon lasts + enum: + - once + - repeating + - forever + type: string + duration_in_months: + description: Number of months for repeating coupons + type: integer + id: + description: The Stripe coupon ID + type: string + max_redemptions: + description: Maximum number of times this coupon can be redeemed + type: integer + metadata: + additionalProperties: + type: string + description: Set of key-value pairs for storing additional information + type: object + name: + description: Name of the coupon displayed to customers + type: string + percent_off: + description: Percent off discount (0-100) + format: double + type: number + redeem_by: + description: Unix timestamp specifying the last time at which the coupon can be redeemed + format: int64 + type: integer + times_redeemed: + description: Number of times this coupon has been redeemed + type: integer + valid: + description: Whether the coupon can still be redeemed + type: boolean + required: + - id + - duration + - valid + type: object + CreateAPIKeyRequest: + properties: + description: + type: string + name: + type: string + required: + - name + type: object + CreateCouponRequest: + properties: + amount_off: + description: Amount off in cents + minimum: 0 + type: integer + currency: + description: Currency for amount_off (required if amount_off is set) + enum: + - usd + type: string + duration: + default: once + description: How long the coupon lasts + enum: + - once + - repeating + - forever + type: string + duration_in_months: + description: Required if duration is repeating + minimum: 1 + type: integer + max_redemptions: + description: Maximum number of times this coupon can be redeemed + minimum: 1 + type: integer + metadata: + additionalProperties: + type: string + description: Set of key-value pairs for storing additional information + type: object + name: + description: Name of the coupon displayed to customers + type: string + percent_off: + description: Percent off discount (0-100) + format: double + maximum: 100 + minimum: 0 + type: number + redeem_by: + description: Unix timestamp specifying the last time at which the coupon can be redeemed + format: int64 + type: integer + type: object + CreateCustomerRequest: + description: "Optional request body for customer creation (BE-1490). Carries the Cloudflare Turnstile token produced by the frontend widget, verified server-side at signup. All fields are optional; clients that do not run the Turnstile widget may send an empty body or omit the body entirely." + properties: + turnstile_token: + description: "The Cloudflare Turnstile token (cf-turnstile-response) produced by the frontend widget. Verified server-side against Cloudflare siteverify. Omit or leave empty for clients without Turnstile (e.g. local OSS), which are exempt from the verification requirement." + type: string + type: object + CreateModelResponseProperties: + allOf: + - $ref: "#/components/schemas/ModelResponseProperties" + CreatePromoCodeRequest: + properties: + coupon_id: + description: The Stripe coupon ID to create the promotional code for + type: string + expire_days: + default: 30 + description: Number of days until the promotion code expires + minimum: 1 + type: integer + max_redemptions: + description: Maximum number of times this code can be redeemed + minimum: 1 + type: integer + required: + - coupon_id + type: object + Customer: + properties: + createdAt: + description: The date and time the user was created + format: date-time + type: string + email: + description: The email address for this user + type: string + has_fund: + description: Whether the user has funds + type: boolean + id: + description: The firebase UID of the user + type: string + is_admin: + description: Whether the user is an admin + type: boolean + metronome_id: + description: The Metronome customer ID + type: string + name: + description: The name for this user + type: string + stripe_id: + description: The Stripe customer ID + type: string + subscription_tier: + allOf: + - $ref: "#/components/schemas/SubscriptionTier" + description: The cached subscription tier level + nullable: true + updatedAt: + description: The date and time the user was last updated + format: date-time + type: string + required: + - id + type: object + CustomerAdmin: + properties: + cloud_subscription_end_date: + description: The date when the subscription is set to end (ISO 8601 format) + format: date-time + nullable: true + type: string + cloud_subscription_is_active: + description: Whether the customer has an active cloud subscription + type: boolean + cloud_subscription_renewal_date: + description: The next renewal date for the subscription (ISO 8601 format) + format: date-time + nullable: true + type: string + cloud_subscription_subscription_id: + description: The active subscription ID if one exists + nullable: true + type: string + createdAt: + description: The date and time the user was created + format: date-time + type: string + email: + description: The email address for this user + type: string + has_fund: + description: Whether the user has funds + type: boolean + id: + description: The firebase UID of the user + type: string + is_admin: + description: Whether the user is an admin + type: boolean + metronome_id: + description: The Metronome customer ID + type: string + name: + description: The name for this user + type: string + stripe_id: + description: The Stripe customer ID + type: string + subscription_tier: + allOf: + - $ref: "#/components/schemas/SubscriptionTier" + description: "The subscription tier level (e.g. FREE, STANDARD, CREATOR, PRO)" + nullable: true + updatedAt: + description: The date and time the user was last updated + format: date-time + type: string + required: + - id + type: object + CustomerStorageResourceResponse: + properties: + download_url: + description: The signed URL to use for downloading the file from the specified path + type: string + existing_file: + description: Whether an existing file with the same hash was found + type: boolean + expires_at: + description: When the signed URL will expire + format: date-time + type: string + upload_url: + description: The signed URL to use for uploading the file to the specified path + type: string + type: object + CustomerUsageTimeSeries: + description: "Grouped gross spend per billing period, breakdown, and summary for a customer." + properties: + breakdown: + description: "Per-group totals over the whole range, ordered by spend descending." + items: + $ref: "#/components/schemas/UsageBreakdownRow" + type: array + buckets: + description: "One entry per (billing period, group) with non-zero gross spend." + items: + $ref: "#/components/schemas/UsageBucket" + type: array + ending_before: + description: Exclusive end of the returned range. + format: date-time + type: string + granularity: + description: Bucket size of the time series. + enum: + - hour + - day + - month + type: string + group_by: + description: Dimension the spend is grouped by. + enum: + - model + - endpoint + - product + type: string + groups: + description: "Distinct group keys present in the range, ordered by spend descending." + items: + type: string + type: array + starting_on: + description: Inclusive start of the returned range. + format: date-time + type: string + summary: + $ref: "#/components/schemas/UsageSummary" + required: + - group_by + - granularity + - starting_on + - ending_before + - groups + - buckets + - breakdown + - summary + type: object + EasyInputMessage: + description: "A message input to the model with a role indicating instruction following\nhierarchy. Instructions given with the `developer` or `system` role take\nprecedence over instructions given with the `user` role. Messages with the\n`assistant` role are presumed to have been generated by the model in previous\ninteractions.\n" + properties: + content: + description: "Text, image, or audio input to the model, used to generate a response.\nCan also contain previous assistant responses.\n" + oneOf: + - description: "A text input to the model.\n" + title: Text input + type: string + - $ref: "#/components/schemas/InputMessageContentList" + role: + description: "The role of the message input. One of `user`, `assistant`, `system`, or\n`developer`.\n" + enum: + - user + - assistant + - system + - developer + type: string + type: + description: "The type of the message input. Always `message`.\n" + enum: + - message + type: string + x-stainless-const: true + required: + - role + - content + title: Input message + type: object + ElevenLabsAudioIsolationRequest: + description: Request body for audio isolation (removing background noise) + properties: + audio: + description: The audio file from which vocals/speech will be isolated. + format: binary + type: string + file_format: + default: other + description: "The format of input audio. Options are 'pcm_s16le_16' or 'other'.\nFor pcm_s16le_16, the input audio must be 16-bit PCM at a 16kHz sample rate, single channel (mono).\nLatency will be lower than with passing an encoded waveform.\n" + enum: + - pcm_s16le_16 + - other + nullable: true + type: string + preview_b64: + description: Optional preview image base64 for tracking this generation. + nullable: true + type: string + required: + - audio + type: object + ElevenLabsCreateVoiceRequest: + description: Request body for creating an instant voice clone + properties: + description: + description: A description of the voice. + nullable: true + type: string + files: + description: Audio recordings for voice cloning. + items: + format: binary + type: string + type: array + labels: + description: "JSON string of labels for the voice (language, accent, gender, age)." + nullable: true + type: string + name: + description: The name that identifies this voice. + type: string + remove_background_noise: + default: false + description: "If set, removes background noise from voice samples using audio isolation." + type: boolean + required: + - name + - files + type: object + ElevenLabsDialogueInput: + description: A single dialogue input containing text and voice ID + properties: + text: + description: The text to be converted into speech. + type: string + voice_id: + description: The ID of the voice to be used for the generation. + type: string + required: + - text + - voice_id + type: object + ElevenLabsDialogueSettings: + description: Settings controlling the dialogue generation + nullable: true + properties: + stability: + default: 0.5 + description: "Determines how stable the voice is and the randomness between each generation.\nLower values introduce broader emotional range for the voice.\nHigher values can result in a monotonous voice with limited emotion.\n" + format: double + nullable: true + type: number + type: object + ElevenLabsPronunciationDictionaryLocator: + description: Locator for a pronunciation dictionary + properties: + pronunciation_dictionary_id: + description: The ID of the pronunciation dictionary + type: string + version_id: + description: The version ID of the pronunciation dictionary + type: string + required: + - pronunciation_dictionary_id + - version_id + type: object + ElevenLabsSTTAdditionalFormat: + description: Additional format response for transcript export + properties: + content: + description: The content of the additional format. + type: string + content_type: + description: The content type of the additional format. + type: string + file_extension: + description: The file extension of the additional format. + type: string + is_base64_encoded: + description: Whether the content is base64 encoded. + type: boolean + requested_format: + description: The requested format. + type: string + required: + - requested_format + - file_extension + - content_type + - is_base64_encoded + - content + type: object + ElevenLabsSTTCharacter: + description: Character information with timing + properties: + end: + description: The end time of the character in seconds. + format: double + nullable: true + type: number + start: + description: The start time of the character in seconds. + format: double + nullable: true + type: number + text: + description: The character that was transcribed. + type: string + required: + - text + type: object + ElevenLabsSTTDetectedEntity: + description: Detected entity in transcript + properties: + end_char: + description: End character position in the transcript text. + type: integer + entity_type: + description: "The type of entity detected (e.g., 'credit_card', 'email_address', 'person_name')." + type: string + start_char: + description: Start character position in the transcript text. + type: integer + text: + description: The text that was identified as an entity. + type: string + required: + - text + - entity_type + - start_char + - end_char + type: object + ElevenLabsSTTExportOptions: + description: Export format options for speech-to-text transcripts + properties: + format: + description: The output format for the transcript export. + enum: + - segmented_json + - docx + - pdf + - txt + - html + - srt + type: string + include_speakers: + default: true + description: Whether to include speaker labels in the export. + type: boolean + include_timestamps: + default: true + description: Whether to include timestamps in the export. + type: boolean + max_characters_per_line: + description: Maximum characters per line (for txt and srt formats). + nullable: true + type: integer + max_segment_chars: + description: Maximum number of characters per segment. + nullable: true + type: integer + max_segment_duration_s: + description: Maximum duration of each segment in seconds. + format: double + nullable: true + type: number + segment_on_silence_longer_than_s: + description: Segment the transcript when silence is longer than this value in seconds. + format: double + nullable: true + type: number + required: + - format + type: object + ElevenLabsSTTRequest: + description: Request body for ElevenLabs Speech-to-Text + properties: + additional_formats: + description: A list of additional formats to export the transcript to. + items: + $ref: "#/components/schemas/ElevenLabsSTTExportOptions" + nullable: true + type: array + cloud_storage_url: + description: "The HTTPS URL of the file to transcribe. Exactly one of file or cloud_storage_url parameters must be provided.\nThe file must be accessible via HTTPS and the file size must be less than 2GB.\n" + nullable: true + type: string + diarization_threshold: + description: "Diarization threshold to apply during speaker diarization.\nA higher value means there will be a lower chance of one speaker being diarized as two different speakers.\nCan only be set when diarize=True and num_speakers=None. Defaults to None.\n" + format: double + nullable: true + type: number + diarize: + default: false + description: Whether to annotate which speaker is currently talking in the uploaded file. + type: boolean + entity_detection: + description: "Detect entities in the transcript. Can be 'all' to detect all entities,\na single entity type or category string, or a list of entity types/categories.\nCategories include 'pii', 'phi', 'pci', 'other', 'offensive_language'.\nWhen enabled, detected entities will be returned in the 'entities' field\nwith their text, type, and character positions. Usage of this parameter will incur additional costs.\n" + nullable: true + oneOf: + - type: string + - items: + type: string + type: array + file: + description: "The file to transcribe. All major audio and video formats are supported.\nExactly one of file or cloud_storage_url parameters must be provided.\nThe file size must be less than 3.0GB.\n" + format: binary + type: string + file_format: + default: other + description: "The format of input audio. Options are 'pcm_s16le_16' or 'other'.\nFor pcm_s16le_16, the input audio must be 16-bit PCM at a 16kHz sample rate, single channel (mono).\n" + enum: + - pcm_s16le_16 + - other + type: string + keyterms: + description: "A list of keyterms to bias the transcription towards.\nThe number of keyterms cannot exceed 100 and each keyterm must be less than 50 characters.\n" + items: + type: string + nullable: true + type: array + language_code: + description: "An ISO-639-1 or ISO-639-3 language_code corresponding to the language of the audio file.\nCan sometimes improve transcription performance if known beforehand.\nDefaults to null, in this case the language is predicted automatically.\n" + nullable: true + type: string + model_id: + description: The ID of the model to use for transcription. + enum: + - scribe_v1 + - scribe_v2 + type: string + num_speakers: + description: "The maximum amount of speakers talking in the uploaded file.\nCan help with predicting who speaks when. The maximum amount of speakers that can be predicted is 32.\nDefaults to null, in this case the amount of speakers is set to the maximum value the model supports.\n" + nullable: true + type: integer + seed: + description: "If specified, our system will make a best effort to sample deterministically.\nMust be an integer between 0 and 2147483647.\n" + maximum: 2147483647 + minimum: 0 + nullable: true + type: integer + tag_audio_events: + default: true + description: "Whether to tag audio events like (laughter), (footsteps), etc. in the transcription." + type: boolean + temperature: + description: "Controls the randomness of the transcription output. Accepts values between 0.0 and 2.0.\nHigher values result in more diverse and less deterministic results.\n" + format: double + nullable: true + type: number + timestamps_granularity: + default: word + description: "The granularity of the timestamps in the transcription.\n'word' provides word-level timestamps and 'character' provides character-level timestamps per word.\n" + enum: + - none + - word + - character + type: string + use_multi_channel: + default: false + description: "Whether the audio file contains multiple channels where each channel contains a single speaker.\nWhen enabled, each channel will be transcribed independently and the results will be combined.\nA maximum of 5 channels is supported.\n" + type: boolean + webhook: + default: false + description: "Whether to send the transcription result to configured speech-to-text webhooks.\nIf set the request will return early without the transcription, which will be delivered later via webhook.\n" + type: boolean + webhook_id: + description: "Optional specific webhook ID to send the transcription result to.\nOnly valid when webhook is set to true.\n" + nullable: true + type: string + webhook_metadata: + description: "Optional metadata to be included in the webhook response.\nThis should be a JSON string representing an object with a maximum depth of 2 levels and maximum size of 16KB.\n" + nullable: true + type: string + required: + - model_id + type: object + ElevenLabsSTTResponse: + description: Response from ElevenLabs Speech-to-Text + properties: + additional_formats: + description: Requested additional formats of the transcript. + items: + $ref: "#/components/schemas/ElevenLabsSTTAdditionalFormat" + nullable: true + type: array + channel_index: + description: The channel index this transcript belongs to (for multichannel audio). + nullable: true + type: integer + entities: + description: "List of detected entities with their text, type, and character positions." + items: + $ref: "#/components/schemas/ElevenLabsSTTDetectedEntity" + nullable: true + type: array + language_code: + description: "The detected language code (e.g. 'eng' for English)." + type: string + language_probability: + description: The confidence score of the language detection (0 to 1). + format: double + type: number + message: + description: Message for webhook responses. + nullable: true + type: string + request_id: + description: Request ID for webhook responses. + nullable: true + type: string + text: + description: The raw text of the transcription. + type: string + transcription_id: + description: The transcription ID of the response. + nullable: true + type: string + transcripts: + description: List of transcripts for multichannel audio (when use_multi_channel is true). + items: + $ref: "#/components/schemas/ElevenLabsSTTTranscript" + nullable: true + type: array + words: + description: List of words with their timing information. + items: + $ref: "#/components/schemas/ElevenLabsSTTWord" + type: array + type: object + ElevenLabsSTTTranscript: + description: Individual transcript for multichannel audio + properties: + additional_formats: + description: Requested additional formats. + items: + $ref: "#/components/schemas/ElevenLabsSTTAdditionalFormat" + nullable: true + type: array + channel_index: + description: The channel index this transcript belongs to. + nullable: true + type: integer + entities: + description: List of detected entities. + items: + $ref: "#/components/schemas/ElevenLabsSTTDetectedEntity" + nullable: true + type: array + language_code: + description: The detected language code. + type: string + language_probability: + description: The confidence score of the language detection. + format: double + type: number + text: + description: The raw text of the transcription. + type: string + words: + description: List of words with their timing information. + items: + $ref: "#/components/schemas/ElevenLabsSTTWord" + type: array + type: object + ElevenLabsSTTWord: + description: Word information from speech-to-text transcription + properties: + characters: + description: The characters that make up the word and their timing information. + items: + $ref: "#/components/schemas/ElevenLabsSTTCharacter" + nullable: true + type: array + end: + description: The end time of the word or sound in seconds. + format: double + nullable: true + type: number + logprob: + description: "The log of the probability with which this word was predicted.\nLogprobs are in range [-infinity, 0], higher logprobs indicate higher confidence.\n" + format: double + type: number + speaker_id: + description: Unique identifier for the speaker of this word. + nullable: true + type: string + start: + description: The start time of the word or sound in seconds. + format: double + nullable: true + type: number + text: + description: The word or sound that was transcribed. + type: string + type: + description: "The type of the word or sound.\n'audio_event' is used for non-word sounds like laughter or footsteps.\n" + enum: + - word + - spacing + - audio_event + type: string + required: + - text + - type + - logprob + type: object + ElevenLabsSharedVoice: + properties: + accent: + type: string + age: + type: string + category: + enum: + - generated + - cloned + - premade + - professional + - famous + - high_quality + type: string + cloned_by_count: + type: integer + date_unix: + type: integer + description: + nullable: true + type: string + descriptive: + type: string + featured: + type: boolean + fiat_rate: + description: The rate of the voice in USD per 1000 credits. null if default. + format: double + nullable: true + type: number + free_users_allowed: + type: boolean + gender: + type: string + image_url: + nullable: true + type: string + instagram_username: + nullable: true + type: string + is_added_by_user: + nullable: true + type: boolean + is_bookmarked: + nullable: true + type: boolean + language: + nullable: true + type: string + live_moderation_enabled: + type: boolean + locale: + nullable: true + type: string + name: + type: string + notice_period: + nullable: true + type: integer + play_api_usage_character_count_1y: + type: integer + preview_url: + nullable: true + type: string + public_owner_id: + type: string + rate: + format: double + nullable: true + type: number + tiktok_username: + nullable: true + type: string + twitter_username: + nullable: true + type: string + usage_character_count_1y: + type: integer + usage_character_count_7d: + type: integer + use_case: + type: string + verified_languages: + description: The verified languages of the voice. + items: + $ref: "#/components/schemas/ElevenLabsVerifiedVoiceLanguage" + nullable: true + type: array + voice_id: + type: string + youtube_username: + nullable: true + type: string + required: + - public_owner_id + - voice_id + - date_unix + - name + - accent + - gender + - age + - descriptive + - use_case + - category + - usage_character_count_1y + - usage_character_count_7d + - play_api_usage_character_count_1y + - cloned_by_count + - free_users_allowed + - live_moderation_enabled + - featured + type: object + ElevenLabsSharedVoicesPaginatedResponse: + description: "Paginated response shape returned by the shared-voices proxy to match the\nfrontend's `RichComboWidget` progressive-fetch contract.\n" + properties: + has_more: + description: Whether there are more shared voices in subsequent pages. + type: boolean + items: + description: The list of shared voices on this page. + items: + $ref: "#/components/schemas/ElevenLabsSharedVoice" + type: array + required: + - items + - has_more + type: object + ElevenLabsSoundGenerationRequest: + description: Request body for generating sound effects from text + properties: + duration_seconds: + description: "The duration of the sound which will be generated in seconds.\nMust be at least 0.5 and at most 30. If set to null, the optimal\nduration will be guessed using the prompt. Defaults to null.\n" + format: double + nullable: true + type: number + loop: + default: false + description: "Whether to create a sound effect that loops smoothly.\nOnly available for the 'eleven_text_to_sound_v2' model.\n" + type: boolean + model_id: + default: eleven_text_to_sound_v2 + description: The model ID to use for the sound generation. + type: string + prompt_influence: + description: "A higher prompt influence makes your generation follow the prompt\nmore closely while also making generations less variable.\nMust be a value between 0 and 1. Defaults to 0.3.\n" + format: double + type: number + text: + description: The text that will get converted into a sound effect. + type: string + required: + - text + type: object + ElevenLabsSpeechToSpeechRequest: + description: Request body for ElevenLabs Speech-to-Speech (Voice Changer) + properties: + audio: + description: The audio file which holds the content and emotion that will control the generated speech. + format: binary + type: string + file_format: + default: other + description: "The format of input audio. Options are 'pcm_s16le_16' or 'other'.\nFor pcm_s16le_16, the input audio must be 16-bit PCM at a 16kHz sample rate, single channel (mono).\n" + enum: + - pcm_s16le_16 + - other + nullable: true + type: string + model_id: + default: eleven_english_sts_v2 + description: "Identifier of the model that will be used. Query GET /v1/models to list available models.\nThe model needs to have support for speech to speech (can_do_voice_conversion property).\n" + type: string + remove_background_noise: + default: false + description: "If set, will remove the background noise from your audio input using our audio isolation model.\nOnly applies to Voice Changer.\n" + type: boolean + seed: + description: "If specified, our system will make a best effort to sample deterministically.\nRepeated requests with the same seed and parameters should return the same result.\nMust be integer between 0 and 4294967295.\n" + maximum: 4294967295 + minimum: 0 + nullable: true + type: integer + voice_settings: + description: "Voice settings overriding stored settings for the given voice.\nThey are applied only on the given request. Needs to be sent as a JSON encoded string.\n" + nullable: true + type: string + required: + - audio + type: object + ElevenLabsTTSRequest: + description: Request body for ElevenLabs Text to Speech + properties: + apply_language_text_normalization: + default: false + description: Controls language-specific text normalization. Can heavily increase latency. Currently only supported for Japanese. + type: boolean + apply_text_normalization: + default: auto + description: "Controls text normalization. 'auto' lets the system decide, 'on' always applies normalization,\n'off' skips normalization.\n" + enum: + - auto + - "on" + - "off" + type: string + language_code: + description: "Language code (ISO 639-1) to enforce for the model. If unsupported, an error is returned." + nullable: true + type: string + model_id: + default: eleven_multilingual_v2 + description: Identifier of the model to use. Query /v1/models to list available models. + type: string + next_request_ids: + description: Request IDs of next generations for continuity. Maximum 3. + items: + type: string + maxItems: 3 + nullable: true + type: array + next_text: + description: "Text that comes after this request, used to improve speech continuity." + nullable: true + type: string + previous_request_ids: + description: Request IDs of previous generations for continuity. Maximum 3. + items: + type: string + maxItems: 3 + nullable: true + type: array + previous_text: + description: "Text that came before this request, used to improve speech continuity." + nullable: true + type: string + pronunciation_dictionary_locators: + description: "List of pronunciation dictionary locators (id, version_id). Maximum 3 per request." + items: + $ref: "#/components/schemas/ElevenLabsPronunciationDictionaryLocator" + maxItems: 3 + nullable: true + type: array + seed: + description: Seed for deterministic generation. Must be between 0 and 4294967295. + maximum: 4294967295 + minimum: 0 + nullable: true + type: integer + text: + description: The text that will be converted into speech. + type: string + use_pvc_as_ivc: + default: false + description: "Deprecated. If true, uses IVC version of voice instead of PVC." + type: boolean + voice_settings: + $ref: "#/components/schemas/ElevenLabsVoiceSettings" + required: + - text + type: object + ElevenLabsTextToDialogueRequest: + description: Request body for ElevenLabs Text-to-Dialogue (multi-voice TTS) + properties: + apply_text_normalization: + default: auto + description: "Controls text normalization with three modes:\n'auto' - system automatically decides whether to apply text normalization\n'on' - text normalization will always be applied\n'off' - text normalization will be skipped\n" + enum: + - auto + - "on" + - "off" + type: string + inputs: + description: "A list of dialogue inputs, each containing text and a voice ID which will be converted into speech.\nThe maximum number of unique voice IDs is 10.\n" + items: + $ref: "#/components/schemas/ElevenLabsDialogueInput" + type: array + language_code: + description: "Language code (ISO 639-1) used to enforce a language for the model and text normalization.\nIf the model does not support provided language code, an error will be returned.\n" + nullable: true + type: string + model_id: + default: eleven_v3 + description: "Identifier of the model that will be used. Query GET /v1/models to list available models.\nThe model needs to have support for text to speech (can_do_text_to_speech property).\n" + type: string + pronunciation_dictionary_locators: + description: "A list of pronunciation dictionary locators (id, version_id) to be applied to the text.\nThey will be applied in order. You may have up to 3 locators per request.\n" + items: + $ref: "#/components/schemas/ElevenLabsPronunciationDictionaryLocator" + maxItems: 3 + nullable: true + type: array + seed: + description: "If specified, our system will make a best effort to sample deterministically.\nRepeated requests with the same seed and parameters should return the same result.\nMust be integer between 0 and 4294967295.\n" + maximum: 4294967295 + minimum: 0 + nullable: true + type: integer + settings: + $ref: "#/components/schemas/ElevenLabsDialogueSettings" + required: + - inputs + type: object + ElevenLabsValidationError: + description: Validation error response from ElevenLabs + properties: + detail: + description: Details about the validation error + properties: + message: + description: Error message + type: string + status: + description: Error status + type: string + type: object + type: object + ElevenLabsVerifiedVoiceLanguage: + properties: + accent: + description: "The voice's accent, if applicable." + nullable: true + type: string + language: + description: The language of the voice. + type: string + locale: + description: "The voice's locale, if applicable." + nullable: true + type: string + model_id: + description: "The voice's model ID." + type: string + preview_url: + description: "The voice's preview URL, if applicable." + nullable: true + type: string + required: + - language + - model_id + type: object + ElevenLabsVoice: + description: "A voice from the authenticated account's voice library (e.g. a premade voice)." + properties: + category: + description: "Voice category (e.g. \"premade\", \"cloned\", \"generated\", \"professional\")." + type: string + description: + nullable: true + type: string + labels: + additionalProperties: + type: string + description: "Free-form string labels attached to the voice (e.g. accent, gender, age, use_case)." + nullable: true + type: object + name: + type: string + preview_url: + nullable: true + type: string + verified_languages: + description: The verified languages of the voice. + items: + $ref: "#/components/schemas/ElevenLabsVerifiedVoiceLanguage" + nullable: true + type: array + voice_id: + type: string + required: + - voice_id + - name + - category + type: object + ElevenLabsVoiceSettings: + description: Voice settings configuration + nullable: true + properties: + similarity_boost: + default: 0.75 + description: How closely the AI adheres to the original voice when replicating it. + format: double + maximum: 1 + minimum: 0 + nullable: true + type: number + speed: + default: 1 + description: "Speed adjustment. 1.0 is default, values below slow down, values above speed up." + format: double + maximum: 1.2 + minimum: 0.7 + nullable: true + type: number + stability: + default: 0.5 + description: Stability of the voice. Lower values introduce broader emotional range. + format: double + maximum: 1 + minimum: 0 + nullable: true + type: number + style: + default: 0 + description: Style exaggeration. Amplifies the style of the original speaker. + format: double + maximum: 1 + minimum: 0 + nullable: true + type: number + use_speaker_boost: + default: true + description: Boosts similarity to the original speaker. Requires higher computational load. + nullable: true + type: boolean + type: object + ElevenLabsVoicesPaginatedResponse: + description: "Paginated response shape returned by the premade-voices proxy.\nMirrors ElevenLabs `/v2/voices`, renaming `voices` to `items` to\nmatch the frontend's `RichComboWidget` progressive-fetch contract.\n" + properties: + has_more: + description: Whether there are more voices in subsequent pages. + type: boolean + items: + description: The list of premade voices on this page. + items: + $ref: "#/components/schemas/ElevenLabsVoice" + type: array + next_page_token: + description: Cursor to pass to the next request to fetch the next page. + nullable: true + type: string + required: + - items + - has_more + type: object + Error: + properties: + details: + description: Optional detailed information about the error or hints for resolving it. + items: + type: string + type: array + message: + description: A clear and concise description of the error. + type: string + type: object + ErrorResponse: + properties: + error: + type: string + message: + type: string + required: + - error + - message + type: object + FalPatinaMaterialExtractRequest: + description: "Request body for the fal PATINA extract model (fal-ai/patina/material/extract): extract a texture from an input image and generate a complete tiling PBR material." + properties: + enable_prompt_expansion: + default: true + description: Expand the prompt with an LLM for richer detail. + type: boolean + enable_safety_checker: + default: true + description: Enable the safety checker for generated images. + type: boolean + image_size: + description: "Output texture dimensions. Either a preset string (square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9) or an object with integer width and height. Defaults to square_hd." + image_url: + description: URL of the image to extract a texture from. + type: string + maps: + default: + - basecolor + - normal + - roughness + - metalness + - height + description: Which PBR maps to predict. Defaults to all five. + items: + type: string + type: array + num_images: + default: 1 + description: Number of texture images to generate. + type: integer + num_inference_steps: + default: 8 + description: Number of denoising steps for texture generation. + type: integer + output_format: + default: png + description: "Output image format for textures and PBR maps: jpeg, png, or webp." + type: string + prompt: + description: Describe which texture to extract from the image. + type: string + seed: + description: Random seed for reproducible generation. + type: integer + strength: + default: 0.6 + description: How much to transform the input image. + type: number + tile_size: + default: 128 + description: "Tile size in latent space (64 = 512px, 128 = 1024px)." + type: integer + tile_stride: + default: 64 + description: Tile stride in latent space. + type: integer + tiling_mode: + default: both + description: "Tiling direction: both, horizontal, or vertical." + type: string + upscale_factor: + default: "0" + description: "Upscale factor for predicted PBR maps. One of 0 (no upscaling), 2 (2x), or 4 (4x), as a string or number." + required: + - prompt + - image_url + type: object + FalPatinaMaterialImage: + description: A generated texture or PBR map image. + properties: + map_type: + description: "The PBR map type (basecolor, normal, roughness, metalness, height). Absent for the base texture image." + type: string + url: + description: URL of the generated image. + type: string + type: object + FalPatinaMaterialRequest: + description: Request body for the fal PATINA material generation model. + properties: + enable_prompt_expansion: + default: true + description: Expand the prompt with an LLM for richer detail. + type: boolean + enable_safety_checker: + default: true + description: Enable the safety checker for generated images. + type: boolean + image_size: + description: "Output texture dimensions. Either a preset string (square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9) or an object with integer width and height. Defaults to square_hd (1024x1024). Drives the per-megapixel price." + image_url: + description: URL of an input image for image-to-image or inpainting. + type: string + maps: + default: + - basecolor + - normal + - roughness + - metalness + - height + description: Which PBR maps to predict. Each predicted map adds a per-megapixel charge. Defaults to all five. + items: + type: string + type: array + mask_url: + description: URL of a mask image for inpainting. Requires image_url. + type: string + num_images: + default: 1 + description: Number of texture images to generate. + type: integer + num_inference_steps: + default: 8 + description: Number of denoising steps for texture generation. + type: integer + output_format: + default: png + description: "Output image format for textures and PBR maps: jpeg, png, or webp." + type: string + prompt: + description: The text prompt describing the material/texture to generate. + type: string + seed: + description: Random seed for reproducible generation. + type: integer + strength: + default: 0.6 + description: How much to transform the input image. Only used when image_url is provided. + type: number + tile_size: + default: 128 + description: "Tile size in latent space (64 = 512px, 128 = 1024px)." + type: integer + tile_stride: + default: 64 + description: Tile stride in latent space. + type: integer + tiling_mode: + default: both + description: "Tiling direction: both, horizontal, or vertical." + type: string + upscale_factor: + default: "0" + description: "Upscale factor for predicted PBR maps. One of 0 (no upscaling), 2 (2x), or 4 (4x), as a string or number. Upscaling adds a per-(pre-upscaling)-megapixel-per-map surcharge." + required: + - prompt + type: object + FalPatinaMaterialResponse: + description: Response from the fal PATINA material generation model. + properties: + images: + description: Generated tileable texture image plus the predicted PBR material maps. The base texture has only a url; each map entry also carries a map_type. + items: + $ref: "#/components/schemas/FalPatinaMaterialImage" + type: array + prompt: + description: The prompt used for texture generation (possibly expanded). + type: string + seed: + description: Seed used for texture generation. + type: integer + timings: + additionalProperties: true + description: End-to-end timing breakdown (seconds). + type: object + type: object + FalPatinaRequest: + description: "Request body for the fal PATINA image-to-image model (fal-ai/patina): predict PBR maps from a single input image." + properties: + enable_safety_checker: + default: true + description: Enable the safety checker for images. + type: boolean + image_url: + description: URL of the input image (photograph or render). + type: string + maps: + default: + - basecolor + - normal + - roughness + - metalness + - height + description: Which PBR maps to predict. Defaults to all five. + items: + type: string + type: array + output_format: + default: png + description: "Output image format: jpeg, png, or webp." + type: string + seed: + description: Random seed for reproducible denoising. + type: integer + sync_mode: + default: false + description: "If true, return images as data URIs instead of CDN URLs." + type: boolean + required: + - image_url + type: object + FalQueueStatus: + description: "fal queue status object, returned both when submitting a request and when polling its status." + properties: + queue_position: + description: Position in the queue (when IN_QUEUE). + type: integer + request_id: + description: The fal queue request id. + type: string + status: + description: "Queue status: IN_QUEUE, IN_PROGRESS, or COMPLETED." + type: string + required: + - status + - request_id + type: object + FeaturesResponse: + properties: + partner_node_conversion_rate: + description: The conversion rate for partner nodes + example: 0.5 + type: number + required: + - partner_node_conversion_rate + type: object + FileSearchTool: + properties: + type: + description: The type of tool + enum: + - file_search + type: string + vector_store_ids: + description: IDs of vector stores to search in + items: + type: string + type: array + required: + - type + - vector_store_ids + type: object + FileSearchToolCall: + description: "The results of a file search tool call. See the\n[file search guide](/docs/guides/tools-file-search) for more information.\n" + properties: + id: + description: "The unique ID of the file search tool call.\n" + type: string + queries: + description: "The queries used to search for files.\n" + items: + type: string + type: array + results: + description: "The results of the file search tool call.\n" + items: + properties: + file_id: + description: "The unique ID of the file.\n" + type: string + filename: + description: "The name of the file.\n" + type: string + score: + description: "The relevance score of the file - a value between 0 and 1.\n" + format: float + type: number + text: + description: "The text that was retrieved from the file.\n" + type: string + type: object + type: array + status: + description: "The status of the file search tool call. One of `in_progress`,\n`searching`, `incomplete` or `failed`,\n" + enum: + - in_progress + - searching + - completed + - incomplete + - failed + type: string + type: + description: "The type of the file search tool call. Always `file_search_call`.\n" + enum: + - file_search_call + type: string + x-stainless-const: true + required: + - id + - type + - status + - queries + title: File search tool call + type: object + FreeTierGrantState: + description: "State of a withheld first-time free tier credit grant. \"verification_required\" means the grant was denied pending account verification (e.g. unverified email or a blocked email domain). \"deferred\" means the grant was temporarily deferred and may succeed on a later request. Absent when no grant was withheld.\n" + enum: + - verification_required + - deferred + type: string + FreepikErrorResponse: + properties: + error: + type: string + message: + type: string + type: object + FreepikMagnificRelightRequest: + properties: + advanced_settings: + properties: + blacks: + default: 50 + description: Adjust the level of black color in the image. + maximum: 100 + minimum: 0 + type: integer + brightness: + default: 50 + description: Adjust the level of brightness in the image. + maximum: 100 + minimum: 0 + type: integer + contrast: + default: 50 + description: Adjust the level of contrast in the image. + maximum: 100 + minimum: 0 + type: integer + engine: + default: automatic + description: "Engine preset for relighting:\n- balanced: Well-rounded, general-purpose option\n- cool: Brighter with cooler tones\n- real: Aims to enhance photographic quality (Experimental)\n- illusio: Optimized for illustrations and drawings\n- fairy: Suited for fantasy-themed images\n- colorful_anime: Ideal for anime, cartoons, and vibrant colors\n- hard_transform: Significantly alters the original image\n- softy: Slightly softer effect, suitable for graphic designs\n" + enum: + - automatic + - balanced + - cool + - real + - illusio + - fairy + - colorful_anime + - hard_transform + - softy + type: string + fixed_generation: + default: false + description: "When enabled, using the same settings will consistently produce the same image." + type: boolean + saturation: + default: 50 + description: Adjust the level of saturation in the image. + maximum: 100 + minimum: 0 + type: integer + transfer_light_a: + default: automatic + description: Adjusts the intensity of light transfer. + enum: + - automatic + - low + - medium + - normal + - high + - high_on_faces + type: string + transfer_light_b: + default: automatic + description: Also modifies light transfer intensity. Can be combined with transfer_light_a for varied effects. + enum: + - automatic + - composition + - straight + - smooth_in + - smooth_out + - smooth_both + - reverse_both + - soft_in + - soft_out + - soft_mid + - strong_mid + - style_shift + - strong_shift + type: string + whites: + default: 50 + description: Adjust the level of white color in the image. + maximum: 100 + minimum: 0 + type: integer + type: object + change_background: + default: true + description: "When enabled, changes the background based on prompt and/or reference image. Useful for product placement and portraits." + type: boolean + image: + description: Base64 or URL of the image to do the relight + type: string + interpolate_from_original: + default: false + description: "When enabled, makes the final image interpolate from the original using the light transfer strength slider." + type: boolean + light_transfer_strength: + default: 100 + description: "Level of light transfer intensity. 0% keeps closest to original, 100% is maximum transfer." + maximum: 100 + minimum: 0 + type: integer + preserve_details: + default: true + description: "Maintains texture and small details of the original image. Good for product photography, texts, etc." + type: boolean + prompt: + description: "You can guide the generation process and influence the light transfer with a descriptive prompt.\nIMPORTANT: You can emphasize specific aspects of the light in your prompt by using a number in parentheses, ranging from 1 to 1.4, like \"(dark scene:1.3)\".\n" + type: string + style: + default: standard + description: Style preset for the relight operation. + enum: + - standard + - darker_but_realistic + - clean + - smooth + - brighter + - contrasted_n_hdr + - just_composition + type: string + transfer_light_from_lightmap: + description: "Base64 or URL of the lightmap for light transfer. Incompatible with 'transfer_light_from_reference_image'" + type: string + transfer_light_from_reference_image: + description: "Base64 or URL of the reference image for light transfer. Incompatible with 'transfer_light_from_lightmap'" + type: string + webhook_url: + description: Optional callback URL that will receive asynchronous notifications whenever the task changes status. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikMagnificStyleTransferRequest: + properties: + engine: + default: balanced + description: Engine preset for style transfer + enum: + - balanced + - definio + - illusio + - 3d_cartoon + - colorful_anime + - caricature + - real + - super_real + - softy + type: string + fixed_generation: + default: false + description: "When enabled, using the same settings will consistently produce the same image." + type: boolean + flavor: + default: faithful + description: Flavor of the transferring style + enum: + - faithful + - gen_z + - psychedelia + - detaily + - clear + - donotstyle + - donotstyle_sharp + type: string + image: + description: Base64 or URL of the image to do the style transfer + type: string + is_portrait: + default: false + description: Indicates whether the image should be processed as a portrait. + type: boolean + portrait_beautifier: + description: Facial beautification on portrait images. Only used if is_portrait is true. + enum: + - beautify_face + - beautify_face_max + type: string + portrait_style: + default: standard + description: Visual style applied to portrait images. Only used if is_portrait is true. + enum: + - standard + - pop + - super_pop + type: string + prompt: + description: Prompt for the AI model + type: string + reference_image: + description: Base64 or URL of the reference image for style transfer + type: string + structure_strength: + default: 50 + description: Allows to maintain the structure of the original image + maximum: 100 + minimum: 0 + type: integer + style_strength: + default: 100 + description: Percentage of style strength + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: Optional callback URL for async notifications. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + - reference_image + type: object + FreepikMagnificUpscalerCreativeRequest: + properties: + creativity: + default: 0 + description: "Increase or decrease AI's creativity. Valid values range [-10, 10]." + maximum: 10 + minimum: -10 + type: integer + engine: + default: automatic + description: Magnific model engines. + enum: + - automatic + - magnific_illusio + - magnific_sharpy + - magnific_sparkle + type: string + fractality: + default: 0 + description: "Control the strength of the prompt and intricacy per square pixel. Valid values range [-10, 10]." + maximum: 10 + minimum: -10 + type: integer + hdr: + default: 0 + description: "Increase or decrease the level of definition and detail. Valid values range [-10, 10]." + maximum: 10 + minimum: -10 + type: integer + image: + description: "Base64 image or URL to upscale. The resulted image can't exceed maximum allowed size of 25.3 million pixels." + type: string + optimized_for: + default: standard + description: Styles to optimize the upscale process. + enum: + - standard + - soft_portraits + - hard_portraits + - art_n_illustration + - videogame_assets + - nature_n_landscapes + - films_n_photography + - 3d_renders + - science_fiction_n_horror + type: string + prompt: + description: Prompt to guide the upscale process. Reusing the same prompt for AI-generated images will improve the results. + type: string + resemblance: + default: 0 + description: "Adjust the level of resemblance to the original image. Valid values range [-10, 10]." + maximum: 10 + minimum: -10 + type: integer + scale_factor: + default: 2x + description: "Configure scale factor of the image. For higher scales, the image will take longer to process." + enum: + - 2x + - 4x + - 8x + - 16x + type: string + webhook_url: + description: Optional callback URL that will receive asynchronous notifications whenever the task changes status. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikMagnificUpscalerPrecisionV2Request: + properties: + flavor: + description: "Image processing flavor:\n- sublime: Optimized for artistic and illustrated images\n- photo: Optimized for photographic images\n- photo_denoiser: Specialized for photos with noise reduction\n" + enum: + - sublime + - photo + - photo_denoiser + type: string + image: + description: "Source image to upscale. Accepts either:\n- A publicly accessible HTTPS URL pointing to the image\n- A base64-encoded image string\n" + type: string + scale_factor: + description: Image scaling factor. Determines how much larger the output will be compared to input. + maximum: 16 + minimum: 2 + type: integer + sharpen: + default: 7 + description: Image sharpness intensity control. Higher values increase edge definition and clarity. + maximum: 100 + minimum: 0 + type: integer + smart_grain: + default: 7 + description: Intelligent grain/texture enhancement. Higher values add more fine-grained texture. + maximum: 100 + minimum: 0 + type: integer + ultra_detail: + default: 30 + description: Ultra detail enhancement level. Higher values create more intricate details. + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: Optional callback URL that will receive asynchronous notifications when the upscaling task completes. + format: uri + type: string + required: + - image + type: object + FreepikSkinEnhancerCreativeRequest: + properties: + image: + description: Input image. Supports Base64 encoding or HTTPS URL (must be publicly accessible). + example: https://example.com/portrait.jpg + type: string + sharpen: + default: 0 + description: Sharpening intensity + maximum: 100 + minimum: 0 + type: integer + smart_grain: + default: 2 + description: Smart grain intensity + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: Optional callback URL for async notifications. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikSkinEnhancerFaithfulRequest: + properties: + image: + description: Input image. Supports Base64 encoding or HTTPS URL (must be publicly accessible). + example: https://example.com/portrait.jpg + type: string + sharpen: + default: 0 + description: Sharpening intensity + maximum: 100 + minimum: 0 + type: integer + skin_detail: + default: 80 + description: Skin detail enhancement level + maximum: 100 + minimum: 0 + type: integer + smart_grain: + default: 2 + description: Smart grain intensity + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: Optional callback URL for async notifications. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikSkinEnhancerFlexibleRequest: + properties: + image: + description: Input image. Supports Base64 encoding or HTTPS URL (must be publicly accessible). + example: https://example.com/portrait.jpg + type: string + optimized_for: + default: enhance_skin + description: Optimization target for flexible skin enhancer + enum: + - enhance_skin + - improve_lighting + - enhance_everything + - transform_to_real + - no_make_up + type: string + sharpen: + default: 0 + description: Sharpening intensity + maximum: 100 + minimum: 0 + type: integer + smart_grain: + default: 2 + description: Smart grain intensity + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: Optional callback URL for async notifications. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikTaskData: + properties: + generated: + description: URLs to the generated images. + items: + format: uri + type: string + type: array + status: + enum: + - CREATED + - IN_PROGRESS + - COMPLETED + - FAILED + type: string + task_id: + example: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + format: uuid + type: string + type: object + FreepikTaskResponse: + properties: + data: + $ref: "#/components/schemas/FreepikTaskData" + required: + - data + type: object + FunctionTool: + properties: + description: + description: Description of what the function does + type: string + name: + description: Name of the function + type: string + parameters: + description: JSON Schema object describing the function parameters + type: object + type: + description: The type of tool + enum: + - function + type: string + required: + - type + - name + - parameters + type: object + FunctionToolCall: + description: "A tool call to run a function. See the\n[function calling guide](/docs/guides/function-calling) for more information.\n" + properties: + arguments: + description: "A JSON string of the arguments to pass to the function.\n" + type: string + call_id: + description: "The unique ID of the function tool call generated by the model.\n" + type: string + id: + description: "The unique ID of the function tool call.\n" + type: string + name: + description: "The name of the function to run.\n" + type: string + status: + description: "The status of the item. One of `in_progress`, `completed`, or\n`incomplete`. Populated when items are returned via API.\n" + enum: + - in_progress + - completed + - incomplete + type: string + type: + description: "The type of the function tool call. Always `function_call`.\n" + enum: + - function_call + type: string + x-stainless-const: true + required: + - type + - call_id + - name + - arguments + title: Function tool call + type: object + GeminiCandidate: + properties: + citationMetadata: + $ref: "#/components/schemas/GeminiCitationMetadata" + content: + $ref: "#/components/schemas/GeminiContent" + finishReason: + type: string + safetyRatings: + items: + $ref: "#/components/schemas/GeminiSafetyRating" + type: array + type: object + GeminiCitation: + properties: + authors: + items: + type: string + type: array + endIndex: + type: integer + license: + type: string + publicationDate: + format: date + type: string + startIndex: + type: integer + title: + type: string + uri: + type: string + type: object + GeminiCitationMetadata: + properties: + citations: + items: + $ref: "#/components/schemas/GeminiCitation" + type: array + type: object + GeminiContent: + description: "The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history and the latest request.\n" + properties: + parts: + items: + $ref: "#/components/schemas/GeminiPart" + type: array + role: + enum: + - user + - model + example: user + type: string + required: + - role + - parts + type: object + GeminiFileData: + description: URI based data. + properties: + fileUri: + description: URI + type: string + mimeType: + $ref: "#/components/schemas/GeminiMimeType" + type: object + GeminiFunctionDeclaration: + properties: + description: + type: string + name: + type: string + parameters: + description: JSON schema for the function parameters + type: object + required: + - name + - parameters + type: object + GeminiGenerateContentRequest: + properties: + contents: + items: + $ref: "#/components/schemas/GeminiContent" + type: array + generationConfig: + $ref: "#/components/schemas/GeminiGenerationConfig" + safetySettings: + items: + $ref: "#/components/schemas/GeminiSafetySetting" + type: array + systemInstruction: + $ref: "#/components/schemas/GeminiSystemInstructionContent" + tools: + items: + $ref: "#/components/schemas/GeminiTool" + type: array + uploadImagesToStorage: + description: "If true, generated images will be uploaded to cloud storage and returned as signed URLs instead of inline base64 data. The URLs expire after 24 hours." + type: boolean + videoMetadata: + $ref: "#/components/schemas/GeminiVideoMetadata" + required: + - contents + type: object + GeminiGenerateContentResponse: + properties: + candidates: + items: + $ref: "#/components/schemas/GeminiCandidate" + type: array + createTime: + description: Timestamp when the response was created. + type: string + modelVersion: + description: The model version used to generate the response. + type: string + promptFeedback: + $ref: "#/components/schemas/GeminiPromptFeedback" + responseId: + description: Unique identifier for the response. + type: string + usageMetadata: + $ref: "#/components/schemas/GeminiUsageMetadata" + type: object + GeminiGenerationConfig: + properties: + imageConfig: + description: Configuration for image generation + properties: + aspectRatio: + description: Aspect ratio for generated images + type: string + imageOutputOptions: + description: Optional. The image output format for generated images. + properties: + compressionQuality: + description: Optional. The compression quality of the output image. + type: integer + mimeType: + description: Optional. The image format that the output should be saved as. + type: string + type: object + imageSize: + description: "Optional. Specifies the size of generated images. Supported values are 1K, 2K, 4K. If not specified, the model will use default value 1K." + type: string + type: object + maxOutputTokens: + description: "Maximum number of tokens that can be generated in the response. A token is approximately 4 characters. 100 tokens correspond to roughly 60-80 words.\n" + example: 2048 + maximum: 8192 + minimum: 16 + type: integer + responseModalities: + items: + enum: + - TEXT + - IMAGE + type: string + type: array + seed: + description: "When seed is fixed to a specific value, the model makes a best effort to provide the same response for repeated requests. Deterministic output isn't guaranteed. Also, changing the model or parameter settings, such as the temperature, can cause variations in the response even when you use the same seed value. By default, a random seed value is used. Available for the following models:, gemini-2.5-flash, gemini-2.5-pro, gemini-2.5-flash-preview-04-1, gemini-2.5-pro-preview-05-0, gemini-2.0-flash-lite-00, gemini-2.0-flash-001\n" + example: 343940597 + type: integer + stopSequences: + items: + type: string + type: array + temperature: + default: 1 + description: "The temperature is used for sampling during response generation, which occurs when topP and topK are applied. Temperature controls the degree of randomness in token selection. Lower temperatures are good for prompts that require a less open-ended or creative response, while higher temperatures can lead to more diverse or creative results. A temperature of 0 means that the highest probability tokens are always selected. In this case, responses for a given prompt are mostly deterministic, but a small amount of variation is still possible. If the model returns a response that's too generic, too short, or the model gives a fallback response, try increasing the temperature\n" + format: float + maximum: 2 + minimum: 0 + type: number + thinkingConfig: + description: Optional. Configuration for thinking features. Thinking is a process where the model breaks down a complex task into smaller steps to generate a higher-quality response. + properties: + includeThoughts: + description: "Optional. If true, the model will include its thoughts in the response." + type: boolean + thinkingBudget: + description: "Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget." + type: integer + thinkingLevel: + description: Optional. The thinking level for the model. + enum: + - THINKING_LEVEL_UNSPECIFIED + - LOW + - MEDIUM + - HIGH + - MINIMAL + type: string + type: object + topK: + default: 40 + description: "Top-K changes how the model selects tokens for output. A top-K of 1 means the next selected token is the most probable among all tokens in the model's vocabulary. A top-K of 3 means that the next token is selected from among the 3 most probable tokens by using temperature.\n" + example: 40 + minimum: 1 + type: integer + topP: + default: 0.95 + description: "If specified, nucleus sampling is used.\nTop-P changes how the model selects tokens for output. Tokens are selected from the most (see top-K) to least probable until the sum of their probabilities equals the top-P value. For example, if tokens A, B, and C have a probability of 0.3, 0.2, and 0.1 and the top-P value is 0.5, then the model will select either A or B as the next token by using temperature and excludes C as a candidate.\nSpecify a lower value for less random responses and a higher value for more random responses.\n" + format: float + maximum: 1 + minimum: 0 + type: number + type: object + GeminiInlineData: + description: "Inline data in raw bytes. For gemini-2.0-flash-lite and gemini-2.0-flash, you can specify up to 3000 images by using inlineData.\n" + properties: + data: + description: "The base64 encoding of the image, PDF, or video to include inline in the prompt. When including media inline, you must also specify the media type (mimeType) of the data. Size limit: 20MB\n" + format: byte + type: string + mimeType: + $ref: "#/components/schemas/GeminiMimeType" + type: object + GeminiMimeType: + description: "The media type of the file specified in the data or fileUri fields. Acceptable values include the following. For gemini-2.0-flash-lite and gemini-2.0-flash, the maximum length of an audio file is 8.4 hours and the maximum length of a video file (without audio) is one hour. For more information, see Gemini audio and video requirements. Text files must be UTF-8 encoded. The contents of the text file count toward the token limit. There is no limit on image resolution." + enum: + - application/pdf + - audio/mpeg + - audio/mp3 + - audio/wav + - image/png + - image/jpeg + - image/webp + - text/plain + - video/mov + - video/mpeg + - video/mp4 + - video/mpg + - video/avi + - video/wmv + - video/mpegps + - video/flv + type: string + GeminiOffset: + description: "Represents a duration offset for video timeline positions.\n" + properties: + nanos: + description: "Signed fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values.\n" + example: 0 + maximum: 999999999 + minimum: 0 + type: integer + seconds: + description: "Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.\n" + example: 60 + maximum: 315576000000 + minimum: -315576000000 + type: integer + type: object + GeminiPart: + properties: + fileData: + $ref: "#/components/schemas/GeminiFileData" + inlineData: + $ref: "#/components/schemas/GeminiInlineData" + text: + description: A text prompt or code snippet. + example: Write a story about a robot learning to paint + type: string + thought: + description: Indicates this part is a thinking/reasoning step from the model. + type: boolean + type: object + GeminiPromptFeedback: + properties: + blockReason: + type: string + blockReasonMessage: + type: string + safetyRatings: + items: + $ref: "#/components/schemas/GeminiSafetyRating" + type: array + type: object + GeminiSafetyCategory: + enum: + - HARM_CATEGORY_SEXUALLY_EXPLICIT + - HARM_CATEGORY_HATE_SPEECH + - HARM_CATEGORY_HARASSMENT + - HARM_CATEGORY_DANGEROUS_CONTENT + type: string + GeminiSafetyRating: + properties: + category: + $ref: "#/components/schemas/GeminiSafetyCategory" + probability: + description: The probability that the content violates the specified safety category + enum: + - NEGLIGIBLE + - LOW + - MEDIUM + - HIGH + - UNKNOWN + type: string + type: object + GeminiSafetySetting: + description: "Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.\n" + properties: + category: + $ref: "#/components/schemas/GeminiSafetyCategory" + threshold: + $ref: "#/components/schemas/GeminiSafetyThreshold" + required: + - category + - threshold + type: object + GeminiSafetyThreshold: + enum: + - "OFF" + - BLOCK_NONE + - BLOCK_LOW_AND_ABOVE + - BLOCK_MEDIUM_AND_ABOVE + - BLOCK_ONLY_HIGH + type: string + GeminiSystemInstructionContent: + description: "Available for gemini-2.0-flash and gemini-2.0-flash-lite. Instructions for the model to steer it toward better performance. For example, \"Answer as concisely as possible\" or \"Don't use technical terms in your response\". The text strings count toward the token limit. The role field of systemInstruction is ignored and doesn't affect the performance of the model. Note: Only text should be used in parts and content in each part should be in a separate paragraph.\n" + properties: + parts: + description: "A list of ordered parts that make up a single message. Different parts may have different IANA MIME types. For limits on the inputs, such as the maximum number of tokens or the number of images, see the model specifications on the Google models page.\n" + items: + $ref: "#/components/schemas/GeminiTextPart" + type: array + role: + description: "The identity of the entity that creates the message. The following values are supported: user: This indicates that the message is sent by a real person, typically a user-generated message. model: This indicates that the message is generated by the model. The model value is used to insert messages from the model into the conversation during multi-turn conversations. For non-multi-turn conversations, this field can be left blank or unset.\n" + enum: + - user + - model + example: user + type: string + required: + - role + - parts + type: object + GeminiTextPart: + properties: + text: + description: A text prompt or code snippet. + example: Answer as concisely as possible + type: string + type: object + GeminiTool: + description: "A piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. See Function calling.\n" + properties: + functionDeclarations: + items: + $ref: "#/components/schemas/GeminiFunctionDeclaration" + type: array + type: object + GeminiUsageMetadata: + properties: + cachedContentTokenCount: + description: Output only. Number of tokens in the cached part in the input (the cached content). + type: integer + candidatesTokenCount: + description: Number of tokens in the response(s). + type: integer + candidatesTokensDetails: + description: Breakdown of candidate tokens by modality. + items: + $ref: "#/components/schemas/ModalityTokenCount" + type: array + promptTokenCount: + description: "Number of tokens in the request. When cachedContent is set, this is still the total effective prompt size meaning this includes the number of tokens in the cached content." + type: integer + promptTokensDetails: + description: Breakdown of prompt tokens by modality. + items: + $ref: "#/components/schemas/ModalityTokenCount" + type: array + thoughtsTokenCount: + description: Number of tokens present in thoughts output. + type: integer + toolUsePromptTokenCount: + description: Number of tokens present in tool-use prompt(s). + type: integer + totalTokenCount: + description: Total number of tokens (prompt + candidates). + type: integer + trafficType: + description: "Traffic type used for the request (e.g., PROVISIONED_THROUGHPUT)." + type: string + type: object + GeminiVideoMetadata: + description: "For video input, the start and end offset of the video in Duration format. For example, to specify a 10 second clip starting at 1:00, set \"startOffset\": { \"seconds\": 60 } and \"endOffset\": { \"seconds\": 70 }. The metadata should only be specified while the video data is presented in inlineData or fileData.\n" + properties: + endOffset: + $ref: "#/components/schemas/GeminiOffset" + startOffset: + $ref: "#/components/schemas/GeminiOffset" + type: object + GitCommitSummary: + properties: + author: + description: The author of the commit + type: string + branch_name: + description: The branch where the commit was made + type: string + commit_hash: + description: The hash of the commit + type: string + commit_name: + description: The name of the commit + type: string + status_summary: + additionalProperties: + type: string + description: A map of operating system to status pairs + type: object + timestamp: + description: The timestamp when the commit was made + format: date-time + type: string + type: object + GithubEnterprise: + description: A GitHub enterprise + properties: + avatar_url: + description: URL to the enterprise avatar + type: string + created_at: + description: When the enterprise was created + format: date-time + type: string + description: + description: The enterprise description + nullable: true + type: string + html_url: + description: The HTML URL of the enterprise + type: string + id: + description: The enterprise ID + type: integer + name: + description: The enterprise name + type: string + node_id: + description: The enterprise node ID + type: string + slug: + description: The enterprise slug + type: string + updated_at: + description: When the enterprise was last updated + format: date-time + type: string + website_url: + description: The enterprise website URL + nullable: true + type: string + required: + - id + - slug + - name + - node_id + - avatar_url + - html_url + - created_at + - updated_at + type: object + GithubInstallation: + description: A GitHub App installation + properties: + access_tokens_url: + description: The API URL for access tokens + type: string + account: + $ref: "#/components/schemas/GithubUser" + app_id: + description: The GitHub App ID + type: integer + created_at: + description: When the installation was created + format: date-time + type: string + events: + description: The events the installation subscribes to + items: + type: string + type: array + html_url: + description: The HTML URL of the installation + type: string + id: + description: The installation ID + type: integer + permissions: + description: The installation permissions + type: object + repositories_url: + description: The API URL for repositories + type: string + repository_selection: + description: Repository selection for the installation + enum: + - selected + - all + type: string + single_file_name: + description: The single file name if applicable + nullable: true + type: string + target_id: + description: The target ID + type: integer + target_type: + description: The target type + type: string + updated_at: + description: When the installation was last updated + format: date-time + type: string + required: + - id + - account + - repository_selection + - access_tokens_url + - repositories_url + - html_url + - app_id + - target_id + - target_type + - permissions + - events + - created_at + - updated_at + type: object + GithubOrganization: + description: A GitHub organization + properties: + avatar_url: + description: "URL to the organization's avatar" + type: string + description: + description: The organization description + nullable: true + type: string + events_url: + description: "The API URL of the organization's events" + type: string + hooks_url: + description: "The API URL of the organization's hooks" + type: string + id: + description: The organization ID + type: integer + issues_url: + description: "The API URL of the organization's issues" + type: string + login: + description: "The organization's login name" + type: string + members_url: + description: "The API URL of the organization's members" + type: string + node_id: + description: The organization node ID + type: string + public_members_url: + description: "The API URL of the organization's public members" + type: string + repos_url: + description: "The API URL of the organization's repositories" + type: string + url: + description: The API URL of the organization + type: string + required: + - login + - id + - node_id + - url + - repos_url + - events_url + - hooks_url + - issues_url + - members_url + - public_members_url + - avatar_url + type: object + GithubReleaseAsset: + description: A GitHub release asset + properties: + browser_download_url: + description: The browser download URL + type: string + content_type: + description: The content type of the asset + type: string + created_at: + description: When the asset was created + format: date-time + type: string + download_count: + description: The number of downloads + type: integer + id: + description: The asset ID + type: integer + label: + description: The label of the asset + nullable: true + type: string + name: + description: The name of the asset + type: string + node_id: + description: The asset node ID + type: string + size: + description: The size of the asset in bytes + type: integer + state: + description: The state of the asset + enum: + - uploaded + - open + type: string + updated_at: + description: When the asset was last updated + format: date-time + type: string + uploader: + $ref: "#/components/schemas/GithubUser" + required: + - id + - node_id + - name + - content_type + - state + - size + - download_count + - created_at + - updated_at + - browser_download_url + - uploader + type: object + GithubReleaseWebhook: + description: GitHub release webhook payload based on official webhook documentation + properties: + action: + description: The action performed on the release + enum: + - published + - unpublished + - created + - edited + - deleted + - prereleased + - released + type: string + enterprise: + $ref: "#/components/schemas/GithubEnterprise" + installation: + $ref: "#/components/schemas/GithubInstallation" + organization: + $ref: "#/components/schemas/GithubOrganization" + release: + description: The release object + properties: + assets: + description: Array of release assets + items: + $ref: "#/components/schemas/GithubReleaseAsset" + type: array + assets_url: + description: The URL to the release assets + type: string + author: + $ref: "#/components/schemas/GithubUser" + body: + description: The release notes/body + nullable: true + type: string + created_at: + description: When the release was created + format: date-time + type: string + draft: + description: Whether the release is a draft + type: boolean + html_url: + description: The HTML URL of the release + type: string + id: + description: The ID of the release + type: integer + name: + description: The name of the release + nullable: true + type: string + node_id: + description: The node ID of the release + type: string + prerelease: + description: Whether the release is a prerelease + type: boolean + published_at: + description: When the release was published + format: date-time + nullable: true + type: string + tag_name: + description: The tag name of the release + type: string + tarball_url: + description: URL to the tarball + type: string + target_commitish: + description: The branch or commit the release was created from + type: string + upload_url: + description: The URL to upload release assets + type: string + url: + description: The API URL of the release + type: string + zipball_url: + description: URL to the zipball + type: string + required: + - id + - node_id + - url + - html_url + - tag_name + - target_commitish + - draft + - prerelease + - created_at + - author + - tarball_url + - zipball_url + - assets + type: object + repository: + $ref: "#/components/schemas/GithubRepository" + sender: + $ref: "#/components/schemas/GithubUser" + required: + - action + - release + - repository + - sender + type: object + GithubRepository: + description: A GitHub repository + properties: + clone_url: + description: The clone URL of the repository + type: string + created_at: + description: When the repository was created + format: date-time + type: string + default_branch: + description: The default branch of the repository + type: string + description: + description: The repository description + nullable: true + type: string + fork: + description: Whether the repository is a fork + type: boolean + full_name: + description: The full name of the repository (owner/repo) + type: string + git_url: + description: The git URL of the repository + type: string + html_url: + description: The HTML URL of the repository + type: string + id: + description: The repository ID + type: integer + name: + description: The name of the repository + type: string + node_id: + description: The repository node ID + type: string + owner: + $ref: "#/components/schemas/GithubUser" + private: + description: Whether the repository is private + type: boolean + pushed_at: + description: When the repository was last pushed to + format: date-time + type: string + ssh_url: + description: The SSH URL of the repository + type: string + updated_at: + description: When the repository was last updated + format: date-time + type: string + url: + description: The API URL of the repository + type: string + required: + - id + - node_id + - name + - full_name + - private + - owner + - html_url + - fork + - url + - clone_url + - git_url + - ssh_url + - default_branch + - created_at + - updated_at + - pushed_at + type: object + GithubUser: + description: A GitHub user + properties: + avatar_url: + description: "URL to the user's avatar" + type: string + gravatar_id: + description: "The user's gravatar ID" + nullable: true + type: string + html_url: + description: The HTML URL of the user + type: string + id: + description: "The user's ID" + type: integer + login: + description: "The user's login name" + type: string + node_id: + description: "The user's node ID" + type: string + site_admin: + description: Whether the user is a site admin + type: boolean + type: + description: The type of user + enum: + - Bot + - User + - Organization + type: string + url: + description: The API URL of the user + type: string + required: + - login + - id + - node_id + - avatar_url + - url + - html_url + - type + - site_admin + type: object + HitPawErrorResponse: + description: Error response from HitPaw API + properties: + error_code: + description: Error code + type: integer + message: + description: Error message + type: string + type: object + HitPawJobResponse: + description: Response from HitPaw Enhancement APIs (photo and video) + properties: + code: + description: "Status code, 200 indicates success" + example: 200 + type: integer + data: + properties: + consume_coins: + description: Number of coins consumed for this task + example: 75 + type: integer + job_id: + description: Unique identifier for the enhancement job + example: f5007c0b-e902-4070-8c75-f337d896168f + type: string + type: object + message: + description: Response message + example: OK + type: string + type: object + HitPawPhotoEnhancerRequest: + description: Request body for HitPaw Photo Enhancement API + properties: + DPI: + description: Target DPI for the output image + example: 300 + format: int64 + type: integer + exif: + description: Whether to preserve EXIF data (default false) + example: true + type: boolean + extension: + description: "File extension of the image (e.g., \".jpg\", \".png\")" + example: .jpg + type: string + img_url: + description: URL of the image to be enhanced. Must be publicly accessible. + example: https://example.com/image.jpg + format: uri + type: string + model_name: + description: "The model name to use for enhancement.\n\n**Available Models:**\n- face_2x, face_4x: Face Clear Model (2x/4x upscaling)\n- face_v2_2x, face_v2_4x: Face Natural Model (2x/4x upscaling)\n- general_2x, general_4x: General Enhance Model (2x/4x upscaling)\n- high_fidelity_2x, high_fidelity_4x: High Fidelity Model (2x/4x upscaling)\n- sharpen_denoise: Sharp Denoise Model\n- detail_denoise: Detail Denoise Model\n- generative_portrait: Generative Portrait Model\n- generative: Generative Enhance Model\n" + enum: + - face_2x + - face_4x + - face_v2_2x + - face_v2_4x + - general_2x + - general_4x + - high_fidelity_2x + - high_fidelity_4x + - sharpen_denoise + - detail_denoise + - generative_portrait + - generative + example: generative_portrait + type: string + required: + - model_name + - img_url + - extension + type: object + HitPawTaskStatusRequest: + description: Request body for HitPaw Task Status Query API + properties: + job_id: + description: Task ID obtained from Enhancement API response + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + type: string + required: + - job_id + type: object + HitPawTaskStatusResponse: + description: Response from HitPaw Task Status Query API + properties: + code: + description: "Status code, 200 indicates success" + example: 200 + type: integer + data: + properties: + job_id: + description: Task ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + type: string + original_url: + description: Original Image URL (photo enhancement only) + example: https://example.com/original.jpg + format: uri + type: string + res_url: + description: "Result URL, only valid when status is COMPLETED" + example: https://example.com/result.jpg + format: uri + type: string + status: + description: "Task status:\n- WAITING: The job is queued and waiting to be processed\n- CONVERTING: Processing task in progress\n- COMPLETED: Task completed successfully\n- ERROR: Task failed\n" + enum: + - WAITING + - CONVERTING + - COMPLETED + - ERROR + type: string + type: object + message: + description: Response message + example: OK + type: string + type: object + HitPawVideoEnhancerRequest: + description: Request body for HitPaw Video Enhancement API + properties: + extension: + default: .mp4 + description: "File extension for the output video (default \".mp4\")" + example: .mp4 + type: string + model_name: + description: "Model name to use for enhancement.\n\n**Available Models:**\n- face_soft: Face Soft Model\n- portrait_restore_1x: Portrait Restore Model 1x\n- portrait_restore_2x: Portrait Restore Model 2x\n- general_restore_1x: General Restore Model 1x\n- general_restore_2x: General Restore Model 2x\n- general_restore_4x: General Restore Model 4x\n- ultrahd_restore: Ultra HD Model\n- generative: Generative Model (SD)\n" + enum: + - face_soft + - portrait_restore_1x + - portrait_restore_2x + - general_restore_1x + - general_restore_2x + - general_restore_4x + - ultrahd_restore + - generative + example: general_restore_2x + type: string + original_resolution: + description: "Original video resolution [width, height]" + example: + - 1280 + - 720 + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + resolution: + description: "Target resolution [width, height]" + example: + - 1920 + - 1080 + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + video_url: + description: URL of the video to be enhanced + example: https://example.com/video.mp4 + format: uri + type: string + required: + - video_url + - model_name + - resolution + type: object + IdeogramColorPalette: + description: A color palette specification that can either use a preset name or explicit color definitions with weights + oneOf: + - properties: + name: + description: Name of the preset color palette + type: string + required: + - name + - properties: + members: + description: Array of color definitions with optional weights + items: + properties: + color: + description: Hexadecimal color code + pattern: "^#[0-9A-Fa-f]{6}$" + type: string + weight: + description: Optional weight for the color (0-1) + maximum: 1 + minimum: 0 + type: number + type: object + type: array + required: + - members + type: object + IdeogramGenerateRequest: + description: "Parameters for the Ideogram generation proxy request. Based on Ideogram's API." + properties: + image_request: + description: The image generation request parameters. + properties: + aspect_ratio: + description: "Optional. The aspect ratio (e.g., 'ASPECT_16_9', 'ASPECT_1_1'). Cannot be used with resolution. Defaults to 'ASPECT_1_1' if unspecified." + type: string + color_palette: + additionalProperties: true + description: "Optional. Color palette object. Only for V_2, V_2_TURBO." + type: object + magic_prompt_option: + description: "Optional. MagicPrompt usage ('AUTO', 'ON', 'OFF')." + type: string + model: + description: "The model used (e.g., 'V_2', 'V_2A_TURBO')" + type: string + negative_prompt: + description: "Optional. Description of what to exclude. Only for V_1, V_1_TURBO, V_2, V_2_TURBO." + type: string + num_images: + default: 1 + description: Optional. Number of images to generate (1-8). Defaults to 1. + maximum: 8 + minimum: 1 + type: integer + prompt: + description: Required. The prompt to use to generate the image. + type: string + resolution: + description: "Optional. Resolution (e.g., 'RESOLUTION_1024_1024'). Only for model V_2. Cannot be used with aspect_ratio." + type: string + seed: + description: Optional. A number between 0 and 2147483647. + format: int64 + maximum: 2147483647 + minimum: 0 + type: integer + style_type: + description: "Optional. Style type ('AUTO', 'GENERAL', 'REALISTIC', 'DESIGN', 'RENDER_3D', 'ANIME'). Only for models V_2 and above." + type: string + required: + - prompt + - model + type: object + required: + - image_request + type: object + IdeogramGenerateResponse: + description: Response from the Ideogram image generation API. + properties: + created: + description: Timestamp when the generation was created. + format: date-time + type: string + data: + description: Array of generated image information. + items: + properties: + is_image_safe: + description: Indicates whether the image is considered safe. + type: boolean + prompt: + description: The prompt used to generate this image. + type: string + resolution: + description: "The resolution of the generated image (e.g., '1024x1024')." + type: string + seed: + description: The seed value used for this generation. + type: integer + style_type: + description: "The style type used for generation (e.g., 'REALISTIC', 'ANIME')." + type: string + url: + description: URL to the generated image. + type: string + type: object + type: array + type: object + IdeogramStyleType: + default: GENERAL + enum: + - AUTO + - GENERAL + - REALISTIC + - DESIGN + - FICTION + type: string + IdeogramV3EditRequest: + properties: + character_reference_images: + description: "Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + character_reference_images_mask: + description: "Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + color_palette: + $ref: "#/components/schemas/IdeogramColorPalette" + image: + description: "The image being edited (max size 10MB); only JPEG, WebP and PNG formats are supported at this time." + format: binary + type: string + magic_prompt: + description: Determine if MagicPrompt should be used in generating the request or not. + type: string + mask: + description: "A black and white image of the same size as the image being edited (max size 10MB). Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time." + format: binary + type: string + num_images: + description: The number of images to generate. + type: integer + prompt: + description: The prompt used to describe the edited result. + type: string + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + seed: + description: Random seed. Set for reproducible generation. + type: integer + style_codes: + description: A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type. + items: + pattern: "^[0-9A-Fa-f]{8}$" + type: string + type: array + style_reference_images: + description: "A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + style_type: + $ref: "#/components/schemas/IdeogramStyleType" + required: + - prompt + - rendering_speed + type: object + IdeogramV3IdeogramResponse: + properties: + created: + format: date-time + type: string + data: + items: + properties: + is_image_safe: + type: boolean + prompt: + type: string + resolution: + type: string + seed: + type: integer + style_type: + type: string + url: + type: string + type: object + type: array + type: object + IdeogramV3ReframeRequest: + properties: + color_palette: + type: object + image: + format: binary + type: string + num_images: + maximum: 8 + minimum: 1 + type: integer + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + resolution: + type: string + seed: + maximum: 2147483647 + minimum: 0 + type: integer + style_codes: + items: + type: string + type: array + style_reference_images: + items: + format: binary + type: string + type: array + required: + - resolution + type: object + IdeogramV3RemixRequest: + properties: + aspect_ratio: + type: string + character_reference_images: + description: "Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + character_reference_images_mask: + description: "Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + color_palette: + type: object + image: + format: binary + type: string + image_weight: + default: 50 + maximum: 100 + minimum: 1 + type: integer + magic_prompt: + enum: + - AUTO + - "ON" + - "OFF" + type: string + negative_prompt: + type: string + num_images: + maximum: 8 + minimum: 1 + type: integer + prompt: + type: string + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + resolution: + type: string + seed: + maximum: 2147483647 + minimum: 0 + type: integer + style_codes: + items: + type: string + type: array + style_reference_images: + items: + format: binary + type: string + type: array + style_type: + $ref: "#/components/schemas/IdeogramStyleType" + required: + - prompt + type: object + IdeogramV3ReplaceBackgroundRequest: + properties: + color_palette: + type: object + image: + format: binary + type: string + magic_prompt: + enum: + - AUTO + - "ON" + - "OFF" + type: string + num_images: + maximum: 8 + minimum: 1 + type: integer + prompt: + type: string + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + seed: + maximum: 2147483647 + minimum: 0 + type: integer + style_codes: + items: + type: string + type: array + style_reference_images: + items: + format: binary + type: string + type: array + required: + - prompt + type: object + IdeogramV3Request: + properties: + aspect_ratio: + description: Aspect ratio in format WxH + example: 1x3 + type: string + character_reference_images: + description: "Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + character_reference_images_mask: + description: "Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + color_palette: + properties: + name: + description: Name of the color palette + example: PASTEL + type: string + required: + - name + type: object + magic_prompt: + description: Whether to enable magic prompt enhancement + enum: + - "ON" + - "OFF" + type: string + negative_prompt: + description: Text prompt specifying what to avoid in the generation + type: string + num_images: + description: Number of images to generate + minimum: 1 + type: integer + prompt: + description: The text prompt for image generation + type: string + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + resolution: + description: Image resolution in format WxH + example: 1280x800 + type: string + seed: + description: Seed value for reproducible generation + type: integer + style_codes: + description: Array of style codes in hexadecimal format + items: + pattern: "^[0-9A-Fa-f]{8}$" + type: string + type: array + style_reference_images: + description: Array of reference image URLs or identifiers + items: + format: binary + type: string + type: array + style_type: + $ref: "#/components/schemas/IdeogramStyleType" + required: + - prompt + - rendering_speed + type: object + IdeogramV4Request: + description: Parameters for the Ideogram 4.0 (V4) text-to-image generation proxy request. Supply exactly one of text_prompt or json_prompt. + properties: + enable_copyright_detection: + description: Opt into post-generation copyright detection (Hive likeness and logo checks). + type: boolean + json_prompt: + additionalProperties: true + description: Structured V4 prompt. Disables Magic Prompt; consumed directly. Supply exactly one of text_prompt or json_prompt. + type: object + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + resolution: + description: "Output resolution in WIDTHxHEIGHT. Omit to let the model pick an aspect ratio. Supported 2K values: 2048x2048, 1440x2880, 2880x1440, 1664x2496, 2496x1664, 1792x2240, 2240x1792, 1440x2560, 2560x1440, 1600x2560, 2560x1600, 1728x2304, 2304x1728, 1296x3168, 3168x1296, 1152x2944, 2944x1152, 1248x3328, 3328x1248, 1280x3072, 3072x1280." + example: 2048x2048 + type: string + text_prompt: + description: Natural-language prompt. Enables Magic Prompt automatically. Supply exactly one of text_prompt or json_prompt. + type: string + type: object + ImageGenerationServerTool_OpenRouter: + description: "OpenRouter built-in server tool: generates images from text prompts using an image generation model" + properties: + parameters: + $ref: "#/components/schemas/OpenRouterImageGenerationServerToolConfig" + type: + $ref: "#/components/schemas/OpenRouterImageGenerationServerToolOpenRouterType" + required: + - type + title: ImageGenerationServerTool_OpenRouter + type: object + ImagenGenerateImageRequest: + properties: + instances: + items: + $ref: "#/components/schemas/ImagenImageGenerationInstance" + type: array + parameters: + $ref: "#/components/schemas/ImagenImageGenerationParameters" + required: + - instances + - parameters + type: object + ImagenGenerateImageResponse: + properties: + predictions: + items: + $ref: "#/components/schemas/ImagenImagePrediction" + type: array + type: object + ImagenImageGenerationInstance: + properties: + prompt: + description: Text prompt for image generation + type: string + required: + - prompt + type: object + ImagenImageGenerationParameters: + properties: + addWatermark: + type: boolean + aspectRatio: + enum: + - 1:1 + - 9:16 + - 16:9 + - 3:4 + - 4:3 + type: string + enhancePrompt: + type: boolean + includeRaiReason: + type: boolean + includeSafetyAttributes: + type: boolean + outputOptions: + $ref: "#/components/schemas/ImagenOutputOptions" + personGeneration: + enum: + - dont_allow + - allow_adult + - allow_all + type: string + safetySetting: + enum: + - block_most + - block_some + - block_few + - block_fewest + type: string + sampleCount: + maximum: 4 + minimum: 1 + type: integer + seed: + format: uint32 + type: integer + storageUri: + format: uri + type: string + type: object + ImagenImagePrediction: + properties: + bytesBase64Encoded: + description: Base64-encoded image content + format: byte + type: string + mimeType: + description: MIME type of the generated image + type: string + prompt: + description: Enhanced or rewritten prompt used to generate this image + type: string + type: object + ImagenOutputOptions: + properties: + compressionQuality: + maximum: 100 + minimum: 0 + type: integer + mimeType: + enum: + - image/png + - image/jpeg + type: string + type: object + Includable: + description: "Specify additional output data to include in the model response. Currently\nsupported values are:\n- `file_search_call.results`: Include the search results of\n the file search tool call.\n- `message.input_image.image_url`: Include image urls from the input message.\n- `computer_call_output.output.image_url`: Include image urls from the computer call output.\n" + enum: + - file_search_call.results + - message.input_image.image_url + - computer_call_output.output.image_url + type: string + InputContent: + oneOf: + - $ref: "#/components/schemas/InputTextContent" + - $ref: "#/components/schemas/InputImageContent" + - $ref: "#/components/schemas/InputFileContent" + InputFileContent: + description: A file input to the model. + properties: + file_data: + description: "The content of the file to be sent to the model.\n" + type: string + file_id: + description: The ID of the file to be sent to the model. + type: string + filename: + description: The name of the file to be sent to the model. + type: string + type: + default: input_file + description: "The type of the input item. Always `input_file`." + enum: + - input_file + type: string + x-stainless-const: true + required: + - type + title: Input file + type: object + InputImageContent: + description: "An image input to the model. Learn about [image inputs](/docs/guides/vision)." + properties: + detail: + description: "The detail level of the image to be sent to the model. One of `high`, `low`, or `auto`. Defaults to `auto`." + enum: + - low + - high + - auto + type: string + file_id: + description: The ID of the file to be sent to the model. + type: string + image_url: + description: The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. + type: string + type: + default: input_image + description: "The type of the input item. Always `input_image`." + enum: + - input_image + type: string + x-stainless-const: true + required: + - type + - detail + title: Input image + type: object + InputItem: + oneOf: + - $ref: "#/components/schemas/EasyInputMessage" + - $ref: "#/components/schemas/Item" + InputMessage: + properties: + content: + $ref: "#/components/schemas/InputMessageContentList" + role: + enum: + - user + - system + - developer + type: string + status: + enum: + - in_progress + - completed + - incomplete + type: string + type: + enum: + - message + type: string + type: object + InputMessageContentList: + description: "A list of one or many input items to the model, containing different content\ntypes.\n" + items: + $ref: "#/components/schemas/InputContent" + title: Input item content list + type: array + InputTextContent: + description: A text input to the model. + properties: + text: + description: The text input to the model. + type: string + type: + default: input_text + description: "The type of the input item. Always `input_text`." + enum: + - input_text + type: string + x-stainless-const: true + required: + - type + - text + title: Input text + type: object + Item: + description: "Content item used to generate a response.\n" + oneOf: + - $ref: "#/components/schemas/InputMessage" + - $ref: "#/components/schemas/OutputMessage" + - $ref: "#/components/schemas/FileSearchToolCall" + - $ref: "#/components/schemas/ComputerToolCall" + - $ref: "#/components/schemas/WebSearchToolCall" + - $ref: "#/components/schemas/FunctionToolCall" + - $ref: "#/components/schemas/ReasoningItem" + type: object + KlingAudioUploadType: + description: Method of Transmitting Audio Files for Lip-Sync. Required when mode is audio2video. + enum: + - file + - url + type: string + KlingAvatarMode: + default: std + description: "Video generation mode. std: Standard Mode (cost-effective), pro: Professional Mode (longer duration, higher quality)." + enum: + - std + - pro + type: string + KlingAvatarRequest: + properties: + audio_id: + description: Audio ID Generated via TTS API. Only supports 2-300 second audio generated within the last 30 days. Either audio_id or sound_file must be provided (mutually exclusive). + type: string + callback_url: + description: The callback notification address for the result of this task. + format: uri + type: string + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + image: + description: "Avatar Reference Image. Supports Base64 encoding or image URL. Supported formats: .jpg/.jpeg/.png. Max 10MB, min 300px width/height, aspect ratio between 1:2.5 and 2.5:1." + type: string + mode: + $ref: "#/components/schemas/KlingAvatarMode" + prompt: + description: "Positive text prompt. Can define avatar actions, emotions, and camera movements." + maxLength: 2500 + type: string + sound_file: + description: "Sound File. Supports Base64-encoded audio or accessible audio URL. Accepted formats: .mp3/.wav/.m4a/.aac (max 5MB), 2-300 seconds. Either audio_id or sound_file must be provided (mutually exclusive)." + type: string + watermark_info: + properties: + enabled: + description: Whether to generate watermarked results simultaneously. + type: boolean + type: object + required: + - image + type: object + KlingAvatarResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: Task creation time + type: integer + final_unit_deduction: + description: The deduction units of task + type: string + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: Task status information + type: string + updated_at: + description: Task update time + type: integer + watermark_info: + properties: + enabled: + type: boolean + type: object + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingCameraConfig: + properties: + horizontal: + description: "Controls camera's movement along horizontal axis (x-axis). Negative indicates left, positive indicates right." + maximum: 10 + minimum: -10 + type: number + pan: + description: "Controls camera's rotation in vertical plane (x-axis). Negative indicates downward rotation, positive indicates upward rotation." + maximum: 10 + minimum: -10 + type: number + roll: + description: "Controls camera's rolling amount (z-axis). Negative indicates counterclockwise, positive indicates clockwise." + maximum: 10 + minimum: -10 + type: number + tilt: + description: "Controls camera's rotation in horizontal plane (y-axis). Negative indicates left rotation, positive indicates right rotation." + maximum: 10 + minimum: -10 + type: number + vertical: + description: "Controls camera's movement along vertical axis (y-axis). Negative indicates downward, positive indicates upward." + maximum: 10 + minimum: -10 + type: number + zoom: + description: "Controls change in camera's focal length. Negative indicates narrower field of view, positive indicates wider field of view." + maximum: 10 + minimum: -10 + type: number + type: object + KlingCameraControl: + properties: + config: + $ref: "#/components/schemas/KlingCameraConfig" + type: + $ref: "#/components/schemas/KlingCameraControlType" + type: object + KlingCameraControlType: + description: "Predefined camera movements type. simple: Customizable camera movement. down_back: Camera descends and moves backward. forward_up: Camera moves forward and tilts up. right_turn_forward: Rotate right and move forward. left_turn_forward: Rotate left and move forward." + enum: + - simple + - down_back + - forward_up + - right_turn_forward + - left_turn_forward + type: string + KlingCharacterEffectModelName: + default: kling-v1 + description: "Model Name. Can be kling-v1, kling-v1-5, or kling-v1-6." + enum: + - kling-v1 + - kling-v1-5 + - kling-v1-6 + type: string + KlingDualCharacterEffectInput: + properties: + duration: + $ref: "#/components/schemas/KlingVideoGenDuration" + images: + $ref: "#/components/schemas/KlingDualCharacterImages" + mode: + $ref: "#/components/schemas/KlingVideoGenMode" + model_name: + $ref: "#/components/schemas/KlingCharacterEffectModelName" + required: + - images + - duration + type: object + KlingDualCharacterEffectsScene: + description: "Scene Name. Dual-character Effects (hug, kiss, heart_gesture)." + enum: + - hug + - kiss + - heart_gesture + type: string + KlingDualCharacterImages: + items: + description: "Reference Image Group. Must contain exactly 2 images. First image will be positioned on left side, second on right side of the composite. Each image follows the same requirements as single image effects." + type: string + maxItems: 2 + minItems: 2 + type: array + KlingErrorResponse: + properties: + code: + description: "- 1000: Authentication failed\n- 1001: Authorization is empty\n- 1002: Authorization is invalid\n- 1003: Authorization is not yet valid\n- 1004: Authorization has expired\n- 1100: Account exception\n- 1101: Account in arrears (postpaid scenario)\n- 1102: Resource pack depleted or expired (prepaid scenario)\n- 1103: Unauthorized access to requested resource\n- 1200: Invalid request parameters\n- 1201: Invalid parameters\n- 1202: Invalid request method\n- 1203: Requested resource does not exist\n- 1300: Trigger platform strategy\n- 1301: Trigger content security policy\n- 1302: API request too frequent\n- 1303: Concurrency/QPS exceeds limit\n- 1304: Trigger IP whitelist policy\n- 5000: Internal server error\n- 5001: Service temporarily unavailable\n- 5002: Server internal timeout\n" + type: integer + message: + description: Human-readable error message + type: string + request_id: + description: Request ID for tracking and troubleshooting + type: string + required: + - code + - message + - request_id + type: object + KlingImage2VideoRequest: + properties: + callback_url: + description: The callback notification address. Server will notify when the task status changes. + format: uri + type: string + camera_control: + $ref: "#/components/schemas/KlingCameraControl" + cfg_scale: + $ref: "#/components/schemas/KlingVideoGenCfgScale" + duration: + $ref: "#/components/schemas/KlingVideoGenDuration" + dynamic_masks: + description: "Dynamic Brush Configuration List (up to 6 groups). For 5-second videos, trajectory length must not exceed 77 coordinates." + items: + properties: + mask: + description: Dynamic Brush Application Area (Mask image created by users using the motion brush). The aspect ratio must match the input image. + format: uri + type: string + trajectories: + items: + properties: + x: + description: "The horizontal coordinate of trajectory point. Based on bottom-left corner of image as origin (0,0)." + type: integer + "y": + description: "The vertical coordinate of trajectory point. Based on bottom-left corner of image as origin (0,0)." + type: integer + type: object + type: array + type: object + type: array + element_list: + description: Reference Element List based on element ID configuration. Supports up to 3 reference elements. The element_list and voice_list parameters are mutually exclusive. + items: + properties: + element_id: + description: Element ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + image: + description: "Reference Image - URL or Base64 encoded string, cannot exceed 10MB, resolution not less than 300*300px, aspect ratio between 1:2.5 ~ 2.5:1. Base64 should not include data:image prefix." + type: string + image_tail: + description: "Reference Image - End frame control. URL or Base64 encoded string, cannot exceed 10MB, resolution not less than 300*300px. Base64 should not include data:image prefix. Cannot be used simultaneously with dynamic_masks/static_mask or camera_control." + type: string + mode: + $ref: "#/components/schemas/KlingVideoGenMode" + model_name: + $ref: "#/components/schemas/KlingVideoGenModelName" + multi_prompt: + description: "Information about each storyboard, such as prompts and duration. Supports up to 6 storyboards, with a minimum of 1. Required when multi_shot is true and shot_type is customize." + items: + properties: + duration: + description: Duration of this storyboard in seconds. Must not exceed total task duration and must not be less than 1. Sum of all storyboard durations equals total task duration. + type: string + index: + description: Shot sequence number + type: integer + prompt: + description: Prompt word for this storyboard. Maximum length 512 characters. + maxLength: 512 + type: string + type: object + type: array + multi_shot: + default: false + description: "Whether to generate multi-shot video. When true, the prompt parameter is invalid. When false, the shot_type and multi_prompt parameters are invalid." + type: boolean + negative_prompt: + description: Negative text prompt. It is recommended to supplement negative prompt information through negative sentences directly within positive prompts. + maxLength: 2500 + type: string + prompt: + description: "Positive text prompt. Use <<>> to specify a voice matching the voice_list parameter order. A task can reference up to 2 tones. When specifying a tone, the sound parameter value must be on." + maxLength: 2500 + type: string + shot_type: + description: Storyboard method. Required when the multi_shot parameter is set to true. + enum: + - customize + - intelligence + type: string + sound: + default: "off" + description: Whether to generate sound simultaneously when generating videos. Only V2.6 and subsequent versions of the model support this parameter. + enum: + - "on" + - "off" + type: string + static_mask: + description: Static Brush Application Area (Mask image created by users using the motion brush). The aspect ratio must match the input image. + type: string + voice_list: + description: List of voices referenced when generating videos. Supports up to 2 voices. The element_list and voice_list parameters are mutually exclusive. + items: + properties: + voice_id: + description: Voice ID returned through the voice customization API or a system preset voice ID. + type: string + type: object + type: array + watermark_info: + description: Whether to generate watermarked results simultaneously. Custom watermark is not supported at this time. + properties: + enabled: + description: "true means generate watermark, false means do not generate." + type: boolean + type: object + type: object + KlingImageGenAspectRatio: + default: 16:9 + description: Aspect ratio of the generated images + enum: + - 16:9 + - 9:16 + - 1:1 + - 4:3 + - 3:4 + - 3:2 + - 2:3 + - 21:9 + type: string + KlingImageGenImageReferenceType: + description: Image reference type + enum: + - subject + - face + type: string + KlingImageGenModelName: + default: kling-v1 + description: Model Name + enum: + - kling-v1 + - kling-v1-5 + - kling-v2 + - kling-v3 + type: string + KlingImageGenerationsRequest: + properties: + aspect_ratio: + $ref: "#/components/schemas/KlingImageGenAspectRatio" + callback_url: + description: The callback notification address + format: uri + type: string + element_list: + description: Reference Element List based on element ID configuration. The sum of reference elements and reference images shall not exceed 10. + items: + properties: + element_id: + description: Element ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + human_fidelity: + default: 0.45 + description: Subject reference similarity + maximum: 1 + minimum: 0 + type: number + image: + description: "Reference Image - Base64 encoded string or image URL. Supported formats include .jpg/.jpeg/.png. File size cannot exceed 10MB. Width and height dimensions shall not be less than 300px, aspect ratio between 1:2.5 ~ 2.5:1. Required when image_reference is not empty." + type: string + image_fidelity: + default: 0.5 + description: Reference intensity for user-uploaded images + maximum: 1 + minimum: 0 + type: number + image_reference: + $ref: "#/components/schemas/KlingImageGenImageReferenceType" + model_name: + $ref: "#/components/schemas/KlingImageGenModelName" + "n": + default: 1 + description: "Number of generated images. Value range [1,9]." + maximum: 9 + minimum: 1 + type: integer + negative_prompt: + description: Negative text prompt. Cannot exceed 2500 characters. It is recommended to supplement negative prompt information through negative sentences directly within positive prompts. Not supported in Image-to-Image scenario (when image field is not empty). + maxLength: 2500 + type: string + prompt: + description: "Positive text prompt. Must not exceed 2,500 characters." + maxLength: 2500 + type: string + resolution: + default: 1k + description: "Image generation resolution. 1k is 1K standard, 2k is 2K high-res." + enum: + - 1k + - 2k + type: string + required: + - prompt + type: object + KlingImageGenerationsResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: "Task creation time, Unix timestamp in milliseconds" + type: integer + final_unit_deduction: + description: The deduction units of task + type: string + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + description: Customer-defined task ID + type: string + type: object + task_result: + properties: + images: + items: + $ref: "#/components/schemas/KlingImageResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: "Task status information, displaying the failure reason when the task fails" + type: string + updated_at: + description: "Task update time, Unix timestamp in milliseconds" + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingImageResult: + properties: + index: + description: Image Number (0-9) + type: integer + url: + description: URL for generated image + format: uri + type: string + type: object + KlingLipSyncInputObject: + properties: + audio_file: + description: "Local Path of Audio File. Supported formats: .mp3/.wav/.m4a/.aac, maximum file size of 5MB. Base64 code." + type: string + audio_type: + $ref: "#/components/schemas/KlingAudioUploadType" + audio_url: + description: "Audio File Download URL. Supported formats: .mp3/.wav/.m4a/.aac, maximum file size of 5MB." + type: string + mode: + $ref: "#/components/schemas/KlingLipSyncMode" + text: + description: Text Content for Lip-Sync Video Generation. Required when mode is text2video. Maximum length is 120 characters. + type: string + video_id: + description: The ID of the video generated by Kling AI. Only supports 5-second and 10-second videos generated within the last 30 days. + type: string + video_url: + description: "Get link for uploaded video. Video files support .mp4/.mov, file size does not exceed 100MB, video length between 2-10s." + type: string + voice_id: + description: Voice ID. Required when mode is text2video. The system offers a variety of voice options to choose from. + type: string + voice_language: + $ref: "#/components/schemas/KlingLipSyncVoiceLanguage" + voice_speed: + default: 1 + description: "Speech Rate. Valid range: 0.8~2.0, accurate to one decimal place." + maximum: 2 + minimum: 0.8 + type: number + required: + - mode + type: object + KlingLipSyncMode: + description: "Video Generation Mode. text2video: Text-to-video generation mode; audio2video: Audio-to-video generation mode" + enum: + - text2video + - audio2video + type: string + KlingLipSyncRequest: + properties: + callback_url: + description: The callback notification address. Server will notify when the task status changes. + format: uri + type: string + input: + $ref: "#/components/schemas/KlingLipSyncInputObject" + required: + - input + type: object + KlingLipSyncResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: Task creation time + type: integer + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + updated_at: + description: Task update time + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingLipSyncVoiceLanguage: + default: en + description: The voice language corresponds to the Voice ID. + enum: + - zh + - en + type: string + KlingMotionControlRequest: + properties: + callback_url: + description: "The callback notification address for the result of this task. If configured, the server will actively notify when the task status changes." + format: uri + type: string + character_orientation: + description: Generate the orientation of the characters in the video. image - same orientation as the person in the picture (reference video duration should not exceed 10 seconds). video - consistent with the orientation of the characters in the video (reference video duration should not exceed 30 seconds). + enum: + - image + - video + type: string + element_list: + description: Reference Element List based on element ID configuration. Currently only one element can be introduced. + items: + properties: + element_id: + description: Element ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: "Customized Task ID. Users can provide a customized task ID, which will not overwrite the system-generated task ID but can be used for task queries. Must be unique within a single user account." + type: string + image_url: + description: "Reference Image. The characters, backgrounds, and other elements in the generated video are based on the reference image. Supports inputting image Base64 encoding or image URL (ensure accessibility). Supported image formats include .jpg / .jpeg / .png. The image file size cannot exceed 10MB, and the width and height dimensions of the image range from 300px to 65536px, and the aspect ratio of the image should be between 1:2.5 ~ 2.5:1." + type: string + keep_original_sound: + default: "yes" + description: "Whether to keep the original sound of the video. Enumeration values - yes (Keep the original sound), no (do not retain the original video sound)." + enum: + - "yes" + - "no" + type: string + mode: + description: Video generation mode. std - Standard Mode (cost-effective). pro - Professional Mode (longer duration but higher quality video output). + enum: + - std + - pro + type: string + model_name: + default: kling-v2-6 + description: "Model name for motion control. Enum values - kling-v2-6, kling-v3." + enum: + - kling-v2-6 + - kling-v3 + type: string + prompt: + description: "Text prompt words, which can include positive and negative descriptions. Cannot exceed 2500 characters." + maxLength: 2500 + type: string + video_url: + description: "The URL of the reference video. The character actions in the generated video are consistent with the reference video. The video file supports .mp4/.mov, with a file size not exceeding 100MB, and only supports side lengths between 340px and 3850px. The lower limit of video duration should not be less than 3 seconds, and the upper limit depends on character_orientation." + type: string + watermark_info: + description: Whether to generate watermarked results simultaneously. Custom watermark is not supported at this time. + properties: + enabled: + description: "true means generate watermark, false means do not generate." + type: boolean + type: object + required: + - image_url + - video_url + - character_orientation + - mode + type: object + KlingMotionControlResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: "Task creation time, Unix timestamp, unit ms" + type: integer + final_unit_deduction: + description: The deduction units of task + type: string + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + description: Customer-defined task ID + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingMotionControlVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: "Task status information, displaying the failure reason when the task fails" + type: string + updated_at: + description: "Task update time, Unix timestamp, unit ms" + type: integer + watermark_info: + properties: + enabled: + type: boolean + type: object + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingMotionControlVideoResult: + properties: + duration: + description: "Total video duration, unit - s (seconds)" + type: string + id: + description: Generated video ID; globally unique + type: string + url: + description: URL for generating videos + type: string + watermark_url: + description: "URL for generating videos with watermark, hotlink protection format" + type: string + type: object + KlingOmniImageRequest: + properties: + aspect_ratio: + default: auto + description: Aspect ratio of the generated images (width:height). auto is to intelligently generate images based on incoming content. + enum: + - 16:9 + - 9:16 + - 1:1 + - 4:3 + - 3:4 + - 3:2 + - 2:3 + - 21:9 + - auto + type: string + callback_url: + description: "The callback notification address for the result of this task. If configured, the server will actively notify when the task status changes." + format: uri + type: string + element_list: + description: Reference Element List based on element ID configuration. The sum of reference elements and reference images shall not exceed 10. + items: + properties: + element_id: + description: Element ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + image_list: + description: "Reference Image List. Supports inputting image Base64 encoding or image URL (ensure accessibility). Supported formats include .jpg/.jpeg/.png. File size cannot exceed 10MB. Width and height dimensions shall not be less than 300px, aspect ratio between 1:2.5 ~ 2.5:1. The sum of reference elements and reference images shall not exceed 10." + items: + properties: + image: + description: Image Base64 encoding or image URL (ensure accessibility) + type: string + type: object + type: array + model_name: + default: kling-image-o1 + description: Model Name + enum: + - kling-image-o1 + - kling-v3-omni + type: string + "n": + default: 1 + description: "Number of generated images. Value range [1,9]." + maximum: 9 + minimum: 1 + type: integer + prompt: + description: "Text prompt words, which can include positive and negative descriptions. Must not exceed 2,500 characters. The Omni model can achieve various capabilities through Prompt with elements and images. Specify an image in the format of <<<>>>, such as <<>>." + maxLength: 2500 + type: string + resolution: + default: 1k + description: "Image generation resolution. 1k is 1K standard, 2k is 2K high-res, 4k is 4K high-res." + enum: + - 1k + - 2k + - 4k + type: string + result_type: + default: single + description: Control whether to generate a single image or a series of images. + enum: + - single + - series + type: string + series_amount: + default: 4 + description: "Number of images in a series. Value range [2,9]." + maximum: 9 + minimum: 2 + type: integer + required: + - prompt + type: object + KlingOmniImageResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: "Task creation time, Unix timestamp in milliseconds" + type: integer + final_unit_deduction: + description: The deduction units of task + type: string + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + description: Customer-defined task ID + type: string + type: object + task_result: + properties: + images: + items: + $ref: "#/components/schemas/KlingImageResult" + type: array + result_type: + description: Whether the result is a single image or a series of images + enum: + - single + - series + type: string + series_images: + description: Series images result list + items: + properties: + index: + description: Series-image sequence number + type: integer + url: + description: URL for generated image + format: uri + type: string + type: object + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: "Task status information, displaying the failure reason when the task fails (such as triggering the content risk control of the platform, etc.)" + type: string + updated_at: + description: "Task update time, Unix timestamp in milliseconds" + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingOmniVideoRequest: + properties: + aspect_ratio: + description: The aspect ratio of the generated video frame (width:height). Required when first-frame reference or video editing features are not used. + enum: + - 16:9 + - 9:16 + - 1:1 + type: string + callback_url: + description: "The callback notification address for the result of this task. If configured, the server will actively notify when the task status changes." + format: uri + type: string + duration: + default: "5" + description: "Video Length in seconds. When using video editing function (refer_type: base), output duration is the same as input video and this parameter is invalid." + enum: + - "3" + - "4" + - "5" + - "6" + - "7" + - "8" + - "9" + - "10" + - "11" + - "12" + - "13" + - "14" + - "15" + type: string + element_list: + description: Reference Element List based on element ID configuration. + items: + properties: + element_id: + description: Element ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + image_list: + description: "Reference Image List. Can include reference images of the element, scene, style, etc., or be used as the first or last frame to generate videos." + items: + properties: + image_url: + description: "Image Base64 encoding or image URL (ensure accessibility). Supported formats include .jpg/.jpeg/.png. File size cannot exceed 10MB. Width and height dimensions shall not be less than 300px, aspect ratio between 1:2.5 ~ 2.5:1." + type: string + type: + description: "Whether the image is in the first or last frame. first_frame is the first frame, end_frame is the last frame. Currently does not support only the end frame." + enum: + - first_frame + - end_frame + type: string + type: object + type: array + mode: + default: pro + description: "Video generation mode. std: Standard Mode, generating 720P videos, cost-effective. pro: Professional Mode, generating 1080P videos, higher quality video output." + enum: + - pro + - std + type: string + model_name: + default: kling-video-o1 + description: Model Name + enum: + - kling-video-o1 + - kling-v3-omni + type: string + multi_prompt: + description: "Information about each storyboard, such as prompts and duration. Supports up to 6 storyboards, with a minimum of 1. Required when multi_shot is true and shot_type is customize." + items: + properties: + duration: + description: Duration of this storyboard in seconds. Must not exceed total task duration and must not be less than 1. Sum of all storyboard durations equals total task duration. + type: string + index: + description: Shot sequence number + type: integer + prompt: + description: Prompt word for this storyboard. Maximum length 512 characters. + maxLength: 512 + type: string + type: object + type: array + multi_shot: + default: false + description: "Whether to generate multi-shot video. When true, the prompt parameter is invalid. When false, the shot_type and multi_prompt parameters are invalid." + type: boolean + prompt: + description: "Text prompt words, which can include positive and negative descriptions. Must not exceed 2,500 characters. Can specify elements, images, or videos in the format <<<>>> such as <>, <<>>, <<>>." + maxLength: 2500 + type: string + shot_type: + description: Storyboard method. Required when the multi_shot parameter is set to true. + enum: + - customize + - intelligence + type: string + sound: + default: "off" + description: Whether sound is generated simultaneously when generating videos. + enum: + - "on" + - "off" + type: string + video_list: + description: "Reference Video list. Can be used as a reference video for feature or as a video to be edited, with the default being the video to be edited." + items: + properties: + keep_original_sound: + description: "Whether to keep the video original sound. yes indicates retention, no indicates non retention." + enum: + - "yes" + - "no" + type: string + refer_type: + description: "Reference video type. feature is the feature reference video, base is the video to be edited." + enum: + - feature + - base + type: string + video_url: + description: "URL of uploaded video. Only .mp4/.mov formats are supported. Duration between 3-10 seconds. Resolution must be between 720px and 2160px. Frame rates of 24-60 fps supported. Only 1 video can be uploaded, with size not exceeding 200MB." + type: string + type: object + type: array + watermark_info: + description: Whether to generate watermarked results simultaneously. Custom watermark is not supported at this time. + properties: + enabled: + description: "true means generate watermark, false means do not generate." + type: boolean + type: object + type: object + KlingPresetsElement: + properties: + element_description: + type: string + element_id: + format: int64 + type: integer + element_image_list: + properties: + frontal_image: + type: string + refer_images: + items: + properties: + image_url: + type: string + type: object + type: array + type: object + element_name: + type: string + element_video_list: + properties: + refer_videos: + items: + properties: + video_url: + type: string + type: object + type: array + type: object + element_voice_info: + properties: + owned_by: + type: string + trial_url: + type: string + voice_id: + type: string + voice_name: + type: string + type: object + owned_by: + type: string + reference_type: + type: string + tag_list: + items: + properties: + description: + type: string + id: + type: string + name: + type: string + type: object + type: array + type: object + KlingPresetsElementTask: + properties: + created_at: + description: "Task creation time, Unix timestamp in ms" + type: integer + final_unit_deduction: + type: string + task_id: + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + elements: + items: + $ref: "#/components/schemas/KlingPresetsElement" + type: array + type: object + task_status: + enum: + - submitted + - processing + - succeed + - failed + type: string + task_status_msg: + type: string + updated_at: + description: "Task update time, Unix timestamp in ms" + type: integer + type: object + KlingPresetsElementsResponse: + properties: + code: + type: integer + data: + items: + $ref: "#/components/schemas/KlingPresetsElementTask" + type: array + message: + type: string + request_id: + type: string + type: object + KlingQueryTaskResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: "Task creation time, Unix timestamp in milliseconds" + type: integer + final_unit_deduction: + description: The deduction units of task + type: string + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: "Task status information, displaying the failure reason when the task fails" + type: string + updated_at: + description: "Task update time, Unix timestamp in milliseconds" + type: integer + watermark_info: + properties: + enabled: + type: boolean + type: object + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingResourcePackageResponse: + properties: + code: + description: Error code; 0 indicates success + type: integer + data: + properties: + code: + description: Error code; 0 indicates success + type: integer + msg: + description: Error information + type: string + resource_pack_subscribe_infos: + description: Resource package list + items: + properties: + effective_time: + description: "Effective time, Unix timestamp in ms" + format: int64 + type: integer + invalid_time: + description: "Expiration time, Unix timestamp in ms" + format: int64 + type: integer + purchase_time: + description: "Purchase time, Unix timestamp in ms" + format: int64 + type: integer + remaining_quantity: + description: Remaining quantity (updated with a 12-hour delay) + format: float + type: number + resource_pack_id: + description: Resource package ID + type: string + resource_pack_name: + description: Resource package name + type: string + resource_pack_type: + description: "Resource package type (decreasing_total=decreasing total, constant_period=constant periodicity)" + enum: + - decreasing_total + - constant_period + type: string + status: + description: Resource Package Status + enum: + - toBeOnline + - online + - expired + - runOut + type: string + total_quantity: + description: Total quantity + format: float + type: number + type: object + type: array + type: object + message: + description: Error information + type: string + request_id: + description: "Request ID, generated by the system, used to track requests and troubleshoot problems" + type: string + type: object + KlingSingleImageEffectDuration: + description: Video Length in seconds. Only 5-second videos are supported. + enum: + - "5" + type: string + KlingSingleImageEffectInput: + properties: + duration: + $ref: "#/components/schemas/KlingSingleImageEffectDuration" + image: + description: "Reference Image. URL or Base64 encoded string (without data:image prefix). File size cannot exceed 10MB, resolution not less than 300*300px, aspect ratio between 1:2.5 ~ 2.5:1." + type: string + model_name: + $ref: "#/components/schemas/KlingSingleImageEffectModelName" + required: + - model_name + - image + - duration + type: object + KlingSingleImageEffectModelName: + description: Model Name. Only kling-v1-6 is supported for single image effects. + enum: + - kling-v1-6 + type: string + KlingSingleImageEffectsScene: + description: "Scene Name. Single Image Effects (bloombloom, dizzydizzy, fuzzyfuzzy, squish, expansion)." + enum: + - bloombloom + - dizzydizzy + - fuzzyfuzzy + - squish + - expansion + type: string + KlingTaskStatus: + description: Task Status + enum: + - submitted + - processing + - succeed + - failed + type: string + KlingText2VideoRequest: + properties: + aspect_ratio: + $ref: "#/components/schemas/KlingVideoGenAspectRatio" + callback_url: + description: The callback notification address + format: uri + type: string + camera_control: + $ref: "#/components/schemas/KlingCameraControl" + cfg_scale: + $ref: "#/components/schemas/KlingVideoGenCfgScale" + duration: + $ref: "#/components/schemas/KlingVideoGenDuration" + external_task_id: + description: Customized Task ID + type: string + mode: + $ref: "#/components/schemas/KlingVideoGenMode" + model_name: + $ref: "#/components/schemas/KlingTextToVideoModelName" + multi_prompt: + description: "Information about each storyboard, such as prompts and duration. Supports up to 6 storyboards, with a minimum of 1. Required when multi_shot is true and shot_type is customize." + items: + properties: + duration: + description: Duration of this storyboard in seconds. Must not exceed total task duration and must not be less than 1. Sum of all storyboard durations equals total task duration. + type: string + index: + description: Shot sequence number + type: integer + prompt: + description: Prompt word for this storyboard. Maximum length 512 characters. + maxLength: 512 + type: string + type: object + type: array + multi_shot: + default: false + description: "Whether to generate multi-shot video. When true, the prompt parameter is invalid. When false, the shot_type and multi_prompt parameters are invalid." + type: boolean + negative_prompt: + description: Negative text prompt. It is recommended to supplement negative prompt information through negative sentences directly within positive prompts. + maxLength: 2500 + type: string + prompt: + description: "Positive text prompt. Use <<>> to specify a voice matching the voice_list parameter order. A task can reference up to 2 tones. When specifying a tone, the sound parameter value must be on." + maxLength: 2500 + type: string + shot_type: + description: Storyboard method. Required when the multi_shot parameter is set to true. + enum: + - customize + - intelligence + type: string + sound: + default: "off" + description: Whether to generate sound simultaneously when generating videos. Only V2.6 and subsequent versions of the model support this parameter. + enum: + - "on" + - "off" + type: string + watermark_info: + description: Whether to generate watermarked results simultaneously. Custom watermark is not supported at this time. + properties: + enabled: + description: "true means generate watermark, false means do not generate." + type: boolean + type: object + type: object + KlingTextToVideoModelName: + default: kling-v1 + description: Model Name + enum: + - kling-v1 + - kling-v1-5 + - kling-v1-6 + - kling-v2-master + - kling-v2-1-master + - kling-v2-5-turbo + - kling-v2-6 + - kling-v3 + type: string + KlingV2CreateTaskResponse: + description: Response returned when a Kling 3.0 Turbo task is created. + properties: + code: + description: Error code. 0 indicates success. + type: integer + data: + properties: + create_time: + description: Task creation time. Unix timestamp in milliseconds. + format: int64 + type: integer + external_id: + description: "The custom task ID for this task, if any." + type: string + id: + description: The created task ID. + type: string + status: + description: "Task status. One of \"submitted\", \"processing\", \"succeeded\" or \"failed\"." + type: string + update_time: + description: Task update time. Unix timestamp in milliseconds. + format: int64 + type: integer + type: object + message: + description: Error message. + type: string + request_id: + description: Request ID generated by the system. + type: string + type: object + KlingV2Image2VideoRequest: + properties: + contents: + description: Collection of references such as prompts and images. Fields related to the same material belong in the same object. + items: + properties: + text: + description: "Text prompt. Provided when type is \"prompt\". May include positive and negative descriptions; cannot exceed 2500 characters." + type: string + type: + description: "Reference type. One of \"prompt\" or \"first_frame\"." + type: string + url: + description: "First-frame material. Provided when type is \"first_frame\". May be a URL or Base64 content. Supports .jpg, .jpeg and .png up to 50MB; width and height must be at least 300px with an aspect ratio between 1:2.5 and 2.5:1." + type: string + type: object + type: array + options: + $ref: "#/components/schemas/KlingV2Options" + settings: + description: Output configuration such as resolution and duration. + properties: + duration: + description: Video length in seconds. Supported values 3 through 15. Default 5. + type: integer + resolution: + description: "Clarity of the generated video. One of \"720p\" or \"1080p\". Default \"720p\"." + type: string + type: object + required: + - contents + type: object + KlingV2Options: + description: General configuration such as callback address and watermark options. + properties: + callback_url: + description: Callback notification URL for task results. The server notifies when the task status changes. + type: string + external_task_id: + description: Customized Task ID. Does not overwrite the system-generated task ID but can be used for queries. Must be unique within a single user account. + type: string + watermark_info: + description: Whether to generate watermarked results simultaneously. Custom watermarks are not supported. + properties: + enabled: + description: "true means generate watermarked result, false means do not generate. Default false." + type: boolean + type: object + type: object + KlingV2Output: + description: "A generated output. The fields present depend on `type` (video, image, audio, voice or element)." + properties: + duration: + description: Duration of the generated video in seconds. + type: string + group_id: + description: "Grouping marker, present only for grouped images." + type: string + id: + description: Output ID generated by the system. + type: string + mp3_duration: + description: Duration of the generated MP3 audio in seconds. + type: string + mp3_url: + description: MP3 URL of the generated audio (hotlink-protected). + type: string + name: + description: Name of the generated material. + type: string + owned_by: + description: "Source of the material. \"kling\" denotes the official library; numbers are creator IDs." + type: string + status: + description: "Status of the material. One of \"succeeded\" or \"deleted\"." + type: string + type: + description: "Output content type. One of \"video\", \"image\", \"audio\", \"voice\" or \"element\"." + type: string + url: + description: URL of the generated result (hotlink-protected). Cleared after 30 days. + type: string + watermark_url: + description: URL of the watermarked result (hotlink-protected). + type: string + wav_duration: + description: Duration of the generated WAV audio in seconds. + type: string + wav_url: + description: WAV URL of the generated audio (hotlink-protected). + type: string + type: object + KlingV2QueryTaskResponse: + description: Response returned when querying Kling 3.0 Turbo tasks by ID. + properties: + code: + description: Error code. 0 indicates success. + type: integer + data: + description: Tasks matching the query. + items: + $ref: "#/components/schemas/KlingV2Task" + type: array + message: + description: Error message. + type: string + request_id: + description: Request ID generated by the system. + type: string + type: object + KlingV2Task: + description: A single Kling 3.0 Turbo task record. + properties: + billing: + description: Billing details for the task. + items: + properties: + amount: + description: "Consumption amount, accurate to two decimal places." + type: string + charge_type: + description: "Consumption account type. \"cash\" for balance, \"unit\" for a resource package." + type: string + package_type: + description: "Consumable resource bundle type (only present when charge_type is \"unit\"). One of \"video\", \"image\" or \"audio\"." + type: string + type: object + type: array + create_time: + description: Task creation time. Unix timestamp in milliseconds. + format: int64 + type: integer + external_id: + description: "The custom task ID for this task, if any." + type: string + id: + description: The task ID. + type: string + message: + description: "Task status information, displaying the failure reason when the task fails." + type: string + outputs: + description: Generated outputs for the task. + items: + $ref: "#/components/schemas/KlingV2Output" + type: array + status: + description: "Task status. One of \"submitted\", \"processing\", \"succeeded\" or \"failed\"." + type: string + update_time: + description: Task update time. Unix timestamp in milliseconds. + format: int64 + type: integer + type: object + KlingV2Text2VideoRequest: + properties: + options: + $ref: "#/components/schemas/KlingV2Options" + prompt: + description: "Prompt that may include both positive and negative descriptions. Recommended length under 2500 characters. Multi-shot videos use the format \"shot n, m, words; shot n, m, words;\"." + maxLength: 3072 + type: string + settings: + description: "Output configuration such as resolution, aspect ratio and duration." + properties: + aspect_ratio: + description: "Aspect ratio (width:height) of the generated frames. One of \"16:9\", \"9:16\" or \"1:1\". Default \"16:9\"." + type: string + duration: + description: Video length in seconds. Supported values 3 through 15. Default 5. + type: integer + resolution: + description: "Clarity of the generated video. One of \"720p\" or \"1080p\". Default \"720p\"." + type: string + type: object + required: + - prompt + type: object + KlingVideoEffectsInput: + oneOf: + - $ref: "#/components/schemas/KlingSingleImageEffectInput" + - $ref: "#/components/schemas/KlingDualCharacterEffectInput" + KlingVideoEffectsRequest: + properties: + callback_url: + description: The callback notification address for the result of this task. + format: uri + type: string + effect_scene: + oneOf: + - $ref: "#/components/schemas/KlingDualCharacterEffectsScene" + - $ref: "#/components/schemas/KlingSingleImageEffectsScene" + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + input: + $ref: "#/components/schemas/KlingVideoEffectsInput" + required: + - effect_scene + - input + type: object + KlingVideoEffectsResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: Task creation time + type: integer + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + updated_at: + description: Task update time + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingVideoExtendRequest: + properties: + callback_url: + description: The callback notification address. Server will notify when the task status changes. + format: uri + type: string + cfg_scale: + $ref: "#/components/schemas/KlingVideoGenCfgScale" + negative_prompt: + description: Negative text prompt for elements to avoid in the extended video + maxLength: 2500 + type: string + prompt: + description: Positive text prompt for guiding the video extension + maxLength: 2500 + type: string + video_id: + description: "The ID of the video to be extended. Supports videos generated by text-to-video, image-to-video, and previous video extension operations. Cannot exceed 3 minutes total duration after extension." + type: string + type: object + KlingVideoExtendResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: Task creation time + type: integer + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + updated_at: + description: Task update time + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingVideoGenAspectRatio: + default: 16:9 + description: Video aspect ratio + enum: + - 16:9 + - 9:16 + - 1:1 + type: string + KlingVideoGenCfgScale: + default: 0.5 + description: "Flexibility in video generation. The higher the value, the lower the model's degree of flexibility, and the stronger the relevance to the user's prompt." + format: float + maximum: 1 + minimum: 0 + type: number + KlingVideoGenDuration: + default: "5" + description: Video length in seconds + enum: + - "3" + - "4" + - "5" + - "6" + - "7" + - "8" + - "9" + - "10" + - "11" + - "12" + - "13" + - "14" + - "15" + type: string + KlingVideoGenMode: + default: std + description: "Video generation mode. std: Standard Mode, which is cost-effective. pro: Professional Mode, generates videos with longer duration but higher quality output." + enum: + - std + - pro + type: string + KlingVideoGenModelName: + default: kling-v1 + description: Model Name + enum: + - kling-v1 + - kling-v1-5 + - kling-v1-6 + - kling-v2-master + - kling-v2-1 + - kling-v2-1-master + - kling-v2-5-turbo + - kling-v2-6 + - kling-v3 + type: string + KlingVideoResult: + properties: + duration: + description: Total video duration in seconds + type: string + id: + description: Generated video ID + type: string + url: + description: URL for generated video + format: uri + type: string + watermark_url: + description: "URL for generated video with watermark, hotlink protection format" + format: uri + type: string + type: object + KlingVirtualTryOnModelName: + default: kolors-virtual-try-on-v1 + description: Model Name + enum: + - kolors-virtual-try-on-v1 + - kolors-virtual-try-on-v1-5 + type: string + KlingVirtualTryOnRequest: + properties: + callback_url: + description: The callback notification address + format: uri + type: string + cloth_image: + description: Reference clothing image - Base64 encoded string or image URL + type: string + human_image: + description: Reference human image - Base64 encoded string or image URL + type: string + model_name: + $ref: "#/components/schemas/KlingVirtualTryOnModelName" + required: + - human_image + type: object + KlingVirtualTryOnResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: Task creation time + type: integer + task_id: + description: Task ID + type: string + task_result: + properties: + images: + items: + $ref: "#/components/schemas/KlingImageResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: Task status information + type: string + updated_at: + description: Task update time + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KreaAsset: + properties: + description: + type: string + height: + nullable: true + type: number + id: + format: uuid + type: string + image_url: + format: uri + type: string + metadata: + additionalProperties: true + type: object + mime_type: + nullable: true + type: string + size_bytes: + nullable: true + type: number + uploaded_at: + format: date-time + type: string + width: + nullable: true + type: number + required: + - id + - image_url + - uploaded_at + type: object + KreaAssetUploadRequest: + properties: + description: + description: Optional description for the asset + type: string + file: + description: "The file to upload (JPEG, PNG, WebP, HEIC, MP4, MOV, WebM, GLB, WAV, MP3). Maximum size: 75MB." + format: binary + type: string + required: + - file + type: object + KreaGenerateImageRequest: + properties: + aspect_ratio: + description: "Aspect ratio. One of: 1:1, 4:3, 3:2, 16:9, 2.35:1, 4:5, 2:3, 9:16." + enum: + - 1:1 + - 4:3 + - 3:2 + - 16:9 + - 2.35:1 + - 4:5 + - 2:3 + - 9:16 + type: string + creativity: + default: medium + description: "Prompt interpretation strength: raw=0, low=10, medium=50, high=100." + enum: + - raw + - low + - medium + - high + type: string + image_style_references: + description: Style references to use for the generation + items: + $ref: "#/components/schemas/KreaImageStyleReference" + maxItems: 10 + type: array + moodboards: + description: Moodboards to use for generation. Currently limited to one moodboard. + items: + $ref: "#/components/schemas/KreaMoodboard" + maxItems: 1 + type: array + prompt: + type: string + resolution: + description: "Resolution scale. One of: 1K." + enum: + - 1K + type: string + seed: + nullable: true + type: number + styles: + description: Styles (typically LoRAs) to use for the generation + items: + $ref: "#/components/schemas/KreaStyle" + type: array + required: + - prompt + - aspect_ratio + - resolution + type: object + KreaImageStyleReference: + properties: + strength: + format: double + maximum: 2 + minimum: -2 + type: number + url: + format: uri + type: string + required: + - strength + type: object + KreaJob: + properties: + completed_at: + format: date-time + nullable: true + type: string + created_at: + format: date-time + type: string + job_id: + format: uuid + type: string + result: + allOf: + - $ref: "#/components/schemas/KreaJobResult" + nullable: true + status: + description: "Available options: backlogged, queued, scheduled, processing, sampling, intermediate-complete, completed, failed, cancelled" + enum: + - backlogged + - queued + - scheduled + - processing + - sampling + - intermediate-complete + - completed + - failed + - cancelled + type: string + required: + - job_id + - status + - created_at + - completed_at + - result + type: object + KreaJobResult: + properties: + style_id: + type: string + urls: + items: + format: uri + type: string + type: array + type: object + KreaMoodboard: + properties: + id: + format: uuid + type: string + strength: + default: 0.35 + format: double + maximum: 1.5 + minimum: -0.5 + type: number + required: + - id + type: object + KreaStyle: + properties: + id: + type: string + strength: + format: double + maximum: 2 + minimum: -2 + type: number + required: + - id + - strength + type: object + LTXImage2VideoRequest: + properties: + duration: + description: Video duration in seconds + enum: + - 6 + - 8 + - 10 + type: integer + fps: + default: 25 + description: Frame rate in frames per second + enum: + - 25 + - 50 + type: integer + generate_audio: + default: true + description: Generate audio for the video + type: boolean + image_uri: + description: Image to be used as the first frame of the video (HTTPS URL or base64 data URI) + type: string + model: + description: Model to use for generation + enum: + - ltx-2-fast + - ltx-2-pro + type: string + prompt: + description: Text description of how the image should be animated + maxLength: 10000 + type: string + resolution: + description: Output video resolution + enum: + - 1920x1080 + - 2560x1440 + - 3840x2160 + type: string + required: + - image_uri + - prompt + - model + - duration + - resolution + type: object + LTXText2VideoRequest: + properties: + duration: + description: Video duration in seconds + enum: + - 6 + - 8 + - 10 + type: integer + fps: + default: 25 + description: Frame rate in frames per second + enum: + - 25 + - 50 + type: integer + generate_audio: + default: true + description: Generate audio for the video + type: boolean + model: + description: Model to use for generation + enum: + - ltx-2-fast + - ltx-2-pro + type: string + prompt: + description: Text prompt describing the desired video content + maxLength: 10000 + type: string + resolution: + description: Output video resolution + enum: + - 1920x1080 + - 2560x1440 + - 3840x2160 + type: string + required: + - prompt + - model + - duration + - resolution + type: object + LumaAgentsAspectRatio: + description: "Output aspect ratio. The ray-3.2 video models support the subset 9:16, 3:4, 1:1, 4:3, 16:9, 21:9." + enum: + - 3:1 + - 2:1 + - 21:9 + - 16:9 + - 3:2 + - 4:3 + - 1:1 + - 3:4 + - 2:3 + - 9:16 + - 1:2 + - 1:3 + type: string + LumaAgentsError: + description: The error object + properties: + detail: + description: The error message + type: string + type: object + LumaAgentsFailureCode: + description: Machine-readable failure code for programmatic handling + enum: + - content_moderated + - generation_failed + - budget_exhausted + - output_not_found + type: string + LumaAgentsGeneration: + description: Generation status and output + properties: + created_at: + description: Creation timestamp + type: string + failure_code: + $ref: "#/components/schemas/LumaAgentsFailureCode" + failure_reason: + description: Human-readable failure description + type: string + id: + description: Generation identifier + type: string + model: + description: Model used + type: string + output: + items: + $ref: "#/components/schemas/LumaAgentsGenerationOutput" + type: array + state: + $ref: "#/components/schemas/LumaAgentsState" + type: + $ref: "#/components/schemas/LumaAgentsGenerationType" + type: object + LumaAgentsGenerationOutput: + description: A generated output entry + properties: + type: + description: Media type (e.g. image) + type: string + url: + description: Presigned URL (1hr expiry) + type: string + type: object + LumaAgentsGenerationRequest: + description: The Luma Agents generation request object + properties: + aspect_ratio: + $ref: "#/components/schemas/LumaAgentsAspectRatio" + image_ref: + description: "Reference images for style/content guidance. Up to 9 for type 'image', up to 8 for type 'image_edit'." + items: + $ref: "#/components/schemas/LumaAgentsImageRef" + type: array + model: + description: "Model to use. uni-1 / uni-1-max for image generation, ray-3.2 for video generation, editing, and reframing." + type: string + output_format: + $ref: "#/components/schemas/LumaAgentsOutputFormat" + prompt: + description: Text prompt + type: string + source: + $ref: "#/components/schemas/LumaAgentsImageRef" + style: + $ref: "#/components/schemas/LumaAgentsStyle" + type: + $ref: "#/components/schemas/LumaAgentsGenerationType" + video: + $ref: "#/components/schemas/LumaAgentsVideoOptions" + web_search: + description: Enable web search grounding + type: boolean + required: + - prompt + type: object + LumaAgentsGenerationType: + description: The kind of generation to perform. image/image_edit are produced by the uni-1 / uni-1-max models; video/video_edit/video_reframe are produced by the ray-3.2 model. + enum: + - image + - image_edit + - video + - video_edit + - video_reframe + type: string + LumaAgentsImageRef: + description: "Reference to an image or video. Used for style/content guidance, guided generation, video-edit/video-reframe sources, and guide keyframes. Provide exactly one of generation_id, url, or data." + properties: + data: + description: Base64-encoded image or video data + type: string + generation_id: + description: UUID of a prior completed generation to reuse as the source. Used by ray-3.2 video_edit / video_reframe. + type: string + media_type: + description: "MIME type. Required with data (and with url for video sources, e.g. video/mp4 on video_edit / video_reframe)." + type: string + url: + description: Publicly accessible image or video URL + type: string + type: object + LumaAgentsOutputFormat: + description: Output image format + enum: + - png + - jpeg + type: string + LumaAgentsState: + description: Current state of the generation + enum: + - queued + - processing + - completed + - failed + type: string + LumaAgentsStyle: + description: Style preset + enum: + - auto + - manga + type: string + LumaAgentsVideoDuration: + description: Clip duration for ray-3.2 video / video_edit. Defaults to 5s. HDR generation (type video) is restricted to 5s. + enum: + - 5s + - 10s + type: string + LumaAgentsVideoOptions: + description: "Video output settings for ray-3.2. Only the fields that affect validation and billing are modelled here; additional fields (edit controls, end_frame, loop, source_position) are forwarded to Luma untouched." + properties: + duration: + $ref: "#/components/schemas/LumaAgentsVideoDuration" + exr_export: + description: Export an EXR file alongside the MP4. Requires hdr true. Rejected for video_reframe. + type: boolean + hdr: + description: Render in HDR. Requires 720p/1080p. Rejected for video_reframe. + type: boolean + keyframes: + description: "Guide-frame images. A single keyframe makes a type \"video\" request a single-keyframe extend, which always bills as one 5s block." + items: + $ref: "#/components/schemas/LumaAgentsImageRef" + type: array + loop: + description: Loop the generated clip. Create-only (type video). + type: boolean + resolution: + $ref: "#/components/schemas/LumaAgentsVideoResolution" + start_frame: + $ref: "#/components/schemas/LumaAgentsImageRef" + type: object + LumaAgentsVideoResolution: + description: Output resolution for ray-3.2 video. Defaults to 720p. 360p is the draft tier. HDR requires 720p or 1080p. + enum: + - 360p + - 540p + - 720p + - 1080p + type: string + LumaAspectRatio: + default: 16:9 + description: The aspect ratio of the generation + enum: + - 1:1 + - 16:9 + - 9:16 + - 4:3 + - 3:4 + - 21:9 + - 9:21 + example: 16:9 + type: string + LumaAssets: + description: The assets of the generation + properties: + image: + description: The URL of the image + format: uri + type: string + progress_video: + description: The URL of the progress video + format: uri + type: string + video: + description: The URL of the video + format: uri + type: string + type: object + LumaAudioGenerationRequest: + description: The audio generation request object + properties: + callback_url: + description: The callback URL for the audio + format: uri + type: string + generation_type: + default: add_audio + enum: + - add_audio + type: string + negative_prompt: + description: The negative prompt of the audio + type: string + prompt: + description: The prompt of the audio + type: string + type: object + LumaError: + description: The error object + example: + detail: Invalid API key is provided + properties: + detail: + description: The error message + type: string + type: object + LumaGeneration: + description: The generation response object + example: + assets: + video: https://example.com/video.mp4 + created_at: 2023-06-01T12:00:00Z + failure_reason: null + id: 123e4567-e89b-12d3-a456-426614174000 + model: ray-2 + request: + aspect_ratio: 16:9 + keyframes: + frame0: + type: image + url: https://example.com/image.jpg + frame1: + id: 123e4567-e89b-12d3-a456-426614174000 + type: generation + loop: true + prompt: A serene lake surrounded by mountains at sunset + state: completed + properties: + assets: + $ref: "#/components/schemas/LumaAssets" + created_at: + description: The date and time when the generation was created + format: date-time + type: string + failure_reason: + description: The reason for the state of the generation + type: string + generation_type: + $ref: "#/components/schemas/LumaGenerationType" + id: + description: The ID of the generation + format: uuid + type: string + model: + description: The model used for the generation + type: string + request: + description: The request of the generation + oneOf: + - $ref: "#/components/schemas/LumaGenerationRequest" + - $ref: "#/components/schemas/LumaImageGenerationRequest" + - $ref: "#/components/schemas/LumaUpscaleVideoGenerationRequest" + - $ref: "#/components/schemas/LumaAudioGenerationRequest" + state: + $ref: "#/components/schemas/LumaState" + type: object + LumaGenerationReference: + description: The generation reference object + example: + id: 123e4567-e89b-12d3-a456-426614174003 + type: generation + properties: + id: + description: The ID of the generation + format: uuid + type: string + type: + default: generation + enum: + - generation + type: string + required: + - type + - id + type: object + LumaGenerationRequest: + description: The generation request object + properties: + aspect_ratio: + $ref: "#/components/schemas/LumaAspectRatio" + callback_url: + description: "The callback URL of the generation, a POST request with Generation object will be sent to the callback URL when the generation is dreaming, completed, or failed" + format: uri + type: string + duration: + $ref: "#/components/schemas/LumaVideoModelOutputDuration" + generation_type: + default: video + enum: + - video + type: string + keyframes: + $ref: "#/components/schemas/LumaKeyframes" + loop: + description: Whether to loop the video + type: boolean + model: + $ref: "#/components/schemas/LumaVideoModel" + prompt: + description: The prompt of the generation + type: string + resolution: + $ref: "#/components/schemas/LumaVideoModelOutputResolution" + required: + - duration + - resolution + - prompt + - aspect_ratio + - model + type: object + LumaGenerationType: + enum: + - video + - image + type: string + LumaImageGenerationRequest: + description: The image generation request object + properties: + aspect_ratio: + $ref: "#/components/schemas/LumaAspectRatio" + callback_url: + description: The callback URL for the generation + format: uri + type: string + character_ref: + properties: + identity0: + $ref: "#/components/schemas/LumaImageIdentity" + type: object + generation_type: + default: image + enum: + - image + type: string + image_ref: + items: + $ref: "#/components/schemas/LumaImageRef" + type: array + model: + $ref: "#/components/schemas/LumaImageModel" + modify_image_ref: + $ref: "#/components/schemas/LumaModifyImageRef" + prompt: + description: The prompt of the generation + type: string + style_ref: + items: + $ref: "#/components/schemas/LumaImageRef" + type: array + type: object + LumaImageIdentity: + description: The image identity object + properties: + images: + description: The URLs of the image identity + items: + format: uri + type: string + type: array + type: object + LumaImageModel: + default: photon-1 + description: The image model used for the generation + enum: + - photon-1 + - photon-flash-1 + type: string + LumaImageRef: + description: The image reference object + properties: + url: + description: The URL of the image reference + format: uri + type: string + weight: + description: The weight of the image reference + type: number + type: object + LumaImageReference: + description: The image object + example: + type: image + url: https://example.com/image.jpg + properties: + type: + default: image + enum: + - image + type: string + url: + description: The URL of the image + format: uri + type: string + required: + - type + - url + type: object + LumaKeyframe: + description: "A keyframe can be either a Generation reference, an Image, or a Video" + discriminator: + mapping: + generation: "#/components/schemas/LumaGenerationReference" + image: "#/components/schemas/LumaImageReference" + propertyName: type + oneOf: + - $ref: "#/components/schemas/LumaGenerationReference" + - $ref: "#/components/schemas/LumaImageReference" + LumaKeyframes: + description: The keyframes of the generation + example: + frame0: + type: image + url: https://example.com/image.jpg + frame1: + id: 123e4567-e89b-12d3-a456-426614174000 + type: generation + properties: + frame0: + $ref: "#/components/schemas/LumaKeyframe" + frame1: + $ref: "#/components/schemas/LumaKeyframe" + type: object + LumaModifyImageRef: + description: The modify image reference object + properties: + url: + description: The URL of the image reference + format: uri + type: string + weight: + description: The weight of the modify image reference + type: number + type: object + LumaState: + description: The state of the generation + enum: + - queued + - dreaming + - completed + - failed + example: completed + type: string + LumaUpscaleVideoGenerationRequest: + description: The upscale generation request object + properties: + callback_url: + description: The callback URL for the upscale + format: uri + type: string + generation_type: + default: upscale_video + enum: + - upscale_video + type: string + resolution: + $ref: "#/components/schemas/LumaVideoModelOutputResolution" + type: object + LumaVideoModel: + default: ray-2 + description: The video model used for the generation + enum: + - ray-2 + - ray-flash-2 + - ray-1-6 + example: ray-2 + type: string + LumaVideoModelOutputDuration: + anyOf: + - enum: + - 5s + - 9s + type: string + - type: string + LumaVideoModelOutputResolution: + anyOf: + - enum: + - 540p + - 720p + - 1080p + - 4k + type: string + - type: string + MachineStats: + properties: + cpu_capacity: + description: Total CPU on the machine. + type: string + disk_capacity: + description: Total disk capacity on the machine. + type: string + gpu_type: + description: The GPU type. eg. NVIDIA Tesla K80 + type: string + initial_cpu: + description: Initial CPU available before the job starts. + type: string + initial_disk: + description: Initial disk available before the job starts. + type: string + initial_ram: + description: Initial RAM available before the job starts. + type: string + machine_name: + description: Name of the machine. + type: string + memory_capacity: + description: Total memory on the machine. + type: string + os_version: + description: The operating system version. eg. Ubuntu Linux 20.04 + type: string + pip_freeze: + description: The pip freeze output + type: string + vram_time_series: + description: Time series of VRAM usage. + type: object + type: object + MeshyAiModel: + default: latest + description: ID of the model to use. + enum: + - meshy-5 + - latest + type: string + MeshyAnimationCreateResponse: + properties: + result: + description: The task id of the newly created animation task. + type: string + required: + - result + type: object + MeshyAnimationPostProcess: + description: Parameters for post-processing animation files. + properties: + fps: + default: 30 + description: The target frame rate. Default is 30. Applicable only when operation_type is change_fps. + enum: + - 24 + - 25 + - 30 + - 60 + type: integer + operation_type: + description: The type of operation to perform. + enum: + - change_fps + - fbx2usdz + - extract_armature + type: string + required: + - operation_type + type: object + MeshyAnimationRequest: + properties: + action_id: + description: The identifier of the animation action to apply. + type: integer + post_process: + $ref: "#/components/schemas/MeshyAnimationPostProcess" + rig_task_id: + description: The id of a successfully completed rigging task (from POST /openapi/v1/rigging). The character from this task will be animated. + type: string + required: + - rig_task_id + - action_id + type: object + MeshyAnimationResult: + description: Contains the output animation URLs if the task SUCCEEDED. + properties: + animation_fbx_url: + description: Downloadable URL for the animation in FBX format. + type: string + animation_glb_url: + description: Downloadable URL for the animation in GLB format. + type: string + processed_animation_fps_fbx_url: + description: Downloadable URL for the animation with changed FPS in FBX format. + type: string + processed_armature_fbx_url: + description: Downloadable URL for the processed armature in FBX format. + type: string + processed_usdz_url: + description: Downloadable URL for the processed animation in USDZ format. + type: string + type: object + MeshyAnimationTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + expires_at: + description: "Timestamp of when the task result expires, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: Progress of the task (0-100). + maximum: 100 + minimum: 0 + type: integer + result: + $ref: "#/components/schemas/MeshyAnimationResult" + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + type: + description: Type of the Animation task. + enum: + - animate + type: string + required: + - id + - status + type: object + MeshyArtStyle: + default: realistic + description: Describe your desired art style of the object. + enum: + - realistic + - sculpture + type: string + MeshyImageTo3DCreateResponse: + properties: + result: + description: The task id of the newly created Image to 3D task. + type: string + required: + - result + type: object + MeshyImageTo3DModelUrls: + description: Downloadable URLs to the 3D model files generated by Meshy. + properties: + fbx: + description: Downloadable URL to the FBX file. + type: string + glb: + description: Downloadable URL to the GLB file. + type: string + mtl: + description: Downloadable URL to the MTL file. + type: string + obj: + description: Downloadable URL to the OBJ file. + type: string + pre_remeshed_glb: + description: Downloadable URL to the original GLB output before remeshing. Available only when should_remesh and save_pre_remeshed_model are both true. + type: string + usdz: + description: Downloadable URL to the USDZ file. + type: string + type: object + MeshyImageTo3DRequest: + properties: + ai_model: + $ref: "#/components/schemas/MeshyAiModel" + enable_pbr: + default: false + description: "Generate PBR Maps (metallic, roughness, normal) in addition to the base color." + type: boolean + image_url: + description: "Provide an image for Meshy to use in model creation. Supports .jpg, .jpeg, .png formats or base64-encoded data URI." + type: string + is_a_t_pose: + default: false + description: Deprecated. Use pose_mode instead. Whether to generate the model in an A/T pose. + type: boolean + model_type: + default: standard + description: "Specify the type of 3D mesh generation.\n- standard: Regular high-detail 3D mesh generation.\n- lowpoly: Generates low-poly mesh optimized for cleaner polygons.\nWhen lowpoly is selected, ai_model, topology, target_polycount, should_remesh, save_pre_remeshed_model are ignored.\n" + enum: + - standard + - lowpoly + type: string + moderation: + default: false + description: "When true, input content will be screened for potentially harmful content." + type: boolean + pose_mode: + $ref: "#/components/schemas/MeshyPoseMode" + save_pre_remeshed_model: + default: false + description: "When true, stores an extra GLB file before the remesh phase completes. Only takes effect when should_remesh is true." + type: boolean + should_remesh: + default: true + description: "Controls whether to enable the remesh phase. When false, returns highest-precision triangular mesh." + type: boolean + should_texture: + default: true + description: "Determines if textures are generated. When false, provides a mesh without textures." + type: boolean + symmetry_mode: + $ref: "#/components/schemas/MeshySymmetryMode" + target_polycount: + default: 30000 + description: "Specify the target number of polygons in the generated model. Valid range is 100 to 300,000." + maximum: 300000 + minimum: 100 + type: integer + texture_image_url: + description: "Provide a 2d image to guide the texturing process. Supports .jpg, .jpeg, .png formats or base64-encoded data URI." + type: string + texture_prompt: + description: Provide a text prompt to guide the texturing process. Maximum 600 characters. + maxLength: 600 + type: string + topology: + $ref: "#/components/schemas/MeshyTopology" + required: + - image_url + type: object + MeshyImageTo3DTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + expires_at: + description: "Timestamp of when the task result expires, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + model_urls: + $ref: "#/components/schemas/MeshyImageTo3DModelUrls" + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task. 0 if not started, 100 when succeeded." + maximum: 100 + minimum: 0 + type: integer + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + texture_image_url: + description: Downloadable URL to the texture image that was used to guide the texturing process. + type: string + texture_prompt: + description: The text prompt that was used to guide the texturing process. + type: string + texture_urls: + description: An array of texture URL objects that are generated from the task. + items: + $ref: "#/components/schemas/MeshyTextureUrls" + type: array + thumbnail_url: + description: Downloadable URL to the thumbnail image of the model file. + type: string + type: + description: Type of the Image to 3D task. + enum: + - image-to-3d + type: string + required: + - id + - status + type: object + MeshyModelUrls: + description: Downloadable URLs to the textured 3D model files generated by Meshy. + properties: + fbx: + description: Downloadable URL to the FBX file. + type: string + glb: + description: Downloadable URL to the GLB file. + type: string + mtl: + description: Downloadable URL to the MTL file. + type: string + obj: + description: Downloadable URL to the OBJ file. + type: string + usdz: + description: Downloadable URL to the USDZ file. + type: string + type: object + MeshyMultiImageTo3DCreateResponse: + properties: + result: + description: The task id of the newly created Multi-Image to 3D task. + type: string + required: + - result + type: object + MeshyMultiImageTo3DRequest: + properties: + ai_model: + default: latest + description: ID of the model to use. + enum: + - meshy-5 + - latest + type: string + enable_pbr: + default: false + description: "Generate PBR Maps (metallic, roughness, normal) in addition to the base color." + type: boolean + image_urls: + description: Provide 1 to 4 images for Meshy to use in model creation. All images should depict the same object from different angles. + items: + type: string + maxItems: 4 + minItems: 1 + type: array + is_a_t_pose: + default: false + description: Deprecated. Use pose_mode instead. Whether to generate the model in an A/T pose. + type: boolean + moderation: + default: false + description: "When true, input content will be screened for potentially harmful content." + type: boolean + pose_mode: + $ref: "#/components/schemas/MeshyPoseMode" + save_pre_remeshed_model: + default: false + description: "When true, stores an extra GLB file before the remesh phase completes. Only takes effect when should_remesh is true." + type: boolean + should_remesh: + default: true + description: "Controls whether to enable the remesh phase. When false, returns highest-precision triangular mesh." + type: boolean + should_texture: + default: true + description: "Determines if textures are generated. When false, provides a mesh without textures for 5 credits." + type: boolean + symmetry_mode: + $ref: "#/components/schemas/MeshySymmetryMode" + target_polycount: + default: 30000 + description: "Specify the target number of polygons in the generated model. Valid range is 100 to 300,000." + maximum: 300000 + minimum: 100 + type: integer + texture_image_url: + description: "Provide a 2d image to guide the texturing process. Supports .jpg, .jpeg, .png formats or base64-encoded data URI." + type: string + texture_prompt: + description: Provide a text prompt to guide the texturing process. Maximum 600 characters. + maxLength: 600 + type: string + topology: + $ref: "#/components/schemas/MeshyTopology" + required: + - image_urls + type: object + MeshyMultiImageTo3DTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + expires_at: + description: "Timestamp of when the task result expires, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + model_urls: + $ref: "#/components/schemas/MeshyImageTo3DModelUrls" + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task. 0 if not started, 100 when succeeded." + maximum: 100 + minimum: 0 + type: integer + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + texture_prompt: + description: The text prompt that was used to guide the texturing process. + type: string + texture_urls: + description: An array of texture URL objects that are generated from the task. + items: + $ref: "#/components/schemas/MeshyTextureUrls" + type: array + thumbnail_url: + description: Downloadable URL to the thumbnail image of the model file. + type: string + type: + description: Type of the Multi-Image to 3D task. + enum: + - multi-image-to-3d + type: string + required: + - id + - status + type: object + MeshyPoseMode: + description: Specify the pose mode for the generated model. + enum: + - a-pose + - t-pose + - "" + type: string + MeshyRemeshCreateResponse: + properties: + result: + description: The id of the newly created remesh task. + type: string + required: + - result + type: object + MeshyRemeshModelUrls: + description: Downloadable URLs to the remeshed 3D model files. + properties: + blend: + description: Downloadable URL to the Blender file. + type: string + fbx: + description: Downloadable URL to the FBX file. + type: string + glb: + description: Downloadable URL to the GLB file. + type: string + obj: + description: Downloadable URL to the OBJ file. + type: string + stl: + description: Downloadable URL to the STL file. + type: string + usdz: + description: Downloadable URL to the USDZ file. + type: string + type: object + MeshyRemeshRequest: + properties: + convert_format_only: + default: false + description: "If true, only changes the format of the input model file, ignoring other inputs like topology, resize_height, and target_polycount." + type: boolean + input_task_id: + description: The ID of the completed Image to 3D or Text to 3D task you wish to remesh. Required if model_url is not provided. + type: string + model_url: + description: "A publicly accessible URL or data URI to a 3D model. Supported formats glb, gltf, obj, fbx, stl. Required if input_task_id is not provided." + type: string + origin_at: + description: Position of the origin. + enum: + - bottom + - center + - "" + type: string + resize_height: + default: 0 + description: Resize the model to a certain height measured in meters. 0 means no resizing. + type: number + target_formats: + default: + - glb + description: A list of target formats for the remeshed model. + items: + enum: + - glb + - fbx + - obj + - usdz + - blend + - stl + type: string + type: array + target_polycount: + default: 30000 + description: "Specify the target number of polygons in the generated model. Valid range is 100 to 300,000." + maximum: 300000 + minimum: 100 + type: integer + topology: + $ref: "#/components/schemas/MeshyTopology" + type: object + MeshyRemeshTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + model_urls: + $ref: "#/components/schemas/MeshyRemeshModelUrls" + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task. 0 if not started, 100 when succeeded." + maximum: 100 + minimum: 0 + type: integer + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyRemeshTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + type: + description: Type of the Remesh task. + enum: + - remesh + type: string + required: + - id + - status + type: object + MeshyRemeshTaskStatus: + description: Status of the remesh task. + enum: + - PENDING + - PROCESSING + - SUCCEEDED + - FAILED + type: string + MeshyRetextureCreateResponse: + properties: + result: + description: The task id of the newly created Retexture task. + type: string + required: + - result + type: object + MeshyRetextureModelUrls: + description: Downloadable URLs to the textured 3D model files. + properties: + fbx: + description: Downloadable URL to the FBX file. + type: string + glb: + description: Downloadable URL to the GLB file. + type: string + usdz: + description: Downloadable URL to the USDZ file. + type: string + type: object + MeshyRetextureRequest: + properties: + ai_model: + $ref: "#/components/schemas/MeshyAiModel" + enable_original_uv: + default: true + description: Use the original UV of the model instead of generating new UVs. + type: boolean + enable_pbr: + default: false + description: "Generate PBR Maps (metallic, roughness, normal) in addition to the base color." + type: boolean + image_style_url: + description: "A 2d image to guide the texturing process. Supports jpg, jpeg, png formats or base64-encoded data URI. Required if text_style_prompt is not provided." + type: string + input_task_id: + description: The ID of the completed Image to 3D or Text to 3D task you wish to retexture. Required if model_url is not provided. + type: string + model_url: + description: "A publicly accessible URL or Data URI to a 3D model. Supported formats glb, gltf, obj, fbx, stl. Required if input_task_id is not provided." + type: string + text_style_prompt: + description: Describe your desired texture style of the object using text. Maximum 600 characters. Required if image_style_url is not provided. + maxLength: 600 + type: string + type: object + MeshyRetextureTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + expires_at: + description: "Timestamp of when the task result expires, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + image_style_url: + description: The image input that was used to create the texturing task. + type: string + model_urls: + $ref: "#/components/schemas/MeshyRetextureModelUrls" + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task. 0 if not started, 100 when succeeded." + maximum: 100 + minimum: 0 + type: integer + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + text_style_prompt: + description: The text prompt that was used to create the texturing task. + type: string + texture_urls: + description: An array of texture URL objects that are generated from the task. + items: + $ref: "#/components/schemas/MeshyTextureUrls" + type: array + thumbnail_url: + description: Downloadable URL to the thumbnail image of the model file. + type: string + type: + description: Type of the Retexture task. + enum: + - retexture + type: string + required: + - id + - status + type: object + MeshyRiggingBasicAnimations: + description: Contains URLs for default animations. + properties: + running_armature_glb_url: + description: Downloadable URL for running animation armature in GLB format. + type: string + running_fbx_url: + description: Downloadable URL for running animation in FBX format (with skin). + type: string + running_glb_url: + description: Downloadable URL for running animation in GLB format (with skin). + type: string + walking_armature_glb_url: + description: Downloadable URL for walking animation armature in GLB format. + type: string + walking_fbx_url: + description: Downloadable URL for walking animation in FBX format (with skin). + type: string + walking_glb_url: + description: Downloadable URL for walking animation in GLB format (with skin). + type: string + type: object + MeshyRiggingCreateResponse: + properties: + result: + description: The task id of the newly created rigging task. + type: string + required: + - result + type: object + MeshyRiggingRequest: + properties: + height_meters: + default: 1.7 + description: The approximate height of the character model in meters. Must be a positive number. + type: number + input_task_id: + description: The input task that needs to be rigged. Required if model_url is not provided. + type: string + model_url: + description: A publicly accessible URL or Data URI to a textured humanoid GLB file. Required if input_task_id is not provided. + type: string + texture_image_url: + description: "The model's UV-unwrapped base color texture image. Publicly accessible URL or Data URI. Supports .png format." + type: string + type: object + MeshyRiggingResult: + description: Contains the output asset URLs if the task SUCCEEDED. + properties: + basic_animations: + $ref: "#/components/schemas/MeshyRiggingBasicAnimations" + rigged_character_fbx_url: + description: Downloadable URL for the rigged character in FBX format. + type: string + rigged_character_glb_url: + description: Downloadable URL for the rigged character in GLB format. + type: string + type: object + MeshyRiggingTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + expires_at: + description: "Timestamp of when the task result expires, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task (0-100). 0 if not started, 100 if succeeded." + maximum: 100 + minimum: 0 + type: integer + result: + $ref: "#/components/schemas/MeshyRiggingResult" + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + type: + description: Type of the Rigging task. + enum: + - rig + type: string + required: + - id + - status + type: object + MeshySymmetryMode: + default: auto + description: Controls symmetry behavior during model generation. + enum: + - "off" + - auto + - "on" + type: string + MeshyTaskError: + description: Error object that contains the error message if the task failed. + properties: + message: + description: Detailed error message. + type: string + type: object + MeshyTaskStatus: + description: Status of the task. + enum: + - PENDING + - IN_PROGRESS + - SUCCEEDED + - FAILED + - CANCELED + type: string + MeshyTextTo3DCreateResponse: + properties: + result: + description: The task id of the newly created Text to 3D task. + type: string + required: + - result + type: object + MeshyTextTo3DPreviewRequest: + properties: + ai_model: + $ref: "#/components/schemas/MeshyAiModel" + art_style: + $ref: "#/components/schemas/MeshyArtStyle" + is_a_t_pose: + default: false + description: Deprecated. Use pose_mode instead. Whether to generate the model in an A/T pose. + type: boolean + mode: + description: "This field should be set to \"preview\" when creating a preview task." + enum: + - preview + type: string + moderation: + default: false + description: "When true, input content will be screened for potentially harmful content." + type: boolean + pose_mode: + $ref: "#/components/schemas/MeshyPoseMode" + prompt: + description: Describe what kind of object the 3D model is. Maximum 600 characters. + maxLength: 600 + type: string + should_remesh: + default: true + description: "Controls whether to enable the remesh phase. When false, returns highest-precision triangular mesh." + type: boolean + symmetry_mode: + $ref: "#/components/schemas/MeshySymmetryMode" + target_polycount: + default: 30000 + description: "Specify the target number of polygons in the generated model. Valid range is 100 to 300,000." + maximum: 300000 + minimum: 100 + type: integer + topology: + $ref: "#/components/schemas/MeshyTopology" + required: + - mode + - prompt + type: object + MeshyTextTo3DRefineRequest: + properties: + ai_model: + $ref: "#/components/schemas/MeshyAiModel" + enable_pbr: + default: false + description: "Generate PBR Maps (metallic, roughness, normal) in addition to the base color. Note that enable_pbr should be set to false when using Sculpture style." + type: boolean + mode: + description: "This field should be set to \"refine\" when creating a refine task." + enum: + - refine + type: string + moderation: + default: false + description: "When true, input content will be screened for potentially harmful content." + type: boolean + preview_task_id: + description: The corresponding preview task id. The status of the given preview task must be SUCCEEDED. + type: string + texture_image_url: + description: "Provide a 2d image to guide the texturing process. Supports .jpg, .jpeg, .png formats or base64-encoded data URI." + type: string + texture_prompt: + description: Provide an additional text prompt to guide the texturing process. Maximum 600 characters. + maxLength: 600 + type: string + required: + - mode + - preview_task_id + type: object + MeshyTextTo3DRequest: + discriminator: + mapping: + preview: "#/components/schemas/MeshyTextTo3DPreviewRequest" + refine: "#/components/schemas/MeshyTextTo3DRefineRequest" + propertyName: mode + oneOf: + - $ref: "#/components/schemas/MeshyTextTo3DPreviewRequest" + - $ref: "#/components/schemas/MeshyTextTo3DRefineRequest" + MeshyTextTo3DTask: + properties: + art_style: + description: The unmodified art_style that was used to create the preview task. + type: string + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + model_urls: + $ref: "#/components/schemas/MeshyModelUrls" + negative_prompt: + description: Deprecated field maintained for backward compatibility. + type: string + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task. 0 if not started, 100 when succeeded." + maximum: 100 + minimum: 0 + type: integer + prompt: + description: The unmodified prompt that was used to create the task. + type: string + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + texture_image_url: + description: Downloadable URL to the texture image that was used to guide the texturing process. + type: string + texture_prompt: + description: Additional text prompt provided to guide the texturing process during the refine stage. + type: string + texture_richness: + description: Deprecated field maintained for backward compatibility. + type: string + texture_urls: + description: An array of texture URL objects that are generated from the task. + items: + $ref: "#/components/schemas/MeshyTextureUrls" + type: array + thumbnail_url: + description: Downloadable URL to the thumbnail image of the model file. + type: string + type: + description: Type of the Text to 3D task. + enum: + - text-to-3d-preview + - text-to-3d-refine + type: string + video_url: + description: Deprecated field returning the downloadable URL to the preview video. + type: string + required: + - id + - status + type: object + MeshyTextureUrls: + description: Texture URL object containing PBR maps. + properties: + base_color: + description: Downloadable URL to the base color map image. + type: string + metallic: + description: Downloadable URL to the metallic map image. + type: string + normal: + description: Downloadable URL to the normal map image. + type: string + roughness: + description: Downloadable URL to the roughness map image. + type: string + type: object + MeshyTopology: + default: triangle + description: Specify the topology of the generated model. + enum: + - quad + - triangle + type: string + MigrationAPIKey: + description: "One of a customer's API keys, for cloud's migrate-on-miss to seed into\nworkspace_api_keys by hash. M2M/admin-only; carries the hash, never plaintext.\n" + properties: + description: + type: string + key_hash: + type: string + key_prefix: + type: string + name: + type: string + required: + - key_hash + type: object + MinimaxBaseResponse: + description: Common response structure used by Minimax APIs + properties: + status_code: + description: "Status code. 0 indicates success, other values indicate errors." + type: integer + status_msg: + description: Specific error details or success message. + type: string + required: + - status_code + - status_msg + type: object + MinimaxFileRetrieveResponse: + description: Response from retrieving a Minimax file download URL. + properties: + base_resp: + $ref: "#/components/schemas/MinimaxBaseResponse" + file: + properties: + bytes: + description: File size in bytes + type: integer + created_at: + description: "Unix timestamp when the file was created, in seconds" + type: integer + download_url: + description: The URL to download the video + type: string + file_id: + description: Unique identifier for the file + type: integer + filename: + description: The name of the file + type: string + purpose: + description: The purpose of using the file + type: string + type: object + required: + - file + - base_resp + type: object + MinimaxTaskResultResponse: + description: Response from querying a Minimax video generation task status. + properties: + base_resp: + $ref: "#/components/schemas/MinimaxBaseResponse" + file_id: + description: "After the task status changes to Success, this field returns the file ID corresponding to the generated video." + type: string + status: + description: "Task status: 'Queueing' (in queue), 'Preparing' (task is preparing), 'Processing' (generating), 'Success' (task completed successfully), or 'Fail' (task failed)." + enum: + - Queueing + - Preparing + - Processing + - Success + - Fail + type: string + task_id: + description: The task ID being queried. + type: string + required: + - task_id + - status + - base_resp + type: object + MinimaxVideoGenerationRequest: + description: Parameters for the Minimax video generation proxy request. + properties: + callback_url: + description: Optional. URL to receive real-time status updates about the video generation task. + type: string + duration: + default: 6 + description: Video length in seconds. Only available for MiniMax-Hailuo-02 + enum: + - 6 + - 10 + type: integer + first_frame_image: + description: "URL or base64 encoding of the first frame image. Required when model is I2V-01, I2V-01-Director, or I2V-01-live." + type: string + model: + description: "Required. ID of model. Options: MiniMax-Hailuo-02, T2V-01-Director, I2V-01-Director, S2V-01, I2V-01, I2V-01-live, T2V-01" + enum: + - MiniMax-Hailuo-02 + - T2V-01-Director + - I2V-01-Director + - S2V-01 + - I2V-01 + - I2V-01-live + - T2V-01 + type: string + prompt: + description: "Description of the video. Should be less than 2000 characters. Supports camera movement instructions in [brackets]." + maxLength: 2000 + type: string + prompt_optimizer: + default: true + description: "If true (default), the model will automatically optimize the prompt. Set to false for more precise control." + type: boolean + resolution: + default: 768P + description: Video resolution. Only available for MiniMax-Hailuo-02. + enum: + - 768P + - 1080P + type: string + subject_reference: + description: Only available when model is S2V-01. The model will generate a video based on the subject uploaded through this parameter. + items: + properties: + image: + description: URL or base64 encoding of the subject reference image. + type: string + mask: + description: URL or base64 encoding of the mask for the subject reference image. + type: string + type: object + type: array + required: + - model + type: object + MinimaxVideoGenerationResponse: + description: Response from the Minimax video generation API. + properties: + base_resp: + $ref: "#/components/schemas/MinimaxBaseResponse" + task_id: + description: The task ID for the asynchronous video generation task. + type: string + required: + - task_id + - base_resp + type: object + Modality: + description: Type of input or output content modality. + enum: + - MODALITY_UNSPECIFIED + - TEXT + - IMAGE + - VIDEO + - AUDIO + - DOCUMENT + type: string + ModalityTokenCount: + properties: + modality: + $ref: "#/components/schemas/Modality" + tokenCount: + description: Number of tokens for the given modality. + type: integer + type: object + ModelClassification: + properties: + cost_cents: + description: Representative per-call rate-card cost in USD cents; null if unknown. + format: double + nullable: true + type: number + effective_tier: + description: Tier the gate assigns; empty string means not capped. + type: string + model: + type: string + override: + description: "Raw override tier ('expensive' | 'exempt'); null when unset." + nullable: true + type: string + reason: + description: "One of model_override, cost_ladder, exempt, model_default." + type: string + required: + - model + - effective_tier + - reason + type: object + ModelResponseProperties: + description: Common properties for model responses + properties: + instructions: + description: Instructions for the model on how to generate the response + type: string + max_output_tokens: + description: Maximum number of tokens to generate + type: integer + model: + description: The model used to generate the response + type: string + temperature: + default: 1 + description: Controls randomness in the response + maximum: 2 + minimum: 0 + type: number + top_p: + default: 1 + description: Controls diversity of the response via nucleus sampling + maximum: 1 + minimum: 0 + type: number + truncation: + default: disabled + description: How to handle truncation of the response + enum: + - disabled + - auto + type: string + type: object + MoonvalleyImageToVideoRequest: + allOf: + - $ref: "#/components/schemas/MoonvalleyTextToVideoRequest" + - properties: + keyframes: + additionalProperties: + properties: + image_url: + type: string + type: object + type: object + type: object + MoonvalleyPromptResponse: + properties: + error: + type: object + frame_conditioning: + type: object + id: + type: string + inference_params: + type: object + meta: + type: object + model_params: + type: object + output_url: + type: string + prompt_text: + type: string + status: + type: string + type: object + MoonvalleyResizeVideoRequest: + allOf: + - $ref: "#/components/schemas/MoonvalleyVideoToVideoRequest" + - properties: + frame_position: + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + frame_resolution: + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + scale: + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + type: object + MoonvalleyTextToImageRequest: + properties: + image_url: + type: string + inference_params: + $ref: "#/components/schemas/MoonvalleyTextToVideoInferenceParams" + prompt_text: + type: string + webhook_url: + type: string + type: object + MoonvalleyTextToVideoInferenceParams: + properties: + guidance_scale: + default: 10 + description: Guidance scale for generation control + format: float + type: number + height: + default: 1080 + description: Height of the generated video in pixels + type: integer + negative_prompt: + description: Negative prompt text + type: string + seed: + default: 9 + description: "Random seed for generation (default: random)" + type: integer + steps: + default: 80 + description: Number of denoising steps + type: integer + use_negative_prompts: + default: true + description: Whether to use negative prompts + type: boolean + width: + default: 1920 + description: Width of the generated video in pixels + type: integer + type: object + MoonvalleyTextToVideoRequest: + properties: + image_url: + type: string + inference_params: + $ref: "#/components/schemas/MoonvalleyTextToVideoInferenceParams" + prompt_text: + type: string + webhook_url: + type: string + type: object + MoonvalleyUploadFileRequest: + properties: + file: + format: binary + type: string + type: object + MoonvalleyUploadFileResponse: + properties: + access_url: + type: string + type: object + MoonvalleyVideoToVideoInferenceParams: + properties: + control_params: + properties: + motion_intensity: + default: 6 + description: Intensity of motion control + format: int32 + type: integer + type: object + guidance_scale: + default: 10 + description: Guidance scale for generation control + format: float + type: number + negative_prompt: + description: Negative prompt text + type: string + seed: + default: 9 + description: "Random seed for generation (default: random)" + type: integer + steps: + default: 80 + description: Number of denoising steps + type: integer + use_negative_prompts: + default: true + description: Whether to use negative prompts + type: boolean + type: object + MoonvalleyVideoToVideoRequest: + properties: + control_type: + description: Supported types for video control + enum: + - motion_control + - pose_control + type: string + image_url: + description: Url to control image + type: string + inference_params: + $ref: "#/components/schemas/MoonvalleyVideoToVideoInferenceParams" + prompt_text: + description: Describes the video to generate + type: string + video_url: + description: Url to control video + type: string + webhook_url: + description: Optional webhook URL for notifications + type: string + required: + - prompt_text + - video_url + - control_type + type: object + Node: + properties: + author: + type: string + banner_url: + description: "URL to the node's banner." + type: string + category: + deprecated: true + description: "DEPRECATED: The category of the node. Use 'tags' field instead. This field will be removed in a future version." + type: string + created_at: + description: The date and time when the node was created + format: date-time + type: string + description: + type: string + downloads: + description: The number of downloads of the node. + type: integer + github_stars: + description: Number of stars on the GitHub repository. + type: integer + icon: + description: "URL to the node's icon." + type: string + id: + description: The unique identifier of the node. + type: string + latest_version: + $ref: "#/components/schemas/NodeVersion" + license: + description: "The path to the LICENSE file in the node's repository." + type: string + name: + description: The display name of the node. + type: string + preempted_comfy_node_names: + description: A list of Comfy node names that are preempted by this node. + items: + type: string + type: array + publisher: + $ref: "#/components/schemas/Publisher" + rating: + description: The average rating of the node. + type: number + repository: + description: "URL to the node's repository." + type: string + search_ranking: + description: "A numerical value representing the node's search ranking, used for sorting search results." + type: integer + status: + $ref: "#/components/schemas/NodeStatus" + status_detail: + description: The status detail of the node. + type: string + supported_accelerators: + description: "List of accelerators (e.g. CUDA, DirectML, ROCm) that this node supports" + items: + type: string + type: array + supported_comfyui_frontend_version: + description: Supported versions of ComfyUI frontend + type: string + supported_comfyui_version: + description: Supported versions of ComfyUI + type: string + supported_os: + description: List of operating systems that this node supports + items: + type: string + type: array + tags: + items: + type: string + type: array + tags_admin: + description: Admin-only tags for security warnings and admin metadata + items: + type: string + type: array + translations: + additionalProperties: + additionalProperties: true + type: object + description: Translations of node metadata in different languages. + type: object + type: object + NodeStatus: + enum: + - NodeStatusActive + - NodeStatusDeleted + - NodeStatusBanned + type: string + NodeVersion: + properties: + changelog: + description: Summary of changes made in this version + type: string + comfy_node_extract_status: + description: The status of comfy node extraction process. + type: string + createdAt: + description: The date and time the version was created. + format: date-time + type: string + dependencies: + description: A list of pip dependencies required by the node. + items: + type: string + type: array + deprecated: + description: Indicates if this version is deprecated. + type: boolean + downloadUrl: + description: "[Output Only] URL to download this version of the node" + type: string + id: + type: string + node_id: + description: The unique identifier of the node. + type: string + status: + $ref: "#/components/schemas/NodeVersionStatus" + status_reason: + type: string + supported_accelerators: + description: "List of accelerators (e.g. CUDA, DirectML, ROCm) that this node supports" + items: + type: string + type: array + supported_comfyui_frontend_version: + description: Supported versions of ComfyUI frontend + type: string + supported_comfyui_version: + description: Supported versions of ComfyUI + type: string + supported_os: + description: List of operating systems that this node supports + items: + type: string + type: array + tags: + items: + type: string + type: array + tags_admin: + description: Admin-only tags for security warnings and admin metadata + items: + type: string + type: array + version: + description: "The version identifier, following semantic versioning. Must be unique for the node." + type: string + type: object + NodeVersionIdentifier: + properties: + node_id: + description: The unique identifier of the node + type: string + version: + description: The version of the node + type: string + required: + - node_id + - version + type: object + NodeVersionStatus: + enum: + - NodeVersionStatusActive + - NodeVersionStatusDeleted + - NodeVersionStatusBanned + - NodeVersionStatusPending + - NodeVersionStatusFlagged + type: string + NodeVersionUpdateRequest: + properties: + changelog: + description: The changelog describing the version changes. + type: string + deprecated: + description: Whether the version is deprecated. + type: boolean + type: object + OpenAICreateResponse: + allOf: + - $ref: "#/components/schemas/CreateModelResponseProperties" + - $ref: "#/components/schemas/ResponseProperties" + - properties: + include: + description: "Specify additional output data to include in the model response. Currently\nsupported values are:\n- `file_search_call.results`: Include the search results of\n the file search tool call.\n- `message.input_image.image_url`: Include image urls from the input message.\n- `computer_call_output.output.image_url`: Include image urls from the computer call output.\n" + items: + $ref: "#/components/schemas/Includable" + nullable: true + type: array + input: + description: "Text, image, or file inputs to the model, used to generate a response.\n\nLearn more:\n- [Text inputs and outputs](/docs/guides/text)\n- [Image inputs](/docs/guides/images)\n- [File inputs](/docs/guides/pdf-files)\n- [Conversation state](/docs/guides/conversation-state)\n- [Function calling](/docs/guides/function-calling)\n" + oneOf: + - description: "A text input to the model, equivalent to a text input with the\n`user` role.\n" + title: Text input + type: string + - description: "A list of one or many input items to the model, containing\ndifferent content types.\n" + items: + $ref: "#/components/schemas/InputItem" + title: Input item list + type: array + parallel_tool_calls: + default: true + description: "Whether to allow the model to run tool calls in parallel.\n" + nullable: true + type: boolean + store: + default: true + description: "Whether to store the generated model response for later retrieval via\nAPI.\n" + nullable: true + type: boolean + stream: + default: false + description: "If set to true, the model response data will be streamed to the client\nas it is generated using [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format).\nSee the [Streaming section below](/docs/api-reference/responses-streaming)\nfor more information.\n" + nullable: true + type: boolean + usage: + $ref: "#/components/schemas/ResponseUsage" + required: + - model + - input + type: object + OpenAIImageEditRequest: + properties: + background: + description: Background transparency + example: opaque + type: string + model: + description: "The model to use for image editing (e.g., dall-e-2, gpt-image-1, gpt-image-1.5, gpt-image-2)" + example: gpt-image-2 + type: string + moderation: + description: Content moderation setting + enum: + - low + - auto + example: auto + type: string + "n": + description: The number of images to generate + example: 1 + type: integer + output_compression: + description: Compression level for JPEG or WebP (0-100) + example: 100 + type: integer + output_format: + description: Format of the output image + enum: + - png + - webp + - jpeg + example: png + type: string + prompt: + description: A text description of the desired edit + example: Give the rocketship rainbow coloring + type: string + quality: + description: The quality of the edited image + example: low + type: string + size: + description: Size of the output image + example: 1024x1024 + type: string + user: + description: A unique identifier for end-user monitoring + example: user-1234 + type: string + required: + - model + - prompt + type: object + OpenAIImageGenerationRequest: + properties: + background: + description: Background transparency + enum: + - transparent + - opaque + example: opaque + type: string + model: + description: "The model to use for image generation (e.g., dall-e-2, dall-e-3, gpt-image-1, gpt-image-1.5, gpt-image-2)" + example: gpt-image-2 + type: string + moderation: + description: Content moderation setting + enum: + - low + - auto + example: auto + type: string + "n": + description: The number of images to generate (1-10). Only 1 supported for dall-e-3. + example: 1 + type: integer + output_compression: + description: Compression level for JPEG or WebP (0-100) + example: 100 + type: integer + output_format: + description: Format of the output image + enum: + - png + - webp + - jpeg + example: png + type: string + prompt: + description: A text description of the desired image + example: Draw a rocket in front of a blackhole in deep space + type: string + quality: + description: The quality of the generated image + enum: + - low + - medium + - high + - standard + - hd + example: high + type: string + response_format: + description: Response format of image data + enum: + - url + - b64_json + example: b64_json + type: string + size: + description: "Size of the image (e.g., 1024x1024, 1536x1024, auto)" + example: 1024x1536 + type: string + style: + description: Style of the image (only for dall-e-3) + enum: + - vivid + - natural + example: vivid + type: string + user: + description: A unique identifier for end-user monitoring + example: user-1234 + type: string + required: + - prompt + type: object + OpenAIImageGenerationResponse: + properties: + data: + items: + properties: + b64_json: + description: Base64 encoded image data + type: string + revised_prompt: + description: Revised prompt + type: string + url: + description: URL of the image + type: string + type: object + type: array + usage: + properties: + input_tokens: + type: integer + input_tokens_details: + properties: + image_tokens: + type: integer + text_tokens: + type: integer + type: object + output_tokens: + type: integer + output_tokens_details: + properties: + image_tokens: + type: integer + text_tokens: + type: integer + type: object + total_tokens: + type: integer + type: object + type: object + OpenAIModels: + enum: + - gpt-4 + - gpt-4-0314 + - gpt-4-0613 + - gpt-4-32k + - gpt-4-32k-0314 + - gpt-4-32k-0613 + - gpt-4-0125-preview + - gpt-4-turbo + - gpt-4-turbo-2024-04-09 + - gpt-4-turbo-preview + - gpt-4-1106-preview + - gpt-4-vision-preview + - gpt-3.5-turbo + - gpt-3.5-turbo-16k + - gpt-3.5-turbo-0301 + - gpt-3.5-turbo-0613 + - gpt-3.5-turbo-1106 + - gpt-3.5-turbo-0125 + - gpt-3.5-turbo-16k-0613 + - gpt-4.1 + - gpt-4.1-mini + - gpt-4.1-nano + - gpt-4.1-2025-04-14 + - gpt-4.1-mini-2025-04-14 + - gpt-4.1-nano-2025-04-14 + - o1 + - o1-mini + - o1-preview + - o1-pro + - o1-2024-12-17 + - o1-preview-2024-09-12 + - o1-mini-2024-09-12 + - o1-pro-2025-03-19 + - o3 + - o3-mini + - o3-2025-04-16 + - o3-mini-2025-01-31 + - o4-mini + - o4-mini-2025-04-16 + - gpt-4o + - gpt-4o-mini + - gpt-4o-2024-11-20 + - gpt-4o-2024-08-06 + - gpt-4o-2024-05-13 + - gpt-4o-mini-2024-07-18 + - gpt-4o-audio-preview + - gpt-4o-audio-preview-2024-10-01 + - gpt-4o-audio-preview-2024-12-17 + - gpt-4o-mini-audio-preview + - gpt-4o-mini-audio-preview-2024-12-17 + - gpt-4o-search-preview + - gpt-4o-mini-search-preview + - gpt-4o-search-preview-2025-03-11 + - gpt-4o-mini-search-preview-2025-03-11 + - computer-use-preview + - computer-use-preview-2025-03-11 + - gpt-5 + - gpt-5-mini + - gpt-5-nano + - gpt-5.5 + - gpt-5.5-pro + - chatgpt-4o-latest + type: string + OpenAIResponse: + allOf: + - $ref: "#/components/schemas/ModelResponseProperties" + - $ref: "#/components/schemas/ResponseProperties" + - properties: + created_at: + description: Unix timestamp (in seconds) of when this Response was created. + type: number + error: + $ref: "#/components/schemas/ResponseError" + id: + description: Unique identifier for this Response. + type: string + incomplete_details: + description: "Details about why the response is incomplete.\n" + nullable: true + properties: + reason: + description: The reason why the response is incomplete. + enum: + - max_output_tokens + - content_filter + type: string + type: object + object: + description: "The object type of this resource - always set to `response`." + enum: + - response + type: string + x-stainless-const: true + output: + description: "An array of content items generated by the model.\n\n- The length and order of items in the `output` array is dependent\n on the model's response.\n- Rather than accessing the first item in the `output` array and\n assuming it's an `assistant` message with the content generated by\n the model, you might consider using the `output_text` property where\n supported in SDKs.\n" + items: + $ref: "#/components/schemas/OutputItem" + type: array + output_text: + description: "SDK-only convenience property that contains the aggregated text output\nfrom all `output_text` items in the `output` array, if any are present.\nSupported in the Python and JavaScript SDKs.\n" + nullable: true + type: string + x-oaiSupportedSDKs: + - python + - javascript + parallel_tool_calls: + default: true + description: "Whether to allow the model to run tool calls in parallel.\n" + type: boolean + status: + description: "The status of the response generation. One of `completed`, `failed`, `in_progress`, or `incomplete`." + enum: + - completed + - failed + - in_progress + - incomplete + type: string + usage: + $ref: "#/components/schemas/ResponseUsage" + type: object + description: A response from the model + type: object + OpenAIResponseStreamEvent: + anyOf: + - $ref: "#/components/schemas/ResponseCreatedEvent" + - $ref: "#/components/schemas/ResponseInProgressEvent" + - $ref: "#/components/schemas/ResponseCompletedEvent" + - $ref: "#/components/schemas/ResponseFailedEvent" + - $ref: "#/components/schemas/ResponseIncompleteEvent" + - $ref: "#/components/schemas/ResponseOutputItemAddedEvent" + - $ref: "#/components/schemas/ResponseOutputItemDoneEvent" + - $ref: "#/components/schemas/ResponseContentPartAddedEvent" + - $ref: "#/components/schemas/ResponseContentPartDoneEvent" + - $ref: "#/components/schemas/ResponseErrorEvent" + description: Events that can be emitted during response streaming + type: object + OpenAIVideoCreateRequest: + properties: + input_reference: + description: Optional image or video reference that guides generation + format: binary + type: string + model: + default: sora-2 + description: The video generation model to use + enum: + - sora-2 + - sora-2-pro + type: string + prompt: + description: Text prompt that describes the video to generate + example: A calico cat playing a piano on stage + type: string + seconds: + default: "4" + description: Clip duration in seconds + enum: + - "4" + - "8" + - "12" + type: string + size: + default: 720x1280 + description: Output resolution formatted as width x height + enum: + - 720x1280 + - 1280x720 + - 1024x1792 + - 1792x1024 + type: string + required: + - prompt + type: object + OpenAIVideoJob: + properties: + completed_at: + description: "Unix timestamp (seconds) for when the job completed, if finished" + example: 1712698600 + type: integer + created_at: + description: Unix timestamp (seconds) for when the job was created + example: 1712697600 + type: integer + error: + description: "Error payload that explains why generation failed, if applicable" + properties: + code: + description: Error code + type: string + message: + description: Human-readable error message + type: string + type: object + expires_at: + description: "Unix timestamp (seconds) for when the downloadable assets expire, if set" + example: 1712784000 + type: integer + id: + description: Unique identifier for the video job + example: video_123 + type: string + model: + description: The video generation model that produced the job + example: sora-2 + type: string + object: + description: "The object type, which is always video" + enum: + - video + example: video + type: string + progress: + description: Approximate completion percentage for the generation task + example: 0 + type: integer + quality: + description: Quality of the generated video + example: standard + type: string + remixed_from_video_id: + description: Identifier of the source video if this video is a remix + example: video_456 + type: string + seconds: + description: Duration of the generated clip in seconds + example: "8" + type: string + size: + description: The resolution of the generated video + example: 1024x1808 + type: string + status: + description: Current lifecycle status of the video job + enum: + - queued + - in_progress + - completed + - failed + example: queued + type: string + type: object + OpenRouterAnthropicCacheControlDirective: + description: "Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. Currently supported for Anthropic Claude models." + properties: + ttl: + $ref: "#/components/schemas/OpenRouterAnthropicCacheControlTtl" + type: + $ref: "#/components/schemas/OpenRouterAnthropicCacheControlDirectiveType" + required: + - type + title: AnthropicCacheControlDirective + type: object + OpenRouterAnthropicCacheControlDirectiveType: + enum: + - ephemeral + title: AnthropicCacheControlDirectiveType + type: string + OpenRouterAnthropicCacheControlTtl: + enum: + - 5m + - 1h + title: AnthropicCacheControlTtl + type: string + OpenRouterBigNumberUnion: + description: Price per million prompt tokens + title: BigNumberUnion + type: string + OpenRouterChatAssistantImages: + description: Generated images from image generation models + items: + $ref: "#/components/schemas/OpenRouterChatAssistantImagesItems" + title: ChatAssistantImages + type: array + OpenRouterChatAssistantImagesItems: + properties: + image_url: + $ref: "#/components/schemas/OpenRouterChatAssistantImagesItemsImageUrl" + required: + - image_url + title: ChatAssistantImagesItems + type: object + OpenRouterChatAssistantImagesItemsImageUrl: + properties: + url: + description: URL or base64-encoded data of the generated image + type: string + required: + - url + title: ChatAssistantImagesItemsImageUrl + type: object + OpenRouterChatAssistantMessage: + description: Assistant message for requests and responses + properties: + audio: + $ref: "#/components/schemas/OpenRouterChatAudioOutput" + content: + $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingAssistantContent" + images: + $ref: "#/components/schemas/OpenRouterChatAssistantImages" + name: + description: Optional name for the assistant + type: string + reasoning: + description: Reasoning output + nullable: true + type: string + reasoning_details: + $ref: "#/components/schemas/OpenRouterChatReasoningDetails" + refusal: + description: Refusal message if content was refused + nullable: true + type: string + tool_calls: + description: Tool calls made by the assistant + items: + $ref: "#/components/schemas/OpenRouterChatToolCall" + type: array + title: ChatAssistantMessage + type: object + OpenRouterChatAudioOutput: + description: Audio output data or reference + properties: + data: + description: Base64 encoded audio data + type: string + expires_at: + description: Audio expiration timestamp + type: integer + id: + description: Audio output identifier + type: string + transcript: + description: Audio transcript + type: string + title: ChatAudioOutput + type: object + OpenRouterChatChoice: + description: Chat completion choice + properties: + finish_reason: + $ref: "#/components/schemas/OpenRouterChatFinishReasonEnum" + index: + description: Choice index + type: integer + logprobs: + $ref: "#/components/schemas/OpenRouterChatTokenLogprobs" + message: + $ref: "#/components/schemas/OpenRouterChatAssistantMessage" + required: + - finish_reason + - index + - message + title: ChatChoice + type: object + OpenRouterChatContentCacheControl: + description: Cache control for the content part + properties: + ttl: + $ref: "#/components/schemas/OpenRouterAnthropicCacheControlTtl" + type: + $ref: "#/components/schemas/OpenRouterChatContentCacheControlType" + required: + - type + title: ChatContentCacheControl + type: object + OpenRouterChatContentCacheControlType: + enum: + - ephemeral + title: ChatContentCacheControlType + type: string + OpenRouterChatContentItems: + description: Content part for chat completion messages + oneOf: + - description: File content part for document processing + properties: + file: + $ref: "#/components/schemas/OpenRouterChatContentItemsDiscriminatorMappingFileFile" + type: + description: "Discriminator value: file" + enum: + - file + type: string + required: + - type + - file + type: object + - description: Image content part for vision models + properties: + image_url: + $ref: "#/components/schemas/OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrl" + type: + description: "Discriminator value: image_url" + enum: + - image_url + type: string + required: + - type + - image_url + type: object + - description: Audio input content part. Supported audio formats vary by provider. + properties: + input_audio: + $ref: "#/components/schemas/OpenRouterChatContentItemsDiscriminatorMappingInputAudioInputAudio" + type: + description: "Discriminator value: input_audio" + enum: + - input_audio + type: string + required: + - type + - input_audio + type: object + - description: Video input content part (legacy format - deprecated) + properties: + type: + $ref: "#/components/schemas/OpenRouterLegacyChatContentVideoType" + video_url: + $ref: "#/components/schemas/OpenRouterChatContentVideoInput" + required: + - type + - video_url + type: object + - description: Text content part + properties: + cache_control: + $ref: "#/components/schemas/OpenRouterChatContentCacheControl" + text: + type: string + type: + $ref: "#/components/schemas/OpenRouterChatContentTextType" + required: + - type + - text + type: object + - description: Video input content part + properties: + type: + $ref: "#/components/schemas/OpenRouterChatContentVideoType" + video_url: + $ref: "#/components/schemas/OpenRouterChatContentVideoInput" + required: + - type + - video_url + type: object + title: ChatContentItems + OpenRouterChatContentItemsDiscriminatorMappingFileFile: + properties: + file_data: + description: File content as base64 data URL or URL + type: string + file_id: + description: File ID for previously uploaded files + type: string + filename: + description: Original filename + type: string + title: ChatContentItemsDiscriminatorMappingFileFile + type: object + OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrl: + properties: + detail: + $ref: "#/components/schemas/OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrlDetail" + url: + description: "URL of the image (data: URLs supported)" + type: string + required: + - url + title: ChatContentItemsDiscriminatorMappingImageUrlImageUrl + type: object + OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrlDetail: + description: Image detail level for vision models + enum: + - auto + - low + - high + title: ChatContentItemsDiscriminatorMappingImageUrlImageUrlDetail + type: string + OpenRouterChatContentItemsDiscriminatorMappingInputAudioInputAudio: + properties: + data: + description: Base64 encoded audio data + type: string + format: + description: "Audio format (e.g., wav, mp3, flac, m4a, ogg, aiff, aac, pcm16, pcm24). Supported formats vary by provider." + type: string + required: + - data + - format + title: ChatContentItemsDiscriminatorMappingInputAudioInputAudio + type: object + OpenRouterChatContentText: + description: Text content part + properties: + cache_control: + $ref: "#/components/schemas/OpenRouterChatContentCacheControl" + text: + type: string + type: + $ref: "#/components/schemas/OpenRouterChatContentTextType" + required: + - text + - type + title: ChatContentText + type: object + OpenRouterChatContentTextType: + enum: + - text + title: ChatContentTextType + type: string + OpenRouterChatContentVideoInput: + description: Video input object + properties: + url: + description: "URL of the video (data: URLs supported)" + type: string + required: + - url + title: ChatContentVideoInput + type: object + OpenRouterChatContentVideoType: + enum: + - video_url + title: ChatContentVideoType + type: string + OpenRouterChatDebugOptions: + description: Debug options for inspecting request transformations (streaming only) + properties: + echo_upstream_body: + description: "If true, includes the transformed upstream request body in a debug chunk at the start of the stream. Only works with streaming mode." + type: boolean + title: ChatDebugOptions + type: object + OpenRouterChatFinishReasonEnum: + enum: + - tool_calls + - stop + - length + - content_filter + - error + title: ChatFinishReasonEnum + type: string + OpenRouterChatFunctionTool: + description: Tool definition for function calling (regular function or OpenRouter built-in server tool) + oneOf: + - $ref: "#/components/schemas/OpenRouterChatFunctionTool0" + - $ref: "#/components/schemas/OpenRouterDatetimeServerTool" + - $ref: "#/components/schemas/ImageGenerationServerTool_OpenRouter" + - $ref: "#/components/schemas/OpenRouterChatSearchModelsServerTool" + - $ref: "#/components/schemas/OpenRouterWebFetchServerTool" + - $ref: "#/components/schemas/OpenRouterWebSearchServerTool" + - $ref: "#/components/schemas/OpenRouterChatWebSearchShorthand" + title: ChatFunctionTool + OpenRouterChatFunctionTool0: + properties: + cache_control: + $ref: "#/components/schemas/OpenRouterChatContentCacheControl" + function: + $ref: "#/components/schemas/OpenRouterChatFunctionToolOneOf0Function" + type: + $ref: "#/components/schemas/OpenRouterChatFunctionToolOneOf0Type" + required: + - function + - type + title: ChatFunctionTool0 + type: object + OpenRouterChatFunctionToolOneOf0Function: + description: Function definition for tool calling + properties: + description: + description: Function description for the model + type: string + name: + description: "Function name (a-z, A-Z, 0-9, underscores, dashes, max 64 chars)" + type: string + parameters: + additionalProperties: + description: Any type + description: Function parameters as JSON Schema object + type: object + strict: + description: Enable strict schema adherence + nullable: true + type: boolean + required: + - name + title: ChatFunctionToolOneOf0Function + type: object + OpenRouterChatFunctionToolOneOf0Type: + enum: + - function + title: ChatFunctionToolOneOf0Type + type: string + OpenRouterChatJsonSchemaConfig: + description: JSON Schema configuration object + properties: + description: + description: Schema description for the model + type: string + name: + description: "Schema name (a-z, A-Z, 0-9, underscores, dashes, max 64 chars)" + type: string + schema: + additionalProperties: + description: Any type + description: JSON Schema object + type: object + strict: + description: Enable strict schema adherence + nullable: true + type: boolean + required: + - name + title: ChatJsonSchemaConfig + type: object + OpenRouterChatMessages: + description: Chat completion message with role-based discrimination + oneOf: + - description: Assistant message for requests and responses + properties: + audio: + $ref: "#/components/schemas/OpenRouterChatAudioOutput" + content: + $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingAssistantContent" + images: + $ref: "#/components/schemas/OpenRouterChatAssistantImages" + name: + description: Optional name for the assistant + type: string + reasoning: + description: Reasoning output + nullable: true + type: string + reasoning_details: + $ref: "#/components/schemas/OpenRouterChatReasoningDetails" + refusal: + description: Refusal message if content was refused + nullable: true + type: string + role: + description: "Discriminator value: assistant" + enum: + - assistant + type: string + tool_calls: + description: Tool calls made by the assistant + items: + $ref: "#/components/schemas/OpenRouterChatToolCall" + type: array + required: + - role + type: object + - description: Developer message + properties: + content: + $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingDeveloperContent" + name: + description: Optional name for the developer message + type: string + role: + description: "Discriminator value: developer" + enum: + - developer + type: string + required: + - role + - content + type: object + - description: System message for setting behavior + properties: + content: + $ref: "#/components/schemas/OpenRouterChatSystemMessageContent" + name: + description: Optional name for the system message + type: string + role: + $ref: "#/components/schemas/OpenRouterChatSystemMessageRole" + required: + - role + - content + type: object + - description: Tool response message + properties: + content: + $ref: "#/components/schemas/OpenRouterChatToolMessageContent" + role: + $ref: "#/components/schemas/OpenRouterChatToolMessageRole" + tool_call_id: + description: ID of the assistant message tool call this message responds to + type: string + required: + - role + - content + - tool_call_id + type: object + - description: User message + properties: + content: + $ref: "#/components/schemas/OpenRouterChatUserMessageContent" + name: + description: Optional name for the user + type: string + role: + $ref: "#/components/schemas/OpenRouterChatUserMessageRole" + required: + - role + - content + type: object + title: ChatMessages + OpenRouterChatMessagesDiscriminatorMappingAssistantContent: + description: Assistant message content + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingAssistantContent1" + - description: Any type + title: ChatMessagesDiscriminatorMappingAssistantContent + OpenRouterChatMessagesDiscriminatorMappingAssistantContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentItems" + title: ChatMessagesDiscriminatorMappingAssistantContent1 + type: array + OpenRouterChatMessagesDiscriminatorMappingDeveloperContent: + description: Developer message content + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingDeveloperContent1" + title: ChatMessagesDiscriminatorMappingDeveloperContent + OpenRouterChatMessagesDiscriminatorMappingDeveloperContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentText" + title: ChatMessagesDiscriminatorMappingDeveloperContent1 + type: array + OpenRouterChatModelNames: + description: Models to use for completion + items: + $ref: "#/components/schemas/OpenRouterModelName" + title: ChatModelNames + type: array + OpenRouterChatNamedToolChoice: + description: Named tool choice for specific function + properties: + function: + $ref: "#/components/schemas/OpenRouterChatNamedToolChoiceFunction" + type: + $ref: "#/components/schemas/OpenRouterChatNamedToolChoiceType" + required: + - function + - type + title: ChatNamedToolChoice + type: object + OpenRouterChatNamedToolChoiceFunction: + properties: + name: + description: Function name to call + type: string + required: + - name + title: ChatNamedToolChoiceFunction + type: object + OpenRouterChatNamedToolChoiceType: + enum: + - function + title: ChatNamedToolChoiceType + type: string + OpenRouterChatReasoningDetails: + description: Reasoning details for extended thinking models + items: + $ref: "#/components/schemas/OpenRouterReasoningDetailUnion" + title: ChatReasoningDetails + type: array + OpenRouterChatReasoningSummaryVerbosityEnum: + enum: + - auto + - concise + - detailed + title: ChatReasoningSummaryVerbosityEnum + type: string + OpenRouterChatRequest: + description: Chat completion request parameters + properties: + cache_control: + $ref: "#/components/schemas/OpenRouterAnthropicCacheControlDirective" + debug: + $ref: "#/components/schemas/OpenRouterChatDebugOptions" + frequency_penalty: + description: Frequency penalty (-2.0 to 2.0) + format: double + nullable: true + type: number + image_config: + $ref: "#/components/schemas/OpenRouterImageConfig" + logit_bias: + additionalProperties: + format: double + type: number + description: Token logit bias adjustments + nullable: true + type: object + logprobs: + description: Return log probabilities + nullable: true + type: boolean + max_completion_tokens: + description: Maximum tokens in completion + nullable: true + type: integer + max_tokens: + description: "Maximum tokens (deprecated, use max_completion_tokens). Note: some providers enforce a minimum of 16." + nullable: true + type: integer + messages: + description: List of messages for the conversation + items: + $ref: "#/components/schemas/OpenRouterChatMessages" + type: array + metadata: + additionalProperties: + type: string + description: "Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values)" + type: object + modalities: + description: "Output modalities for the response. Supported values are \"text\", \"image\", and \"audio\"." + items: + $ref: "#/components/schemas/OpenRouterChatRequestModalitiesItems" + type: array + model: + $ref: "#/components/schemas/OpenRouterModelName" + models: + $ref: "#/components/schemas/OpenRouterChatModelNames" + parallel_tool_calls: + description: "Whether to enable parallel function calling during tool use. When true, the model may generate multiple tool calls in a single response." + nullable: true + type: boolean + plugins: + description: "Plugins you want to enable for this request, including their settings." + items: + $ref: "#/components/schemas/OpenRouterChatRequestPluginsItems" + type: array + presence_penalty: + description: Presence penalty (-2.0 to 2.0) + format: double + nullable: true + type: number + provider: + $ref: "#/components/schemas/OpenRouterProviderPreferences" + reasoning: + $ref: "#/components/schemas/OpenRouterChatRequestReasoning" + response_format: + $ref: "#/components/schemas/OpenRouterChatRequestResponseFormat" + route: + description: Any type + seed: + description: Random seed for deterministic outputs + nullable: true + type: integer + service_tier: + description: The service tier to use for processing this request. + oneOf: + - $ref: "#/components/schemas/OpenRouterChatRequestServiceTier" + session_id: + description: "A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters." + type: string + stop: + $ref: "#/components/schemas/OpenRouterChatRequestStop" + stop_server_tools_when: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhen" + stream: + default: false + description: Enable streaming response + type: boolean + stream_options: + $ref: "#/components/schemas/OpenRouterChatStreamOptions" + temperature: + description: Sampling temperature (0-2) + format: double + nullable: true + type: number + tool_choice: + $ref: "#/components/schemas/OpenRouterChatToolChoice" + tools: + description: Available tools for function calling + items: + $ref: "#/components/schemas/OpenRouterChatFunctionTool" + type: array + top_logprobs: + description: Number of top log probabilities to return (0-20) + nullable: true + type: integer + top_p: + description: Nucleus sampling parameter (0-1) + format: double + nullable: true + type: number + trace: + $ref: "#/components/schemas/OpenRouterTraceConfig" + user: + description: Unique user identifier + type: string + required: + - messages + title: ChatRequest + type: object + OpenRouterChatRequestModalitiesItems: + enum: + - text + - image + - audio + title: ChatRequestModalitiesItems + type: string + OpenRouterChatRequestPluginsItems: + oneOf: + - description: auto-router variant + properties: + allowed_models: + description: "List of model patterns to filter which models the auto-router can route between. Supports wildcards (e.g., \"anthropic/*\" matches all Anthropic models). When not specified, uses the default supported models list." + items: + type: string + type: array + enabled: + description: Set to false to disable the auto-router plugin for this request. Defaults to true. + type: boolean + id: + description: "Discriminator value: auto-router" + enum: + - auto-router + type: string + required: + - id + type: object + - description: context-compression variant + properties: + enabled: + description: Set to false to disable the context-compression plugin for this request. Defaults to true. + type: boolean + engine: + $ref: "#/components/schemas/OpenRouterContextCompressionEngine" + id: + description: "Discriminator value: context-compression" + enum: + - context-compression + type: string + required: + - id + type: object + - description: file-parser variant + properties: + enabled: + description: Set to false to disable the file-parser plugin for this request. Defaults to true. + type: boolean + id: + description: "Discriminator value: file-parser" + enum: + - file-parser + type: string + pdf: + $ref: "#/components/schemas/OpenRouterPDFParserOptions" + required: + - id + type: object + - description: fusion variant + properties: + analysis_models: + description: "Slugs of models to run in parallel as the \"expert panel\" the judge analyzes. Each model receives the same user prompt with web_search + web_fetch enabled. Capped at 8 models to bound cost amplification. When omitted, defaults to the Quality preset from the /labs/fusion UI (~anthropic/claude-opus-latest, ~openai/gpt-latest, ~google/gemini-pro-latest)." + items: + type: string + type: array + enabled: + description: Set to false to disable the fusion plugin for this request. Defaults to true. + type: boolean + id: + description: "Discriminator value: fusion" + enum: + - fusion + type: string + max_tool_calls: + description: Maximum number of tool-calling steps each panelist (analysis model) and the judge model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16. + type: integer + model: + description: "Slug of the model that performs both the judge step (with web_search + web_fetch) and the final synthesis. When omitted, defaults to the first model in the Quality preset." + type: string + required: + - id + type: object + - description: moderation variant + properties: + id: + description: "Discriminator value: moderation" + enum: + - moderation + type: string + required: + - id + type: object + - description: pareto-router variant + properties: + enabled: + description: Set to false to disable the pareto-router plugin for this request. Defaults to true. + type: boolean + id: + description: "Discriminator value: pareto-router" + enum: + - pareto-router + type: string + min_coding_score: + description: "Minimum desired coding score between 0 and 1, where 1 is best. Higher values select from stronger coding models (sourced from Artificial Analysis coding percentiles). Maps internally to one of three tiers (low, medium, high). Omit to use the router default tier." + format: double + type: number + required: + - id + type: object + - description: response-healing variant + properties: + enabled: + description: Set to false to disable the response-healing plugin for this request. Defaults to true. + type: boolean + id: + description: "Discriminator value: response-healing" + enum: + - response-healing + type: string + required: + - id + type: object + - description: web variant + properties: + enabled: + description: Set to false to disable the web-search plugin for this request. Defaults to true. + type: boolean + engine: + $ref: "#/components/schemas/OpenRouterWebSearchEngine" + exclude_domains: + description: "A list of domains to exclude from web search results. Supports wildcards (e.g. \"*.substack.com\") and path filtering (e.g. \"openai.com/blog\")." + items: + type: string + type: array + id: + $ref: "#/components/schemas/OpenRouterWebSearchPluginId" + include_domains: + description: "A list of domains to restrict web search results to. Supports wildcards (e.g. \"*.substack.com\") and path filtering (e.g. \"openai.com/blog\")." + items: + type: string + type: array + max_results: + type: integer + max_uses: + description: Maximum number of times the model can invoke web search in a single turn. Passed through to native providers that support it (e.g. Anthropic). + type: integer + search_prompt: + type: string + user_location: + $ref: "#/components/schemas/OpenRouterWebSearchPluginUserLocation" + required: + - id + type: object + - description: web-fetch variant + properties: + allowed_domains: + description: Only fetch from these domains. + items: + type: string + type: array + blocked_domains: + description: Never fetch from these domains. + items: + type: string + type: array + id: + $ref: "#/components/schemas/OpenRouterWebFetchPluginId" + max_content_tokens: + description: Maximum content length in approximate tokens. Content exceeding this limit is truncated. + type: integer + max_uses: + description: "Maximum number of web fetches per request. Once exceeded, the tool returns an error." + type: integer + required: + - id + type: object + title: ChatRequestPluginsItems + OpenRouterChatRequestReasoning: + description: Configuration options for reasoning models + properties: + effort: + description: Constrains effort on reasoning for reasoning models + oneOf: + - $ref: "#/components/schemas/OpenRouterChatRequestReasoningEffort" + summary: + $ref: "#/components/schemas/OpenRouterChatReasoningSummaryVerbosityEnum" + title: ChatRequestReasoning + type: object + OpenRouterChatRequestReasoningEffort: + description: Constrains effort on reasoning for reasoning models + enum: + - xhigh + - high + - medium + - low + - minimal + - none + title: ChatRequestReasoningEffort + type: string + OpenRouterChatRequestResponseFormat: + description: Response format configuration + oneOf: + - description: Custom grammar response format + properties: + grammar: + description: Custom grammar for text generation + type: string + type: + description: "Discriminator value: grammar" + enum: + - grammar + type: string + required: + - type + - grammar + type: object + - description: JSON object response format + properties: + type: + $ref: "#/components/schemas/OpenRouterFormatJsonObjectConfigType" + required: + - type + type: object + - description: JSON Schema response format for structured outputs + properties: + json_schema: + $ref: "#/components/schemas/OpenRouterChatJsonSchemaConfig" + type: + description: "Discriminator value: json_schema" + enum: + - json_schema + type: string + required: + - type + - json_schema + type: object + - description: Python code response format + properties: + type: + description: "Discriminator value: python" + enum: + - python + type: string + required: + - type + type: object + - description: Default text response format + properties: + type: + description: "Discriminator value: text" + enum: + - text + type: string + required: + - type + type: object + title: ChatRequestResponseFormat + OpenRouterChatRequestServiceTier: + description: The service tier to use for processing this request. + enum: + - auto + - default + - flex + - priority + - scale + title: ChatRequestServiceTier + type: string + OpenRouterChatRequestStop: + description: Stop sequences (up to 4) + oneOf: + - type: string + - items: + type: string + type: array + - description: Any type + title: ChatRequestStop + OpenRouterChatResult: + description: Chat completion response + properties: + choices: + description: List of completion choices + items: + $ref: "#/components/schemas/OpenRouterChatChoice" + type: array + created: + description: Unix timestamp of creation + type: integer + id: + description: Unique completion identifier + type: string + model: + description: Model used for completion + type: string + object: + $ref: "#/components/schemas/OpenRouterChatResultObject" + openrouter_metadata: + $ref: "#/components/schemas/OpenRouterMetadata" + service_tier: + description: The service tier used by the upstream provider for this request + nullable: true + type: string + system_fingerprint: + description: System fingerprint + nullable: true + type: string + usage: + $ref: "#/components/schemas/OpenRouterChatUsage" + required: + - choices + - created + - id + - model + - object + - system_fingerprint + title: ChatResult + type: object + OpenRouterChatResultObject: + enum: + - chat.completion + title: ChatResultObject + type: string + OpenRouterChatSearchModelsServerTool: + description: "OpenRouter built-in server tool: searches and filters AI models available on OpenRouter" + properties: + parameters: + $ref: "#/components/schemas/OpenRouterSearchModelsServerToolConfig" + type: + $ref: "#/components/schemas/OpenRouterChatSearchModelsServerToolType" + required: + - type + title: ChatSearchModelsServerTool + type: object + OpenRouterChatSearchModelsServerToolType: + enum: + - openrouter:experimental__search_models + title: ChatSearchModelsServerToolType + type: string + OpenRouterChatStreamOptions: + description: Streaming configuration options + properties: + include_usage: + description: "Deprecated: This field has no effect. Full usage details are always included." + type: boolean + title: ChatStreamOptions + type: object + OpenRouterChatSystemMessageContent: + description: System message content + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatSystemMessageContent1" + title: ChatSystemMessageContent + OpenRouterChatSystemMessageContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentText" + title: ChatSystemMessageContent1 + type: array + OpenRouterChatSystemMessageRole: + enum: + - system + title: ChatSystemMessageRole + type: string + OpenRouterChatTokenLogprob: + description: Token log probability information + properties: + bytes: + description: UTF-8 bytes of the token + items: + type: integer + nullable: true + type: array + logprob: + description: Log probability of the token + format: double + type: number + token: + description: The token + type: string + top_logprobs: + description: Top alternative tokens with probabilities + items: + $ref: "#/components/schemas/OpenRouterChatTokenLogprobTopLogprobsItems" + type: array + required: + - bytes + - logprob + - token + - top_logprobs + title: ChatTokenLogprob + type: object + OpenRouterChatTokenLogprobTopLogprobsItems: + properties: + bytes: + items: + type: integer + nullable: true + type: array + logprob: + format: double + type: number + token: + type: string + required: + - bytes + - logprob + - token + title: ChatTokenLogprobTopLogprobsItems + type: object + OpenRouterChatTokenLogprobs: + description: Log probabilities for the completion + properties: + content: + description: Log probabilities for content tokens + items: + $ref: "#/components/schemas/OpenRouterChatTokenLogprob" + nullable: true + type: array + refusal: + description: Log probabilities for refusal tokens + items: + $ref: "#/components/schemas/OpenRouterChatTokenLogprob" + nullable: true + type: array + required: + - content + title: ChatTokenLogprobs + type: object + OpenRouterChatToolCall: + description: Tool call made by the assistant + properties: + function: + $ref: "#/components/schemas/OpenRouterChatToolCallFunction" + id: + description: Tool call identifier + type: string + type: + $ref: "#/components/schemas/OpenRouterChatToolCallType" + required: + - function + - id + - type + title: ChatToolCall + type: object + OpenRouterChatToolCallFunction: + properties: + arguments: + description: Function arguments as JSON string + type: string + name: + description: Function name to call + type: string + required: + - arguments + - name + title: ChatToolCallFunction + type: object + OpenRouterChatToolCallType: + enum: + - function + title: ChatToolCallType + type: string + OpenRouterChatToolChoice: + description: Tool choice configuration + oneOf: + - $ref: "#/components/schemas/OpenRouterChatToolChoice0" + - $ref: "#/components/schemas/OpenRouterChatToolChoice1" + - $ref: "#/components/schemas/OpenRouterChatToolChoice2" + - $ref: "#/components/schemas/OpenRouterChatNamedToolChoice" + title: ChatToolChoice + OpenRouterChatToolChoice0: + enum: + - none + title: ChatToolChoice0 + type: string + OpenRouterChatToolChoice1: + enum: + - auto + title: ChatToolChoice1 + type: string + OpenRouterChatToolChoice2: + enum: + - required + title: ChatToolChoice2 + type: string + OpenRouterChatToolMessageContent: + description: Tool response content + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatToolMessageContent1" + title: ChatToolMessageContent + OpenRouterChatToolMessageContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentItems" + title: ChatToolMessageContent1 + type: array + OpenRouterChatToolMessageRole: + enum: + - tool + title: ChatToolMessageRole + type: string + OpenRouterChatUsage: + description: Token usage statistics + properties: + completion_tokens: + description: Number of tokens in the completion + type: integer + completion_tokens_details: + description: Detailed completion token usage + oneOf: + - $ref: "#/components/schemas/OpenRouterChatUsageCompletionTokensDetails" + cost: + description: Cost of the completion + format: double + nullable: true + type: number + cost_details: + $ref: "#/components/schemas/OpenRouterCostDetails" + is_byok: + description: Whether a request was made using a Bring Your Own Key configuration + type: boolean + prompt_tokens: + description: Number of tokens in the prompt + type: integer + prompt_tokens_details: + description: Detailed prompt token usage + oneOf: + - $ref: "#/components/schemas/OpenRouterChatUsagePromptTokensDetails" + total_tokens: + description: Total number of tokens + type: integer + required: + - completion_tokens + - prompt_tokens + - total_tokens + title: ChatUsage + type: object + OpenRouterChatUsageCompletionTokensDetails: + description: Detailed completion token usage + properties: + accepted_prediction_tokens: + description: Accepted prediction tokens + nullable: true + type: integer + audio_tokens: + description: Tokens used for audio output + nullable: true + type: integer + reasoning_tokens: + description: Tokens used for reasoning + nullable: true + type: integer + rejected_prediction_tokens: + description: Rejected prediction tokens + nullable: true + type: integer + title: ChatUsageCompletionTokensDetails + type: object + OpenRouterChatUsagePromptTokensDetails: + description: Detailed prompt token usage + properties: + audio_tokens: + description: Audio input tokens + type: integer + cache_write_tokens: + description: Tokens written to cache. Only returned for models with explicit caching and cache write pricing. + type: integer + cached_tokens: + description: Cached prompt tokens + type: integer + video_tokens: + description: Video input tokens + type: integer + title: ChatUsagePromptTokensDetails + type: object + OpenRouterChatUserMessageContent: + description: User message content + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatUserMessageContent1" + title: ChatUserMessageContent + OpenRouterChatUserMessageContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentItems" + title: ChatUserMessageContent1 + type: array + OpenRouterChatUserMessageRole: + enum: + - user + title: ChatUserMessageRole + type: string + OpenRouterChatWebSearchShorthand: + description: Web search tool using OpenAI Responses API syntax. Automatically converted to openrouter:web_search. + properties: + allowed_domains: + description: "Limit search results to these domains. Supported by Exa, Firecrawl, Parallel, and most native providers (Anthropic, OpenAI, xAI). Not supported with Perplexity. Cannot be used with excluded_domains." + items: + type: string + type: array + engine: + $ref: "#/components/schemas/OpenRouterWebSearchEngineEnum" + excluded_domains: + description: "Exclude search results from these domains. Supported by Exa, Firecrawl, Parallel, Anthropic, and xAI. Not supported with OpenAI (silently ignored) or Perplexity. Cannot be used with allowed_domains." + items: + type: string + type: array + max_results: + description: "Maximum number of search results to return per search call. Defaults to 5. Applies to Exa, Firecrawl, and Parallel engines; ignored with native provider search." + type: integer + max_total_results: + description: "Maximum total number of search results across all search calls in a single request. Once this limit is reached, the tool will stop returning new results. Useful for controlling cost and context size in agentic loops. Defaults to 50 when not specified." + type: integer + parameters: + $ref: "#/components/schemas/OpenRouterWebSearchConfig" + search_context_size: + $ref: "#/components/schemas/OpenRouterSearchQualityLevel" + type: + $ref: "#/components/schemas/OpenRouterChatWebSearchShorthandType" + user_location: + $ref: "#/components/schemas/OpenRouterWebSearchUserLocationServerTool" + required: + - type + title: ChatWebSearchShorthand + type: object + OpenRouterChatWebSearchShorthandType: + enum: + - web_search + - web_search_preview + - web_search_preview_2025_03_11 + - web_search_2025_08_26 + title: ChatWebSearchShorthandType + type: string + OpenRouterContextCompressionEngine: + description: "The compression engine to use. Defaults to \"middle-out\"." + enum: + - middle-out + title: ContextCompressionEngine + type: string + OpenRouterCostDetails: + description: Breakdown of upstream inference costs + properties: + upstream_inference_completions_cost: + format: double + type: number + upstream_inference_cost: + format: double + nullable: true + type: number + upstream_inference_prompt_cost: + format: double + type: number + required: + - upstream_inference_completions_cost + - upstream_inference_prompt_cost + title: CostDetails + type: object + OpenRouterDatetimeServerTool: + description: "OpenRouter built-in server tool: returns the current date and time" + properties: + parameters: + $ref: "#/components/schemas/OpenRouterDatetimeServerToolConfig" + type: + $ref: "#/components/schemas/OpenRouterDatetimeServerToolType" + required: + - type + title: DatetimeServerTool + type: object + OpenRouterDatetimeServerToolConfig: + description: Configuration for the openrouter:datetime server tool + properties: + timezone: + description: "IANA timezone name (e.g. \"America/New_York\"). Defaults to UTC." + type: string + title: DatetimeServerToolConfig + type: object + OpenRouterDatetimeServerToolType: + enum: + - openrouter:datetime + title: DatetimeServerToolType + type: string + OpenRouterEndpointInfo: + properties: + model: + type: string + provider: + type: string + selected: + type: boolean + required: + - model + - provider + - selected + title: EndpointInfo + type: object + OpenRouterEndpointsMetadata: + properties: + available: + items: + $ref: "#/components/schemas/OpenRouterEndpointInfo" + type: array + total: + type: integer + required: + - available + - total + title: EndpointsMetadata + type: object + OpenRouterFormatJsonObjectConfigType: + enum: + - json_object + title: FormatJsonObjectConfigType + type: string + OpenRouterImageConfig: + oneOf: + - type: string + - format: double + type: number + - items: + description: Any type + type: array + title: ImageConfig + OpenRouterImageGenerationServerToolConfig: + description: "Configuration for the openrouter:image_generation server tool. Accepts all image_config params (aspect_ratio, quality, size, background, output_format, output_compression, moderation, etc.) plus a model field." + properties: + model: + description: "Which image generation model to use (e.g. \"openai/gpt-5-image\"). Defaults to \"openai/gpt-5-image\"." + type: string + title: ImageGenerationServerToolConfig + type: object + OpenRouterImageGenerationServerToolOpenRouterType: + enum: + - openrouter:image_generation + title: ImageGenerationServerToolOpenRouterType + type: string + OpenRouterLegacyChatContentVideoType: + enum: + - input_video + title: LegacyChatContentVideoType + type: string + OpenRouterMetadata: + properties: + attempt: + type: integer + attempts: + items: + $ref: "#/components/schemas/OpenRouterRouterAttempt" + type: array + endpoints: + $ref: "#/components/schemas/OpenRouterEndpointsMetadata" + is_byok: + type: boolean + params: + $ref: "#/components/schemas/OpenRouterRouterParams" + pipeline: + items: + $ref: "#/components/schemas/OpenRouterPipelineStage" + type: array + region: + nullable: true + type: string + requested: + type: string + strategy: + $ref: "#/components/schemas/OpenRouterRoutingStrategy" + summary: + type: string + required: + - attempt + - endpoints + - is_byok + - region + - requested + - strategy + - summary + title: OpenRouterMetadata + type: object + OpenRouterModelName: + description: Model to use for completion + title: ModelName + type: string + OpenRouterPDFParserEngine: + description: "The engine to use for parsing PDF files. \"pdf-text\" is deprecated and automatically redirected to \"cloudflare-ai\"." + oneOf: + - $ref: "#/components/schemas/OpenRouterPdfParserEngine0" + - $ref: "#/components/schemas/OpenRouterPdfParserEngine1" + title: PDFParserEngine + OpenRouterPDFParserOptions: + description: Options for PDF parsing. + properties: + engine: + $ref: "#/components/schemas/OpenRouterPDFParserEngine" + title: PDFParserOptions + type: object + OpenRouterPdfParserEngine0: + enum: + - mistral-ocr + - native + - cloudflare-ai + title: PdfParserEngine0 + type: string + OpenRouterPdfParserEngine1: + enum: + - pdf-text + title: PdfParserEngine1 + type: string + OpenRouterPercentileLatencyCutoffs: + description: Percentile-based latency cutoffs. All specified cutoffs must be met for an endpoint to be preferred. + properties: + p50: + description: Maximum p50 latency (seconds) + format: double + nullable: true + type: number + p75: + description: Maximum p75 latency (seconds) + format: double + nullable: true + type: number + p90: + description: Maximum p90 latency (seconds) + format: double + nullable: true + type: number + p99: + description: Maximum p99 latency (seconds) + format: double + nullable: true + type: number + title: PercentileLatencyCutoffs + type: object + OpenRouterPercentileThroughputCutoffs: + description: Percentile-based throughput cutoffs. All specified cutoffs must be met for an endpoint to be preferred. + properties: + p50: + description: Minimum p50 throughput (tokens/sec) + format: double + nullable: true + type: number + p75: + description: Minimum p75 throughput (tokens/sec) + format: double + nullable: true + type: number + p90: + description: Minimum p90 throughput (tokens/sec) + format: double + nullable: true + type: number + p99: + description: Minimum p99 throughput (tokens/sec) + format: double + nullable: true + type: number + title: PercentileThroughputCutoffs + type: object + OpenRouterPipelineStage: + properties: + cost_usd: + format: double + nullable: true + type: number + data: + additionalProperties: + description: Any type + type: object + guardrail_id: + type: string + guardrail_scope: + type: string + name: + type: string + summary: + type: string + type: + $ref: "#/components/schemas/OpenRouterPipelineStageType" + required: + - name + - type + title: PipelineStage + type: object + OpenRouterPipelineStageType: + description: "Categorical kind of a pipeline stage. Multiple plugins can share a type (e.g. all guardrail-level plugins emit `guardrail`); the `name` field disambiguates which plugin emitted it." + enum: + - guardrail + - plugin + - server_tools + - response_healing + - context_compression + title: PipelineStageType + type: string + OpenRouterPreferredMaxLatency: + description: "Preferred maximum latency (in seconds). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints above the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold." + oneOf: + - format: double + type: number + - $ref: "#/components/schemas/OpenRouterPercentileLatencyCutoffs" + - description: Any type + title: PreferredMaxLatency + OpenRouterPreferredMinThroughput: + description: "Preferred minimum throughput (in tokens per second). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints below the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold." + oneOf: + - format: double + type: number + - $ref: "#/components/schemas/OpenRouterPercentileThroughputCutoffs" + - description: Any type + title: PreferredMinThroughput + OpenRouterProviderName: + enum: + - AkashML + - AI21 + - AionLabs + - Alibaba + - Ambient + - Baidu + - Amazon Bedrock + - Amazon Nova + - Anthropic + - Arcee AI + - AtlasCloud + - Avian + - Azure + - BaseTen + - BytePlus + - Black Forest Labs + - Cerebras + - Chutes + - Cirrascale + - Clarifai + - Cloudflare + - Cohere + - Crucible + - Crusoe + - DeepInfra + - DeepSeek + - DekaLLM + - Featherless + - Fireworks + - Friendli + - GMICloud + - Google + - Google AI Studio + - Groq + - Hyperbolic + - Inception + - Inceptron + - InferenceNet + - Ionstream + - Infermatic + - Io Net + - Inflection + - Liquid + - Mara + - Mancer 2 + - Minimax + - ModelRun + - Mistral + - Modular + - Moonshot AI + - Morph + - NCompass + - Nebius + - Nex AGI + - NextBit + - Novita + - Nvidia + - OpenAI + - OpenInference + - Parasail + - Poolside + - Perceptron + - Perplexity + - Phala + - Recraft + - Reka + - Relace + - SambaNova + - Seed + - SiliconFlow + - Sourceful + - StepFun + - Stealth + - StreamLake + - Switchpoint + - Together + - Upstage + - Venice + - WandB + - Xiaomi + - xAI + - Z.AI + - FakeProvider + title: ProviderName + type: string + OpenRouterProviderPreferences: + description: "When multiple model providers are available, optionally indicate your routing preference." + properties: + allow_fallbacks: + description: "Whether to allow backup providers to serve requests\n- true: (default) when the primary provider (or your custom providers in \"order\") is unavailable, use the next best provider.\n- false: use only the primary/custom provider, and return the upstream error if it's unavailable.\n" + nullable: true + type: boolean + data_collection: + description: "Data collection setting. If no available model provider meets the requirement, your request will return an error.\n- allow: (default) allow providers which store user data non-transiently and may train on it\n\n- deny: use only providers which do not collect user data." + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderPreferencesDataCollection" + enforce_distillable_text: + description: "Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used." + nullable: true + type: boolean + ignore: + description: "List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request." + items: + $ref: "#/components/schemas/OpenRouterProviderPreferencesIgnoreItems" + nullable: true + type: array + max_price: + $ref: "#/components/schemas/OpenRouterProviderPreferencesMaxPrice" + only: + description: "List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request." + items: + $ref: "#/components/schemas/OpenRouterProviderPreferencesOnlyItems" + nullable: true + type: array + order: + description: "An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message." + items: + $ref: "#/components/schemas/OpenRouterProviderPreferencesOrderItems" + nullable: true + type: array + preferred_max_latency: + $ref: "#/components/schemas/OpenRouterPreferredMaxLatency" + preferred_min_throughput: + $ref: "#/components/schemas/OpenRouterPreferredMinThroughput" + quantizations: + description: A list of quantization levels to filter the provider by. + items: + $ref: "#/components/schemas/OpenRouterQuantization" + nullable: true + type: array + require_parameters: + description: "Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest." + nullable: true + type: boolean + sort: + $ref: "#/components/schemas/OpenRouterProviderPreferencesSort" + zdr: + description: "Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used." + nullable: true + type: boolean + title: ProviderPreferences + type: object + OpenRouterProviderPreferencesDataCollection: + description: "Data collection setting. If no available model provider meets the requirement, your request will return an error.\n- allow: (default) allow providers which store user data non-transiently and may train on it\n\n- deny: use only providers which do not collect user data." + enum: + - deny + - allow + title: ProviderPreferencesDataCollection + type: string + OpenRouterProviderPreferencesIgnoreItems: + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderName" + - type: string + title: ProviderPreferencesIgnoreItems + OpenRouterProviderPreferencesMaxPrice: + description: "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion." + properties: + audio: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + completion: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + image: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + prompt: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + request: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + title: ProviderPreferencesMaxPrice + type: object + OpenRouterProviderPreferencesOnlyItems: + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderName" + - type: string + title: ProviderPreferencesOnlyItems + OpenRouterProviderPreferencesOrderItems: + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderName" + - type: string + title: ProviderPreferencesOrderItems + OpenRouterProviderPreferencesSort: + description: "The sorting strategy to use for this request, if \"order\" is not specified. When set, no load balancing is performed." + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderSort" + - $ref: "#/components/schemas/OpenRouterProviderSortConfig" + - description: Any type + title: ProviderPreferencesSort + OpenRouterProviderSort: + description: "The provider sorting strategy (price, throughput, latency)" + enum: + - price + - throughput + - latency + - exacto + title: ProviderSort + type: string + OpenRouterProviderSortConfig: + description: "The provider sorting strategy (price, throughput, latency)" + properties: + by: + description: "The provider sorting strategy (price, throughput, latency)" + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderSortConfigBy" + partition: + description: "Partitioning strategy for sorting: \"model\" (default) groups endpoints by model before sorting (fallback models remain fallbacks), \"none\" sorts all endpoints together regardless of model." + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderSortConfigPartition" + title: ProviderSortConfig + type: object + OpenRouterProviderSortConfigBy: + description: "The provider sorting strategy (price, throughput, latency)" + enum: + - price + - throughput + - latency + - exacto + title: ProviderSortConfigBy + type: string + OpenRouterProviderSortConfigPartition: + description: "Partitioning strategy for sorting: \"model\" (default) groups endpoints by model before sorting (fallback models remain fallbacks), \"none\" sorts all endpoints together regardless of model." + enum: + - model + - none + title: ProviderSortConfigPartition + type: string + OpenRouterQuantization: + enum: + - int4 + - int8 + - fp4 + - fp6 + - fp8 + - fp16 + - bf16 + - fp32 + - unknown + title: Quantization + type: string + OpenRouterReasoningDetailUnion: + description: Reasoning detail union schema + oneOf: + - description: Reasoning detail encrypted schema + properties: + data: + type: string + format: + $ref: "#/components/schemas/OpenRouterReasoningFormat" + id: + nullable: true + type: string + index: + type: integer + type: + description: "Discriminator value: reasoning.encrypted" + type: string + required: + - type + - data + type: object + - description: Reasoning detail summary schema + properties: + format: + $ref: "#/components/schemas/OpenRouterReasoningFormat" + id: + nullable: true + type: string + index: + type: integer + summary: + type: string + type: + description: "Discriminator value: reasoning.summary" + type: string + required: + - type + - summary + type: object + - description: Reasoning detail text schema + properties: + format: + $ref: "#/components/schemas/OpenRouterReasoningFormat" + id: + nullable: true + type: string + index: + type: integer + signature: + nullable: true + type: string + text: + nullable: true + type: string + type: + description: "Discriminator value: reasoning.text" + type: string + required: + - type + type: object + title: ReasoningDetailUnion + OpenRouterReasoningFormat: + enum: + - unknown + - openai-responses-v1 + - azure-openai-responses-v1 + - xai-responses-v1 + - anthropic-claude-v1 + - google-gemini-v1 + title: ReasoningFormat + type: string + OpenRouterRouterAttempt: + properties: + model: + type: string + provider: + type: string + status: + type: integer + required: + - model + - provider + - status + title: RouterAttempt + type: object + OpenRouterRouterParams: + properties: + quality_floor: + format: double + type: number + throughput_floor: + format: double + type: number + version_group: + type: string + title: RouterParams + type: object + OpenRouterRoutingStrategy: + enum: + - direct + - auto + - free + - latest + - alias + - fallback + - pareto + - bodybuilder + - fusion + title: RoutingStrategy + type: string + OpenRouterSearchModelsServerToolConfig: + description: Configuration for the openrouter:experimental__search_models server tool + properties: + max_results: + description: "Maximum number of models to return. Defaults to 5, max 20." + type: integer + title: SearchModelsServerToolConfig + type: object + OpenRouterSearchQualityLevel: + description: "How much context to retrieve per result. Applies to Exa and Parallel engines; ignored with native provider search and Firecrawl. For Exa, pins a fixed per-result character cap (low=5,000, medium=15,000, high=30,000); when omitted, Exa picks an adaptive size per query and document (typically ~2,000–4,000 characters per result). For Parallel, controls the total characters across all results; when omitted, Parallel uses its own default size." + enum: + - low + - medium + - high + title: SearchQualityLevel + type: string + OpenRouterStopServerToolsWhen: + description: "Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`." + items: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenCondition" + title: StopServerToolsWhen + type: array + OpenRouterStopServerToolsWhenCondition: + description: "A single condition that, when met, halts the server-tool agent loop." + oneOf: + - description: "Stop when the upstream model emits this finish reason (e.g. `length`)." + properties: + reason: + type: string + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenFinishReasonIsType" + required: + - type + - reason + type: object + - description: Stop after a tool with this name has been called. + properties: + tool_name: + type: string + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenHasToolCallType" + required: + - type + - tool_name + type: object + - description: Stop once cumulative cost across the loop exceeds this dollar threshold. + properties: + max_cost_in_dollars: + format: double + type: number + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenMaxCostType" + required: + - type + - max_cost_in_dollars + type: object + - description: Stop once cumulative token usage across the loop exceeds this threshold. + properties: + max_tokens: + type: integer + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenMaxTokensUsedType" + required: + - type + - max_tokens + type: object + - description: Stop after the agent loop has executed this many steps. + properties: + step_count: + type: integer + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenStepCountIsType" + required: + - type + - step_count + type: object + title: StopServerToolsWhenCondition + OpenRouterStopServerToolsWhenFinishReasonIsType: + enum: + - finish_reason_is + title: StopServerToolsWhenFinishReasonIsType + type: string + OpenRouterStopServerToolsWhenHasToolCallType: + enum: + - has_tool_call + title: StopServerToolsWhenHasToolCallType + type: string + OpenRouterStopServerToolsWhenMaxCostType: + enum: + - max_cost + title: StopServerToolsWhenMaxCostType + type: string + OpenRouterStopServerToolsWhenMaxTokensUsedType: + enum: + - max_tokens_used + title: StopServerToolsWhenMaxTokensUsedType + type: string + OpenRouterStopServerToolsWhenStepCountIsType: + enum: + - step_count_is + title: StopServerToolsWhenStepCountIsType + type: string + OpenRouterTraceConfig: + description: "Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations." + properties: + generation_name: + type: string + parent_span_id: + type: string + span_name: + type: string + trace_id: + type: string + trace_name: + type: string + title: TraceConfig + type: object + OpenRouterWebFetchEngineEnum: + description: "Which fetch engine to use. \"auto\" (default) uses native if the provider supports it, otherwise Exa. \"native\" forces the provider's built-in fetch. \"exa\" uses Exa Contents API. \"openrouter\" uses direct HTTP fetch. \"firecrawl\" uses Firecrawl scrape (requires BYOK)." + enum: + - auto + - native + - openrouter + - firecrawl + - exa + title: WebFetchEngineEnum + type: string + OpenRouterWebFetchPluginId: + enum: + - web-fetch + title: WebFetchPluginId + type: string + OpenRouterWebFetchServerTool: + description: "OpenRouter built-in server tool: fetches full content from a URL (web page or PDF)" + properties: + parameters: + $ref: "#/components/schemas/OpenRouterWebFetchServerToolConfig" + type: + $ref: "#/components/schemas/OpenRouterWebFetchServerToolType" + required: + - type + title: WebFetchServerTool + type: object + OpenRouterWebFetchServerToolConfig: + description: Configuration for the openrouter:web_fetch server tool + properties: + allowed_domains: + description: Only fetch from these domains. + items: + type: string + type: array + blocked_domains: + description: Never fetch from these domains. + items: + type: string + type: array + engine: + $ref: "#/components/schemas/OpenRouterWebFetchEngineEnum" + max_content_tokens: + description: Maximum content length in approximate tokens. Content exceeding this limit is truncated. + type: integer + max_uses: + description: "Maximum number of web fetches per request. Once exceeded, the tool returns an error." + type: integer + title: WebFetchServerToolConfig + type: object + OpenRouterWebFetchServerToolType: + enum: + - openrouter:web_fetch + title: WebFetchServerToolType + type: string + OpenRouterWebSearchConfig: + properties: + allowed_domains: + description: "Limit search results to these domains. Supported by Exa, Firecrawl, Parallel, and most native providers (Anthropic, OpenAI, xAI). Not supported with Perplexity. Cannot be used with excluded_domains." + items: + type: string + type: array + engine: + $ref: "#/components/schemas/OpenRouterWebSearchEngineEnum" + excluded_domains: + description: "Exclude search results from these domains. Supported by Exa, Firecrawl, Parallel, Anthropic, and xAI. Not supported with OpenAI (silently ignored) or Perplexity. Cannot be used with allowed_domains." + items: + type: string + type: array + max_results: + description: "Maximum number of search results to return per search call. Defaults to 5. Applies to Exa, Firecrawl, and Parallel engines; ignored with native provider search." + type: integer + max_total_results: + description: "Maximum total number of search results across all search calls in a single request. Once this limit is reached, the tool will stop returning new results. Useful for controlling cost and context size in agentic loops. Defaults to 50 when not specified." + type: integer + search_context_size: + $ref: "#/components/schemas/OpenRouterSearchQualityLevel" + user_location: + $ref: "#/components/schemas/OpenRouterWebSearchUserLocationServerTool" + title: WebSearchConfig + type: object + OpenRouterWebSearchEngine: + description: The search engine to use for web search. + enum: + - native + - exa + - firecrawl + - parallel + title: WebSearchEngine + type: string + OpenRouterWebSearchEngineEnum: + description: "Which search engine to use. \"auto\" (default) uses native if the provider supports it, otherwise Exa. \"native\" forces the provider's built-in search. \"exa\" forces the Exa search API. \"firecrawl\" uses Firecrawl (requires BYOK). \"parallel\" uses the Parallel search API." + enum: + - auto + - native + - exa + - firecrawl + - parallel + title: WebSearchEngineEnum + type: string + OpenRouterWebSearchPluginId: + enum: + - web + title: WebSearchPluginId + type: string + OpenRouterWebSearchPluginUserLocation: + description: Approximate user location for location-biased search results. Passed through to native providers that support it (e.g. Anthropic). + properties: + city: + nullable: true + type: string + country: + nullable: true + type: string + region: + nullable: true + type: string + timezone: + nullable: true + type: string + type: + $ref: "#/components/schemas/OpenRouterWebSearchPluginUserLocationType" + required: + - type + title: WebSearchPluginUserLocation + type: object + OpenRouterWebSearchPluginUserLocationType: + enum: + - approximate + title: WebSearchPluginUserLocationType + type: string + OpenRouterWebSearchServerTool: + description: "OpenRouter built-in server tool: searches the web for current information" + properties: + parameters: + $ref: "#/components/schemas/OpenRouterWebSearchConfig" + type: + $ref: "#/components/schemas/OpenRouterWebSearchServerToolType" + required: + - type + title: OpenRouterWebSearchServerTool + type: object + OpenRouterWebSearchServerToolType: + enum: + - openrouter:web_search + title: OpenRouterWebSearchServerToolType + type: string + OpenRouterWebSearchUserLocationServerTool: + description: Approximate user location for location-biased results. + properties: + city: + nullable: true + type: string + country: + nullable: true + type: string + region: + nullable: true + type: string + timezone: + nullable: true + type: string + type: + $ref: "#/components/schemas/OpenRouterWebSearchUserLocationServerToolType" + title: WebSearchUserLocationServerTool + type: object + OpenRouterWebSearchUserLocationServerToolType: + enum: + - approximate + title: WebSearchUserLocationServerToolType + type: string + OutputAudioContent: + properties: + data: + description: Base64-encoded audio data + type: string + transcript: + description: Transcript of the audio + type: string + type: + description: The type of output content + enum: + - output_audio + type: string + required: + - type + - data + - transcript + type: object + OutputContent: + oneOf: + - $ref: "#/components/schemas/OutputTextContent" + - $ref: "#/components/schemas/OutputAudioContent" + OutputItem: + oneOf: + - $ref: "#/components/schemas/OutputMessage" + - $ref: "#/components/schemas/FileSearchToolCall" + - $ref: "#/components/schemas/FunctionToolCall" + - $ref: "#/components/schemas/WebSearchToolCall" + - $ref: "#/components/schemas/ComputerToolCall" + - $ref: "#/components/schemas/ReasoningItem" + OutputMessage: + properties: + content: + description: The content of the message + items: + $ref: "#/components/schemas/OutputContent" + type: array + role: + description: The role of the message + enum: + - assistant + type: string + type: + description: The type of output item + enum: + - message + type: string + required: + - type + - role + - content + type: object + OutputTextContent: + properties: + text: + description: The text content + type: string + type: + description: The type of output content + enum: + - output_text + type: string + required: + - type + - text + type: object + PersonalAccessToken: + properties: + createdAt: + description: "[Output Only]The date and time the token was created." + format: date-time + type: string + description: + description: "Optional. A more detailed description of the token's intended use." + type: string + id: + description: Unique identifier for the GitCommit + format: uuid + type: string + name: + description: Required. The name of the token. Can be a simple description. + type: string + token: + description: "[Output Only]. The personal access token. Only returned during creation." + type: string + type: object + PikaBody_generate_2_2_c2v_generate_2_2_pikascenes_post: + properties: + aspectRatio: + anyOf: + - maximum: 2.5 + minimum: 0.4 + type: number + description: Aspect ratio (width / height) + title: Aspectratio + duration: + default: 5 + title: Duration + type: integer + images: + items: + format: binary + type: string + title: Images + type: array + ingredientsMode: + enum: + - creative + - precise + title: Ingredientsmode + type: string + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + promptText: + anyOf: + - type: string + title: Prompttext + resolution: + default: 1080p + title: Resolution + type: string + seed: + anyOf: + - type: integer + title: Seed + required: + - ingredientsMode + title: Body_generate_2_2_c2v_generate_2_2_pikascenes_post + type: object + PikaBody_generate_2_2_i2v_generate_2_2_i2v_post: + properties: + duration: + $ref: "#/components/schemas/PikaDurationEnum" + image: + format: binary + nullable: true + title: Image + type: string + negativePrompt: + nullable: true + title: Negativeprompt + type: string + promptText: + nullable: true + title: Prompttext + type: string + resolution: + $ref: "#/components/schemas/PikaResolutionEnum" + seed: + nullable: true + title: Seed + type: integer + title: Body_generate_2_2_i2v_generate_2_2_i2v_post + type: object + PikaBody_generate_2_2_keyframe_generate_2_2_pikaframes_post: + properties: + duration: + maximum: 10 + minimum: 5 + title: Duration + type: integer + keyFrames: + description: Array of keyframe images + items: + format: binary + type: string + title: Keyframes + type: array + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + promptText: + title: Prompttext + type: string + resolution: + $ref: "#/components/schemas/PikaResolutionEnum" + seed: + anyOf: + - type: integer + title: Seed + required: + - promptText + title: Body_generate_2_2_keyframe_generate_2_2_pikaframes_post + type: object + PikaBody_generate_2_2_t2v_generate_2_2_t2v_post: + properties: + aspectRatio: + default: 1.7777777777777777 + description: Aspect ratio (width / height) + format: float + maximum: 2.5 + minimum: 0.4 + title: Aspectratio + type: number + duration: + $ref: "#/components/schemas/PikaDurationEnum" + negativePrompt: + nullable: true + title: Negativeprompt + type: string + promptText: + title: Prompttext + type: string + resolution: + $ref: "#/components/schemas/PikaResolutionEnum" + seed: + nullable: true + title: Seed + type: integer + required: + - promptText + title: Body_generate_2_2_t2v_generate_2_2_t2v_post + type: object + PikaBody_generate_pikadditions_generate_pikadditions_post: + properties: + image: + format: binary + title: Image + type: string + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + promptText: + anyOf: + - type: string + title: Prompttext + seed: + anyOf: + - type: integer + title: Seed + video: + format: binary + title: Video + type: string + title: Body_generate_pikadditions_generate_pikadditions_post + type: object + PikaBody_generate_pikaffects_generate_pikaffects_post: + properties: + image: + format: binary + title: Image + type: string + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + pikaffect: + $ref: "#/components/schemas/Pikaffect" + promptText: + anyOf: + - type: string + title: Prompttext + seed: + anyOf: + - type: integer + title: Seed + title: Body_generate_pikaffects_generate_pikaffects_post + type: object + PikaBody_generate_pikaswaps_generate_pikaswaps_post: + properties: + image: + anyOf: + - format: binary + type: string + title: Image + modifyRegionMask: + anyOf: + - format: binary + type: string + description: "A mask image that specifies the region to modify, where the mask is white and the background is black" + title: Modifyregionmask + modifyRegionRoi: + anyOf: + - type: string + description: Plaintext description of the object / region to modify + title: Modifyregionroi + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + promptText: + anyOf: + - type: string + title: Prompttext + seed: + anyOf: + - type: integer + title: Seed + video: + format: binary + title: Video + type: string + title: Body_generate_pikaswaps_generate_pikaswaps_post + type: object + PikaDurationEnum: + default: 5 + enum: + - 5 + - 10 + type: integer + PikaGenerateResponse: + properties: + video_id: + title: Video Id + type: string + required: + - video_id + title: GenerateResponse + type: object + PikaHTTPValidationError: + properties: + detail: + items: + $ref: "#/components/schemas/PikaValidationError" + title: Detail + type: array + title: HTTPValidationError + type: object + PikaResolutionEnum: + default: 1080p + enum: + - 1080p + - 720p + type: string + PikaStatusEnum: + enum: + - queued + - started + - finished + type: string + PikaValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + title: Location + type: array + msg: + title: Message + type: string + type: + title: Error Type + type: string + required: + - loc + - msg + - type + title: ValidationError + type: object + PikaVideoResponse: + properties: + id: + title: Id + type: string + progress: + nullable: true + title: Progress + type: integer + status: + $ref: "#/components/schemas/PikaStatusEnum" + url: + nullable: true + title: Url + type: string + required: + - id + - status + title: VideoResponse + type: object + Pikaffect: + enum: + - Cake-ify + - Crumble + - Crush + - Decapitate + - Deflate + - Dissolve + - Explode + - Eye-pop + - Inflate + - Levitate + - Melt + - Peel + - Poke + - Squish + - Ta-da + - Tear + type: string + PixverseImageUploadResponse: + properties: + ErrCode: + type: integer + ErrMsg: + type: string + Resp: + properties: + img_id: + type: integer + type: object + type: object + PixverseImageVideoRequest: + properties: + duration: + enum: + - 5 + - 8 + type: integer + img_id: + type: integer + model: + enum: + - v3.5 + type: string + motion_mode: + enum: + - normal + - fast + type: string + prompt: + type: string + quality: + enum: + - 360p + - 540p + - 720p + - 1080p + type: string + seed: + type: integer + style: + enum: + - anime + - 3d_animation + - clay + - comic + - cyberpunk + type: string + template_id: + type: integer + water_mark: + type: boolean + required: + - img_id + - model + - duration + - quality + - prompt + type: object + PixverseTextVideoRequest: + properties: + aspect_ratio: + enum: + - 16:9 + - 4:3 + - 1:1 + - 3:4 + - 9:16 + type: string + duration: + enum: + - 5 + - 8 + type: integer + model: + enum: + - v3.5 + type: string + motion_mode: + enum: + - normal + - fast + type: string + negative_prompt: + type: string + prompt: + type: string + quality: + enum: + - 360p + - 540p + - 720p + - 1080p + type: string + seed: + type: integer + style: + enum: + - anime + - 3d_animation + - clay + - comic + - cyberpunk + type: string + template_id: + type: integer + water_mark: + type: boolean + required: + - aspect_ratio + - duration + - model + - prompt + - quality + type: object + PixverseTransitionVideoRequest: + properties: + duration: + enum: + - 5 + - 8 + type: integer + first_frame_img: + type: integer + last_frame_img: + type: integer + model: + enum: + - v3.5 + type: string + motion_mode: + enum: + - normal + - fast + type: string + prompt: + type: string + quality: + enum: + - 360p + - 540p + - 720p + - 1080p + type: string + seed: + type: integer + style: + enum: + - anime + - 3d_animation + - clay + - comic + - cyberpunk + type: string + template_id: + type: integer + water_mark: + type: boolean + required: + - first_frame_img + - last_frame_img + - model + - duration + - quality + - prompt + - motion_mode + - seed + type: object + PixverseVideoResponse: + properties: + ErrCode: + type: integer + ErrMsg: + type: string + Resp: + properties: + video_id: + type: integer + type: object + type: object + PixverseVideoResultResponse: + properties: + ErrCode: + type: integer + ErrMsg: + type: string + Resp: + properties: + create_time: + type: string + id: + type: integer + modify_time: + type: string + negative_prompt: + type: string + outputHeight: + type: integer + outputWidth: + type: integer + prompt: + type: string + resolution_ratio: + type: integer + seed: + type: integer + size: + type: integer + status: + description: "Video generation status codes:\n* 1 - Generation successful\n* 5 - Generating\n* 6 - Deleted\n* 7 - Contents moderation failed\n* 8 - Generation failed\n" + enum: + - 1 + - 5 + - 6 + - 7 + - 8 + type: integer + style: + type: string + url: + type: string + type: object + type: object + PromoCodeResponse: + properties: + active: + description: Whether the promo code is currently active + type: boolean + code: + description: The generated promotional code + type: string + coupon_id: + description: The Stripe coupon ID associated with this promo code + type: string + expires_at: + description: Unix timestamp when the promo code expires + format: int64 + type: integer + id: + description: The Stripe promotion code ID + type: string + max_redemptions: + description: Maximum number of times this code can be redeemed + type: integer + metadata: + additionalProperties: + type: string + description: Set of key-value pairs for storing additional information + type: object + times_redeemed: + description: Number of times this code has been redeemed + type: integer + required: + - id + - code + - coupon_id + - active + type: object + Publisher: + properties: + createdAt: + description: The date and time the publisher was created. + format: date-time + type: string + description: + type: string + id: + description: "The unique identifier for the publisher. It's akin to a username. Should be lowercase." + type: string + logo: + description: "URL to the publisher's logo." + type: string + members: + description: A list of members in the publisher. + items: + $ref: "#/components/schemas/PublisherMember" + type: array + name: + type: string + source_code_repo: + type: string + status: + $ref: "#/components/schemas/PublisherStatus" + support: + type: string + website: + type: string + type: object + PublisherMember: + properties: + id: + description: The unique identifier for the publisher member. + type: string + role: + description: The role of the user in the publisher. + type: string + user: + $ref: "#/components/schemas/PublisherUser" + type: object + PublisherStatus: + enum: + - PublisherStatusActive + - PublisherStatusBanned + type: string + PublisherUser: + properties: + email: + description: The email address for this user. + type: string + id: + description: The unique id for this user. + type: string + name: + description: The name for this user. + type: string + type: object + QuiverImageObject: + description: Image input for Quiver AI (URL or base64) + properties: + base64: + description: Base64-encoded image payload + maxLength: 16777216 + type: string + url: + description: Network image URL. Only http/https URLs allowed. + format: uri + type: string + type: object + QuiverImageToSVGRequest: + description: Request body for Quiver AI image-to-SVG vectorization + properties: + auto_crop: + default: false + description: Auto-crop image to the dominant subject before vectorization + type: boolean + image: + $ref: "#/components/schemas/QuiverImageObject" + max_output_tokens: + description: Maximum number of output tokens + maximum: 131072 + minimum: 1 + type: integer + model: + description: Model identifier for SVG vectorization + example: arrow-1.1 + type: string + presence_penalty: + default: 0 + description: Penalty for tokens already present in prior output + maximum: 2 + minimum: -2 + nullable: true + type: number + stream: + default: false + description: Enable Server-Sent Events streaming + type: boolean + target_size: + description: Square resize target in pixels + maximum: 4096 + minimum: 128 + type: integer + temperature: + default: 1 + description: Sampling temperature + maximum: 2 + minimum: 0 + type: number + top_p: + default: 1 + description: Nucleus sampling probability + maximum: 1 + minimum: 0 + type: number + required: + - model + - image + type: object + QuiverSVGResponse: + description: Response from Quiver AI SVG generation/vectorization + properties: + created: + description: Unix timestamp of creation + type: integer + credits: + description: Credit cost for this request. Use this for billing instead of usage tokens. + minimum: 0 + type: integer + data: + items: + properties: + mime_type: + description: MIME type of the output + enum: + - image/svg+xml + type: string + svg: + description: Raw SVG markup + type: string + required: + - svg + - mime_type + type: object + minItems: 1 + type: array + id: + description: Unique identifier for the generation + type: string + usage: + deprecated: true + description: Deprecated. Use credits for billing values. + properties: + input_tokens: + deprecated: true + description: Deprecated. Token counts are retained for compatibility and may be zeroed. + minimum: 0 + type: integer + output_tokens: + deprecated: true + description: Deprecated. Token counts are retained for compatibility and may be zeroed. + minimum: 0 + type: integer + total_tokens: + deprecated: true + description: Deprecated. Token counts are retained for compatibility and may be zeroed. + minimum: 0 + type: integer + type: object + required: + - id + - created + - data + type: object + QuiverTextToSVGRequest: + description: Request body for Quiver AI text-to-SVG generation + properties: + instructions: + description: Additional style or formatting guidance + type: string + max_output_tokens: + description: Maximum number of output tokens + maximum: 131072 + minimum: 1 + type: integer + model: + description: Model identifier for SVG generation + example: arrow-1.1 + type: string + "n": + default: 1 + description: Number of SVGs to generate + maximum: 16 + minimum: 1 + type: integer + presence_penalty: + default: 0 + description: Penalty for tokens already present in prior output + maximum: 2 + minimum: -2 + nullable: true + type: number + prompt: + description: Text description of the desired SVG output + type: string + references: + description: "Optional reference images to guide style/composition. Accepts URL object, base64 object, or URL string shorthand. Runtime limits are model-specific." + items: + oneOf: + - $ref: "#/components/schemas/QuiverImageObject" + - description: URL string shorthand for a reference image + format: uri + type: string + maxItems: 16 + type: array + temperature: + default: 1 + description: Sampling temperature + maximum: 2 + minimum: 0 + type: number + top_p: + default: 1 + description: Nucleus sampling probability + maximum: 1 + minimum: 0 + type: number + required: + - model + - prompt + type: object + RGBColor: + description: RGB color values + example: + rgb: + - 255 + - 0 + - 0 + properties: + rgb: + items: + maximum: 255 + minimum: 0 + type: integer + maxItems: 3 + minItems: 3 + type: array + required: + - rgb + type: object + Reasoning: + description: "**o-series models only**\n\nConfiguration options for\n[reasoning models](https://platform.openai.com/docs/guides/reasoning).\n" + properties: + effort: + $ref: "#/components/schemas/ReasoningEffort" + generate_summary: + deprecated: true + description: "**Deprecated:** use `summary` instead.\n\nA summary of the reasoning performed by the model. This can be\nuseful for debugging and understanding the model's reasoning process.\nOne of `auto`, `concise`, or `detailed`.\n" + enum: + - auto + - concise + - detailed + type: string + summary: + description: "A summary of the reasoning performed by the model. This can be\nuseful for debugging and understanding the model's reasoning process.\nOne of `auto`, `concise`, or `detailed`.\n" + enum: + - auto + - concise + - detailed + type: string + title: Reasoning + type: object + ReasoningEffort: + default: medium + description: "**o-series models only**\n\nConstrains effort on reasoning for\n[reasoning models](https://platform.openai.com/docs/guides/reasoning).\nCurrently supported values are `low`, `medium`, and `high`. Reducing\nreasoning effort can result in faster responses and fewer tokens used\non reasoning in a response.\n" + enum: + - low + - medium + - high + type: string + ReasoningItem: + description: "A description of the chain of thought used by a reasoning model while generating\na response.\n" + properties: + id: + description: "The unique identifier of the reasoning content.\n" + type: string + status: + description: "The status of the item. One of `in_progress`, `completed`, or\n`incomplete`. Populated when items are returned via API.\n" + enum: + - in_progress + - completed + - incomplete + type: string + summary: + description: "Reasoning text contents.\n" + items: + properties: + text: + description: "A short summary of the reasoning used by the model when generating\nthe response.\n" + type: string + type: + description: "The type of the object. Always `summary_text`.\n" + enum: + - summary_text + type: string + x-stainless-const: true + required: + - type + - text + type: object + type: array + type: + description: "The type of the object. Always `reasoning`.\n" + enum: + - reasoning + type: string + x-stainless-const: true + required: + - id + - summary + - type + title: Reasoning + type: object + RecraftCreateStyleRequest: + description: Request body for creating a Recraft style reference + properties: + file1: + description: "First image file (PNG, JPG, or WEBP)" + format: binary + type: string + file2: + description: "Second image file (PNG, JPG, or WEBP)" + format: binary + type: string + file3: + description: "Third image file (PNG, JPG, or WEBP)" + format: binary + type: string + file4: + description: "Fourth image file (PNG, JPG, or WEBP)" + format: binary + type: string + file5: + description: "Fifth image file (PNG, JPG, or WEBP)" + format: binary + type: string + style: + description: The base style of the generated images + enum: + - realistic_image + - digital_illustration + - vector_illustration + - icon + type: string + required: + - style + - file1 + type: object + RecraftCreateStyleResponse: + description: Response containing the created style ID + properties: + id: + description: The unique identifier of the created style + format: uuid + type: string + required: + - id + type: object + RecraftGenerateImageResponse: + properties: + created: + type: integer + credits: + type: integer + data: + items: + $ref: "#/components/schemas/RecraftImage" + type: array + required: + - created + - data + - credits + type: object + RecraftImage: + properties: + b64_json: + type: string + features: + $ref: "#/components/schemas/RecraftImageFeatures" + image_id: + format: uuid + type: string + revised_prompt: + type: string + url: + type: string + required: + - image_id + type: object + RecraftImageColor: + properties: + rgb: + items: + type: integer + type: array + std: + items: + type: number + type: array + weight: + type: number + type: object + RecraftImageFeatures: + properties: + nsfw_score: + type: number + type: object + RecraftImageFormat: + enum: + - webp + - png + type: string + RecraftImageGenerationRequest: + description: Parameters for the Recraft image generation proxy request. + properties: + controls: + description: The controls for the generated image + properties: + artistic_level: + description: "Defines artistic tone of your image. At a simple level, the person looks straight at the camera in a static and clean style. Dynamic and eccentric levels introduce movement and creativity." + maximum: 5 + minimum: 0 + nullable: true + type: integer + background_color: + $ref: "#/components/schemas/RGBColor" + colors: + description: An array of preferable colors + items: + $ref: "#/components/schemas/RGBColor" + type: array + no_text: + description: Do not embed text layouts + type: boolean + type: object + model: + description: "The model to use for generation (e.g., \"recraftv3\")" + type: string + "n": + description: The number of images to generate + maximum: 4 + minimum: 1 + type: integer + prompt: + description: The text prompt describing the image to generate + type: string + size: + description: "The size of the generated image (e.g., \"1024x1024\")" + type: string + style: + description: "The style to apply to the generated image (e.g., \"digital_illustration\")" + type: string + style_id: + description: "The style ID to apply to the generated image (e.g., \"123e4567-e89b-12d3-a456-426614174000\"). If style_id is provided, style should not be provided." + type: string + required: + - prompt + - model + - size + - "n" + type: object + RecraftImageGenerationResponse: + description: Response from the Recraft image generation API. + properties: + created: + description: Unix timestamp when the generation was created + type: integer + credits: + description: Number of credits used for the generation + type: integer + data: + description: Array of generated image information + items: + properties: + image_id: + description: Unique identifier for the generated image + type: string + url: + description: URL to access the generated image + type: string + type: object + type: array + required: + - created + - credits + - data + type: object + RecraftImageStyle: + enum: + - digital_illustration + - icon + - realistic_image + - vector_illustration + type: string + RecraftImageSubStyle: + enum: + - 2d_art_poster + - 3d + - 80s + - glow + - grain + - hand_drawn + - infantile_sketch + - kawaii + - pixel_art + - psychedelic + - seamless + - voxel + - watercolor + - broken_line + - colored_outline + - colored_shapes + - colored_shapes_gradient + - doodle_fill + - doodle_offset_fill + - offset_fill + - outline + - outline_gradient + - uneven_fill + - 70s + - cartoon + - doodle_line_art + - engraving + - flat_2 + - kawaii + - line_art + - linocut + - seamless + - b_and_w + - enterprise + - hard_flash + - hdr + - motion_blur + - natural_light + - studio_portrait + - line_circuit + - 2d_art_poster_2 + - engraving_color + - flat_air_art + - hand_drawn_outline + - handmade_3d + - stickers_drawings + - plastic + - pictogram + type: string + RecraftImageToImageRequest: + properties: + block_nsfw: + type: boolean + calculate_features: + type: boolean + controls: + $ref: "#/components/schemas/RecraftUserControls" + image: + format: binary + type: string + image_format: + $ref: "#/components/schemas/RecraftImageFormat" + model: + $ref: "#/components/schemas/RecraftTransformModel" + "n": + type: integer + negative_prompt: + type: string + prompt: + type: string + response_format: + $ref: "#/components/schemas/RecraftResponseFormat" + strength: + type: number + style: + $ref: "#/components/schemas/RecraftImageStyle" + style_id: + format: uuid + type: string + substyle: + $ref: "#/components/schemas/RecraftImageSubStyle" + text_layout: + $ref: "#/components/schemas/RecraftTextLayout" + required: + - prompt + - image + - strength + type: object + RecraftProcessImageRequest: + properties: + image: + format: binary + type: string + image_format: + $ref: "#/components/schemas/RecraftImageFormat" + response_format: + $ref: "#/components/schemas/RecraftResponseFormat" + required: + - image + type: object + RecraftProcessImageResponse: + properties: + created: + type: integer + credits: + type: integer + image: + $ref: "#/components/schemas/RecraftImage" + required: + - created + - image + - credits + type: object + RecraftResponseFormat: + enum: + - url + - b64_json + type: string + RecraftTextLayout: + items: + $ref: "#/components/schemas/RecraftTextLayoutItem" + type: array + RecraftTextLayoutItem: + properties: + bbox: + items: + items: + type: number + x-go-type: float32 + type: array + type: array + text: + type: string + required: + - text + - bbox + type: object + RecraftTransformImageWithMaskRequest: + properties: + block_nsfw: + type: boolean + calculate_features: + type: boolean + image: + format: binary + type: string + image_format: + $ref: "#/components/schemas/RecraftImageFormat" + mask: + format: binary + type: string + model: + $ref: "#/components/schemas/RecraftTransformModel" + "n": + type: integer + negative_prompt: + type: string + prompt: + type: string + response_format: + $ref: "#/components/schemas/RecraftResponseFormat" + style: + $ref: "#/components/schemas/RecraftImageStyle" + style_id: + format: uuid + type: string + substyle: + $ref: "#/components/schemas/RecraftImageSubStyle" + text_layout: + $ref: "#/components/schemas/RecraftTextLayout" + required: + - image + - mask + - prompt + type: object + RecraftTransformModel: + enum: + - refm1 + - recraft20b + - recraftv2 + - recraftv3 + - recraftv4 + - recraftv4_pro + - flux1_1pro + - flux1dev + - imagen3 + - hidream_i1_dev + type: string + RecraftUserControls: + properties: + artistic_level: + type: integer + background_color: + $ref: "#/components/schemas/RecraftImageColor" + colors: + items: + $ref: "#/components/schemas/RecraftImageColor" + type: array + no_text: + type: boolean + type: object + ReleaseNote: + properties: + attention: + description: The attention level for this release + enum: + - low + - medium + - high + type: string + content: + description: The content of the release note in markdown format + type: string + id: + description: Unique identifier for the release note + type: integer + project: + description: The project this release note belongs to + enum: + - comfyui + - comfyui_frontend + - desktop + - cloud + type: string + published_at: + description: When the release note was published + format: date-time + type: string + version: + description: The version of the release + type: string + required: + - id + - project + - version + - attention + - content + - published_at + type: object + RenderingSpeed: + default: DEFAULT + description: The rendering speed setting that controls the trade-off between generation speed and quality + enum: + - DEFAULT + - TURBO + - QUALITY + type: string + ResponseCompletedEvent: + description: Emitted when the model response is complete. + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "The type of the event. Always `response.completed`." + enum: + - response.completed + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseContentPartAddedEvent: + description: Emitted when a new content part is added. + properties: + content_index: + description: The index of the content part that was added. + type: integer + item_id: + description: The ID of the output item that the content part was added to. + type: string + output_index: + description: The index of the output item that the content part was added to. + type: integer + part: + $ref: "#/components/schemas/OutputContent" + type: + description: "The type of the event. Always `response.content_part.added`." + enum: + - response.content_part.added + type: string + x-stainless-const: true + required: + - type + - item_id + - output_index + - content_index + - part + type: object + ResponseContentPartDoneEvent: + description: Emitted when a content part is done. + properties: + content_index: + description: The index of the content part that is done. + type: integer + item_id: + description: The ID of the output item that the content part was added to. + type: string + output_index: + description: The index of the output item that the content part was added to. + type: integer + part: + $ref: "#/components/schemas/OutputContent" + type: + description: "The type of the event. Always `response.content_part.done`." + enum: + - response.content_part.done + type: string + x-stainless-const: true + required: + - type + - item_id + - output_index + - content_index + - part + type: object + ResponseCreatedEvent: + description: An event that is emitted when a response is created. + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "The type of the event. Always `response.created`." + enum: + - response.created + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseError: + description: An error object returned when the model fails to generate a Response. + properties: + code: + $ref: "#/components/schemas/ResponseErrorCode" + message: + description: A human-readable description of the error. + type: string + required: + - code + - message + type: object + ResponseErrorCode: + description: The error code for the response. + enum: + - server_error + - rate_limit_exceeded + - invalid_prompt + - vector_store_timeout + - invalid_image + - invalid_image_format + - invalid_base64_image + - invalid_image_url + - image_too_large + - image_too_small + - image_parse_error + - image_content_policy_violation + - invalid_image_mode + - image_file_too_large + - unsupported_image_media_type + - empty_image_file + - failed_to_download_image + - image_file_not_found + type: string + ResponseErrorEvent: + description: Emitted when an error occurs. + properties: + code: + description: "The error code.\n" + type: string + message: + description: "The error message.\n" + type: string + param: + description: "The error parameter.\n" + type: string + type: + description: "The type of the event. Always `error`.\n" + enum: + - error + type: string + x-stainless-const: true + required: + - type + - code + - message + - param + type: object + ResponseFailedEvent: + description: "An event that is emitted when a response fails.\n" + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "The type of the event. Always `response.failed`.\n" + enum: + - response.failed + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseFormatJsonObject: + description: "JSON object response format. An older method of generating JSON responses.\nUsing `json_schema` is recommended for models that support it. Note that the\nmodel will not generate JSON without a system or user message instructing it\nto do so.\n" + properties: + type: + description: "The type of response format being defined. Always `json_object`." + enum: + - json_object + type: string + x-stainless-const: true + required: + - type + title: JSON object + type: object + ResponseFormatJsonSchemaSchema: + additionalProperties: true + description: "The schema for the response format, described as a JSON Schema object.\nLearn how to build JSON schemas [here](https://json-schema.org/).\n" + title: JSON schema + type: object + ResponseFormatText: + description: "Default response format. Used to generate text responses.\n" + properties: + type: + description: "The type of response format being defined. Always `text`." + enum: + - text + type: string + x-stainless-const: true + required: + - type + title: Text + type: object + ResponseInProgressEvent: + description: Emitted when the response is in progress. + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "The type of the event. Always `response.in_progress`.\n" + enum: + - response.in_progress + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseIncompleteEvent: + description: "An event that is emitted when a response finishes as incomplete.\n" + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "The type of the event. Always `response.incomplete`.\n" + enum: + - response.incomplete + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseOutputItemAddedEvent: + description: Emitted when a new output item is added. + properties: + item: + $ref: "#/components/schemas/OutputItem" + output_index: + description: "The index of the output item that was added.\n" + type: integer + type: + description: "The type of the event. Always `response.output_item.added`.\n" + enum: + - response.output_item.added + type: string + x-stainless-const: true + required: + - type + - output_index + - item + type: object + ResponseOutputItemDoneEvent: + description: Emitted when an output item is marked done. + properties: + item: + $ref: "#/components/schemas/OutputItem" + output_index: + description: "The index of the output item that was marked done.\n" + type: integer + type: + description: "The type of the event. Always `response.output_item.done`.\n" + enum: + - response.output_item.done + type: string + x-stainless-const: true + required: + - type + - output_index + - item + type: object + ResponseProperties: + properties: + instructions: + description: "Inserts a system (or developer) message as the first item in the model's context.\n\nWhen using along with `previous_response_id`, the instructions from a previous\nresponse will not be carried over to the next response. This makes it simple\nto swap out system (or developer) messages in new responses.\n" + type: string + max_output_tokens: + description: "An upper bound for the number of tokens that can be generated for a response, including visible output tokens and [reasoning tokens](/docs/guides/reasoning).\n" + type: integer + model: + $ref: "#/components/schemas/OpenAIModels" + previous_response_id: + description: "The unique ID of the previous response to the model. Use this to\ncreate multi-turn conversations. Learn more about\n[conversation state](/docs/guides/conversation-state).\n" + type: string + reasoning: + $ref: "#/components/schemas/Reasoning" + text: + properties: + format: + $ref: "#/components/schemas/TextResponseFormatConfiguration" + type: object + tool_choice: + description: "How the model should select which tool (or tools) to use when generating\na response. See the `tools` parameter to see how to specify which tools\nthe model can call.\n" + oneOf: + - $ref: "#/components/schemas/ToolChoiceOptions" + - $ref: "#/components/schemas/ToolChoiceTypes" + - $ref: "#/components/schemas/ToolChoiceFunction" + tools: + items: + $ref: "#/components/schemas/Tool" + type: array + truncation: + default: disabled + description: "The truncation strategy to use for the model response.\n- `auto`: If the context of this response and previous ones exceeds\n the model's context window size, the model will truncate the\n response to fit the context window by dropping input items in the\n middle of the conversation.\n- `disabled` (default): If a model response will exceed the context window\n size for a model, the request will fail with a 400 error.\n" + enum: + - auto + - disabled + type: string + type: object + ResponseUsage: + description: "Represents token usage details including input tokens, output tokens,\na breakdown of output tokens, and the total tokens used.\n" + properties: + input_tokens: + description: The number of input tokens. + type: integer + input_tokens_details: + description: A detailed breakdown of the input tokens. + properties: + cached_tokens: + description: "The number of tokens that were retrieved from the cache.\n[More on prompt caching](/docs/guides/prompt-caching).\n" + type: integer + required: + - cached_tokens + type: object + output_tokens: + description: The number of output tokens. + type: integer + output_tokens_details: + description: A detailed breakdown of the output tokens. + properties: + reasoning_tokens: + description: The number of reasoning tokens. + type: integer + required: + - reasoning_tokens + type: object + total_tokens: + description: The total number of tokens used. + type: integer + required: + - input_tokens + - input_tokens_details + - output_tokens + - output_tokens_details + - total_tokens + type: object + ReveImageCreateRequest: + description: Request body for Reve image creation. + properties: + aspect_ratio: + default: 3:2 + description: The desired aspect ratio of the generated image. + enum: + - 16:9 + - 9:16 + - 3:2 + - 2:3 + - 4:3 + - 3:4 + - 1:1 + type: string + postprocessing: + description: Optional postprocessing operations to apply after generation. May add additional cost. + items: + $ref: "#/components/schemas/RevePostprocessingOperation" + type: array + prompt: + description: The text description of the desired image. Maximum length is 2560 characters. + maxLength: 2560 + type: string + test_time_scaling: + description: "If included, the model will spend more effort making better images. Values between 1 and 15 are accepted. Adds additional credits cost." + maximum: 15 + minimum: 1 + type: number + version: + default: latest + description: "Model version to use. Supported: latest, reve-create@20250915." + type: string + required: + - prompt + type: object + ReveImageEditRequest: + description: Request body for Reve image editing. + properties: + aspect_ratio: + description: The desired aspect ratio. Defaults to the aspect ratio of the reference image if not provided. + enum: + - 16:9 + - 9:16 + - 3:2 + - 2:3 + - 4:3 + - 3:4 + - 1:1 + type: string + edit_instruction: + description: The text description of how to edit the provided image. Maximum length is 2560 characters. + maxLength: 2560 + type: string + postprocessing: + description: Optional postprocessing operations to apply after generation. May add additional cost. + items: + $ref: "#/components/schemas/RevePostprocessingOperation" + type: array + reference_image: + description: A base64 encoded image to use as reference for the edit. + type: string + test_time_scaling: + description: "If included, the model will spend more effort making better images. Values between 1 and 15 are accepted. Adds additional credits cost." + maximum: 15 + minimum: 1 + type: number + version: + default: latest + description: "Model version to use. Supported: latest-fast, latest, reve-edit-fast@20251030, reve-edit@20250915." + type: string + required: + - edit_instruction + - reference_image + type: object + ReveImageRemixRequest: + description: Request body for Reve image remixing. + properties: + aspect_ratio: + description: "The desired aspect ratio. If not provided, smartly chosen by the model." + enum: + - 16:9 + - 9:16 + - 3:2 + - 2:3 + - 4:3 + - 3:4 + - 1:1 + type: string + postprocessing: + description: Optional postprocessing operations to apply after generation. May add additional cost. + items: + $ref: "#/components/schemas/RevePostprocessingOperation" + type: array + prompt: + description: The text description of the desired image. May include xml img tags to refer to specific reference images by index. Maximum length is 2560 characters. + maxLength: 2560 + type: string + reference_images: + description: A list of 1-6 base64 encoded reference images. Each must be less than 10 MB. Total pixel count must be no more than 32 million pixels. + items: + type: string + maxItems: 6 + minItems: 1 + type: array + test_time_scaling: + description: "If included, the model will spend more effort making better images. Values between 1 and 15 are accepted. Adds additional credits cost." + maximum: 15 + minimum: 1 + type: number + version: + default: latest + description: "Model version to use. Supported: latest-fast, latest, reve-remix-fast@20251030, reve-remix@20250915." + type: string + required: + - prompt + - reference_images + type: object + ReveImageResponse: + description: Response from the Reve image API. + properties: + content_violation: + description: Indicates whether the generated image violates the content policy. + type: boolean + credits_remaining: + description: The number of credits remaining in your budget. + type: number + credits_used: + description: The number of credits used for this request. + type: number + image: + description: The base64 encoded image data. Empty if the request was not successful. + type: string + request_id: + description: A unique id for the request. + type: string + version: + description: The specific model version used in the generation process. + type: string + type: object + RevePostprocessingOperation: + description: A postprocessing operation to apply after image generation. + properties: + effect_name: + description: Name of the effect to apply. Only used when process is effect. + type: string + effect_parameters: + description: Optional parameters to override default effect settings. + type: object + max_dim: + description: "Maximum dimension for fit_image. At least one of max_dim, max_width, or max_height must be set." + maximum: 1024 + type: integer + max_height: + description: Maximum height for fit_image. + maximum: 1024 + type: integer + max_width: + description: Maximum width for fit_image. + maximum: 1024 + type: integer + process: + description: "The postprocessing operation: upscale, remove_background, fit_image, or effect." + enum: + - upscale + - remove_background + - fit_image + - effect + type: string + upscale_factor: + description: "Upscale factor (2, 3, or 4). Only used when process is upscale." + maximum: 4 + minimum: 2 + type: integer + required: + - process + type: object + Rodin3DCheckStatusRequest: + properties: + subscription_key: + description: subscription from generate endpoint + type: string + required: + - subscription_key + type: object + Rodin3DCheckStatusResponse: + properties: + jobs: + description: Details for the generation status. + items: + $ref: "#/components/schemas/RodinCheckStatusJobItem" + type: array + type: object + Rodin3DDownloadRequest: + properties: + task_uuid: + description: Task UUID + type: string + required: + - task_uuid + type: object + Rodin3DDownloadResponse: + properties: + list: + items: + $ref: "#/components/schemas/RodinResourceItem" + type: array + type: object + Rodin3DGenerateRequest: + properties: + TAPose: + description: "Optional. When generating the human-like model, this parameter controls the generation result to T/A pose. When true, your model will be either T pose or A pose.\n" + type: boolean + addons: + description: "Optional. The default is []. Possible value is `HighPack`. By selecting HighPack: generate 4K resolution texture instead of the default 2K. If Quad mode, the number of faces will be ~16 times the number of faces selected in the `quality` parameter.\n" + items: + $ref: "#/components/schemas/RodinAddonType" + type: array + bbox_condition: + description: "Optional. This is a controlnet that controls the maximum size of the generated model. This array must contain 3 elements, Width (Y-axis), Height (Z-axis), and Length (X-axis), in this exact fixed sequence (y, z, x).\n" + items: + type: integer + type: array + condition_mode: + $ref: "#/components/schemas/RodinConditionModeType" + geometry_file_format: + $ref: "#/components/schemas/RodinGeometryFileFormatType" + geometry_instruct_mode: + $ref: "#/components/schemas/RodinGeometryInstructModeType" + hd_texture: + description: "Optional. Default is false. If true, high-quality texture will be provided.\n" + type: boolean + images: + description: "Images to be used in generation, up to 5 images. As the form data request will preserve the order of the images, the first image will be the image for material generation. For Image-to-3D generation: required (one or more images are needed, maximum 5 images). For Text-to-3D generation: null.\n" + type: string + is_micro: + description: "Optional. Default is false. If true, micro detail scale is applied. This parameter is only available in the Gen-2.5-Extreme-High tier.\n" + type: boolean + is_symmetric: + description: "Optional. Default is false. If true, this parameter will determine whether the generated model is symmetric.\n" + type: boolean + material: + $ref: "#/components/schemas/RodinMaterialType" + mesh_mode: + $ref: "#/components/schemas/RodinMeshModeType" + mesh_simplify: + description: "Optional. Default is true. If true, the generated models will be simplified. This parameter takes effect when mesh_mode is set to Raw.\n" + type: boolean + mesh_smooth: + description: "Optional. Default is false. If true, the generated models will be smoothed (similar to Rodin Gen-1). This parameter takes effect when mesh_mode is set to Quad.\n" + type: boolean + preview_render: + description: "Optional. Default is false. If true, an additional high-quality render image will be provided in the download list.\n" + type: boolean + prompt: + description: "A textual prompt to guide the model generation. For Image-to-3D generation: optional (if not provided, an AI-generated prompt based on the provided images will be used). For Text-to-3D generation: required.\n" + type: string + quality: + $ref: "#/components/schemas/RodinQualityType" + quality_override: + description: "Optional. Customize poly count for generation, providing more accurate control over mesh face count. When mesh_mode = Raw: range from 500 to 1,000,000 (default 500,000). When mesh_mode = Quad: range from 1,000 to 200,000 (default 18,000). When this parameter is invoked, the `quality` parameter will not take effect.\n" + type: integer + seed: + description: "Optional. A seed value for randomization in the mesh generation, ranging from 0 to 65535 (both inclusive). If not provided, the seed will be randomly generated.\n" + type: integer + texture_delight: + description: "Optional. Default is false. If true, this parameter applies images preprocessing to remove lighting information from textures.\n" + type: boolean + texture_mode: + $ref: "#/components/schemas/RodinTextureModeType" + tier: + $ref: "#/components/schemas/RodinTierType" + use_original_alpha: + description: "Default is false. If true, the original transparency channel of the images will be used when processing the image.\n" + type: boolean + type: object + Rodin3DGenerateResponse: + properties: + error: + description: "Error message, if any. Possible values include NO_ACTIVE_SUBSCRIPTION, SUBSCRIPTION_PLAN_TOO_LOW, INSUFFICIENT_FUND, INVALID_REQUEST, USER_NOT_FOUND, GROUP_NOT_FOUND, PERMISSION_DENIED, UNKNOWN.\n" + nullable: true + type: string + jobs: + $ref: "#/components/schemas/RodinGenerateJobsData" + message: + description: Success message or detailed error information. + type: string + prompt: + description: Echoed prompt (when applicable). + type: string + submit_time: + description: Submission timestamp. + type: string + uuid: + description: Task UUID. Use this for status/download requests. + type: string + type: object + RodinAddonType: + description: "Possible value is `HighPack`. By selecting HighPack: generate 4K resolution texture instead of the default 2K. If Quad mode, the number of faces will be ~16 times the number of faces selected in the `quality` parameter. Additional 1 credit per generation.\n" + enum: + - HighPack + type: string + RodinCheckStatusJobItem: + properties: + status: + $ref: "#/components/schemas/RodinStatusOptions" + uuid: + description: sub uuid + type: string + type: object + RodinConditionModeType: + description: "Useful only for multi-image 3D generation. Optional. Chooses the mode of the multi-image generation. Default is concat. For `fuse` mode (uploading images of multiple objects), fuse mode will extract and fuse all the features of all the objects from the images for generation. For `concat` mode (uploading images of a single object), concat mode will inform the Rodin model to expect these images to be multi-view images of a single object.\n" + enum: + - fuse + - concat + type: string + RodinGenerateJobsData: + properties: + subscription_key: + description: Subscription Key. + type: string + uuids: + description: subjobs uuid. + items: + type: string + type: array + type: object + RodinGeometryFileFormatType: + description: "Optional. The format of the output geometry file. Default is glb.\n" + enum: + - glb + - usdz + - fbx + - obj + - stl + type: string + RodinGeometryInstructModeType: + description: "Optional. Default is `faithful`. The Creative mode enhances generative robustness while ensuring output consistency, allowing for more flexible and creative generation while maintaining quality and consistency across outputs. Available for Gen-2.5-Medium and Gen-2.5-High tiers.\n" + enum: + - faithful + - creative + type: string + RodinMaterialType: + description: "Optional. The material type. Default is PBR. PBR: Physically Based Materials, including base color texture, metallicness texture, normal texture and roughness texture, providing high realism and physically accurate behavior over dynamic lighting. Shaded: only base color texture with baked lighting, providing stylized visuals. All: both PBR and Shaded will be delivered. None: asset without material.\n" + enum: + - PBR + - Shaded + - All + - None + type: string + RodinMeshModeType: + description: "Optional. It controls the type of faces of generated models. Default is Quad. The Raw mode generates triangular face models. The Quad mode generates quadrilateral face models. When its value is Raw, `quality` will be fixed to medium and `addons` will be fixed to []. For Rodin Sketch tier, only triangular faces can be generated.\n" + enum: + - Quad + - Raw + type: string + RodinQualityType: + description: "Optional. The face count of the generated model. Default is medium.\n" + enum: + - extra-low + - low + - medium + - high + type: string + RodinResourceItem: + properties: + name: + description: File name + type: string + url: + description: Download url + type: string + type: object + RodinStatusOptions: + enum: + - Done + - Failed + - Generating + - Waiting + type: string + RodinTextureModeType: + description: "Optional. Higher values invest more thinking effort and produce better results, at the cost of longer generation time.\n" + enum: + - legacy + - extreme-low + - low + - medium + - high + type: string + RodinTierType: + description: "Tier of generation. The default value is Regular. Sketch: fast generation with basic details, suitable for initial concepts. Regular: balanced quality and speed, ideal for general use. Detail: enhanced details compared to Regular, recommended for intricate results (longer processing time). Smooth: clearer and sharper output than Regular, with slightly longer processing time. Set the value to `Gen-2` to invoke Gen-2 generation. Use the `Gen-2.5-*` values to invoke Gen-2.5 generation: Gen-2.5-Extreme-Low (quick simple assets), Gen-2.5-Low (clean assets and small hardsurface props), Gen-2.5-Medium (moderately complex models), Gen-2.5-High (high-quality assets with richer structural representation and smooth surfaces), Gen-2.5-Extreme-High (high-frequency detail reproduction).\n" + enum: + - Regular + - Sketch + - Detail + - Smooth + - Gen-2 + - Gen-2.5-Extreme-Low + - Gen-2.5-Low + - Gen-2.5-Medium + - Gen-2.5-High + - Gen-2.5-Extreme-High + type: string + RunwayAspectRatioEnum: + enum: + - 1280:720 + - 720:1280 + - 1104:832 + - 832:1104 + - 960:960 + - 1584:672 + - 1280:768 + - 768:1280 + type: string + RunwayContentModeration: + description: Settings that affect the behavior of the content moderation system. + properties: + publicFigureThreshold: + description: "When set to `low`, the content moderation system will be less strict about preventing generations that include recognizable public figures." + enum: + - auto + - low + type: string + type: object + RunwayDurationEnum: + enum: + - 5 + - 10 + type: integer + RunwayImageToVideoRequest: + properties: + duration: + $ref: "#/components/schemas/RunwayDurationEnum" + model: + $ref: "#/components/schemas/RunwayModelEnum" + promptImage: + $ref: "#/components/schemas/RunwayPromptImageObject" + promptText: + description: Text prompt for the generation + maxLength: 1000 + type: string + ratio: + $ref: "#/components/schemas/RunwayAspectRatioEnum" + seed: + description: Random seed for generation + format: int64 + maximum: 4294967295 + minimum: 0 + type: integer + required: + - promptImage + - seed + - model + - duration + - ratio + type: object + RunwayImageToVideoResponse: + properties: + id: + description: Task ID + type: string + type: object + RunwayModelEnum: + description: Available Runway models for generation. + enum: + - gen4_turbo + - gen3a_turbo + type: string + RunwayPromptImageDetailedObject: + description: Represents an image with its position in the video sequence. + properties: + position: + description: "The position of the image in the output video. 'last' is currently supported for gen3a_turbo only." + enum: + - first + - last + type: string + uri: + description: A HTTPS URL or data URI containing an encoded image. + type: string + required: + - uri + - position + type: object + RunwayPromptImageObject: + description: Image(s) to use for the video generation. Can be a single URI or an array of image objects with positions. + oneOf: + - description: A single HTTPS URL or data URI for the first frame image. + type: string + - description: An array of image objects with positions. No two images can have the same position. + items: + $ref: "#/components/schemas/RunwayPromptImageDetailedObject" + type: array + RunwayTaskStatusEnum: + description: Possible statuses for a Runway task. + enum: + - SUCCEEDED + - RUNNING + - FAILED + - PENDING + - CANCELLED + - THROTTLED + type: string + RunwayTaskStatusResponse: + properties: + createdAt: + description: Task creation timestamp + format: date-time + type: string + id: + description: Task ID + type: string + output: + description: Array of output video URLs + items: + type: string + type: array + progress: + description: Float value between 0 and 1 representing the progress of the task. Only available if status is RUNNING. + format: float + maximum: 1 + minimum: 0 + type: number + status: + $ref: "#/components/schemas/RunwayTaskStatusEnum" + required: + - id + - status + - createdAt + type: object + RunwayTextToImageAspectRatioEnum: + enum: + - 1920:1080 + - 1080:1920 + - 1024:1024 + - 1360:768 + - 1080:1080 + - 1168:880 + - 1440:1080 + - 1080:1440 + - 1808:768 + - 2112:912 + type: string + RunwayTextToImageRequest: + properties: + model: + description: Model to use for generation + enum: + - gen4_image + type: string + promptText: + description: Text prompt for the image generation + maxLength: 1000 + type: string + ratio: + $ref: "#/components/schemas/RunwayTextToImageAspectRatioEnum" + referenceImages: + description: Array of reference images to guide the generation + items: + properties: + uri: + description: A HTTPS URL or data URI containing an encoded image + type: string + type: object + type: array + required: + - promptText + - model + - ratio + type: object + RunwayTextToImageResponse: + properties: + id: + description: Task ID + type: string + type: object + RunwayVideoToVideoKeyframe: + description: Timed guidance image placed at a specific point in the input video. + oneOf: + - properties: + seconds: + description: Absolute timestamp in seconds from the start of the input video when this guidance image should apply. + maximum: 30 + minimum: 0 + type: number + uri: + description: "A HTTPS URL, Runway or data URI containing an encoded image." + type: string + required: + - uri + - seconds + type: object + - properties: + at: + description: "Position as a fraction [0.0, 1.0] of the input video duration when this guidance image should apply." + maximum: 1 + minimum: 0 + type: number + uri: + description: "A HTTPS URL, Runway or data URI containing an encoded image." + type: string + required: + - uri + - at + type: object + RunwayVideoToVideoModelEnum: + description: Available Runway models for video-to-video generation. + enum: + - aleph2 + type: string + RunwayVideoToVideoPromptImage: + description: An image keyframe for guiding the edit at a specific point in the video. + properties: + position: + $ref: "#/components/schemas/RunwayVideoToVideoPromptImagePosition" + uri: + description: "A HTTPS URL, Runway or data URI containing an encoded image." + type: string + required: + - uri + - position + type: object + RunwayVideoToVideoPromptImagePosition: + description: The position in the output video where the image should apply. + oneOf: + - description: "\"first\" places the image at the start (timestamp 0); \"last\" places it at the end (timestamp = duration)." + enum: + - first + - last + type: string + - description: Places the image at an absolute timestamp. + properties: + timestampSeconds: + description: Absolute timestamp in seconds from the start of the output video. + minimum: 0 + type: number + type: + enum: + - timestamp + type: string + required: + - type + - timestampSeconds + type: object + - description: Places the image at a relative position. + properties: + positionPercentage: + description: "Position as a fraction [0.0, 1.0] of the total video duration." + maximum: 1 + minimum: 0 + type: number + type: + enum: + - position + type: string + required: + - type + - positionPercentage + type: object + RunwayVideoToVideoRequest: + description: "Request to edit an input video into a new video using Runway's API." + properties: + contentModeration: + $ref: "#/components/schemas/RunwayContentModeration" + keyframes: + description: Timed guidance images placed at specific points in the input video. Up to 5 keyframes. + items: + $ref: "#/components/schemas/RunwayVideoToVideoKeyframe" + maxItems: 5 + minItems: 1 + type: array + model: + $ref: "#/components/schemas/RunwayVideoToVideoModelEnum" + promptImage: + description: A list of up to 5 image keyframes for guiding the edit at specific points in the video. + items: + $ref: "#/components/schemas/RunwayVideoToVideoPromptImage" + maxItems: 5 + minItems: 1 + type: array + promptText: + description: A non-empty string up to 1000 characters describing what should appear in the output. + maxLength: 1000 + minLength: 1 + type: string + seed: + description: Random seed for generation. + format: int64 + maximum: 4294967295 + minimum: 0 + type: integer + videoUri: + description: "The input video to edit (HTTPS URL, Runway upload URI, or data URI). Must be 30 seconds or shorter." + type: string + required: + - model + - promptText + - videoUri + type: object + RunwayVideoToVideoResponse: + properties: + id: + description: Task ID + type: string + type: object + SeedanceAssetError: + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + SeedanceAssetModeration: + properties: + strategy: + description: "Content Pre-filter review strategy. \"Skip\" bypasses most non-baseline policies (requires Secure Mode off on the account)." + enum: + - Default + - Skip + type: string + required: + - strategy + type: object + SeedanceCreateAssetRequest: + properties: + asset_type: + enum: + - Image + - Video + - Audio + type: string + group_id: + description: BytePlus Asset Group ID the asset will belong to. Caller must own this group. + type: string + moderation: + $ref: "#/components/schemas/SeedanceAssetModeration" + name: + description: "Optional asset name, up to 64 characters." + type: string + project_name: + description: "BytePlus project name. Defaults to \"default\". Must match the Asset Group's project." + type: string + url: + description: Publicly accessible URL of the asset. + type: string + required: + - group_id + - url + - asset_type + type: object + SeedanceCreateAssetResponse: + properties: + asset_id: + description: BytePlus-issued asset id. Clients poll seedanceGetAsset with this until status == Active. + type: string + required: + - asset_id + type: object + SeedanceCreateVisualValidateSessionRequest: + properties: + name: + description: "Optional human-readable label for the asset group that will be created by this verification. Stored locally and returned by seedanceListVisualValidationGroups so users can identify their groups in selectors.\n" + maxLength: 64 + type: string + type: object + SeedanceCreateVisualValidateSessionResponse: + properties: + h5_link: + description: BytePlus-issued H5 liveness link. Open in a browser with camera access. Valid for ~120 seconds. + type: string + session_id: + description: Session identifier. Clients poll seedanceGetVisualValidateSession with this. + format: uuid + type: string + required: + - session_id + - h5_link + type: object + SeedanceGetAssetResponse: + properties: + asset_type: + enum: + - Image + - Video + - Audio + type: string + create_time: + format: date-time + nullable: true + type: string + error: + $ref: "#/components/schemas/SeedanceAssetError" + group_id: + type: string + id: + type: string + name: + nullable: true + type: string + project_name: + nullable: true + type: string + status: + enum: + - Active + - Processing + - Failed + type: string + update_time: + format: date-time + nullable: true + type: string + url: + description: Access URL valid for ~12 hours. + nullable: true + type: string + required: + - id + - asset_type + - group_id + - status + type: object + SeedanceGetVisualValidateSessionResponse: + properties: + error_code: + nullable: true + type: string + error_message: + nullable: true + type: string + group_id: + description: Populated only when status == completed. This is the BytePlus Asset Group ID the user will upload assets into. + nullable: true + type: string + name: + description: Optional human-readable label provided when the session was created. + nullable: true + type: string + session_id: + format: uuid + type: string + status: + enum: + - pending + - completed + - failed + type: string + required: + - session_id + - status + type: object + SeedanceListUserAssetsResponse: + properties: + assets: + items: + $ref: "#/components/schemas/SeedanceUserAsset" + type: array + truncated: + description: True if the global per-request asset cap was hit and older results were dropped. + type: boolean + required: + - assets + - truncated + type: object + SeedanceListVisualValidationGroupsResponse: + properties: + groups: + items: + $ref: "#/components/schemas/SeedanceVisualValidationGroup" + type: array + required: + - groups + type: object + SeedanceUserAsset: + properties: + asset_id: + type: string + asset_type: + enum: + - Image + - Video + - Audio + type: string + create_time: + format: date-time + type: string + group_id: + type: string + group_name: + description: "Display label of the source group, denormalized for client-side search." + type: string + name: + nullable: true + type: string + status: + enum: + - Active + - Processing + - Failed + type: string + url: + description: BytePlus access URL (~12h validity). Refreshed on each list call. + nullable: true + type: string + required: + - asset_id + - group_id + - group_name + - asset_type + - status + - create_time + type: object + SeedanceVirtualLibraryCreateAssetRequest: + properties: + asset_type: + default: Image + description: BytePlus asset type. The AIGC virtual library accepts both Image and Video. Defaults to Image for backward compatibility with existing clients. + enum: + - Image + - Video + type: string + hash: + description: Client-supplied content hash used as the per-customer dedup key. Re-submitting the same hash returns the existing asset id without re-uploading to BytePlus. + type: string + url: + description: "Publicly accessible URL of the asset to upload to the caller's virtual portrait library." + type: string + required: + - url + - hash + type: object + SeedanceVirtualLibraryCreateAssetResponse: + properties: + asset_id: + description: BytePlus-issued asset id. Clients poll seedanceGetAsset with this until status == Active. + type: string + required: + - asset_id + type: object + SeedanceVisualValidationGroup: + properties: + created_at: + format: date-time + type: string + group_id: + description: BytePlus-issued asset group id. + type: string + name: + description: "Display label. Caller-supplied at creation time when available; otherwise a server-generated fallback derived from the creation date.\n" + type: string + required: + - group_id + - name + - created_at + type: object + SoniloErrorResponse: + properties: + detail: + properties: + code: + description: Error code + type: string + message: + description: Human-readable error message + type: string + type: object + type: object + SoniloStreamEvent: + description: A single NDJSON event from the Sonilo streaming response. Additional event types beyond those listed may appear; unknown types should be ignored by clients. + oneOf: + - properties: + copy_index: + minimum: 0 + type: integer + display_tags: + items: + type: string + type: array + prompt_index: + minimum: 0 + type: integer + stream_index: + minimum: 0 + type: integer + summary: + description: Short natural-language description of the generated track. + type: string + title: + type: string + type: + enum: + - title + type: string + required: + - type + - stream_index + - prompt_index + - copy_index + - title + - display_tags + type: object + - properties: + channels: + type: integer + data: + description: Base64-encoded AAC in fMP4 fragments; concatenate per stream_index. + type: string + num_streams: + minimum: 1 + type: integer + sample_rate: + type: integer + stream_index: + minimum: 0 + type: integer + type: + enum: + - audio_chunk + type: string + required: + - type + - sample_rate + - channels + - stream_index + - num_streams + - data + type: object + - properties: + type: + enum: + - complete + type: string + required: + - type + type: object + - properties: + code: + type: string + message: + type: string + type: + enum: + - error + type: string + required: + - type + - message + type: object + SoniloTextToMusicRequest: + properties: + duration: + description: Desired duration of the output track in seconds. + maximum: 360 + minimum: 1 + type: integer + prompt: + description: Text prompt describing the desired music. Max length 1000 characters. + maxLength: 1000 + minLength: 1 + type: string + required: + - prompt + - duration + type: object + SoniloVideoToMusicRequest: + oneOf: + - properties: + prompt: + description: Optional text prompt to guide music generation. + type: string + video: + description: Multipart file part; e.g. video/mp4. Max file size 300MB. + format: binary + type: string + required: + - video + type: object + - properties: + prompt: + description: Optional text prompt to guide music generation. + type: string + video_url: + description: Public http:// or https:// URL of the video. Private/internal addresses are rejected. + format: uri + type: string + required: + - video_url + type: object + StorageFile: + properties: + file_path: + description: Path to the file in storage + type: string + id: + description: Unique identifier for the storage file + format: uuid + type: string + public_url: + description: Public URL + type: string + type: object + StripeEvent: + properties: + data: + properties: + object: + type: object + type: object + id: + type: string + object: + enum: + - event + type: string + type: + enum: + - invoice.paid + type: string + required: + - id + - object + - type + - data + type: object + SubscriptionDuration: + description: The subscription billing duration + enum: + - MONTHLY + - ANNUAL + type: string + SubscriptionTier: + description: The subscription tier level + enum: + - FREE + - STANDARD + - CREATOR + - PRO + - FOUNDERS_EDITION + type: string + TencentErrorResponse: + description: Error response from Tencent API + properties: + Response: + properties: + Error: + properties: + Code: + description: Error code + type: string + Message: + description: Error message + type: string + type: object + RequestId: + description: Unique request ID for troubleshooting + type: string + type: object + type: object + TencentFile3D: + description: 3D file information + properties: + PreviewImageUrl: + description: Preview image URL + format: uri + type: string + Type: + description: 3D file format + enum: + - GLB + - OBJ + type: string + Url: + description: File URL (valid for 24 hours) + format: uri + type: string + type: object + TencentHunyuan3DProRequest: + description: Request body for Tencent Hunyuan 3D Pro generation + properties: + EnablePBR: + default: false + description: Whether to enable PBR material generation. + type: boolean + FaceCount: + default: 500000 + description: Face count for 3D model generation. + maximum: 1500000 + minimum: 40000 + type: integer + GenerateType: + default: Normal + description: "Generation task type:\n- Normal: generates a geometric model with textures (default)\n- LowPoly: model generated after intelligent polygon reduction\n- Geometry: generate model without textures (white model)\n- Sketch: generative model from sketch or line drawing\n" + enum: + - Normal + - LowPoly + - Geometry + - Sketch + type: string + ImageBase64: + description: "Base64 encoded image for image-to-3D generation.\nResolution: min 128px, max 5000px per side.\nMax size: 8MB (recommend 6MB before encoding).\nSupported formats: jpg, png, jpeg, webp.\nEither ImageBase64/ImageUrl or Prompt is required.\n" + type: string + ImageUrl: + description: "URL of input image for image-to-3D generation.\nResolution: min 128px, max 5000px per side.\nMax size: 8MB.\nSupported formats: jpg, png, jpeg, webp.\nEither ImageBase64/ImageUrl or Prompt is required.\n" + format: uri + type: string + Model: + default: "3.0" + description: "Tencent HY 3D Global model version.\nDefaults to 3.0, with optional choices: 3.0, 3.1.\nWhen selecting version 3.1, the LowPoly parameter is unavailable.\n" + enum: + - "3.0" + - "3.1" + example: "3.0" + type: string + MultiViewImages: + description: "Multi-perspective model images for 3D generation.\nEach perspective is limited to one image.\nImage size limit: max 8MB after encoding.\nImage resolution: min 128px, max 5000px per side.\nSupported formats: JPG, PNG.\n" + items: + $ref: "#/components/schemas/TencentViewImage" + type: array + PolygonType: + default: triangle + description: "Polygon type (only effective when GenerateType is LowPoly).\n- triangle: triangular faces (default)\n- quadrilateral: mix of quadrangle and triangle faces\n" + enum: + - triangle + - quadrilateral + type: string + Prompt: + description: "Text description for 3D content generation.\nSupports up to 1024 utf-8 characters.\nEither Prompt or ImageBase64/ImageUrl is required, but not both.\n" + example: A cat + maxLength: 1024 + type: string + type: object + TencentHunyuan3DProResponse: + description: Response from Tencent Hunyuan 3D Pro submit endpoint + properties: + Response: + properties: + Error: + description: Error object (present when request fails) + properties: + Code: + description: Error code + type: string + Message: + description: Error message + type: string + type: object + JobId: + description: Task ID (valid for 24 hours) + example: "1375367755519696896" + type: string + RequestId: + description: Unique request ID for troubleshooting + example: 13f47dd0-1af9-4383-b401-dae18d6e99fc + type: string + type: object + type: object + TencentHunyuan3DQueryRequest: + properties: + JobId: + description: The JobId returned from the submit endpoint + example: "1375367755519696896" + type: string + required: + - JobId + type: object + TencentHunyuan3DQueryResponse: + description: Response from Tencent Hunyuan 3D query endpoint + properties: + Response: + properties: + ErrorCode: + description: Error code (empty string if no error) + type: string + ErrorMessage: + description: Error message if task failed (empty string if no error) + type: string + RequestId: + description: Unique request ID for troubleshooting + type: string + ResultFile3Ds: + description: Array of generated 3D files + items: + $ref: "#/components/schemas/TencentFile3D" + type: array + Status: + description: "Task status:\n- WAIT: waiting\n- RUN: running\n- FAIL: failed\n- DONE: successful\n" + enum: + - WAIT + - RUN + - FAIL + - DONE + type: string + type: object + type: object + TencentHunyuan3DSmartTopologyRequest: + description: Request body for Tencent Hunyuan 3D Smart Topology (retopology/polygon reduction) + properties: + FaceLevel: + description: Polygon reduction level. + enum: + - high + - medium + - low + example: medium + type: string + File3D: + $ref: "#/components/schemas/TencentInputFile3D" + PolygonType: + description: Polygon type for the output mesh. Defaults to triangle. + enum: + - triangle + - quadrilateral + example: triangle + type: string + required: + - File3D + type: object + TencentHunyuan3DTextureEditRequest: + description: Request body for Tencent Hunyuan 3D texture edit + properties: + EnablePBR: + description: Whether to enable the PBR texture parameter; only supported when using Prompt. + example: true + type: boolean + File3D: + $ref: "#/components/schemas/TencentInputFile3D" + Image: + $ref: "#/components/schemas/TencentImageInfo" + Prompt: + description: Describes texture editing. Either Image or Prompt is required; they cannot coexist. + example: a kitten + maxLength: 1024 + type: string + required: + - File3D + type: object + TencentHunyuan3DUVRequest: + description: Request body for Tencent Hunyuan 3D UV unfolding + properties: + File: + $ref: "#/components/schemas/TencentInputFile3D" + type: object + TencentHunyuan3DUVResponse: + description: Response from Tencent Hunyuan 3D UV submit endpoint + properties: + Response: + properties: + Error: + description: Error object (present when request fails) + properties: + Code: + description: Error code + type: string + Message: + description: Error message + type: string + type: object + JobId: + description: Task ID for the UV unwrapping job + example: "1384898587778465792" + type: string + RequestId: + description: Unique request ID for troubleshooting + example: 5265eb4a-0f4f-4cb1-9b3d-d9f1fb9347d2 + type: string + type: object + type: object + TencentImageInfo: + description: Reference image - Base64 data or image URL + properties: + ImageBase64: + description: "Base64 encoded image. Resolution 128-4096 per side, converted Base64 less than 10MB. Formats jpg, jpeg, png." + type: string + ImageUrl: + description: "Image URL. If both Base64 and Url provided, Url prevails." + format: uri + type: string + type: object + TencentInputFile3D: + description: 3D file input for UV unwrapping + properties: + Type: + description: 3D file format type + enum: + - FBX + - OBJ + - GLB + example: GLB + type: string + Url: + description: URL of the 3D file that needs UV unwrapping + example: https://example.com/model.glb + format: uri + type: string + required: + - Type + - Url + type: object + TencentViewImage: + description: A view image for multi-perspective 3D generation + properties: + ViewImageBase64: + description: "Base64 encoded image for this view.\nResolution: min 128px, max 5000px per side.\nMax size: 8MB.\nSupported formats: JPG, PNG.\n" + type: string + ViewImageUrl: + description: "URL of the image for this view.\nResolution: min 128px, max 5000px per side.\nMax size: 8MB.\nSupported formats: JPG, PNG.\n" + format: uri + type: string + ViewType: + description: "The viewing angle type for this image.\n- left: Left view\n- right: Right view\n- back: Rear view\n- top: Top view (only supported in Model 3.1)\n- bottom: Bottom view (only supported in Model 3.1)\n- left_front: Left front 45 degree view (only supported in Model 3.1)\n- right_front: Right front 45 degree view (only supported in Model 3.1)\n" + enum: + - left + - right + - back + - top + - bottom + - left_front + - right_front + type: string + type: object + TextResponseFormatConfiguration: + description: "An object specifying the format that the model must output.\n\nConfiguring `{ \"type\": \"json_schema\" }` enables Structured Outputs,\nwhich ensures the model will match your supplied JSON schema. Learn more in the\n[Structured Outputs guide](/docs/guides/structured-outputs).\n\nThe default format is `{ \"type\": \"text\" }` with no additional options.\n\n**Not recommended for gpt-4o and newer models:**\n\nSetting to `{ \"type\": \"json_object\" }` enables the older JSON mode, which\nensures the message the model generates is valid JSON. Using `json_schema`\nis preferred for models that support it.\n" + oneOf: + - $ref: "#/components/schemas/ResponseFormatText" + - $ref: "#/components/schemas/TextResponseFormatJsonSchema" + - $ref: "#/components/schemas/ResponseFormatJsonObject" + TextResponseFormatJsonSchema: + description: "JSON Schema response format. Used to generate structured JSON responses.\nLearn more about [Structured Outputs](/docs/guides/structured-outputs).\n" + properties: + description: + description: "A description of what the response format is for, used by the model to\ndetermine how to respond in the format.\n" + type: string + name: + description: "The name of the response format. Must be a-z, A-Z, 0-9, or contain\nunderscores and dashes, with a maximum length of 64.\n" + type: string + schema: + $ref: "#/components/schemas/ResponseFormatJsonSchemaSchema" + strict: + default: false + description: "Whether to enable strict schema adherence when generating the output.\nIf set to true, the model will always follow the exact schema defined\nin the `schema` field. Only a subset of JSON Schema is supported when\n`strict` is `true`. To learn more, read the [Structured Outputs\nguide](/docs/guides/structured-outputs).\n" + type: boolean + type: + description: "The type of response format being defined. Always `json_schema`." + enum: + - json_schema + type: string + x-stainless-const: true + required: + - type + - schema + - name + title: JSON schema + type: object + Tool: + discriminator: + propertyName: type + oneOf: + - $ref: "#/components/schemas/FileSearchTool" + - $ref: "#/components/schemas/FunctionTool" + - $ref: "#/components/schemas/WebSearchPreviewTool" + - $ref: "#/components/schemas/ComputerUsePreviewTool" + ToolChoiceFunction: + description: "Use this option to force the model to call a specific function.\n" + properties: + name: + description: The name of the function to call. + type: string + type: + description: "For function calling, the type is always `function`." + enum: + - function + type: string + x-stainless-const: true + required: + - type + - name + title: Function tool + type: object + ToolChoiceOptions: + description: "Controls which (if any) tool is called by the model.\n\n`none` means the model will not call any tool and instead generates a message.\n\n`auto` means the model can pick between generating a message or calling one or\nmore tools.\n\n`required` means the model must call one or more tools.\n" + enum: + - none + - auto + - required + title: Tool choice mode + type: string + ToolChoiceTypes: + description: "Indicates that the model should use a built-in tool to generate a response.\n[Learn more about built-in tools](/docs/guides/tools).\n" + properties: + type: + description: "The type of hosted tool the model should to use. Learn more about\n[built-in tools](/docs/guides/tools).\n\nAllowed values are:\n- `file_search`\n- `web_search_preview`\n- `computer_use_preview`\n" + enum: + - file_search + - web_search_preview + - computer_use_preview + - web_search_preview_2025_03_11 + type: string + required: + - type + title: Hosted tool + type: object + TopazCombinedCreateRequest: + oneOf: + - $ref: "#/components/schemas/TopazCreateRequestVideoSchema" + - $ref: "#/components/schemas/TopazCreateRequestImageSequenceSchema" + TopazCreateRequestImageSequenceSchema: + properties: + destination: + properties: + external: + $ref: "#/components/schemas/TopazExternalStorage" + type: object + filters: + $ref: "#/components/schemas/TopazInputFilters" + output: + $ref: "#/components/schemas/TopazOutputInformationImageSequence" + source: + description: Source details for the video + properties: + container: + description: The container format of the image files + enum: + - DPX + - EXR + - JPEG + - PNG + - TIFF + example: TIFF + type: string + endNumber: + description: Optional ending frame number for image sequences + example: 120 + type: integer + external: + $ref: "#/components/schemas/TopazExternalStorage" + frameCount: + description: "Total number of frames in the video, in this case, equal to the number of image files." + example: 18000 + type: number + frameRate: + description: Frame rate of the video + example: 30 + type: number + resolution: + description: Resolution details of the image + properties: + height: + description: Height of the image in pixels + example: 1080 + type: integer + width: + description: Width of the image in pixels + example: 1920 + type: integer + required: + - width + - height + type: object + startNumber: + description: Optional starting frame number for image sequences + example: 120 + type: integer + required: + - container + - frameCount + - frameRate + - resolution + - external + type: object + required: + - source + - filters + - output + - destination + title: Image Sequence + type: object + TopazCreateRequestVideoSchema: + properties: + destination: + properties: + external: + $ref: "#/components/schemas/TopazExternalStorage" + type: object + filters: + $ref: "#/components/schemas/TopazInputFilters" + output: + $ref: "#/components/schemas/TopazOutputInformationVideo" + overrides: + properties: + isPaidDiffusion: + type: boolean + type: object + source: + description: Source details for the video + properties: + container: + description: The container format of the video file + enum: + - mp4 + - mov + - mkv + example: mp4 + type: string + duration: + description: Duration of the video file in seconds + example: 600 + type: number + external: + $ref: "#/components/schemas/TopazExternalStorage" + frameCount: + description: Total number of frames in the video + example: 18000 + type: number + frameRate: + description: Frame rate of the video + example: 30 + type: number + resolution: + description: Resolution details of the video + properties: + height: + description: Height of the video in pixels + example: 1080 + type: integer + width: + description: Width of the video in pixels + example: 1920 + type: integer + required: + - width + - height + type: object + size: + description: Size of the video file in bytes + example: 123456000 + type: integer + required: + - container + - size + - duration + - frameCount + - frameRate + - resolution + type: object + required: + - source + - filters + - output + title: Video AI + type: object + TopazCredentialsS3: + properties: + externalId: + description: Kind of like a secret string for extra layer of security + example: MSTnuGztXtTU25XKjVfMJCsujv6VtAGtv1TGSjtOL6M= + type: string + roleArn: + description: AWS ARN of the role to assume + example: arn:aws:iam::123456789:role/topazlabs + type: string + required: + - roleArn + - externalId + type: object + TopazDownloadResponse: + properties: + download_url: + description: Presigned URL to download the image + example: https://example.com/d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b?presigned_headers + type: string + expiry: + description: Expiration time of the presigned URLs in Unix timestamp + example: 1617220000 + type: integer + head_url: + description: Presigned URL to get image metadata + example: https://example.com/d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b?presigned_headers + type: string + required: + - download_url + - expiry + type: object + TopazEnhanceGenRequest: + properties: + color_preservation: + default: "true" + description: "To preserve the original color - available for Reimagine only (must be string \"true\" or \"false\" due to Topaz API requirement)" + enum: + - "true" + - "false" + type: string + creativity: + default: 3 + description: Creativity settings range from 1 to 9 - - available for Reimagine only + maximum: 9 + minimum: 1 + type: integer + crop_to_fill: + default: false + description: Default behavior is to letterbox the image if a differing aspect ratio is chosen. Enable crop_to_fill by setting this to true if you instead want to crop the image to fill the dimensions + type: boolean + face_enhancement: + default: true + description: "By default, faces (if any) are enhanced during image processing as well. Set face_enhancement to false if you don't want this" + type: boolean + face_enhancement_creativity: + default: 0 + description: "Choose the level of creativity for face enhancement from 0 to 1. Defaults to 0, and is ignored if face_enhancement is false" + maximum: 1 + minimum: 0 + type: number + face_enhancement_strength: + default: 0.8 + description: "Control how sharp the enhanced faces are relative to the background from 0 to 1. Defaults to 0.8, and is ignored if face_enhancement is false" + maximum: 1 + minimum: 0 + type: number + face_preservation: + default: "true" + description: "To preserve the identity of characters - available for Reimagine only (must be string \"true\" or \"false\" due to Topaz API requirement)" + enum: + - "true" + - "false" + type: string + image: + description: "The image file to be processed. Supported formats - jpeg (or jpg), png, tiff (or tif)" + format: binary + type: string + model: + default: Reimagine + description: The model to use for processing the image (Bloom - Creative Upscale) + enum: + - Reimagine + type: string + output_format: + default: jpeg + description: The desired format of the output image + enum: + - jpeg + - jpg + - png + - tiff + - tif + type: string + output_height: + description: The desired height of the output image in pixels + maximum: 32000 + minimum: 1 + type: integer + output_width: + description: The desired width of the output image in pixels + maximum: 32000 + minimum: 1 + type: integer + prompt: + description: Text prompt for creative upscaling guidance - available for Reimagine only + example: enter-your-prompt-here + type: string + source_id: + description: Unique identifier of the source image + example: d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b + type: string + source_url: + description: The URL of the source image + example: https://example.com/image.jpg + type: string + subject_detection: + default: All + description: "Specifies whether you want to detect all subjects in the image, only the foreground subject, or only the background for the AI model to run on" + enum: + - All + - Foreground + - Background + type: string + required: + - model + type: object + TopazEnhanceGenResponse: + properties: + eta: + description: Expected completion time in Unix timestamp + example: 1617220000 + type: integer + process_id: + description: Unique identifier for the processing job + example: d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b + type: string + source_id: + description: Unique identifier of the source image + example: d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b + type: string + required: + - process_id + - eta + type: object + TopazExternalStorage: + properties: + bucketName: + example: galaxies + type: string + credentials: + $ref: "#/components/schemas/TopazCredentialsS3" + key: + description: "The example includes the standard specifier for image sequence requests, with optional directory path. It must begin with \"%\" and end with the integer specifier \"d\". The \"0\" in the example indicates left-padding with zeroes, and \"6\" indicates the number of digits in the file name.\nKeys for video requests must be valid characters supported by S3.\n" + example: milky_way/%06d.tiff + type: string + provider: + enum: + - s3 + example: s3 + type: string + required: + - provider + - credentials + - bucketName + - key + type: object + TopazInputFilters: + description: Array of EnhancementFilter or FrameInterpolationFilter objects + example: + - auto: Auto + blur: 0.6 + compression: 0.1 + details: 0.2 + fieldOrder: Auto + focusFixLevel: Normal + grain: 0.02 + grainSize: 1 + halo: 0.4 + model: prob-4 + noise: 0.3 + preblur: 0.5 + prenoise: 0.01 + recoverOriginalDetailValue: 0.7 + videoType: Progressive + - duplicate: true + duplicateThreshold: 0.01 + fps: 60 + model: apo-8 + slowmo: 2 + items: + anyOf: + - $ref: "#/components/schemas/TopazVideoEnhancementFilter" + - $ref: "#/components/schemas/TopazVideoFrameInterpolationFilter" + type: array + TopazOutputInformationImageSequence: + properties: + codecId: + description: "Video codec ID, if known. Defaults to videoEncoder." + example: h265-main-win-nvidia + type: string + container: + description: "Desired output container, defaults to the input container" + enum: + - DPX + - EXR + - JPEG + - PNG + - TIFF + example: TIFF + type: string + cropToFit: + description: Center cropping to fit the output dimensions + example: true + type: boolean + frameRate: + description: Frame rate + example: 30 + type: number + resolution: + description: Desired output resolution + properties: + height: + description: Height in pixels. The maximum size depends on the encoder and can be referenced using the table below
H264 H265 ProRes AV1 VP9
4096 8192 16386 8704 8192
+ example: 4320 + type: integer + width: + description: Width in pixels. The maximum size depends on the encoder and can be referenced using the table below
H264 H265 ProRes AV1 VP9
4096 8192 16386 16384 8192
+ example: 7680 + type: integer + required: + - width + - height + type: object + videoEncoder: + enum: + - DPX + - EXR + - JPEG + - PNG + - TIFF + example: TIFF + type: string + videoProfile: + description: Codec profile specific to videoEncoder + example: Main + type: string + required: + - resolution + - frameRate + type: object + TopazOutputInformationVideo: + properties: + audioBitrate: + description: "Audio bitrate, if audioTransfer is Copy or Convert. Default values for the codec are used if not provided." + example: "320" + type: string + audioCodec: + description: __Required if audioTransfer is Copy or Convert.__ + enum: + - AAC + - AC3 + - PCM + example: AAC + type: string + audioTransfer: + enum: + - Copy + - Convert + - None + example: Copy + type: string + codecId: + description: "Video codec ID, if known. Defaults to videoEncoder." + example: h265-main-win-nvidia + type: string + container: + description: Desired output container + enum: + - mp4 + - mov + - mkv + example: mp4 + type: string + cropToFit: + description: Center cropping to fit the output dimensions + example: true + type: boolean + dynamicCompressionLevel: + description: __Required if videoBitrate is not provided.__ Automatic CQP selection. + enum: + - Low + - Mid + - High + example: Mid + type: string + frameRate: + description: Frame rate + example: 30 + type: number + resolution: + description: Desired output resolution + properties: + height: + description: Height in pixels. The maximum size depends on the encoder and can be referenced using the table below
H264 H265 ProRes AV1 VP9
4096 8192 16386 8704 8192
+ example: 4320 + type: integer + width: + description: Width in pixels. The maximum size depends on the encoder and can be referenced using the table below
H264 H265 ProRes AV1 VP9
4096 8192 16386 16384 8192
+ example: 7680 + type: integer + required: + - width + - height + type: object + videoBitrate: + description: "__Required if dynamicCompressionLevel is not provided.__ Constant bitrate, suffixed with \"k\" for kilobits or \"m\" for megabits per second." + example: 1k + type: string + videoEncoder: + enum: + - AV1 + - FFV1 + - H264 + - H265 + - ProRes + - QuickTime Animation + - QuickTime R210 + - QuickTime V210 + - VP9 + example: H265 + type: string + videoProfile: + description: "Codec profile specific to videoEncoder. The following are some combinations of available profiles based on the 'videoEncoder' selection
H264 H265 ProRes AV1 VP9
High Main, Main10 422 Proxy, 422 LT, 422 Std, 422 HQ 8-bit, 10-bit Good, Best
" + example: Main + type: string + required: + - resolution + - frameRate + - audioCodec + - audioTransfer + type: object + TopazStatusResponse: + properties: + category: + description: "Processing category (e.g., \"Enhance\")" + type: string + creation_time: + description: Creation time in Unix timestamp + type: integer + credits: + description: Credits consumed for this job + type: integer + crop_to_fill: + description: Whether crop to fill is enabled + type: boolean + eta: + description: Expected completion time in Unix timestamp + type: integer + face_enhancement: + description: Whether face enhancement is enabled + type: boolean + face_enhancement_creativity: + description: Face enhancement creativity level + type: number + face_enhancement_strength: + description: Face enhancement strength level + type: number + filename: + description: Original filename without extension + type: string + input_format: + description: Format of the input image + type: string + input_height: + description: Height of the input image in pixels + type: integer + input_width: + description: Width of the input image in pixels + type: integer + model: + description: "Specific model used (e.g., \"Reimagine\")" + type: string + model_type: + description: "Type of model used (e.g., \"Generative\")" + type: string + modification_time: + description: Last modification time in Unix timestamp + type: integer + options_json: + description: JSON string containing additional options + type: string + output_format: + description: Format of the output image + type: string + output_height: + description: Height of the output image in pixels + type: integer + output_width: + description: Width of the output image in pixels + type: integer + process_id: + description: Unique identifier for the processing job + type: string + progress: + description: Progress percentage (0-100) + maximum: 100 + minimum: 0 + type: number + source_id: + description: Unique identifier of the source image + type: string + status: + description: Current status of the processing job + enum: + - Pending + - Processing + - Completed + - Failed + - Cancelled + type: string + subject_detection: + description: Subject detection setting + type: string + sync: + description: Whether this was a synchronous request + type: boolean + required: + - process_id + - status + - credits + type: object + TopazVideoAcceptResponse: + properties: + message: + description: Response message + example: Accepted + type: string + uploadId: + description: Upload ID for completing multi-part upload + example: GDlWC7qIaE6okS41Xf/ktpuS5XzTRabg + type: string + urls: + description: URLs to PUT the parts to + example: + - https://videocloud.s3.amazonaws.com/source.mp4?uploadPart1 + - https://videocloud.s3.amazonaws.com/source.mp4?uploadPart2 + items: + type: string + type: array + required: + - uploadId + - urls + type: object + TopazVideoCompleteUploadRequest: + properties: + md5Hash: + description: MD5 hash of the source video file in hex + example: 4d186321c1a7f0f354b297e8914ab240 + type: string + uploadResults: + description: An array of part number and ETag pairs of the uploaded parts. ETags are returned by S3 upon upload of the part. + items: + properties: + eTag: + description: eTag value returned by S3 upon upload of the part + example: d41d8cd98f00b204e9800998ecf8427e + type: string + partNum: + description: "Part number of the uploaded part, starting from 1" + example: 1 + type: integer + required: + - partNum + - eTag + type: object + type: array + required: + - uploadResults + type: object + TopazVideoCompleteUploadResponse: + properties: + message: + description: Confirmation message + example: Processing has been queued + type: string + required: + - message + type: object + TopazVideoCreateRequest: + oneOf: + - $ref: "#/components/schemas/TopazCreateRequestVideoSchema" + - $ref: "#/components/schemas/TopazCreateRequestImageSequenceSchema" + TopazVideoCreateResponse: + properties: + estimates: + $ref: "#/components/schemas/TopazVideoRequestEstimates" + requestId: + description: Unique identifier for the video processing request + example: c1f96dc2-c448-00e6-82ed-14ecb6403c62 + format: uuid + type: string + required: + - requestId + - estimates + type: object + TopazVideoEnhancedDownload: + description: Signed download URL to the enhanced video file + properties: + expiresAt: + description: Time in milliseconds since UTC epoch + example: 1727213400000 + type: integer + expiresIn: + description: TTL in milliseconds + example: 86400000 + type: integer + url: + example: https://videocloud.r2.cloudflarestorage.com/enhanced.mp4 + type: string + type: object + TopazVideoEnhancementFilter: + properties: + auto: + description: Parameter mode of the selected model + enum: + - Auto + - Manual + - Relative + example: Auto + type: string + blur: + description: Amount of sharpness applied + example: 0.6 + maximum: 1 + minimum: -1 + type: number + compression: + description: Adjust strength of compression recovery + example: 0.1 + maximum: 1 + minimum: -1 + type: number + creativity: + description: Creativity level for Starlight Creative (slc-1) only + enum: + - low + - high + type: string + details: + description: Amount of detail reconstruction + example: 0.2 + maximum: 1 + minimum: -1 + type: number + fieldOrder: + description: Optional specification of field order for interlaced input videos + enum: + - TopFirst + - BottomFirst + - Auto + example: Auto + type: string + focusFixLevel: + description: Downscales video input for stronger correction of blurred subjects + enum: + - None + - Normal + - Strong + example: Normal + type: string + grain: + description: Adds grain after AI model processing + example: 0.02 + maximum: 0.1 + minimum: 0 + type: number + grainSize: + description: Size of generated grain + example: 1 + maximum: 5 + minimum: 0 + type: number + halo: + description: Amount of halo reduction + example: 0.4 + maximum: 1 + minimum: -1 + type: number + isOptimizedMode: + description: Set to true for Starlight Creative (slc-1) only + type: boolean + model: + description: Short code name for AI model + enum: + - aaa-9 + - ahq-12 + - alq-13 + - alqs-2 + - amq-13 + - amqs-2 + - ddv-3 + - dtd-4 + - dtds-2 + - dtv-4 + - dtvs-2 + - gcg-5 + - ghq-5 + - iris-2 + - iris-3 + - nxf-1 + - nyx-3 + - prob-4 + - rhea-1 + - rxl-1 + - thd-3 + - thf-4 + - thm-2 + - slf-1 + - slc-1 + example: prob-4 + type: string + noise: + description: Amount of noise reduction + example: 0.3 + maximum: 1 + minimum: -1 + type: number + preblur: + description: Adjust anti-aliasing and deblurring strength + example: 0.5 + maximum: 1 + minimum: -1 + type: number + prenoise: + description: Adds noise to input to reduce over-smoothing + example: 0.01 + maximum: 0.1 + minimum: 0 + type: number + recoverOriginalDetailValue: + description: Reintroduce source details into the output video + example: 0.7 + maximum: 1 + minimum: 0 + type: number + videoType: + description: Frame/field type of the video + enum: + - Progressive + - Interlaced + - ProgressiveInterlaced + example: Progressive + type: string + required: + - model + type: object + TopazVideoFrameInterpolationFilter: + properties: + duplicate: + description: Analyze input for duplicate frames and remove them + example: true + type: boolean + duplicateThreshold: + description: Sensitivity of detection for duplicate frames + example: 0.01 + maximum: 0.1 + minimum: 0.001 + type: number + fps: + description: "Output frame rate, does not increase duration" + example: 60 + maximum: 240 + minimum: 15 + type: number + model: + description: Short code name for AI model + enum: + - aion-1 + - apf-2 + - apo-8 + - chf-3 + - chr-2 + example: apo-8 + type: string + slowmo: + description: Slow motion factor applied to input video + example: 2 + maximum: 16 + minimum: 1 + type: number + required: + - model + type: object + TopazVideoRequestEstimates: + description: Lower and upper bound estimates + properties: + cost: + description: Cost range in credits + example: + - 10 + - 12 + items: + type: integer + type: array + time: + description: Time range in seconds + example: + - 600 + - 700 + items: + type: integer + type: array + type: object + TopazVideoStatusResponse: + properties: + averageFps: + description: Average processing speed of each node + example: 1.23 + type: number + combinedFps: + description: Combined processing speed of all nodes + example: 12.34 + type: number + download: + $ref: "#/components/schemas/TopazVideoEnhancedDownload" + estimates: + $ref: "#/components/schemas/TopazVideoRequestEstimates" + message: + example: Processing + type: string + outputSize: + description: Size of output video + example: 10 GB + type: string + progress: + description: Total progress percentage + example: 82 + maximum: 100 + minimum: 0 + type: number + status: + description: Current status of the video processing + enum: + - requested + - accepted + - initializing + - preprocessing + - processing + - postprocessing + - complete + - canceling + - canceled + - failed + example: processing + type: string + required: + - status + type: object + TripoAnimation: + enum: + - preset:idle + - preset:walk + - preset:climb + - preset:jump + - preset:run + - preset:slash + - preset:shoot + - preset:hurt + - preset:fall + - preset:turn + type: string + TripoBalance: + properties: + balance: + type: number + frozen: + type: number + required: + - balance + - frozen + type: object + TripoConvertFormat: + enum: + - GLTF + - USDZ + - FBX + - OBJ + - STL + - 3MF + type: string + TripoErrorResponse: + properties: + code: + enum: + - 1001 + - 2000 + - 2001 + - 2002 + - 2003 + - 2004 + - 2006 + - 2007 + - 2008 + - 2010 + type: integer + message: + type: string + suggestion: + type: string + required: + - code + - message + - suggestion + type: object + TripoGeometryQuality: + enum: + - standard + - detailed + type: string + TripoImageToModel: + description: Task type for Tripo image-to-model generation. + enum: + - image_to_model + example: image_to_model + type: string + TripoModelStyle: + description: Style for the Tripo model generation. + enum: + - person:person2cartoon + - animal:venom + - object:clay + - object:steampunk + - object:christmas + - object:barbie + - gold + - ancient_bronze + example: object:clay + type: string + TripoModelVersion: + description: Version of the Tripo model. + enum: + - v2.5-20250123 + - v2.0-20240919 + - v1.4-20240625 + example: v2.5-20250123 + type: string + TripoMultiviewMode: + description: "Mode for multiview generation, specifying view orientation." + enum: + - LEFT + - RIGHT + example: LEFT + type: string + TripoMultiviewToModel: + description: Task type for Tripo multiview-to-model generation. + enum: + - multiview_to_model + example: multiview_to_model + type: string + TripoOrientation: + default: default + enum: + - align_image + - default + type: string + TripoResponseSuccessCode: + description: Standard success code for Tripo API responses. Typically 0 for success. + example: 0 + type: integer + TripoSpec: + enum: + - mixamo + - tripo + type: string + TripoStandardFormat: + enum: + - glb + - fbx + type: string + TripoStylizeOptions: + enum: + - lego + - voxel + - voronoi + - minecraft + type: string + TripoSuccessTask: + properties: + code: + enum: + - 0 + type: integer + data: + properties: + task_id: + description: used for getTask + type: string + required: + - task_id + type: object + required: + - code + - data + type: object + TripoTask: + properties: + consumed_credit: + description: Actual credits consumed by the task. Present once status is finalized; 0 for failed tasks. + type: integer + create_time: + type: integer + input: + type: object + output: + properties: + base_model: + type: string + model: + type: string + pbr_model: + type: string + rendered_image: + type: string + riggable: + type: boolean + topology: + enum: + - bip + - quad + type: string + type: object + progress: + maximum: 100 + minimum: 0 + type: integer + status: + enum: + - queued + - running + - success + - failed + - cancelled + - unknown + - banned + - expired + type: string + task_id: + type: string + type: + type: string + required: + - task_id + - type + - status + - input + - output + - progress + - create_time + type: object + TripoTextToModel: + description: "The type of the Tripo task, specifically for text-to-model operations." + enum: + - text_to_model + example: text_to_model + type: string + TripoTextureAlignment: + enum: + - original_image + - geometry + type: string + TripoTextureFormat: + enum: + - BMP + - DPX + - HDR + - JPEG + - OPEN_EXR + - PNG + - TARGA + - TIFF + - WEBP + type: string + TripoTextureQuality: + enum: + - standard + - detailed + type: string + TripoTopology: + enum: + - bip + - quad + type: string + TripoTypeAnimatePrerigcheck: + enum: + - animate_prerigcheck + type: string + TripoTypeAnimateRetarget: + enum: + - animate_retarget + type: string + TripoTypeAnimateRig: + enum: + - animate_rig + type: string + TripoTypeConvertModel: + enum: + - convert_model + type: string + TripoTypeRefineModel: + enum: + - refine_model + type: string + TripoTypeStylizeModel: + enum: + - stylize_model + type: string + TripoTypeTextureModel: + enum: + - texture_model + type: string + UpdateCouponRequest: + properties: + metadata: + additionalProperties: + type: string + description: Set of key-value pairs for storing additional information + type: object + name: + description: Name of the coupon displayed to customers + type: string + type: object + UpdatePromoCodeRequest: + properties: + active: + description: Whether the promo code is active + type: boolean + metadata: + additionalProperties: + type: string + description: Set of key-value pairs for storing additional information + type: object + type: object + UsageBalance: + description: "Current remaining balance, mirroring /customers/balance." + properties: + amount_micros: + format: double + type: number + cloud_credit_balance_micros: + format: double + type: number + currency: + type: string + prepaid_balance_micros: + format: double + type: number + type: object + UsageBreakdownRow: + properties: + cost_micros: + description: "Total gross spend for this group over the range, in microamount." + format: double + type: number + group_key: + type: string + share: + description: Fraction of total spend attributable to this group (0-1). + format: double + type: number + required: + - group_key + - cost_micros + - share + type: object + UsageBucket: + properties: + cost_micros: + description: "Gross spend in this period for this group, in microamount (1/1,000,000 USD)." + format: double + type: number + group_key: + description: Group value (e.g. model name) this bucket belongs to. + type: string + period_end: + description: End of the billing period this bucket belongs to. + format: date-time + type: string + period_start: + description: Start of the billing period this bucket belongs to. + format: date-time + type: string + required: + - period_start + - period_end + - group_key + - cost_micros + type: object + UsageSummary: + properties: + balance: + $ref: "#/components/schemas/UsageBalance" + spend_micros: + description: "Total gross spend over the range, in microamount." + format: double + type: number + required: + - spend_micros + type: object + User: + properties: + email: + description: The email address for this user. + type: string + id: + description: The unique id for this user. + type: string + isAdmin: + description: Indicates if the user has admin privileges. + type: boolean + isApproved: + description: Indicates if the user is approved. + type: boolean + name: + description: The name for this user. + type: string + type: object + Veo2GenVidPollRequest: + properties: + operationName: + description: Full operation name (from predict response) + example: projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID + type: string + required: + - operationName + type: object + Veo2GenVidPollResponse: + properties: + done: + type: boolean + error: + description: Error details if operation failed + properties: + code: + description: Error code + type: integer + message: + description: Error message + type: string + type: object + name: + type: string + response: + description: The actual prediction response if done is true + properties: + "@type": + example: type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse + type: string + raiMediaFilteredCount: + description: Count of media filtered by responsible AI policies + type: integer + raiMediaFilteredReasons: + description: Reasons why media was filtered by responsible AI policies + items: + type: string + type: array + videos: + items: + properties: + bytesBase64Encoded: + description: Base64-encoded video content + type: string + gcsUri: + description: Cloud Storage URI of the video + type: string + mimeType: + description: Video MIME type + type: string + type: object + type: array + type: object + type: object + Veo2GenVidRequest: + properties: + instances: + items: + properties: + image: + description: Optional image to guide video generation + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + format: byte + type: string + gcsUri: + type: string + mimeType: + type: string + type: object + prompt: + description: Text description of the video + type: string + required: + - prompt + type: object + type: array + parameters: + properties: + aspectRatio: + example: 16:9 + type: string + durationSeconds: + type: integer + enhancePrompt: + type: boolean + negativePrompt: + type: string + personGeneration: + enum: + - ALLOW + - BLOCK + type: string + sampleCount: + type: integer + seed: + format: uint32 + type: integer + storageUri: + description: Optional Cloud Storage URI to upload the video + type: string + type: object + type: object + Veo2GenVidResponse: + properties: + name: + description: Operation resource name + example: projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8 + type: string + required: + - name + type: object + VeoGenVidPollRequest: + properties: + operationName: + description: Full operation name returned from the generate response + example: projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID + type: string + required: + - operationName + type: object + VeoGenVidPollResponse: + description: Response from polling a Veo video generation operation + properties: + done: + description: Whether the operation has completed + type: boolean + error: + description: "Error details, present if the operation failed" + properties: + code: + description: gRPC error code + type: integer + message: + description: Error message + type: string + type: object + name: + description: Operation resource name + type: string + response: + description: "The prediction response, present when done is true" + properties: + "@type": + example: type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse + type: string + raiMediaFilteredCount: + description: Number of videos filtered by responsible AI policies + type: integer + raiMediaFilteredReasons: + description: Reasons why videos were filtered by responsible AI policies + items: + type: string + type: array + videos: + items: + properties: + bytesBase64Encoded: + description: Base64-encoded video content + type: string + gcsUri: + description: Cloud Storage URI of the generated video + type: string + mimeType: + description: Video MIME type (video/mp4) + type: string + type: object + type: array + type: object + type: object + VeoGenVidRequest: + properties: + instances: + items: + properties: + cameraControl: + description: Camera motion type. Requires image to be provided. + enum: + - fixed + - pan_left + - pan_right + - tilt_up + - tilt_down + - truck_left + - truck_right + - pedestal_up + - pedestal_down + - push_in + - pull_out + type: string + image: + description: Optional first frame image to guide video generation + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64-encoded image data + format: byte + type: string + gcsUri: + description: Cloud Storage URI of the image + type: string + mimeType: + description: MIME type of the image (image/jpeg or image/png) + enum: + - image/jpeg + - image/png + type: string + type: object + lastFrame: + description: Optional last frame image. Used with image to generate video between first and last frames. Supported by Veo 3.0+ models. + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64-encoded image data + format: byte + type: string + gcsUri: + description: Cloud Storage URI of the image + type: string + mimeType: + description: MIME type of the image (image/jpeg or image/png) + enum: + - image/jpeg + - image/png + type: string + type: object + mask: + description: Optional mask for video editing. Applies to input video. + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64-encoded mask bytes + format: byte + type: string + gcsUri: + description: Cloud Storage URI to mask file + type: string + maskMode: + description: How the mask is applied + enum: + - insert + - remove + - remove_static + - outpaint + type: string + mimeType: + description: "MIME type of the mask (image/png, image/jpeg, image/webp, or video formats)" + type: string + type: object + prompt: + description: Text description of the video to generate + type: string + referenceImages: + description: Optional reference images to guide video generation. Supports up to 3 asset images or 1 style image. Supported by Veo 3.1 models (preview). + items: + properties: + image: + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64-encoded image data + format: byte + type: string + gcsUri: + description: Cloud Storage URI of the image + type: string + mimeType: + description: MIME type of the image (image/jpeg or image/png) + enum: + - image/jpeg + - image/png + type: string + type: object + referenceId: + description: Optional identifier for the reference image + type: string + referenceType: + description: Type of reference image + enum: + - asset + - style + type: string + required: + - image + - referenceType + type: object + type: array + video: + description: Optional input video for video extension or editing. Incompatible with image and referenceImages. + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64-encoded video bytes + format: byte + type: string + gcsUri: + description: Cloud Storage URI of the input video + type: string + mimeType: + description: MIME type of the video + enum: + - video/mov + - video/mpeg + - video/mp4 + - video/mpg + - video/avi + - video/wmv + - video/mpegps + - video/x-flv + type: string + type: object + required: + - prompt + type: object + type: array + parameters: + properties: + aspectRatio: + description: "Aspect ratio of the generated video. Default: 16:9" + enum: + - 16:9 + - 9:16 + example: 16:9 + type: string + compressionQuality: + description: "Video compression quality. Default: optimized" + enum: + - optimized + - lossless + type: string + durationSeconds: + description: "Target duration of the generated video in seconds. Veo 2: 5-8. Veo 3/3.1: 4, 6, or 8. Default: 8" + type: number + enhancePrompt: + description: Automatically improve prompt for higher quality. Defaults to true. + type: boolean + fps: + description: Frame rate of generated videos in frames per second + type: integer + generateAudio: + description: Whether to generate audio along with the video. Defaults to true. Supported by Veo 3.0+ models. + type: boolean + negativePrompt: + description: Text describing what to avoid in the generated video + type: string + personGeneration: + description: "Controls people in generated videos. Default: allow_adult" + enum: + - dont_allow + - allow_adult + - allowAll + type: string + pubsubTopic: + description: "Cloud Pub/Sub topic for progress updates (projects/{project}/topics/{topic})" + type: string + resizeMode: + description: "Resize approach for input image. Default: pad" + enum: + - pad + - crop + type: string + resolution: + description: "Output video resolution. Supported by Veo 3.0+ models. Default: 720p" + enum: + - 720p + - 1080p + - 4k + type: string + sampleCount: + description: "Number of videos to generate. If not specified, 1 video is generated." + maximum: 4 + minimum: 1 + type: integer + seed: + description: Random seed for deterministic output. Different seeds used per video if sampleCount > 1. + format: uint32 + type: integer + storageUri: + description: Cloud Storage URI (gs://) for saving generated videos + type: string + task: + description: Operation type for the video generation request + enum: + - textToVideo + - imageToVideo + - referenceToVideo + - edit + - extend + - upscale + type: string + type: object + type: object + VeoGenVidResponse: + description: Response from a Veo video generation request. Contains the operation name for polling. + properties: + name: + description: Operation resource name used to poll for results via fetchPredictOperation + example: projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8 + type: string + required: + - name + type: object + ViduCreation: + properties: + cover_url: + type: string + id: + type: string + moderation_url: + items: + type: string + type: array + url: + type: string + watermarked_url: + type: string + type: object + ViduExtendReply: + properties: + created_at: + format: date-time + type: string + credits: + format: int32 + type: integer + duration: + format: int32 + type: integer + images: + items: + type: string + type: array + model: + type: string + payload: + type: string + prompt: + type: string + resolution: + type: string + state: + $ref: "#/components/schemas/ViduState" + task_id: + type: string + video_creation_id: + type: string + video_url: + type: string + required: + - task_id + - state + - credits + type: object + ViduExtendRequest: + properties: + callback_url: + description: Callback URL for task status updates + type: string + duration: + description: "Extended duration in seconds (1-7, default 5)" + format: int32 + type: integer + images: + description: Extended reference image to the end frame (only accepts 1 image) + items: + type: string + type: array + model: + description: Model name (viduq2-pro or viduq2-turbo) + type: string + payload: + description: Transparent transmission parameters (max 1048576 characters) + type: string + prompt: + description: Text prompt for video generation (max 2000 characters) + type: string + resolution: + description: "Resolution (540p, 720p, 1080p)" + type: string + video_creation_id: + description: "Vidu video_creation_id, required with video_url" + type: string + video_url: + description: "Any video URL, required with video_creation_id" + type: string + required: + - model + type: object + ViduGetCreationsReply: + properties: + creations: + items: + $ref: "#/components/schemas/ViduCreation" + type: array + err_code: + type: string + id: + type: string + state: + $ref: "#/components/schemas/ViduState" + type: object + ViduImageSetting: + properties: + duration: + description: "Duration between key frames in seconds (2-7, default 5)" + format: int32 + type: integer + key_image: + description: Reference image for each key frame + type: string + prompt: + description: Prompt for extending the previous frame + type: string + required: + - key_image + type: object + ViduMultiframeReply: + properties: + created_at: + format: date-time + type: string + credits: + format: int32 + type: integer + image_settings: + items: + $ref: "#/components/schemas/ViduImageSetting" + type: array + model: + type: string + payload: + type: string + resolution: + type: string + start_image: + type: string + state: + $ref: "#/components/schemas/ViduState" + task_id: + type: string + required: + - task_id + - state + - credits + type: object + ViduMultiframeRequest: + properties: + callback_url: + description: Callback URL for task status updates + type: string + image_settings: + description: Configuration for intelligent multi-frame generation (2-9 frames) + items: + $ref: "#/components/schemas/ViduImageSetting" + type: array + model: + description: Model name (viduq2-pro or viduq2-turbo) + type: string + payload: + description: Transparent transmission parameters (max 1048576 characters) + type: string + resolution: + description: "Video resolution (540p, 720p, 1080p)" + type: string + start_image: + description: The first frame image (Base64 or URL) + type: string + required: + - model + - start_image + - image_settings + type: object + ViduState: + enum: + - created + - processing + - queueing + - success + - failed + type: string + ViduTaskReply: + properties: + aspect_ratio: + type: string + bgm: + description: Whether background music was added + type: boolean + created_at: + format: date-time + type: string + credits: + format: int32 + type: integer + duration: + format: int32 + type: integer + images: + items: + type: string + type: array + model: + type: string + movement_amplitude: + enum: + - auto + - small + - medium + - large + type: string + off_peak: + description: Off peak mode status + type: boolean + payload: + description: Transparent transmission parameters + type: string + prompt: + type: string + resolution: + type: string + seed: + format: int32 + type: integer + state: + $ref: "#/components/schemas/ViduState" + style: + enum: + - general + - anime + type: string + task_id: + type: string + watermark: + description: Whether watermark was added + type: boolean + required: + - task_id + - state + - credits + type: object + ViduTaskRequest: + properties: + aspect_ratio: + type: string + audio: + description: Enable direct audio-video generation capability (default true for q3 model) + type: boolean + audio_type: + description: "Audio type when audio is true: all (sound effects + vocals), speech_only, sound_effect_only. Ineffective for q3 model" + enum: + - all + - speech_only + - sound_effect_only + type: string + bgm: + description: Add background music to generated video (ineffective for q3 model) + type: boolean + callback_url: + description: Callback URL for task status updates + type: string + duration: + description: "Video duration in seconds. viduq3-pro: 1-16, viduq2-pro-fast: 1-10, viduq2-pro/turbo: 1-8" + format: int32 + type: integer + enhance: + type: boolean + images: + description: Images for img2video (accepts 1 image as start frame) + items: + type: string + type: array + is_rec: + description: Use recommended prompt (consumes additional 10 credits) + type: boolean + meta_data: + description: "Metadata identification, JSON format string for custom metadata" + type: string + model: + description: "Model name: viduq3-pro, viduq2-pro-fast, viduq2-pro, viduq2-turbo, viduq1, viduq1-classic, vidu2.0" + type: string + movement_amplitude: + description: "Movement amplitude of objects in frame (ineffective for q2, q3 models)" + enum: + - auto + - small + - medium + - large + type: string + off_peak: + description: "Off peak mode (lower cost, tasks generated within 48 hours)" + type: boolean + payload: + description: Transparent transmission parameters (max 1048576 characters) + type: string + priority: + format: int32 + type: integer + prompt: + description: Text prompt for video generation (max 2000 characters) + type: string + resolution: + description: "Resolution: 360p, 540p, 720p, 1080p, 2K (availability depends on model and duration)" + type: string + seed: + description: Random seed (defaults to random if not specified) + format: int32 + type: integer + style: + enum: + - general + - anime + type: string + voice_id: + description: Voice ID for audio (ineffective for q3 model) + type: string + watermark: + description: Add watermark to video (default false) + type: boolean + wm_position: + description: "Watermark position: 1 (top left), 2 (top right), 3 (bottom right, default), 4 (bottom left)" + format: int32 + type: integer + wm_url: + description: Watermark image URL (uses default watermark if not provided) + type: string + type: object + WanImage2ImageGenerationRequest: + properties: + input: + description: "Enter basic information, such as prompt words, images, etc." + properties: + images: + description: Array of image URLs for image-to-image generation + items: + description: "Image URL. Supported formats JPEG, JPG, PNG, BMP, WEBP. Resolution width and height must be between 384 and 5000 pixels. File size no larger than 10MB." + type: string + maxItems: 2 + minItems: 1 + type: array + negative_prompt: + description: Reverse prompt words to describe content that you do not want to see in the image + maxLength: 500 + type: string + prompt: + description: "Positive prompt words to describe expected image elements and visual features. Support Chinese and English, length not exceeding 2000 characters" + maxLength: 2000 + type: string + required: + - prompt + - images + type: object + model: + description: The ID of the model to call for image-to-image generation + enum: + - wan2.5-i2i-preview + type: string + parameters: + description: Image processing parameters + properties: + "n": + default: 1 + description: "Number of generated images. Range 1-4, default is 1" + maximum: 4 + minimum: 1 + type: integer + seed: + description: "Random number seed to control randomness. Range [0, 2147483647]" + maximum: 2147483647 + minimum: 0 + type: integer + size: + default: 1280*1280 + description: Output image resolution. Default is 1280*1280. Width and height must be between 384 and 5000 pixels. + type: string + watermark: + default: false + description: Whether to add watermark logo in lower right corner + type: boolean + type: object + required: + - model + - input + type: object + WanImage2ImageGenerationResponse: + properties: + code: + description: The error code for the failed request (not returned if request is successful) + type: string + message: + description: Detailed information about the failed request (not returned if request is successful) + type: string + output: + properties: + task_id: + description: Task ID + type: string + task_status: + description: Task status + enum: + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + - CANCELED + - UNKNOWN + type: string + required: + - task_id + - task_status + type: object + request_id: + description: Unique request identifier + type: string + required: + - request_id + - output + type: object + WanImageGenerationRequest: + properties: + input: + description: "Enter basic information, such as prompt words, etc." + properties: + negative_prompt: + description: Reverse prompt words to describe content that you do not want to see in the image + type: string + prompt: + description: "Positive prompt words to describe expected image elements and visual features. Support Chinese and English, length not exceeding 800 characters" + type: string + required: + - prompt + type: object + model: + description: The ID of the model to call for text-to-image generation + enum: + - wan2.5-t2i-preview + type: string + parameters: + description: Image processing parameters + properties: + "n": + default: 4 + description: "Number of generated images. Range 1-4, default is 4" + maximum: 4 + minimum: 1 + type: integer + prompt_extend: + default: true + description: Enable prompt intelligent rewriting. Default is true + type: boolean + seed: + description: "Random number seed to control randomness. Range [0, 2147483647]" + maximum: 2147483647 + minimum: 0 + type: integer + size: + default: 1024*1024 + description: "Output image resolution. Default is 1024*1024. Pixel range [512, 1440], up to 200 megapixels" + type: string + watermark: + default: false + description: Whether to add watermark logo in lower right corner + type: boolean + type: object + required: + - model + - input + type: object + WanImageGenerationResponse: + properties: + code: + description: The error code for the failed request (not returned if request is successful) + type: string + message: + description: Detailed information about the failed request (not returned if request is successful) + type: string + output: + properties: + task_id: + description: Task ID + type: string + task_status: + description: Task status + enum: + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + - CANCELED + - UNKNOWN + type: string + required: + - task_id + - task_status + type: object + request_id: + description: Unique request identifier + type: string + required: + - request_id + - output + type: object + WanTaskQueryResponse: + properties: + output: + properties: + actual_prompt: + description: Actual prompt after intelligent rewriting (for video tasks) + type: string + check_audio: + description: Audio URL for I2V tasks with audio generation + type: string + code: + description: The error code for the failed request (not returned if request is successful) + type: string + end_time: + description: Task completion time + type: string + message: + description: Detailed information about the failed request (not returned if request is successful) + type: string + orig_prompt: + description: Original input prompt (for video tasks) + type: string + results: + description: List of task results for image generation tasks + items: + properties: + actual_prompt: + description: Actual prompt after intelligent rewriting (if enabled) + type: string + code: + description: Image error code (returned when some tasks fail) + type: string + message: + description: Image error information (returned when some tasks fail) + type: string + orig_prompt: + description: Original input prompt + type: string + url: + description: Generated image URL address + type: string + type: object + type: array + scheduled_time: + description: Task execution time + type: string + submit_time: + description: Task submission time + type: string + task_id: + description: Task ID + type: string + task_metrics: + description: Task result statistics for image generation tasks + properties: + FAILED: + description: Number of failed tasks + type: integer + SUCCEEDED: + description: Number of successful tasks + type: integer + TOTAL: + description: Total number of tasks + type: integer + type: object + task_status: + description: Task status + enum: + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + - CANCELED + - UNKNOWN + type: string + video_url: + description: Video URL for completed video generation tasks. Link validity period 24 hours + type: string + required: + - task_id + - task_status + type: object + request_id: + description: Unique request identifier + type: string + usage: + description: Output information statistics. Only successful results are counted + properties: + SR: + description: Video resolution level (I2V tasks) + type: integer + duration: + description: Duration of generated video in seconds (I2V tasks) + type: number + image_count: + description: Number of generated images (T2I tasks) + type: integer + size: + description: Image resolution (T2I tasks) + type: string + video_count: + description: Number of generated videos (T2V tasks) + type: integer + video_duration: + description: Duration of generated video in seconds (T2V tasks) + type: number + video_ratio: + description: Video resolution ratio (T2V tasks) + type: string + type: object + required: + - request_id + - output + type: object + WanVideoGenerationRequest: + properties: + input: + description: "Enter basic information, such as prompt words, etc." + properties: + audio_url: + description: "Audio file download URL. Supported formats: mp3 and wav. Cannot be used with reference_video_urls." + type: string + img_url: + description: "First frame image URL or Base64 encoded data. Required for I2V models. Image formats: JPEG, JPG, PNG, BMP, WEBP. Resolution: 360-2000 pixels. File size: max 10MB." + type: string + media: + description: "Media asset list for wan2.7 models. Specifies reference materials (image, audio, video)\nfor video generation. Each element contains a type and url field.\nSupported type values vary by model:\n- wan2.7-i2v: first_frame, last_frame, driving_audio, first_clip\n- wan2.7-r2v: reference_image, reference_video\n- wan2.7-videoedit: video, reference_image\n" + items: + properties: + type: + description: Media asset type + enum: + - first_frame + - last_frame + - driving_audio + - first_clip + - reference_image + - reference_video + - video + type: string + url: + description: URL of the media file (public HTTP/HTTPS URL or OSS temporary URL) + type: string + required: + - type + - url + type: object + type: array + negative_prompt: + description: Reverse prompt words are used to describe content that you do not want to see in the video screen + maxLength: 500 + type: string + prompt: + description: "Text prompt words. Support Chinese and English, length not exceeding 800 characters.\nFor wan2.6-r2v with multiple reference videos, use 'character1', 'character2', etc. to refer to subjects\nin the order of reference videos. Example: \"Character1 sings on the roadside, Character2 dances beside it\"\n" + maxLength: 800 + type: string + reference_video_urls: + description: "Reference video URLs for wan2.6-r2v model only. Array of 1-3 video URLs.\nInput restrictions:\n- Format: mp4, mov\n- Quantity: 1-3 videos\n- Single video length: 2-30 seconds\n- Single file size: max 30MB\n- Cannot be used with audio_url\nReference duration: Single video max 5s, two videos max 2.5s each, three videos proportionally less.\nBilling: Based on actual reference duration used.\n" + items: + type: string + maxItems: 3 + minItems: 1 + type: array + template: + description: "Video effect template name. Optional. Currently supported: squish, flying, carousel. When used, prompt parameter is ignored." + type: string + type: object + model: + description: The ID of the model to call + enum: + - wan2.5-t2v-preview + - wan2.5-i2v-preview + - wan2.6-t2v + - wan2.6-i2v + - wan2.6-r2v + - wan2.7-i2v + - wan2.7-t2v + - wan2.7-r2v + - wan2.7-videoedit + - happyhorse-1.0-t2v + - happyhorse-1.0-i2v + - happyhorse-1.0-r2v + - happyhorse-1.0-video-edit + - happyhorse-1.1-t2v + - happyhorse-1.1-i2v + - happyhorse-1.1-r2v + type: string + parameters: + description: Video processing parameters + properties: + audio: + default: true + description: Whether to add audio to the video + type: boolean + audio_setting: + default: auto + description: "Video audio setting for wan2.7-videoedit model.\n- auto (default): Model intelligently judges based on prompt content\n- origin: Forcefully preserve the original audio from the input video\n" + enum: + - auto + - origin + type: string + duration: + default: 5 + description: "The duration of the video generated, in seconds:\n- wan2.5 models: 5 or 10 seconds\n- wan2.6-t2v, wan2.6-i2v: 5, 10, or 15 seconds\n- wan2.6-r2v: 5 or 10 seconds only (no 15s support)\n- wan2.7-i2v, wan2.7-t2v: integer in [2, 15]\n- wan2.7-r2v, wan2.7-videoedit: integer in [2, 10]\n" + maximum: 15 + minimum: 2 + type: integer + prompt_extend: + default: true + description: Is it enabled prompt intelligent rewriting. Default is true + type: boolean + ratio: + description: "Aspect ratio of the generated video. For wan2.7 models only.\nIf not provided, defaults based on the resolution tier.\n" + enum: + - 16:9 + - 9:16 + - 1:1 + - 4:3 + - 3:4 + type: string + resolution: + description: "Resolution level. Supported values vary by model:\n- wan2.5-i2v-preview: 480P, 720P, 1080P\n- wan2.6-i2v: 720P, 1080P only (no 480P support)\n- wan2.7 models (i2v, t2v, r2v, videoedit): 720P, 1080P (default 1080P)\n" + enum: + - 480P + - 720P + - 1080P + type: string + seed: + description: "Random number seed, used to control the randomness of the model generated content" + maximum: 2147483647 + minimum: 0 + type: integer + shot_type: + default: single + description: "Intelligent multi-lens control. Only active when prompt_extend is enabled.\nFor wan2.6 and wan2.7-r2v models.\n- single: Single-shot video (default)\n- multi: Multi-shot video\n" + enum: + - multi + - single + type: string + size: + description: "Video resolution in format width*height. Supported resolutions vary by model:\nFor wan2.5 T2V: 480P (480*832, 832*480, 624*624), 720P, 1080P sizes\nFor wan2.6 T2V/R2V (no 480P):\n 720P: 1280*720, 720*1280, 960*960, 1088*832, 832*1088\n 1080P: 1920*1080, 1080*1920, 1440*1440, 1632*1248, 1248*1632\n" + type: string + watermark: + default: false + description: "Whether to add a watermark logo, the watermark is located in the lower right corner" + type: boolean + type: object + required: + - model + - input + type: object + WanVideoGenerationResponse: + properties: + code: + description: The error code for the failed request (not returned if request is successful) + type: string + message: + description: Detailed information about the failed request (not returned if request is successful) + type: string + output: + properties: + task_id: + description: Task ID + type: string + task_status: + description: Task status + enum: + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + - CANCELED + - UNKNOWN + type: string + required: + - task_id + - task_status + type: object + request_id: + description: Unique request identifier + type: string + required: + - output + - request_id + type: object + WavespeedFlashVSRRequest: + description: Request body for WavespeedAI FlashVSR video upscaling + properties: + duration: + description: "Duration of the video in seconds\n" + type: number + target_resolution: + default: 1080p + description: Target resolution to upscale to. + enum: + - 720p + - 1080p + - 2k + - 4k + type: string + video: + description: "The video to upscale. Can be a URL to the video file or a base64-encoded video.\n" + type: string + required: + - video + - duration + type: object + WavespeedSeedVR2ImageRequest: + description: Request body for WavespeedAI SeedVR2 image upscaling + properties: + enable_base64_output: + default: false + description: "If enabled, the output will be encoded into a BASE64 string instead of a URL." + type: boolean + image: + description: The URL of the image to upscale. + type: string + output_format: + default: jpeg + description: The format of the output image. + enum: + - jpeg + - png + - webp + type: string + target_resolution: + default: 4k + description: The target resolution of the output image. + enum: + - 2k + - 4k + - 8k + type: string + required: + - image + type: object + WavespeedTaskResponse: + description: Response from WavespeedAI task submission + properties: + code: + description: "HTTP status code (e.g., 200 for success)" + type: integer + data: + properties: + created_at: + description: ISO timestamp of when the request was created + type: string + error: + description: Error message (empty if no error occurred) + type: string + has_nsfw_contents: + description: Array of boolean values indicating NSFW detection for each output + items: + type: boolean + type: array + id: + description: Unique identifier for the prediction/task + type: string + model: + description: Model ID used for the prediction + type: string + outputs: + description: Array of URLs to the generated content (empty when status is not completed) + items: + type: string + type: array + status: + description: Status of the task + enum: + - created + - processing + - completed + - failed + type: string + timings: + properties: + inference: + description: Inference time in milliseconds + type: integer + type: object + urls: + properties: + get: + description: URL to retrieve the prediction result + type: string + type: object + type: object + message: + description: "Status message (e.g., \"success\")" + type: string + type: object + WavespeedTaskResultResponse: + description: Response from WavespeedAI task result query + properties: + code: + description: "HTTP status code (e.g., 200 for success)" + type: integer + data: + properties: + created_at: + description: ISO timestamp of when the request was created + type: string + error: + description: Error message (empty if no error occurred) + type: string + id: + description: Unique identifier for the prediction/task + type: string + model: + description: Model ID used for the prediction + type: string + outputs: + description: Array of URLs to the generated content (empty when status is not completed) + items: + type: string + type: array + status: + description: Status of the task + enum: + - created + - processing + - completed + - failed + type: string + timings: + properties: + inference: + description: Inference time in milliseconds + type: integer + type: object + urls: + properties: + get: + description: URL to retrieve the prediction result + type: string + type: object + type: object + message: + description: "Status message (e.g., \"success\")" + type: string + type: object + WebSearchPreviewTool: + description: "This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search)." + properties: + search_context_size: + description: "High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default." + enum: + - low + - medium + - high + type: string + type: + default: web_search_preview + description: "The type of the web search tool. One of `web_search_preview` or `web_search_preview_2025_03_11`." + enum: + - web_search_preview + - web_search_preview_2025_03_11 + type: string + x-stainless-const: true + required: + - type + title: Web search preview + type: object + WebSearchToolCall: + description: "The results of a web search tool call. See the\n[web search guide](/docs/guides/tools-web-search) for more information.\n" + properties: + id: + description: "The unique ID of the web search tool call.\n" + type: string + status: + description: "The status of the web search tool call.\n" + enum: + - in_progress + - searching + - completed + - failed + type: string + type: + description: "The type of the web search tool call. Always `web_search_call`.\n" + enum: + - web_search_call + type: string + x-stainless-const: true + required: + - id + - type + - status + title: Web search tool call + type: object + WorkflowRunStatus: + enum: + - WorkflowRunStatusStarted + - WorkflowRunStatusFailed + - WorkflowRunStatusCompleted + type: string + XAIGeneratedImage: + description: A generated image from xAI + properties: + b64_json: + description: A base64-encoded string representation of the generated image in jpeg encoding (if response_format is b64_json) + type: string + mime_type: + description: "The MIME type of the generated image (e.g. image/png, image/jpeg, image/webp)." + type: string + url: + description: A url to the generated image (if response_format is url) + type: string + type: object + XAIGeneratedVideo: + description: A generated video from xAI + properties: + duration: + description: Duration of the generated video in seconds + type: integer + respect_moderation: + description: Whether the video generated by the model respects moderation rules + type: boolean + url: + description: A url to the generated video + nullable: true + type: string + type: object + XAIImageEditRequest: + description: Request body for xAI Grok Imagine image editing + properties: + aspect_ratio: + description: "Aspect ratio of the output image for image editing with multiple images. For single image editing, do not set this." + enum: + - 1:1 + - 3:4 + - 4:3 + - 9:16 + - 16:9 + - 2:3 + - 3:2 + - 9:19.5 + - 19.5:9 + - 9:20 + - 20:9 + - 1:2 + - 2:1 + - auto + type: string + image: + $ref: "#/components/schemas/XAIImageObject" + images: + description: "List of input images for multi-reference editing. Mutually exclusive with image. When multiple images are provided, refer to them as , , etc. in the prompt." + items: + $ref: "#/components/schemas/XAIImageObject" + type: array + mask: + $ref: "#/components/schemas/XAIImageObject" + model: + default: grok-imagine-image + description: Model to be used + type: string + "n": + description: Number of image edits to be generated + type: integer + prompt: + description: Prompt for image editing + type: string + quality: + description: "Quality of the output image. Currently a no-op, reserved for future use." + enum: + - low + - medium + - high + type: string + resolution: + default: 1k + description: Resolution of the generated image. Defaults to 1k. + enum: + - 1k + - 2k + type: string + response_format: + default: url + description: Response format to return the image in. Can be url or b64_json. + enum: + - url + - b64_json + type: string + size: + description: Size of the image (not supported) + type: string + style: + description: Style of the image (not supported) + type: string + user: + description: "A unique identifier representing your end-user, which can help xAI to monitor and detect abuse" + type: string + required: + - prompt + type: object + XAIImageGenerationRequest: + description: Request body for xAI Grok Imagine image generation + properties: + aspect_ratio: + default: auto + description: Aspect ratio of the generated image. Defaults to auto for automatically selecting the best ratio for the prompt. + enum: + - 1:1 + - 3:4 + - 4:3 + - 9:16 + - 16:9 + - 2:3 + - 3:2 + - 9:19.5 + - 19.5:9 + - 9:20 + - 20:9 + - 1:2 + - 2:1 + - auto + type: string + model: + default: grok-imagine-image + description: Model to be used + type: string + "n": + default: 1 + description: Number of images to be generated + maximum: 10 + minimum: 1 + type: integer + prompt: + description: Prompt for image generation + type: string + quality: + description: "Quality of the output image. Currently a no-op, reserved for future use." + enum: + - low + - medium + - high + type: string + resolution: + default: 1k + description: Resolution of the generated image. Defaults to 1k. + enum: + - 1k + - 2k + type: string + response_format: + default: url + description: Response format to return the image in. Can be url or b64_json. + enum: + - url + - b64_json + type: string + size: + description: Size of the image (not supported) + type: string + style: + description: Style of the image (not supported) + type: string + user: + description: "A unique identifier representing your end-user, which can help xAI to monitor and detect abuse" + type: string + required: + - prompt + type: object + XAIImageGenerationResponse: + description: Response from xAI image generation or editing + properties: + block_reason: + description: "If the request was blocked by input moderation, contains the block reason" + type: string + data: + description: A list of generated image objects + items: + $ref: "#/components/schemas/XAIGeneratedImage" + type: array + usage: + $ref: "#/components/schemas/XAIImageUsage" + type: object + XAIImageObject: + description: Input image object for xAI endpoints + properties: + type: + description: Type of the image input + enum: + - image_url + type: string + url: + description: URL of the input image (public URL or base64-encoded data URI) + type: string + required: + - url + type: object + XAIImageUsage: + description: Usage information for the image generation request + properties: + cost_in_usd_ticks: + description: "Accurate cost of this request in USD ticks (10,000,000,000 ticks = 1 USD)" + type: integer + type: object + XAIReferenceImageObject: + description: A reference image used to guide video generation in R2V mode + properties: + url: + description: "URL of the reference image. Supports HTTPS URLs (public) or base64-encoded data URLs (e.g., data:image/jpeg;base64,...)." + type: string + required: + - url + type: object + XAIVideoAsyncResponse: + description: Response from xAI video generation or editing (async operation) + properties: + request_id: + description: Unique identifier to poll for the completed video + type: string + type: object + XAIVideoEditRequest: + description: Request body for xAI Grok Imagine video editing + properties: + model: + description: Model to be used + nullable: true + type: string + output: + description: Optional output destination for generated video + nullable: true + type: object + prompt: + description: Prompt for video editing + type: string + user: + description: A unique identifier representing your end-user + nullable: true + type: string + video: + $ref: "#/components/schemas/XAIVideoObject" + required: + - prompt + - video + type: object + XAIVideoExtensionRequest: + description: Request body for xAI Grok Imagine video extension + properties: + duration: + default: 6 + description: "Length of the extension in seconds. Range [2, 10]. Default 6." + maximum: 10 + minimum: 2 + nullable: true + type: integer + model: + description: Model to use + nullable: true + type: string + prompt: + description: Text description of what should happen next in the video + type: string + video: + $ref: "#/components/schemas/XAIVideoObject" + required: + - prompt + - video + type: object + XAIVideoGenerationRequest: + description: "Request body for xAI Grok Imagine video generation.\nSupports three modes: text-to-video (prompt only), image-to-video (prompt + image),\nand reference-to-video (prompt + reference_images).\nThe fields image, reference_images, and video are mutually exclusive.\n" + properties: + aspect_ratio: + default: 16:9 + description: Aspect ratio of the generated video + enum: + - 1:1 + - 16:9 + - 9:16 + - 4:3 + - 3:4 + - 3:2 + - 2:3 + type: string + duration: + default: 8 + description: "Video duration in seconds. Range [1, 15]. Default 8." + maximum: 15 + minimum: 1 + nullable: true + type: integer + image: + $ref: "#/components/schemas/XAIImageObject" + model: + description: Model to be used + type: string + output: + description: Optional output destination for generated video + nullable: true + type: object + prompt: + description: "Prompt for video generation. Maximum 4,096 characters." + type: string + reference_images: + description: One or more reference images to guide the video generation (reference-to-video mode). Mutually exclusive with image and video. + items: + $ref: "#/components/schemas/XAIReferenceImageObject" + type: array + resolution: + description: Resolution of the output video + nullable: true + type: string + size: + description: Size of the output video + nullable: true + type: string + user: + description: A unique identifier representing your end-user + nullable: true + type: string + required: + - prompt + type: object + XAIVideoObject: + description: Input video object for xAI endpoints + properties: + url: + description: "URL of the video (public URL or base64-encoded data URL). The video must have the .mp4 file extension and be encoded with .mp4 supported codecs such as H.265, H.264, AV1, etc." + type: string + required: + - url + type: object + XAIVideoResultResponse: + description: Response from getting video generation result + properties: + block_reason: + description: "If the request was blocked by input moderation, contains the block reason" + nullable: true + type: string + model: + description: The model used to generate the video + type: string + status: + description: "Status of the deferred request: \"pending\" or \"done\"" + enum: + - pending + - done + type: string + usage: + $ref: "#/components/schemas/XAIVideoUsage" + video: + $ref: "#/components/schemas/XAIGeneratedVideo" + type: object + XAIVideoUsage: + description: Usage information for the video generation request + properties: + cost_in_usd_ticks: + description: "The cost of this request expressed in USD ticks. One USD cent equals 100,000,000 ticks, so one US dollar equals 10,000,000,000 ticks.\n" + type: integer + type: object + securitySchemes: + BearerAuth: + bearerFormat: JWT + scheme: bearer + type: http +info: + title: Comfy API + version: "1.0" +openapi: 3.0.2 +paths: + "/admin/customers/{customer_id}/archive-metronome-data": + post: + description: Archives metronome data. See https://docs.metronome.com/api-reference/customers/archive-a-customer + operationId: PostAdminArchiveMetronomeData + parameters: + - description: The ID of the customer whose Metronome data to archive + in: path + name: customer_id + required: true + schema: + type: string + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + description: Success message + type: string + type: object + description: Metronome data archived successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request - missing required parameter + "401": + description: Unauthorized or missing admin API secret + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Archive customer Metronome data + tags: + - Admin + x-excluded: true + "/admin/customers/{customer_id}/balance": + get: + description: "Returns the specified customer's current remaining balance in microamount and its currency." + operationId: GetAdminCustomerBalance + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + amount_micros: + format: double + type: number + cloud_credit_balance_micros: + format: double + type: number + currency: + type: string + effective_balance_micros: + format: double + type: number + pending_charges_micros: + format: double + type: number + prepaid_balance_micros: + format: double + type: number + required: + - amount_micros + - currency + type: object + description: Customer balance retrieved successfully + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: "Admin get customer's remaining balance" + tags: + - Admin + x-excluded: true + "/admin/customers/{customer_id}/cloud-subscription-status": + get: + description: "Allows an admin to inspect a specific customer's cloud subscription status." + operationId: GetAdminCustomerCloudSubscriptionStatus + parameters: + - description: The ID of the customer whose subscription status to retrieve + in: path + name: customer_id + required: true + schema: + type: string + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + end_date: + description: The date when the subscription is set to end (ISO 8601 format) + format: date-time + nullable: true + type: string + has_fund: + description: Whether the customer has funds/credits available + type: boolean + is_active: + description: Whether the customer has an active cloud subscription + type: boolean + renewal_date: + description: The next renewal date for the subscription (ISO 8601 format) + format: date-time + nullable: true + type: string + subscription_duration: + allOf: + - $ref: "#/components/schemas/SubscriptionDuration" + nullable: true + subscription_id: + description: The active subscription ID if one exists + nullable: true + type: string + subscription_tier: + allOf: + - $ref: "#/components/schemas/SubscriptionTier" + nullable: true + type: object + description: Cloud subscription status retrieved successfully + "401": + description: Unauthorized or missing admin API secret + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin check cloud subscription status + tags: + - Admin + x-excluded: true + "/admin/customers/{customer_id}/partner-node-concurrency-override": + delete: + description: "Clears the override (sets it to NULL) so the customer's limit reverts to the spend engine.\n" + operationId: ClearAdminCustomerConcurrencyOverride + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Override cleared successfully + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin clear customer partner-node concurrency override + tags: + - Admin + x-excluded: true + get: + description: "Returns the customer's current partner-node concurrency override (the raw column value), the limit the gate enforces right now, and the limit the spend engine would apply if the override were cleared.\n" + operationId: GetAdminCustomerConcurrencyOverride + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + customer_id: + type: string + effective_limit: + description: Limit the gate enforces right now. + type: integer + effective_reason: + type: string + engine_limit: + description: Limit the spend engine would apply if the override were cleared. + type: integer + engine_reason: + type: string + lifetime_paid_spend_cents: + description: Lifetime paid spend in cents; null when the spend query failed. + format: int64 + nullable: true + type: integer + override: + description: Raw override column value; null when unset. + nullable: true + type: integer + required: + - customer_id + - effective_limit + - effective_reason + - engine_limit + - engine_reason + type: object + description: Override and resolved limits retrieved successfully + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin get customer partner-node concurrency override + tags: + - Admin + x-excluded: true + put: + description: "Pins the customer's partner-node concurrency override. Semantics: 0 = blocked, -1 = unlimited, positive = hard limit. Allowed values are -1, 0, and 1..200.\n" + operationId: SetAdminCustomerConcurrencyOverride + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + override: + description: "-1 unlimited, 0 blocked, 1..200 hard limit. Must be present and non-null; a missing or null value is rejected with 400 (use DELETE to clear the override).\n" + nullable: true + type: integer + required: + - override + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Override set successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid override value + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin set customer partner-node concurrency override + tags: + - Admin + x-excluded: true + "/admin/customers/{customer_id}/stripe-data": + delete: + description: Deletes the Stripe customer data associated with the given customer ID. + operationId: DeleteAdminCustomerStripeData + parameters: + - description: The ID of the customer whose Stripe data to delete + in: path + name: customer_id + required: true + schema: + type: string + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + description: Success message + type: string + type: object + description: Stripe data deleted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request - missing required parameter + "401": + description: Unauthorized or missing admin API secret + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Delete customer Stripe data + tags: + - Admin + x-excluded: true + /admin/generate-token: + post: + description: "Generates a short-lived JWT admin token for browser-based admin operations.\nThe user must already be authenticated with Firebase and have admin privileges.\nThe generated token expires after 1 hour.\n" + operationId: GenerateAdminToken + responses: + "200": + content: + application/json: + schema: + properties: + expires_at: + description: When the token expires + format: date-time + type: string + token: + description: The JWT admin token + type: string + required: + - token + - expires_at + type: object + description: JWT token generated successfully + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized or user is not an admin + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Generate a short-lived JWT admin token + tags: + - Admin + /admin/nodes: + post: + operationId: AdminCreateNode + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "409": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Duplicate error. + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new custom node using admin priviledge + tags: + - Registry + x-excluded: true + "/admin/nodes/{nodeId}": + put: + description: Only admins can update a node with admin privileges. + operationId: AdminUpdateNode + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Admin Update Node + tags: + - Registry + x-excluded: true + "/admin/nodes/{nodeId}/versions/{versionNumber}": + put: + description: Only admins can approve a node version. + operationId: AdminUpdateNodeVersion + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: versionNumber + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + status: + $ref: "#/components/schemas/NodeVersionStatus" + status_reason: + description: The reason for the status change. + type: string + supported_accelerators: + description: "List of accelerators (e.g. CUDA, DirectML, ROCm) that this node supports" + items: + type: string + type: array + supported_comfyui_frontend_version: + description: Supported versions of ComfyUI frontend + type: string + supported_comfyui_version: + description: Supported versions of ComfyUI + type: string + supported_os: + description: List of operating systems that this node supports + items: + type: string + type: array + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersion" + description: Version updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Admin Update Node Version Status + tags: + - Registry + x-excluded: true + /admin/nodeversions: + get: + description: Admin-only endpoint to list all node versions with support for including deleted versions. Only admins can access this endpoint. + operationId: AdminListAllNodeVersions + parameters: + - in: query + name: nodeId + schema: + type: string + - explode: true + in: query + name: statuses + schema: + items: + $ref: "#/components/schemas/NodeVersionStatus" + type: array + style: form + - in: query + name: include_status_reason + schema: + default: false + type: boolean + - description: The page number to retrieve. + in: query + name: page + schema: + default: 1 + type: integer + - description: The number of items to include per page. + in: query + name: pageSize + schema: + default: 10 + type: integer + - description: "search for status_reason, case insensitive" + in: query + name: status_reason + schema: + type: string + - description: Include soft-deleted node versions in the results + in: query + name: include_deleted + schema: + default: false + type: boolean + responses: + "200": + content: + application/json: + schema: + properties: + page: + description: Current page number + type: integer + pageSize: + description: Maximum number of node versions per page. Maximum is 100. + type: integer + total: + description: Total number of node versions available + type: integer + totalPages: + description: Total number of pages available + type: integer + versions: + items: + $ref: "#/components/schemas/NodeVersion" + type: array + type: object + description: List of all node versions + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Invalid input, object invalid" + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Admin list all node versions with optional filters + tags: + - Registry + x-excluded: true + /admin/partner-node-model-overrides: + get: + description: "Returns the effective tier classification for every model known to the rate card or the override table (override-aware; most rows have no override).\n" + operationId: ListAdminModelOverrides + parameters: + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + models: + items: + $ref: "#/components/schemas/ModelClassification" + type: array + required: + - models + type: object + description: Classifications retrieved successfully + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin list partner-node model tier classifications + tags: + - Admin + x-excluded: true + "/admin/partner-node-model-overrides/{model}": + delete: + description: "Removes the override so the model reverts to cost-based classification. Idempotent (200 even if no override existed).\n" + operationId: DeleteAdminModelOverride + parameters: + - in: path + name: model + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Override cleared successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin clear a model tier override + tags: + - Admin + x-excluded: true + get: + description: "Returns the model's effective tier — the override if one is set, else the cost-based classification. Always 200; an unknown model resolves to the default (not capped). Note: {model} is a single URL path segment, so a model ID containing a slash cannot be addressed via this route; use the list endpoint (GET /admin/partner-node-model-overrides) to see its classification. Partner-node model IDs are flat today, so this is not a current limitation.\n" + operationId: GetAdminModelOverride + parameters: + - in: path + name: model + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ModelClassification" + description: Classification retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: "Admin get a model's effective tier" + tags: + - Admin + x-excluded: true + put: + description: "Upserts an override pinning the model to a tier. tier must be 'expensive' or 'exempt'. Takes effect immediately on the handling pod and within MODEL_OVERRIDE_REFRESH on others.\n" + operationId: SetAdminModelOverride + parameters: + - in: path + name: model + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + tier: + description: "'expensive' or 'exempt'." + type: string + required: + - tier + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Override set successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid tier or model + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin set a model tier override + tags: + - Admin + x-excluded: true + /admin/sync-api-key-deletion: + post: + description: "Reverse-direction delete-sync (cloud → comfy-api registry, BE-1542). When a\nworkspace API key is deleted in cloud (the new source of truth), cloud calls\nthis endpoint so the comfy-api registry's api_keys row is removed too,\nkeeping the two stores convergent. Idempotent: deleting an unknown hash is a\nno_op. M2M/admin-only; carries the key hash, never plaintext.\n" + operationId: SyncApiKeyDeletion + parameters: + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + customer_id: + description: "Firebase UID of the key's owner, for mismatch detection. The\ndeletion proceeds by hash regardless (mirrors cloud's inbound\nRevokeByHash semantics).\n" + type: string + event: + description: "Sync event type; only \"delete\" is supported." + enum: + - delete + example: delete + type: string + key_hash: + description: SHA-256 hex hash of the API key to revoke. + maxLength: 64 + minLength: 64 + pattern: "^[A-Fa-f0-9]{64}$" + type: string + required: + - event + - key_hash + - customer_id + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + result: + description: "revoked when a matching key was deleted; no_op when no key\nmatched the hash (already deleted or never existed).\n" + type: string + required: + - result + type: object + description: Delete-sync processed + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid request (missing fields or unsupported event) + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized or missing admin API secret + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Revoke a registry API key by hash (reverse delete-sync) + tags: + - Admin + x-excluded: true + /admin/verify-api-key: + post: + description: "Validates a ComfyUI API key and returns the associated customer information.\nThis endpoint is used by cloud.comfy.org to authenticate users via API keys\ninstead of Firebase tokens.\n" + operationId: VerifyApiKey + parameters: + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + api_key: + description: "The ComfyUI API key to verify (e.g., comfy_xxx...)" + type: string + include_customer_keys: + description: "When true, the response also includes customer_api_keys: the\nfull set of the customer's API keys (hash + prefix + name +\ndescription) so cloud's migrate-on-miss can seed ALL of the\ncustomer's keys into workspace_api_keys, not just the one being\nverified. M2M/admin-only; carries hashes, never plaintext.\n" + type: boolean + required: + - api_key + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + customer_api_keys: + description: "All of the customer's API keys — returned ONLY when the\nrequest sets include_customer_keys=true. Lets cloud's\nmigrate-on-miss seed every key into workspace_api_keys (by\nhash) so the cloud key list matches the customer's full set,\nnot just the one verified. M2M/admin-only; hashes, no plaintext.\n" + items: + $ref: "#/components/schemas/MigrationAPIKey" + type: array + email: + description: "The customer's email address" + type: string + firebase_uid: + description: The Firebase UID of the user + type: string + is_admin: + description: Whether the customer is an admin + type: boolean + key_description: + description: "The api_keys row's own description. Returned so that cloud's\nmigrate-on-miss path can preserve it on the cached\nworkspace_api_keys row instead of writing a placeholder.\n" + type: string + key_name: + description: "The api_keys row's own name (display label). Returned so that\ncloud's migrate-on-miss path can preserve it on the cached\nworkspace_api_keys row instead of writing a placeholder.\n" + type: string + name: + description: "The customer's name" + type: string + valid: + description: Whether the API key is valid + type: boolean + required: + - valid + - firebase_uid + type: object + description: API key is valid + "401": + description: Unauthorized or missing admin API secret + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "API key auth not allowed for this account (e.g., free tier)" + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: API key not found or invalid + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Verify a ComfyUI API key and return customer details + tags: + - Admin + x-excluded: true + /branch: + get: + description: Returns all branches for a given repo. + operationId: GetBranch + parameters: + - description: The repo to filter by. + in: query + name: repo_name + required: true + schema: + default: comfyanonymous/ComfyUI + type: string + responses: + "200": + content: + application/json: + schema: + properties: + branches: + items: + type: string + type: array + type: object + description: An array of branches + "404": + description: Repo not found + "500": + description: Internal server error + summary: Retrieve all distinct branches for a given repo + tags: + - ComfyUI CI + x-excluded: true + /bulk/nodes/versions: + post: + operationId: GetBulkNodeVersions + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BulkNodeVersionsRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BulkNodeVersionsResponse" + description: Successfully retrieved node versions + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve multiple node versions in a single request + tags: + - Registry + /comfy-nodes: + get: + operationId: ListAllComfyNodes + parameters: + - in: query + name: pageSize + schema: + default: 100 + type: integer + - description: Page number (1-based indexing) + in: query + name: page + schema: + default: 1 + type: integer + - description: Filter by node ID + in: query + name: node_id + schema: + type: string + - description: Filter by node version + in: query + name: node_version + schema: + type: string + - description: Filter by ComfyUI node name + in: query + name: comfy_node_name + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + comfy_nodes: + items: + $ref: "#/components/schemas/ComfyNode" + type: array + total: + description: Total number of comfy nodes + type: integer + type: object + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: list all comfy-nodes + tags: + - Registry + /comfy-nodes/backfill: + post: + operationId: ComfyNodesBackfill + parameters: + - in: query + name: max_node + schema: + default: 10 + type: integer + responses: + "204": + description: Backfill triggered + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: trigger comfy nodes backfill + tags: + - Registry + x-excluded: true + "/comfy-nodes/{comfyNodeName}/node": + get: + description: Returns the node that contains a ComfyUI node with the specified name + operationId: GetNodeByComfyNodeName + parameters: + - description: The name of the ComfyUI node + in: path + name: comfyNodeName + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node details + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: No node found containing the specified ComfyUI node name + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve a node by ComfyUI node name + tags: + - Registry + /customers: + get: + description: "Search for customers by email, name, Stripe ID, or Metronome ID." + operationId: SearchCustomers + parameters: + - description: Email address to search for + in: query + name: email + schema: + type: string + - description: Customer name to search for + in: query + name: name + schema: + type: string + - description: Stripe customer ID to search for + in: query + name: stripe_id + schema: + type: string + - description: Metronome customer ID to search for\ + in: query + name: metronome_id + schema: + type: string + - description: Page number to retrieve + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of customers to return per page + in: query + name: limit + schema: + default: 10 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + customers: + items: + $ref: "#/components/schemas/Customer" + type: array + limit: + description: Number of customers per page + type: integer + page: + description: Current page number + type: integer + total: + description: Total number of matching customers + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: Customers matching the search criteria + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid request parameters + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - insufficient permissions + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Search for customers + tags: + - API Nodes + - Admin + x-excluded: true + post: + description: Creates a new customer. User identity is taken from the bearer token; the optional request body carries a Cloudflare Turnstile token used for server-side bot verification at signup (BE-1490). The body is optional — clients that do not run the Turnstile widget (e.g. the local OSS build) may omit it. + operationId: CreateCustomer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreateCustomerRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Customer" + description: Customer already exists + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Customer" + description: Customer created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new customer + tags: + - API Nodes + x-excluded: true + /customers/admin/coupons: + get: + description: Retrieves a list of all coupons from Stripe. Only admins can list coupons. + operationId: ListCoupons + parameters: + - description: Number of coupons to return + in: query + name: limit + schema: + default: 10 + maximum: 100 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + coupons: + items: + $ref: "#/components/schemas/CouponResponse" + type: array + has_more: + description: Whether there are more results available + type: boolean + required: + - coupons + type: object + description: List of coupons retrieved successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: List all coupons + tags: + - Admin + - API Nodes + x-excluded: true + post: + description: Creates a new coupon in Stripe. Only admins can create coupons. + operationId: CreateCoupon + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreateCouponRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/CouponResponse" + description: Coupon created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new Stripe coupon + tags: + - Admin + - API Nodes + x-excluded: true + "/customers/admin/coupons/{coupon_id}": + delete: + description: Deletes a coupon in Stripe. Only admins can delete coupons. + operationId: DeleteCoupon + parameters: + - description: The Stripe coupon ID + in: path + name: coupon_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + coupon_id: + description: The deleted coupon ID + type: string + message: + description: Success message + type: string + required: + - message + - coupon_id + type: object + description: Coupon deleted successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Coupon not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Delete a coupon + tags: + - Admin + - API Nodes + x-excluded: true + get: + description: Retrieves details of a specific coupon from Stripe. Only admins can view coupons. + operationId: GetCoupon + parameters: + - description: The Stripe coupon ID + in: path + name: coupon_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CouponResponse" + description: Coupon retrieved successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Coupon not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get a specific coupon + tags: + - Admin + - API Nodes + x-excluded: true + patch: + description: Updates a coupon in Stripe. Only admins can update coupons. + operationId: UpdateCoupon + parameters: + - description: The Stripe coupon ID + in: path + name: coupon_id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateCouponRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CouponResponse" + description: Coupon updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Coupon not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Update a coupon + tags: + - Admin + - API Nodes + x-excluded: true + /customers/admin/promo-codes: + get: + description: Retrieves a list of all promotional codes from Stripe. Only admins can list promo codes. + operationId: ListPromoCodes + parameters: + - description: Filter by active status + in: query + name: active + schema: + type: boolean + - description: Number of promo codes to return + in: query + name: limit + schema: + default: 10 + maximum: 100 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + has_more: + description: Whether there are more results available + type: boolean + promo_codes: + items: + $ref: "#/components/schemas/PromoCodeResponse" + type: array + required: + - promo_codes + type: object + description: List of promo codes retrieved successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: List all promotional codes + tags: + - Admin + - API Nodes + x-excluded: true + post: + description: Creates a new unique promotional code in Stripe for the specified coupon. Only admins can generate promo codes. + operationId: CreatePromoCode + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreatePromoCodeRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/PromoCodeResponse" + description: Promo code created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Generate a new Stripe promotional code + tags: + - Admin + - API Nodes + x-excluded: true + "/customers/admin/promo-codes/{promo_code_id}": + delete: + description: Deactivates a promotional code in Stripe. Only admins can deactivate promo codes. + operationId: DeletePromoCode + parameters: + - description: The Stripe promotion code ID + in: path + name: promo_code_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + description: Success message + type: string + promo_code_id: + description: The deactivated promo code ID + type: string + required: + - message + - promo_code_id + type: object + description: Promo code deactivated successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Promo code not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Deactivate a promotional code + tags: + - Admin + - API Nodes + x-excluded: true + get: + description: Retrieves details of a specific promotional code from Stripe. Only admins can view promo codes. + operationId: GetPromoCode + parameters: + - description: The Stripe promotion code ID + in: path + name: promo_code_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PromoCodeResponse" + description: Promo code retrieved successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Promo code not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get a specific promotional code + tags: + - Admin + - API Nodes + x-excluded: true + patch: + description: Updates a promotional code in Stripe. Only admins can update promo codes. + operationId: UpdatePromoCode + parameters: + - description: The Stripe promotion code ID + in: path + name: promo_code_id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UpdatePromoCodeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PromoCodeResponse" + description: Promo code updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Promo code not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Update a promotional code + tags: + - Admin + - API Nodes + x-excluded: true + /customers/api-keys: + get: + operationId: ListCustomerAPIKeys + responses: + "200": + content: + application/json: + schema: + properties: + api_keys: + items: + $ref: "#/components/schemas/APIKey" + type: array + type: object + description: List of API keys + "401": + description: Unauthorized + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: List all API keys for a customer + x-excluded: true + post: + operationId: CreateCustomerAPIKey + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreateAPIKeyRequest" + required: true + responses: + "201": + content: + application/json: + schema: + properties: + api_key: + $ref: "#/components/schemas/APIKeyWithPlaintext" + type: object + description: API key created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "404": + description: Customer or API key not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Create a new API key for a customer + x-excluded: true + "/customers/api-keys/{api_key_id}": + delete: + operationId: DeleteCustomerAPIKey + parameters: + - in: path + name: api_key_id + required: true + schema: + type: string + responses: + "204": + description: API key deleted + "401": + description: Unauthorized + "404": + description: Customer or API key not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Delete an API key for a customer + x-excluded: true + /customers/balance: + get: + description: "Returns the customer's current remaining balance in microamount and its currency, with separate breakdowns for prepaid commits and cloud credits." + operationId: GetCustomerBalance + responses: + "200": + content: + application/json: + schema: + properties: + amount_micros: + description: "The total remaining balance in microamount (1/1,000,000 of the currency unit)" + format: double + type: number + cloud_credit_balance_micros: + description: The remaining balance from cloud credits in microamount + format: double + type: number + currency: + description: "The currency code (e.g., \"usd\")" + type: string + effective_balance_micros: + description: The effective balance (total balance minus pending charges). Can be negative if pending charges exceed the balance. Only included when the show_negative_balances feature flag is enabled. + format: double + type: number + pending_charges_micros: + description: The total amount of pending/unbilled charges from draft invoices in microamount. Only included when the show_negative_balances feature flag is enabled. + format: double + type: number + prepaid_balance_micros: + description: The remaining balance from prepaid commits in microamount + format: double + type: number + required: + - amount_micros + - currency + type: object + description: Customer balance retrieved successfully + "401": + description: Unauthorized or invalid token + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Get customer's remaining balance" + tags: + - API Nodes + x-excluded: true + /customers/billing: + post: + description: "Creates a session for the customer to access their billing portal where they can manage subscriptions, payment methods, and view invoices." + operationId: AccessBillingPortal + requestBody: + content: + application/json: + schema: + properties: + return_url: + description: "Optional URL to redirect the customer after they're done with the billing portal" + type: string + target_tier: + description: "Optional target subscription tier. When provided, creates a deep link directly to the subscription update confirmation screen with this tier pre-selected." + enum: + - standard + - creator + - pro + - standard-yearly + - creator-yearly + - pro-yearly + type: string + type: object + responses: + "200": + content: + application/json: + schema: + properties: + billing_portal_url: + description: The URL to redirect the customer to the billing portal + type: string + type: object + description: Billing portal session created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input" + "401": + description: Unauthorized or invalid token + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Access customer billing portal + tags: + - API Nodes + - Released + x-excluded: true + /customers/cloud-subscription-checkout: + post: + description: Creates a cloud subscription checkout session for $20/month with automatic billing + operationId: CreateCloudSubscriptionCheckout + requestBody: + content: + application/json: + schema: + properties: + ga_client_id: + description: Google Analytics client ID from _ga cookie + type: string + ga_session_id: + description: Google Analytics session ID + type: string + ga_session_number: + description: Google Analytics session number + type: string + gbraid: + description: Google Ads iOS attribution parameter + type: string + gclid: + description: Google Ads click ID + type: string + im_ref: + description: Impact.com click ID for affiliate conversion tracking + type: string + rewardful_referral: + description: "Rewardful referral UUID (window.Rewardful.referral), passed to Stripe as client_reference_id for affiliate conversion tracking" + type: string + utm_campaign: + description: UTM campaign parameter + type: string + utm_content: + description: UTM content parameter + type: string + utm_medium: + description: UTM medium parameter + type: string + utm_source: + description: UTM source parameter + type: string + utm_term: + description: UTM term parameter + type: string + wbraid: + description: Google Ads web-to-app attribution parameter + type: string + type: object + responses: + "201": + content: + application/json: + schema: + properties: + checkout_url: + description: The URL to redirect the customer to complete subscription + type: string + type: object + description: Subscription checkout session created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input" + "401": + description: Unauthorized or invalid token + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create cloud subscription checkout session + tags: + - API Nodes + - Released + x-excluded: true + "/customers/cloud-subscription-checkout/{tier}": + post: + description: "Creates a cloud subscription checkout session for a specific subscription tier (standard, creator, or pro) with automatic billing" + operationId: CreateCloudSubscriptionCheckoutTier + parameters: + - description: "The subscription tier (standard, creator, or pro) with optional yearly billing (standard-yearly, creator-yearly, pro-yearly)" + in: path + name: tier + required: true + schema: + enum: + - standard + - creator + - pro + - standard-yearly + - creator-yearly + - pro-yearly + type: string + requestBody: + content: + application/json: + schema: + properties: + ga_client_id: + description: Google Analytics client ID from _ga cookie + type: string + ga_session_id: + description: Google Analytics session ID + type: string + ga_session_number: + description: Google Analytics session number + type: string + gbraid: + description: Google Ads iOS attribution parameter + type: string + gclid: + description: Google Ads click ID + type: string + im_ref: + description: Impact.com click ID for affiliate conversion tracking + type: string + rewardful_referral: + description: "Rewardful referral UUID (window.Rewardful.referral), passed to Stripe as client_reference_id for affiliate conversion tracking" + type: string + utm_campaign: + description: UTM campaign parameter + type: string + utm_content: + description: UTM content parameter + type: string + utm_medium: + description: UTM medium parameter + type: string + utm_source: + description: UTM source parameter + type: string + utm_term: + description: UTM term parameter + type: string + wbraid: + description: Google Ads web-to-app attribution parameter + type: string + type: object + responses: + "201": + content: + application/json: + schema: + properties: + checkout_url: + description: The URL to redirect the customer to complete subscription + type: string + type: object + description: Subscription checkout session created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input or tier" + "401": + description: Unauthorized or invalid token + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create cloud subscription checkout session for a specific tier + tags: + - API Nodes + - Released + x-excluded: true + /customers/cloud-subscription-status: + get: + description: Check if the customer has an active cloud subscription + operationId: GetCloudSubscriptionStatus + responses: + "200": + content: + application/json: + schema: + properties: + end_date: + description: The date when the subscription is set to end (ISO 8601 format) + format: date-time + nullable: true + type: string + free_tier_grant_state: + allOf: + - $ref: "#/components/schemas/FreeTierGrantState" + nullable: true + has_fund: + description: Whether the customer has funds/credits available + type: boolean + is_active: + description: Whether the customer has an active cloud subscription + type: boolean + renewal_date: + description: The next renewal date for the subscription (ISO 8601 format) + format: date-time + nullable: true + type: string + subscription_duration: + allOf: + - $ref: "#/components/schemas/SubscriptionDuration" + nullable: true + subscription_id: + description: The active subscription ID if one exists + nullable: true + type: string + subscription_tier: + allOf: + - $ref: "#/components/schemas/SubscriptionTier" + nullable: true + type: object + description: Cloud subscription status retrieved successfully + "401": + description: Unauthorized or invalid token + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Check cloud subscription status + tags: + - API Nodes + - Released + x-excluded: true + /customers/credit: + post: + operationId: InitiateCreditPurchase + requestBody: + content: + application/json: + schema: + properties: + amount_micros: + description: the amount of the checkout transaction in micro value + format: int64 + type: integer + currency: + description: the currency used in the checkout transaction + type: string + required: + - amount_micros + - currency + type: object + required: true + responses: + "201": + content: + application/json: + schema: + properties: + checkout_url: + description: the url to redirect the customer + type: string + type: object + description: Customer Checkout created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid token or user already exists" + "401": + description: Unauthorized or invalid token + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Initiates a Credit Purchase. + tags: + - API Nodes + - Released + x-excluded: true + /customers/events: + get: + operationId: GetCustomerEvents + parameters: + - description: Page number of the nodes list + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of nodes to return per page + in: query + name: limit + schema: + default: 10 + type: integer + - description: Event type to filter + in: query + name: filter + schema: + type: string + - description: "Start date for filtering events (RFC3339 format, e.g., 2025-01-01T00:00:00Z)" + in: query + name: start_date + schema: + format: date-time + type: string + - description: "End date for filtering events (RFC3339 format, e.g., 2025-01-31T23:59:59Z)" + in: query + name: end_date + schema: + format: date-time + type: string + responses: + "200": + content: + application/json: + schema: + properties: + events: + items: + $ref: "#/components/schemas/AuditLog" + type: array + limit: + description: Maximum number of nodes per page + type: integer + page: + description: Current page number + type: integer + total: + description: Total number of events available + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: A paginated list of nodes + "400": + description: "Invalid input, object invalid" + "404": + description: Not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get events related to customer + tags: + - API Nodes + x-excluded: true + /customers/me: + get: + description: Returns details about the currently authenticated customer based on their JWT token. + operationId: GetAuthenticatedCustomer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Customer" + description: Customer details retrieved successfully + "401": + description: Unauthorized or invalid token + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get authenticated customer details + tags: + - API Nodes + x-excluded: true + /customers/storage: + post: + description: Store a resource for a customer. Resource will have a 24 hour expiry. The signed URL will be generated for the specified file path. + operationId: CreateCustomerStorageResource + requestBody: + content: + application/json: + schema: + properties: + content_type: + description: "The content type of the file (e.g., 'image/png')" + type: string + file_hash: + description: "The hash of the file. If provided, an existing file with the same hash may be returned." + type: string + file_name: + description: "The desired name of the file (e.g., 'profile.jpg')" + type: string + required: + - file_name + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CustomerStorageResourceResponse" + description: Signed URL generated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Store a resource for a customer + tags: + - API Nodes + x-excluded: true + /customers/usage: + post: + description: "Returns the customer's as a dashboard URL." + operationId: GetCustomerUsage + requestBody: + content: + application/json: + schema: + properties: + color_overrides: + description: Optional list of colors to override for branding + items: + properties: + name: + description: The color property to override + enum: + - Gray_dark + - Gray_medium + - Gray_light + - Gray_extralight + - White + - Primary_medium + - Primary_light + - UsageLine_0 + - UsageLine_1 + - UsageLine_2 + - UsageLine_3 + - UsageLine_4 + - UsageLine_5 + - UsageLine_6 + - UsageLine_7 + - UsageLine_8 + - UsageLine_9 + - Primary_green + - Primary_red + - Progress_bar + - Progress_bar_background + type: string + value: + description: "Hex color code (e.g., \"#FF5733\")" + pattern: "^#[0-9A-Fa-f]{6}$" + type: string + required: + - name + - value + type: object + type: array + dashboard_type: + default: usage + description: The type of dashboard to retrieve + enum: + - invoices + - usage + - credits + - commits_and_credits + type: string + type: object + responses: + "200": + content: + application/json: + schema: + properties: + url: + description: "The dashboard URL for the customer's usage" + type: string + type: object + description: Successful response + "401": + description: Unauthorized or invalid token + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: "Get customer's usage" + tags: + - API Nodes + x-excluded: true + /customers/usage/timeseries: + get: + description: "Returns the authenticated customer's gross usage spend, grouped by model, endpoint, or product, as one stacked data point per billing period, plus a per-group breakdown and a summary, for rendering a custom usage dashboard. Sourced from invoice line items (real USD). Replaces the embeddable iframe." + operationId: GetCustomerUsageTimeSeries + parameters: + - description: Dimension to group spend by. Falls back to product name when the chosen key is absent on a line item. + in: query + name: group_by + schema: + default: model + enum: + - model + - endpoint + - product + type: string + - description: "Bucket size for the time series. \"month\" uses monthly invoice line items; \"day\" and \"hour\" use invoice breakdowns (provide starting_on/ending_before)." + in: query + name: granularity + schema: + default: month + enum: + - hour + - day + - month + type: string + - description: RFC 3339 start of the range (inclusive). Defaults to months before ending_before. + in: query + name: starting_on + schema: + format: date-time + type: string + - description: RFC 3339 end of the range (exclusive). Defaults to now. + in: query + name: ending_before + schema: + format: date-time + type: string + - description: "Lookback window in months, used when starting_on is omitted." + in: query + name: months + schema: + default: 6 + maximum: 24 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CustomerUsageTimeSeries" + description: Customer usage time series retrieved successfully + "401": + description: Unauthorized or invalid token + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Get customer's usage time series" + tags: + - API Nodes + x-excluded: true + "/customers/{customer_id}": + get: + description: Returns details about a customer by their ID. + operationId: GetCustomerById + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + customer: + $ref: "#/components/schemas/CustomerAdmin" + type: object + description: Customer details retrieved successfully + "401": + description: Unauthorized or invalid token + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get a customer by ID + tags: + - API Nodes + - Admin + x-excluded: true + "/customers/{customer_id}/balance": + get: + description: "Returns the specified customer's current remaining balance in microamount and its currency, with separate breakdowns for prepaid commits and cloud credits." + operationId: GetCustomerBalanceById + parameters: + - description: The ID of the customer whose balance to retrieve + in: path + name: customer_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + amount_micros: + description: "The total remaining balance in microamount (1/1,000,000 of the currency unit)" + format: double + type: number + cloud_credit_balance_micros: + description: The remaining balance from cloud credits in microamount + format: double + type: number + currency: + description: "The currency code (e.g., \"usd\")" + type: string + effective_balance_micros: + description: The effective balance (total balance minus pending charges). Can be negative if pending charges exceed the balance. Only included when the show_negative_balances feature flag is enabled. + format: double + type: number + pending_charges_micros: + description: The total amount of pending/unbilled charges from draft invoices in microamount. Only included when the show_negative_balances feature flag is enabled. + format: double + type: number + prepaid_balance_micros: + description: The remaining balance from prepaid commits in microamount + format: double + type: number + required: + - amount_micros + - currency + type: object + description: Customer balance retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized or invalid token + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Get customer's remaining balance by ID" + tags: + - API Nodes + - Admin + x-excluded: true + "/customers/{customer_id}/events": + get: + operationId: GetCustomerEventsById + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - description: Page number of the nodes list + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of nodes to return per page + in: query + name: limit + schema: + default: 10 + type: integer + - description: Event type to filter + in: query + name: filter + schema: + type: string + - description: "Start date for filtering events (RFC3339 format, e.g., 2025-01-01T00:00:00Z)" + in: query + name: start_date + schema: + format: date-time + type: string + - description: "End date for filtering events (RFC3339 format, e.g., 2025-01-31T23:59:59Z)" + in: query + name: end_date + schema: + format: date-time + type: string + responses: + "200": + content: + application/json: + schema: + properties: + events: + items: + $ref: "#/components/schemas/AuditLog" + type: array + limit: + description: Maximum number of nodes per page + type: integer + page: + description: Current page number + type: integer + total: + description: Total number of events available + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: A paginated list of nodes + "400": + description: "Invalid input, object invalid" + "404": + description: Not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get events related to customer + tags: + - API Nodes + x-excluded: true + "/customers/{customer_id}/usage": + post: + description: Manually track usage for a customer in Metronome. This endpoint is for admin use to record usage events. + operationId: TrackCustomerUsage + parameters: + - description: The ID of the customer to track usage for + in: path + name: customer_id + required: true + schema: + type: string + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + params: + additionalProperties: true + description: Custom parameters for the usage event + type: object + timestamp: + description: Timestamp of the usage event (RFC3339 format) + format: date-time + type: string + transaction_id: + description: Unique transaction ID for this usage event + format: uuid + type: string + required: + - transaction_id + - params + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + message: + description: Success message + type: string + type: object + description: Usage tracked successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized or invalid token + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Track usage for a customer (Admin only) + tags: + - API Nodes + - Admin + x-excluded: true + /features: + get: + description: "Returns the server's feature capabilities" + operationId: GetFeatures + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FeaturesResponse" + description: Success + summary: Get server feature flags + tags: + - Registry + /gitcommit: + get: + description: "Returns all runs, jobs, job results, and storage files associated with a given commit." + operationId: GetGitcommit + parameters: + - description: The ID of the commit to fetch data for. + in: query + name: commitId + schema: + type: string + - description: The operating system to filter the CI data by. + in: query + name: operatingSystem + schema: + type: string + - description: The name of the workflow to filter the CI data by. + in: query + name: workflowName + schema: + type: string + - description: The branch of the gitcommit to filter the CI data by. + in: query + name: branch + schema: + type: string + - description: The page number to retrieve. + in: query + name: page + schema: + default: 1 + type: integer + - description: The number of items to include per page. + in: query + name: pageSize + schema: + default: 10 + type: integer + - description: The repo to filter by. + in: query + name: repoName + schema: + default: comfyanonymous/ComfyUI + type: string + responses: + "200": + content: + application/json: + schema: + properties: + jobResults: + items: + $ref: "#/components/schemas/ActionJobResult" + type: array + totalNumberOfPages: + type: integer + type: object + description: "An object containing runs, jobs, job results, and storage files" + "404": + description: Commit not found + "500": + description: Internal server error + summary: Retrieve CI data for a given commit + tags: + - ComfyUI CI + x-excluded: true + /gitcommitsummary: + get: + description: "Returns a summary of git commits, including status, start time, and end time." + operationId: GetGitcommitsummary + parameters: + - description: The repository name to filter the git commits by. + in: query + name: repoName + schema: + default: comfyanonymous/ComfyUI + type: string + - description: The branch name to filter the git commits by. + in: query + name: branchName + schema: + type: string + - description: The page number to retrieve. + in: query + name: page + schema: + default: 1 + type: integer + - description: The number of items to include per page. + in: query + name: pageSize + schema: + default: 10 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + commitSummaries: + items: + $ref: "#/components/schemas/GitCommitSummary" + type: array + totalNumberOfPages: + type: integer + type: object + description: Successfully retrieved git commit summaries + "500": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Internal server error + summary: Retrieve a summary of git commits + tags: + - ComfyUI CI + x-excluded: true + /nodes: + get: + description: Returns a paginated list of nodes across all publishers. + operationId: ListAllNodes + parameters: + - description: Page number of the nodes list + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of nodes to return per page + in: query + name: limit + schema: + default: 10 + type: integer + - description: Filter nodes by supported operating systems + examples: + linux: + value: "POSIX :: Linux" + macos: + value: MacOS + macosx: + value: "MacOS :: MacOS X" + osIndependent: + value: OS Independent + ubuntu: + value: "POSIX :: Linux :: Ubuntu" + windows: + value: "Microsoft :: Windows" + windows10: + value: "Microsoft :: Windows :: Windows 10" + in: query + name: supported_os + schema: + type: string + - description: Filter nodes by supported accelerator + in: query + name: supported_accelerator + schema: + type: string + - description: Number of nodes to return per page + in: query + name: include_banned + schema: + type: boolean + - description: Retrieve nodes created or updated after this timestamp (ISO 8601 format) + in: query + name: timestamp + schema: + format: date-time + type: string + - description: Whether to fetch fresh result from database or use cached one if false + in: query + name: latest + schema: + type: boolean + - description: "Database column to use as ascending ordering. Add `;desc` as suffix on each column for descending sort" + in: query + name: sort + schema: + items: + type: string + type: array + - description: node_id to use as filter + in: query + name: node_id + schema: + items: + type: string + type: array + - description: Comfy UI version + in: query + name: comfyui_version + schema: + type: string + - description: The platform requesting the nodes + in: query + name: form_factor + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + limit: + description: Maximum number of nodes per page + type: integer + nodes: + items: + $ref: "#/components/schemas/Node" + type: array + page: + description: Current page number + type: integer + total: + description: Total number of nodes available + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: A paginated list of nodes + "400": + description: "Invalid input, object invalid" + "404": + description: Not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieves a list of nodes + tags: + - Registry + /nodes/reindex: + post: + operationId: ReindexNodes + parameters: + - description: Maximum number of nodes to send to algolia at a time + in: query + name: max_batch + schema: + type: integer + responses: + "200": + description: Reindex completed successfully. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request. + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Reindex all nodes for searching. + tags: + - Registry + x-excluded: true + /nodes/search: + get: + description: Returns a paginated list of nodes across all publishers. + operationId: SearchNodes + parameters: + - description: Page number of the nodes list + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of nodes to return per page + in: query + name: limit + schema: + default: 10 + type: integer + - description: Keyword to search the nodes + in: query + name: search + schema: + type: string + - description: Keyword to search the nodes by repository URL + in: query + name: repository_url_search + schema: + type: string + - description: Keyword to search the nodes by comfy node name + in: query + name: comfy_node_search + schema: + type: string + - description: Filter nodes by supported operating systems + examples: + linux: + value: "POSIX :: Linux" + macos: + value: MacOS + macosx: + value: "MacOS :: MacOS X" + osIndependent: + value: OS Independent + ubuntu: + value: "POSIX :: Linux :: Ubuntu" + windows: + value: "Microsoft :: Windows" + windows10: + value: "Microsoft :: Windows :: Windows 10" + in: query + name: supported_os + schema: + type: string + - description: Filter nodes by supported accelerator + in: query + name: supported_accelerator + schema: + type: string + - description: Number of nodes to return per page + in: query + name: include_banned + schema: + type: boolean + responses: + "200": + content: + application/json: + schema: + properties: + limit: + description: Maximum number of nodes per page + type: integer + nodes: + items: + $ref: "#/components/schemas/Node" + type: array + page: + description: Current page number + type: integer + total: + description: Total number of nodes available + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: A paginated list of nodes + "400": + description: "Invalid input, object invalid" + "404": + description: Not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieves a list of nodes + tags: + - Registry + /nodes/update-github-stars: + post: + operationId: UpdateGithubStars + parameters: + - description: Maximum number of nodes to update in one batch + in: query + name: max_batch + schema: + default: 100 + type: integer + responses: + "200": + description: Update GithubStars request triggered successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request. + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Update GitHub stars for nodes + tags: + - Registry + x-excluded: true + "/nodes/{nodeId}": + get: + description: Returns the details of a specific node. + operationId: GetNode + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - description: Whether to include the translation or not + in: query + name: include_translations + schema: + type: boolean + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node details + "302": + description: Redirect to node with normalized name match + headers: + Location: + description: URL of the node with the correct ID + schema: + type: string + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve a specific node by ID + tags: + - Registry + "/nodes/{nodeId}/install": + get: + description: "Retrieves the node data for installation, either the latest or a specific version." + operationId: InstallNode + parameters: + - description: The unique identifier of the node. + in: path + name: nodeId + required: true + schema: + type: string + - description: "Specific version of the node to retrieve. If omitted, the latest version is returned." + in: query + name: version + schema: + pattern: ^\d+\.\d+\.\d+$ + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersion" + description: Node data returned successfully. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Invalid input, such as a bad version format." + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node not found. + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Returns a node version to be installed. + tags: + - Registry + "/nodes/{nodeId}/reviews": + post: + operationId: PostNodeReview + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - description: number of star given to the node version + in: query + name: star + required: true + schema: + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Detailed information about a specific node + "400": + description: Bad Request + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Node version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Add review to a specific version of a node + tags: + - Registry + "/nodes/{nodeId}/translations": + post: + operationId: CreateNodeTranslations + parameters: + - description: The unique identifier of the node. + in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + data: + additionalProperties: + additionalProperties: true + type: object + type: object + type: object + required: true + responses: + "201": + description: Detailed information about a specific node + "400": + description: Bad Request + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Node version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Create Node Translations + tags: + - Registry + "/nodes/{nodeId}/versions": + get: + operationId: ListNodeVersions + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: query + name: statuses + schema: + items: + $ref: "#/components/schemas/NodeVersionStatus" + type: array + - in: query + name: include_status_reason + schema: + default: false + type: boolean + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/NodeVersion" + type: array + description: List of all node versions + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node banned + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: List all versions of a node + tags: + - Registry + "/nodes/{nodeId}/versions/{versionId}": + get: + operationId: GetNodeVersion + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - description: The version of the node. (Not a UUID). + in: path + name: versionId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersion" + description: Detailed information about a specific node version + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Node version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve a specific version of a node + tags: + - Registry + "/nodes/{nodeId}/versions/{version}/comfy-nodes": + get: + operationId: ListComfyNodes + parameters: + - description: The page number to retrieve. + in: query + name: page + schema: + default: 1 + type: integer + - description: The number of items to include per page. + in: query + name: limit + schema: + default: 10 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + comfy_nodes: + items: + $ref: "#/components/schemas/ComfyNode" + type: array + totalNumberOfPages: + type: integer + type: object + description: Comy Nodes obtained successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: list comfy-nodes for node version + tags: + - Registry + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: version + required: true + schema: + type: string + post: + operationId: CreateComfyNodes + requestBody: + content: + application/json: + schema: + properties: + cloud_build_info: + $ref: "#/components/schemas/ComfyNodeCloudBuildInfo" + nodes: + additionalProperties: + $ref: "#/components/schemas/ComfyNode" + reason: + type: string + status: + type: string + success: + type: boolean + type: object + required: true + responses: + "204": + description: Comy Nodes created successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + "409": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Existing Comfy Nodes exists + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: create comfy-nodes for certain node + tags: + - Registry + "/nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}": + get: + operationId: GetComfyNode + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: version + required: true + schema: + type: string + - in: path + name: comfyNodeName + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ComfyNode" + description: Comy Nodes created successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: get specify comfy-node based on its id + tags: + - Registry + put: + operationId: UpdateComfyNode + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: version + required: true + schema: + type: string + - in: path + name: comfyNodeName + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ComfyNodeUpdateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ComfyNode" + description: Comfy Node updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: ComfyNode not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Update a specific comfy-node + tags: + - Registry + /proxy/anthropic/v1/messages: + post: + description: "Forwards a Messages API request to Anthropic's `/v1/messages` endpoint\nand returns the model's reply. Supports both JSON responses and\nServer-Sent Events streaming (selected via `stream: true` in the body).\n" + operationId: AnthropicCreateMessage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/AnthropicCreateMessageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/AnthropicCreateMessageResponse" + text/event-stream: + schema: + description: Server-Sent Events stream of Anthropic message events + type: string + description: "Successful response from Anthropic Messages API. JSON shape when `stream` is omitted or false; otherwise a `text/event-stream` of message events." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a message via Anthropic Claude + tags: + - API Nodes + - Released + x-excluded: true + /proxy/beeble/v1/switchx/generations: + post: + description: Start a SwitchX compositing job. + operationId: BeebleCreateSwitchXJob + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleCreateSwitchXRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleSwitchXStatusResponse" + description: "The resulting job data. This will be returned in a pending state until the job is completed. See /v1/switchx/generations/{job_id} for retrieving the results." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Start SwitchX Generation + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/beeble/v1/switchx/generations/{job_id}": + get: + description: Poll the status of a SwitchX job. + operationId: BeebleGetSwitchXStatus + parameters: + - description: Job identifier (swx_...) + in: path + name: job_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleSwitchXStatusResponse" + description: The most up-to-date state of the job. Check the status field to determine completion. Output URLs are signed and expire after 72 hours; each call returns freshly signed URLs. + "401": + description: Unauthorized + "404": + description: Job not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get SwitchX Job Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/beeble/v1/uploads: + post: + description: "Create a presigned upload URL for a media file. The returned beeble_uri can be used as source_uri, reference_image_uri, or alpha_uri in SwitchX generation calls." + operationId: BeebleCreateUpload + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleUploadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleUploadResponse" + description: Presigned upload URL and beeble:// URI. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create Beeble Upload URL + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-2-max/generate: + post: + description: "Forwards image generation requests to BFL's Flux 2 Max API and returns the results. Supports image-to-image generation with up to 8 input images." + operationId: BflFlux2MaxGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFlux2ProGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: Successful response from BFL Flux 2 Max proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux 2 Max for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-2-pro/generate: + post: + description: "Forwards image generation requests to BFL's Flux 2 Pro API and returns the results. Supports image-to-image generation with up to 5 input images." + operationId: BflFlux2ProGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFlux2ProGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: Successful response from BFL Flux 2 Pro proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux 2 Pro for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-kontext-max/generate: + post: + description: "Forwards image editing requests to BFL's Flux Kontext Max API and returns the results." + operationId: BflFluxKontextMaxGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxKontextMaxGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxKontextMaxGenerateResponse" + description: Successful response from BFL Flux Kontext Max proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Kontext Max for image editing + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-kontext-pro/generate: + post: + description: "Forwards image editing requests to BFL's Flux Kontext Pro API and returns the results." + operationId: BflFluxKontextProGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxKontextProGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxKontextProGenerateResponse" + description: Successful response from BFL Flux Kontext Pro proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Kontext Pro for image editing + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.0-canny/generate: + post: + description: "Submits an image generation task with FLUX.1 Canny [pro]." + operationId: BFLProCannyV1FluxPro10CannyPost + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLCannyInputs" + required: true + responses: + "200": + content: + application/json: + schema: + anyOf: + - $ref: "#/components/schemas/BFLAsyncResponse" + - $ref: "#/components/schemas/BFLAsyncWebhookResponse" + title: Response Pro Canny V1 Flux Pro 1 0 Canny Post + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLHTTPValidationError" + description: Validation Error + summary: "Generate an image with FLUX.1 Canny [pro] using a control image." + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.0-depth/generate: + post: + description: "Submits an image generation task with FLUX.1 Depth [pro]." + operationId: BFLProDepthV1FluxPro10DepthPost + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLDepthInputs" + required: true + responses: + "200": + content: + application/json: + schema: + anyOf: + - $ref: "#/components/schemas/BFLAsyncResponse" + - $ref: "#/components/schemas/BFLAsyncWebhookResponse" + title: Response Pro Depth V1 Flux Pro 1 0 Depth Post + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLHTTPValidationError" + description: Validation Error + summary: "Generate an image with FLUX.1 Depth [pro] using a control image." + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.0-expand/generate: + post: + description: "Submits an image expansion task that adds the specified number of pixels to any combination of sides (top, bottom, left, right) while maintaining context." + operationId: BFLExpandV1FluxPro10ExpandPost + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProExpandInputs" + required: true + responses: + "200": + content: + application/json: + schema: + anyOf: + - $ref: "#/components/schemas/BFLAsyncResponse" + - $ref: "#/components/schemas/BFLAsyncWebhookResponse" + title: Response Expand V1 Flux Pro 1 0 Expand Post + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLHTTPValidationError" + description: Validation Error + summary: Expand an image by adding pixels on any side. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.0-fill/generate: + post: + description: "Submits an image generation task with the FLUX.1 Fill [pro] model using an input image and mask. Mask can be applied to alpha channel or submitted as a separate image." + operationId: BFLFillV1FluxPro10FillPost + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProFillInputs" + required: true + responses: + "200": + content: + application/json: + schema: + anyOf: + - $ref: "#/components/schemas/BFLAsyncResponse" + - $ref: "#/components/schemas/BFLAsyncWebhookResponse" + title: Response Fill V1 Flux Pro 1 0 Fill Post + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLHTTPValidationError" + description: Validation Error + summary: "Generate an image with FLUX.1 Fill [pro] using an input image and mask." + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.1-ultra/generate: + post: + description: "Forwards image generation requests to BFL's Flux Pro 1.1 Ultra API and returns the results." + operationId: BflFluxProGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: Successful response from BFL Flux Pro proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Pro 1.1 Ultra for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.1/generate: + post: + description: "Forwards image generation requests to BFL's Flux Pro 1.1 API and returns the results." + operationId: BflFluxPro11Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxPro1_1GenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxPro1_1GenerateResponse" + description: Successful response from BFL Flux Pro proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Pro 1.1 for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/v1/flux-tools/erase-v1: + post: + description: "Forwards erase requests to BFL's Flux Tools Erase v1 API and returns the results. Uses an input image and a mask identifying the object or region to remove." + operationId: BflEraseV1Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLEraseV1Request" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: Successful response from BFL Flux Tools Erase v1 proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Tools Erase v1 for object removal + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/v1/flux-tools/vto-v1: + post: + description: "Forwards virtual try-on requests to BFL's Flux Tools VTO v1 API and returns the results. Person and garment images are mapped to the underlying input image slots." + operationId: BflVtoV1Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLVtoV1Request" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: Successful response from BFL Flux Tools VTO v1 proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Tools VTO v1 for virtual try-on + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/image/edit: + post: + description: "Edit an existing image using Bria's FIBO Edit API. You can provide:\n1. A source image and a text-based instruction (prompt)\n2. A source image and a structured_instruction\n3. A source image, a mask, and a text-based instruction\n4. A source image, a mask, and a structured_instruction\n\nThis endpoint always uses async mode (sync: false) and returns a status_url to poll for results.\n" + operationId: BriaFiboEdit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaFiboEditRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Content moderation failure + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Edit an image using Bria FIBO + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/image/edit/remove_background: + post: + description: "Remove the background of an image using Bria's RMBG 2.0 model.\n\nReturns HTTP 202 with request_id and status_url when async (default).\nCan return 200 with result directly when sync is true.\n\nAccepted image formats: JPEG, JPG, PNG, WEBP.\n" + operationId: BriaImageRemoveBackground + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaImageRemoveBackgroundRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Content moderation failure + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Remove background from an image using Bria + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/bria/v2/status/{request_id}": + get: + description: "Retrieves the current status of an asynchronous Bria request.\n\nPoll this endpoint until the status is COMPLETED or ERROR.\n\nStatus values:\n- `IN_PROGRESS` – Request is being processed. Continue polling.\n- `COMPLETED` – Success. Response includes `result.image_url` for images, `result.video_url` for videos, or `result.structured_prompt` for structured prompt generation. Additional optional fields (seed, prompt, refined_prompt) may be included.\n- `ERROR` – Processing failed. Check error object for details.\n- `UNKNOWN` – Unexpected internal error.\n" + operationId: BriaGetStatus + parameters: + - description: "Unique identifier of the request (returned from edit, generate, or remove_background endpoints)" + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaStatusResponse" + description: Status retrieved successfully + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaStatusNotFoundResponse" + description: Request ID not found or expired + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get Bria request status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/structured_instruction/generate: + post: + description: "Translates a user's text-based edit instruction and source image/mask into a detailed,\nmachine-readable structured edit instruction in JSON format.\n\nThis endpoint uses Gemini 2.5 Flash VLM to understand the edit context and returns only\nthe JSON string without generating an image.\n\nThe resulting structured_instruction can be used as input for the /proxy/bria/v2/image/edit endpoint.\n\nThis endpoint always uses async mode (sync: false) and returns a status_url to poll for results.\n" + operationId: BriaStructuredInstructionGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaStructuredInstructionRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Content moderation failure + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Generate a structured instruction from text + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/video/edit/green_screen: + post: + description: "Initiates an asynchronous green-screen (chroma key) job for a video using Bria's API.\nThe original background is replaced with a solid broadcast-green, chroma-green, or blue\nscreen suitable for compositing.\n\nReturns HTTP 202 with request_id and status_url. Poll the status endpoint for results.\n\nSupported input containers: .mp4, .mov, .webm, .avi, .gif\nSupported input codecs: H.264, H.265 (HEVC), VP9, AV1, PhotoJPEG\nMax input duration: 60 seconds. Input resolution up to 16000x16000.\n" + operationId: BriaVideoGreenScreen + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaVideoGreenScreenRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Unprocessable Entity + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Apply a green screen to a video using Bria + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/video/edit/remove_background: + post: + description: "Initiates an asynchronous background removal job for a video using Bria's API.\n\nReturns HTTP 202 with request_id and status_url. Poll the status endpoint for results.\n\nSupported input containers: .mp4, .mov, .webm, .avi, .gif\nSupported input codecs: H.264, H.265 (HEVC), VP9, AV1, PhotoJPEG\nMax input duration: 60 seconds. Input resolution up to 16000x16000.\n" + operationId: BriaVideoRemoveBackground + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaVideoRemoveBackgroundRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Unprocessable Entity + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Remove background from a video using Bria + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/video/edit/replace_background: + post: + description: "Initiates an asynchronous background-replacement job for a video using Bria's API.\nThe original background is composited out and replaced with the supplied background\nimage or video.\n\nReturns HTTP 202 with request_id and status_url. Poll the status endpoint for results.\n\nSupported input containers: .mp4, .mov, .webm, .avi, .gif\nSupported input codecs: H.264, H.265 (HEVC), VP9, AV1, PhotoJPEG\nMax input duration: 60 seconds. Input resolution up to 16000x16000.\nThe background asset must match the foreground aspect ratio.\n" + operationId: BriaVideoReplaceBackground + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaVideoReplaceBackgroundRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Unprocessable Entity + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Replace the background of a video using Bria + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/byteplus-seedance2/api/v3/contents/generations/tasks/{task_id}": + get: + operationId: ByteplusSeedance2VideoGenerationQuery + parameters: + - description: The ID of the Seedance 2.0 video generation task to query + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusVideoGenerationQueryResponse" + description: Video generation task information retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/contents/generations/tasks: + post: + operationId: ByteplusVideoGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusVideoGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusVideoGenerationResponse" + description: Video generation task created successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/byteplus/api/v3/contents/generations/tasks/{task_id}": + get: + operationId: ByteplusVideoGenerationQuery + parameters: + - description: The ID of the video generation task to query + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusVideoGenerationQueryResponse" + description: Video generation task information retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/files: + post: + description: "Proxies POST https://ark.ap-southeast.bytepluses.com/api/v3/files. Uploads a binary file to ModelArk for later use (e.g. video understanding). See https://docs.byteplus.com/en/docs/ModelArk/1870405 for upstream details.\n" + operationId: ByteplusFileUpload + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/BytePlusFileUploadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusFile" + description: File uploaded successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Upload a file to BytePlus ModelArk + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/byteplus/api/v3/files/{id}": + get: + description: "Proxies GET https://ark.ap-southeast.bytepluses.com/api/v3/files/{id}. See https://docs.byteplus.com/en/docs/ModelArk/1870406 for upstream details.\n" + operationId: ByteplusFileGet + parameters: + - description: The ID of the file to retrieve. + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusFile" + description: File information retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Retrieve BytePlus ModelArk file information + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/images/generations: + post: + operationId: ByteplusImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusImageGenerationResponse" + description: Image generation completed successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/responses: + post: + description: "Proxies POST https://ark.ap-southeast.bytepluses.com/api/v3/responses. Creates a model response that supports text, image, video and file inputs, tool calls, structured output and deep-reasoning. See https://docs.byteplus.com/en/docs/ModelArk/1585128 for the upstream tutorial and request reference; the response object is documented at https://docs.byteplus.com/en/docs/ModelArk/1783703.\n" + operationId: ByteplusResponseCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusResponseCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusResponseObject" + description: Model response body (BytePlusResponseObject). + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a BytePlus ModelArk model response + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/tts/create: + post: + description: "Proxies POST https://voice.ap-southeast-1.bytepluses.com/api/v3/tts/create. Synchronously generates audio (voice, music and sound effects) with the Seed Audio 1.0 model from a text prompt, optionally guided by reference audio or a reference image. Generated audio is capped at 120 seconds per request. See https://docs.byteplus.com/en/docs/byteplusvoice/seedaudio-01 for upstream details.\n" + operationId: ByteplusTTSCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusTTSCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusTTSCreateResponse" + description: Audio generation completed successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a BytePlus Seed Audio generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/dummy: + post: + description: Dummy proxy endpoint that returns a simple string + operationId: DummyProxy + requestBody: + content: + application/json: + schema: + properties: + message: + type: string + type: object + responses: + "200": + description: Reindex completed successfully. + summary: Dummy proxy + tags: + - API Nodes + x-excluded: true + /proxy/elevenlabs/v1/audio-isolation: + post: + description: "Removes background noise from audio. Isolates vocals/speech from background sounds.\n" + operationId: ElevenLabsAudioIsolation + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/ElevenLabsAudioIsolationRequest" + required: true + responses: + "200": + content: + application/octet-stream: + schema: + format: binary + type: string + audio/mpeg: + schema: + format: binary + type: string + description: The isolated audio file + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Audio Isolation + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/shared-voices: + get: + description: "Retrieves a list of shared voices from the ElevenLabs voice library.\n" + operationId: ElevenLabsGetSharedVoices + parameters: + - description: "How many shared voices to return at maximum. Can not exceed 100, defaults to 30." + in: query + name: page_size + schema: + default: 30 + type: integer + - description: "Voice category used for filtering. One of: professional, famous, high_quality." + in: query + name: category + schema: + type: string + - description: Gender used for filtering + in: query + name: gender + schema: + type: string + - description: Age used for filtering + in: query + name: age + schema: + type: string + - description: Accent used for filtering + in: query + name: accent + schema: + type: string + - description: Language used for filtering + in: query + name: language + schema: + type: string + - description: Locale used for filtering + in: query + name: locale + schema: + type: string + - description: Search term used for filtering + in: query + name: search + schema: + type: string + - description: Use-case used for filtering + in: query + name: use_cases + schema: + items: + type: string + type: array + - description: Descriptives used for filtering + in: query + name: descriptives + schema: + items: + type: string + type: array + - description: Filter featured voices + in: query + name: featured + schema: + default: false + type: boolean + - description: Filter voices with a minimum notice period of the given number of days. + in: query + name: min_notice_period_days + schema: + type: integer + - description: Include/exclude voices with custom rates + in: query + name: include_custom_rates + schema: + type: boolean + - description: Include/exclude voices that are live moderated + in: query + name: include_live_moderated + schema: + type: boolean + - description: Filter voices that are enabled for the reader app + in: query + name: reader_app_enabled + schema: + default: false + type: boolean + - description: Filter voices by public owner ID + in: query + name: owner_id + schema: + type: string + - description: Sort criteria + in: query + name: sort + schema: + type: string + - description: Page number + in: query + name: page + schema: + default: 0 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsSharedVoicesPaginatedResponse" + description: Shared voices retrieved successfully + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: List Shared Voices + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/sound-generation: + post: + description: "Turn text into sound effects for your videos, voice-overs or video games\nusing the most advanced sound effects models in the world.\n" + operationId: ElevenLabsSoundGeneration + parameters: + - description: "Output format of the generated audio. Formatted as codec_sample_rate_bitrate.\nExamples: mp3_22050_32, mp3_44100_128, pcm_16000, ulaw_8000\n" + in: query + name: output_format + schema: + default: mp3_44100_128 + enum: + - mp3_22050_32 + - mp3_24000_48 + - mp3_44100_32 + - mp3_44100_64 + - mp3_44100_96 + - mp3_44100_128 + - mp3_44100_192 + - pcm_8000 + - pcm_16000 + - pcm_22050 + - pcm_24000 + - pcm_32000 + - pcm_44100 + - pcm_48000 + - ulaw_8000 + - alaw_8000 + - opus_48000_32 + - opus_48000_64 + - opus_48000_96 + - opus_48000_128 + - opus_48000_192 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsSoundGenerationRequest" + required: true + responses: + "200": + content: + application/octet-stream: + schema: + format: binary + type: string + audio/mpeg: + schema: + format: binary + type: string + description: The generated sound effect audio file + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Create Sound Effect + tags: + - API Nodes + - ElevenLabs + x-excluded: true + "/proxy/elevenlabs/v1/speech-to-speech/{voice_id}": + post: + description: "Transform audio from one voice to another. Maintain full control over emotion, timing and delivery.\n" + operationId: ElevenLabsSpeechToSpeech + parameters: + - description: ID of the voice to be used. Use the Get voices endpoint to list all available voices. + in: path + name: voice_id + required: true + schema: + type: string + - description: "When enable_logging is set to false zero retention mode will be used for the request.\nThis will mean history features are unavailable for this request, including request stitching.\nZero retention mode may only be used by enterprise customers.\n" + in: query + name: enable_logging + schema: + default: true + type: boolean + - description: "Latency optimization levels (0-4):\n0 - default mode (no latency optimizations)\n1 - normal latency optimizations (~50% improvement)\n2 - strong latency optimizations (~75% improvement)\n3 - max latency optimizations\n4 - max latency with text normalizer off (best latency but may mispronounce)\n" + in: query + name: optimize_streaming_latency + schema: + nullable: true + type: integer + - description: "Output format of the generated audio. Formatted as codec_sample_rate_bitrate.\nExamples: mp3_22050_32, mp3_44100_128, pcm_16000, ulaw_8000\n" + in: query + name: output_format + schema: + default: mp3_44100_128 + enum: + - mp3_22050_32 + - mp3_24000_48 + - mp3_44100_32 + - mp3_44100_64 + - mp3_44100_96 + - mp3_44100_128 + - mp3_44100_192 + - pcm_8000 + - pcm_16000 + - pcm_22050 + - pcm_24000 + - pcm_32000 + - pcm_44100 + - pcm_48000 + - ulaw_8000 + - alaw_8000 + - opus_48000_32 + - opus_48000_64 + - opus_48000_96 + - opus_48000_128 + - opus_48000_192 + type: string + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/ElevenLabsSpeechToSpeechRequest" + required: true + responses: + "200": + content: + application/octet-stream: + schema: + format: binary + type: string + audio/mpeg: + schema: + format: binary + type: string + audio/ogg: + schema: + format: binary + type: string + audio/wav: + schema: + format: binary + type: string + description: The generated audio file + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Voice Changer (Speech-to-Speech) + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/speech-to-text: + post: + description: "Transcribe an audio or video file. If webhook is set to true, the request will be processed\nasynchronously and results sent to configured webhooks. When use_multi_channel is true and\nthe provided audio has multiple channels, a 'transcripts' object with separate transcripts\nfor each channel is returned. Otherwise, returns a single transcript. The optional\nwebhook_metadata parameter allows you to attach custom data that will be included in\nwebhook responses for request correlation and tracking.\n" + operationId: ElevenLabsSpeechToText + parameters: + - description: "When enable_logging is set to false zero retention mode will be used for the request.\nThis will mean log and transcript storage features are unavailable for this request.\nZero retention mode may only be used by enterprise customers.\n" + in: query + name: enable_logging + schema: + default: true + type: boolean + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/ElevenLabsSTTRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsSTTResponse" + description: Synchronous transcription result + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Create transcript (Speech-to-Text) + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/text-to-dialogue: + post: + description: "Converts a list of text and voice ID pairs into speech (dialogue) and returns audio.\nUseful for generating conversations between multiple characters.\n" + operationId: ElevenLabsTextToDialogue + parameters: + - description: "Output format of the generated audio. Formatted as codec_sample_rate_bitrate.\nExamples: mp3_22050_32, mp3_44100_128, pcm_16000, ulaw_8000\n" + in: query + name: output_format + schema: + default: mp3_44100_128 + enum: + - mp3_22050_32 + - mp3_24000_48 + - mp3_44100_32 + - mp3_44100_64 + - mp3_44100_96 + - mp3_44100_128 + - mp3_44100_192 + - pcm_8000 + - pcm_16000 + - pcm_22050 + - pcm_24000 + - pcm_32000 + - pcm_44100 + - pcm_48000 + - ulaw_8000 + - alaw_8000 + - opus_48000_32 + - opus_48000_64 + - opus_48000_96 + - opus_48000_128 + - opus_48000_192 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsTextToDialogueRequest" + required: true + responses: + "200": + content: + application/octet-stream: + schema: + format: binary + type: string + audio/mpeg: + schema: + format: binary + type: string + audio/ogg: + schema: + format: binary + type: string + audio/wav: + schema: + format: binary + type: string + description: The generated audio file + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Create dialogue (Multi-voice TTS) + tags: + - API Nodes + - ElevenLabs + x-excluded: true + "/proxy/elevenlabs/v1/text-to-speech/{voice_id}": + post: + description: "Converts text into speech using a specified voice and returns audio.\n\nThe output format can be specified via the output_format query parameter.\nSupported formats include MP3, PCM, μ-law, and Opus with various sample rates and bitrates.\n" + operationId: ElevenLabsTextToSpeech + parameters: + - description: ID of the voice to use. Use the Get voices endpoint to list all available voices. + in: path + name: voice_id + required: true + schema: + type: string + - description: "When set to false, enables zero retention mode (enterprise only). History features will be unavailable." + in: query + name: enable_logging + schema: + default: true + type: boolean + - description: "Deprecated. Latency optimization levels (0-4):\n0 - default mode (no latency optimizations)\n1 - normal latency optimizations (~50% improvement)\n2 - strong latency optimizations (~75% improvement)\n3 - max latency optimizations\n4 - max latency with text normalizer off (best latency but may mispronounce)\n" + in: query + name: optimize_streaming_latency + schema: + maximum: 4 + minimum: 0 + type: integer + - description: "Output format of the generated audio. Formatted as codec_sample_rate_bitrate.\nExamples: mp3_22050_32, mp3_44100_128, pcm_16000, pcm_22050, ulaw_8000\n" + in: query + name: output_format + schema: + default: mp3_44100_128 + enum: + - mp3_22050_32 + - mp3_44100_32 + - mp3_44100_64 + - mp3_44100_96 + - mp3_44100_128 + - mp3_44100_192 + - pcm_8000 + - pcm_16000 + - pcm_22050 + - pcm_24000 + - pcm_32000 + - pcm_44100 + - pcm_48000 + - ulaw_8000 + - alaw_8000 + - opus_48000_32 + - opus_48000_64 + - opus_48000_96 + - opus_48000_128 + - opus_48000_192 + - wav_8000 + - wav_16000 + - wav_22050 + - wav_24000 + - wav_32000 + - wav_44100 + - wav_48000 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsTTSRequest" + required: true + responses: + "200": + content: + audio/mpeg: + schema: + format: binary + type: string + audio/ogg: + schema: + format: binary + type: string + audio/wav: + schema: + format: binary + type: string + description: The generated audio file + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: ElevenLabs Text to Speech + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/voices/add: + post: + description: "Create an instant voice clone and add it to your Voices.\n" + operationId: ElevenLabsCreateVoice + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/ElevenLabsCreateVoiceRequest" + required: true + responses: + "200": + content: + application/json: + schema: + properties: + requires_verification: + type: boolean + voice_id: + type: string + type: object + description: Voice created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Create Voice Clone + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v2/voices: + get: + description: "Proxies ElevenLabs `GET /v2/voices` (the paginated voice search endpoint)\nwith the `category` query parameter pinned to `premade`, so only premade\nvoices from the ElevenLabs voice library are ever returned.\n" + operationId: ElevenLabsGetVoices + parameters: + - description: Search term used to filter voices by name or description. + in: query + name: search + schema: + type: string + - description: "How many voices to return per page. Max 100, defaults to 10." + in: query + name: page_size + schema: + type: integer + - description: Pagination cursor returned by a previous call. + in: query + name: next_page_token + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsVoicesPaginatedResponse" + description: Voices retrieved successfully + "401": + description: Unauthorized + security: + - BearerAuth: + [] + summary: List Voices + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/fal/fal-ai/patina: + post: + description: "Submits an image to fal's PATINA model (fal-ai/patina) via the async queue API and returns a request_id. Predicts PBR material maps (basecolor, normal, roughness, metalness, height) from a single input image. Poll the status endpoint, then fetch the result." + operationId: FalPatina + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FalPatinaRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalQueueStatus" + description: Request accepted and queued by fal + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit a PBR material prediction to fal PATINA (image-to-image) + tags: + - API Nodes + - Released + x-excluded: true + /proxy/fal/fal-ai/patina/material: + post: + description: "Submits a material generation request to fal's PATINA model (fal-ai/patina/material) via fal's async queue API and returns a request_id. PATINA generations (especially 8K / 4x upscaling) can take minutes, so the job is queued rather than run synchronously: poll the status endpoint and then fetch the result. The base texture plus the requested PBR maps (basecolor, normal, roughness, metalness, height) are returned by the result endpoint once status is COMPLETED." + operationId: FalPatinaMaterialSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FalPatinaMaterialRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalQueueStatus" + description: Request accepted and queued by fal + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit a PBR material generation to fal PATINA + tags: + - API Nodes + - Released + x-excluded: true + /proxy/fal/fal-ai/patina/material/extract: + post: + description: "Submits a prompt + input image to fal's PATINA model (fal-ai/patina/material/extract) via the async queue API and returns a request_id. Extracts a texture from the image and generates a complete tiling PBR material. Poll the status endpoint, then fetch the result." + operationId: FalPatinaMaterialExtract + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FalPatinaMaterialExtractRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalQueueStatus" + description: Request accepted and queued by fal + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit a texture extraction + PBR material generation to fal PATINA + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/fal/fal-ai/patina/requests/{request_id}": + get: + description: "Forwards to fal's queue result endpoint for the given request_id and returns the generated material once the request is COMPLETED: a base texture image plus the requested PBR maps." + operationId: FalPatinaMaterialResult + parameters: + - description: The fal queue request id returned at submission. + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalPatinaMaterialResponse" + description: The completed PATINA material result + "401": + description: Unauthorized + "404": + description: Request not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Fetch the result of a completed fal PATINA request + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/fal/fal-ai/patina/requests/{request_id}/status": + get: + description: "Forwards to fal's queue status endpoint for the given request_id. Returns the queue status (IN_QUEUE, IN_PROGRESS, or COMPLETED). Once COMPLETED, fetch the result from the request endpoint." + operationId: FalPatinaMaterialStatus + parameters: + - description: The fal queue request id returned at submission. + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalQueueStatus" + description: Current queue status of the request + "401": + description: Unauthorized + "404": + description: Request not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Poll the status of a fal PATINA request + tags: + - API Nodes + - Released + x-excluded: true + /proxy/freepik/v1/ai/image-relight: + post: + description: "Relight an image using AI. This endpoint accepts a variety of parameters to customize the generated images.\n" + operationId: FreepikMagnificRelight + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikMagnificRelightRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The relight process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Relight an image + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/image-relight/{task_id}": + get: + description: Get the status of the relight task + operationId: FreepikMagnificRelightGetStatus + parameters: + - description: ID of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The task status is returned + "404": + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get the status of the relight task + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/image-style-transfer: + post: + description: Style transfer an image using AI. + operationId: FreepikMagnificStyleTransfer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikMagnificStyleTransferRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskData" + description: OK - The style transfer process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Style transfer an image + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/image-style-transfer/{task_id}": + get: + description: Get the status of the style transfer task + operationId: FreepikMagnificStyleTransferGetStatus + parameters: + - description: ID of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The task status is returned + "404": + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get the status of the style transfer task + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/image-upscaler: + post: + description: "This asynchronous endpoint enables image upscaling using advanced AI algorithms.\nUpon submission, it returns a unique task_id which can be used to track the progress.\nFor real-time production use, include the optional webhook_url parameter to receive\nan automated notification once the task has been completed.\n" + operationId: FreepikMagnificUpscalerCreative + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikMagnificUpscalerCreativeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The upscaling process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Upscale an image with Magnific + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/image-upscaler-precision-v2: + post: + description: "Upscales an image while adding new visual elements or details (V2).\nThis endpoint may modify the original image content based on the prompt and inferred context.\nUpon submission, it returns a unique task_id which can be used to track the progress.\n" + operationId: FreepikMagnificUpscalerPrecisionV2 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikMagnificUpscalerPrecisionV2Request" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The upscaling process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Upscale an image with Precision V2 + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}": + get: + description: Returns the current status and output URL of a specific precision upscaler V2 task. + operationId: FreepikMagnificUpscalerPrecisionV2GetStatus + parameters: + - description: ID of the task + in: path + name: task_id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The task status is returned + "404": + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get the status of the Precision V2 upscaling task + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/image-upscaler/{task_id}": + get: + description: Get the status of the upscaling task + operationId: FreepikMagnificUpscalerCreativeGetStatus + parameters: + - description: ID of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The task status is returned + "404": + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get the status of the upscaling task + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/skin-enhancer/creative: + post: + description: Enhance skin in images using AI with the Creative mode. This mode provides more artistic and stylized enhancements. + operationId: FreepikSkinEnhancerCreative + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikSkinEnhancerCreativeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The skin enhancer process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Skin enhancer using AI (Creative) + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/skin-enhancer/faithful: + post: + description: Enhance skin in images using AI with the Faithful mode. This mode preserves the original appearance while improving skin quality. + operationId: FreepikSkinEnhancerFaithful + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikSkinEnhancerFaithfulRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The skin enhancer process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Skin enhancer using AI (Faithful) + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/skin-enhancer/flexible: + post: + description: Enhance skin in images using AI with the Flexible mode. This mode allows you to choose the optimization target for the enhancement. + operationId: FreepikSkinEnhancerFlexible + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikSkinEnhancerFlexibleRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The skin enhancer process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Skin enhancer using AI (Flexible) + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/skin-enhancer/{task_id}": + get: + description: Get the status of a skin enhancer task (works for both Creative and Faithful modes) + operationId: FreepikSkinEnhancerGetStatus + parameters: + - description: ID of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The task status is returned + "404": + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get the status of one skin enhancer task + tags: + - Freepik + - Proxy + /proxy/hitpaw/api/photo-enhancer: + post: + description: "Submit an image processing task using HitPaw Photo Enhancement API.\nSupports multiple enhancement models for image super-resolution processing.\n\nThe returned job_id can be used with the task-status endpoint to check processing results.\n\n**Available Models:**\n- Enhancement & Denoise Models (face_2x/4x, face_v2_2x/4x, general_2x/4x, high_fidelity_2x/4x, sharpen_denoise, detail_denoise):\n - Max input: 67 MP, Max output: 600 MP\n - Supported formats: bmp, jpeg, jpg, png, jfif, tga, tiff, webp, heif\n- Generative Models (generative_portrait, generative):\n - No input limit, Max output: 8K (33 MP)\n - Supported formats: bmp, jpeg, jpg, png, jfif, tga, tiff, webp, heif\n" + operationId: HitpawPhotoEnhancer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawPhotoEnhancerRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawJobResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit HitPaw Photo Enhancement Task + tags: + - API Nodes + - HitPaw + x-excluded: true + /proxy/hitpaw/api/task-status: + post: + description: "Query the status and result of a previously submitted photo or video enhancement task.\nPoll this endpoint until the task status indicates completion (COMPLETED).\n\n**Status Codes:**\n- CONVERTING: Job is currently being processed\n- COMPLETED: Job has completed successfully, result is available\n- ERROR: Job failed due to an error\n" + operationId: HitpawTaskStatus + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawTaskStatusRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawTaskStatusResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query HitPaw Task Status + tags: + - API Nodes + - HitPaw + x-excluded: true + /proxy/hitpaw/api/video-enhancer: + post: + description: "Submit a video processing task using HitPaw Video Enhancement API.\nUses AI technology to upscale low-resolution videos to high resolution,\neliminate artifacts and noise, and improve clarity and details.\n\nThe returned job_id can be used with the task-status endpoint to check processing results.\n\n**Video Constraints:**\n- Duration: 0.5 seconds to 1 hour\n- Maximum output resolution: 36 MP (Total Pixels)\n- Supported input formats: dv, mlv, m2ts, m2t, m2v, nut, ser, 3g2, 3gp, asf, divx, f4v, h261, h263, m4v, mkv, mov, mp4, mpeg, mpeg4, mpg, mxf, ogv, rm, rmvb, webm, wmv, dmsm, dvdmedia, dvr-ms, mts, trp, ts, vob, vro, gif, xvid\n- Supported output formats: mp4, mov, mkv, m4v, avi, gif\n" + operationId: HitpawVideoEnhancer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawVideoEnhancerRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawJobResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Payment Required - Insufficient credits + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit HitPaw Video Enhancement Task + tags: + - API Nodes + - HitPaw + x-excluded: true + /proxy/ideogram/generate: + post: + description: "Forwards image generation requests to Ideogram's API and returns the results." + operationId: IdeogramGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Successful response from Ideogram proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or Ideogram) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Ideogram) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Ideogram took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to Ideogram for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/edit: + post: + description: "Forwards image editing requests to Ideogram's API and returns the results." + operationId: IdeogramV3Edit + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/IdeogramV3EditRequest" + description: Parameters for Ideogram V3 image editing + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Successful response from Ideogram proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Prompt or Initial Image failed the safety checks. + "429": + description: Rate limit exceeded (either from proxy or Ideogram) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Proxy request to Ideogram for image editing + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/generate: + post: + description: "Forwards image generation requests to Ideogram's API and returns the results." + operationId: IdeogramV3Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV3Request" + description: Parameters for Ideogram V3 image generation + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Successful response from Ideogram proxy + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Proxy request to Ideogram for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/reframe: + post: + operationId: IdeogramV3Reframe + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/IdeogramV3ReframeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV3IdeogramResponse" + description: Reframed image successfully returned + "400": + description: Bad Request + "401": + description: Unauthorized + "422": + description: Unprocessable Entity + "429": + description: Too Many Requests + summary: Reframe an image to a chosen resolution + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/remix: + post: + operationId: IdeogramV3Remix + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/IdeogramV3RemixRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV3IdeogramResponse" + description: Remix generated successfully + "400": + description: Bad Request + "403": + description: Forbidden + "422": + description: Unprocessable Entity + "429": + description: Too Many Requests + summary: Remix an image using a prompt + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/replace-background: + post: + operationId: IdeogramV3ReplaceBackground + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/IdeogramV3ReplaceBackgroundRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV3IdeogramResponse" + description: Background replaced successfully + "400": + description: Bad Request + "401": + description: Unauthorized + "422": + description: Unprocessable Entity + "429": + description: Too Many Requests + summary: Replace background of an image using a prompt + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v4/generate: + post: + description: "Forwards text-to-image generation requests to Ideogram's 4.0 API and returns the results." + operationId: IdeogramV4Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV4Request" + description: Parameters for Ideogram 4.0 image generation + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Successful response from Ideogram proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or Ideogram) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Ideogram) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Ideogram took too long to respond) + summary: Proxy request to Ideogram 4.0 for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/image-to-video/kling-3.0-turbo: + post: + operationId: KlingV2CreateVideoFromImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2Image2VideoRequest" + description: Create a Kling 3.0 Turbo image-to-video task + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2CreateTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + summary: KlingAI 3.0 Turbo Create Video from Image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/tasks: + get: + operationId: KlingV2QueryTask + parameters: + - description: "System task IDs to query. Supports batch queries separated by \",\". Mutually exclusive with external_task_ids." + in: query + name: task_ids + schema: + type: string + - description: "Custom task IDs to query. Supports batch queries separated by \",\". Mutually exclusive with task_ids." + in: query + name: external_task_ids + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2QueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + summary: KlingAI 3.0 Turbo Query Task by ID + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/text-to-video/kling-3.0-turbo: + post: + operationId: KlingV2CreateVideoFromText + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2Text2VideoRequest" + description: Create a Kling 3.0 Turbo text-to-video task + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2CreateTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + summary: KlingAI 3.0 Turbo Create Video from Text + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/account/costs: + get: + operationId: KlingQueryResourcePackages + parameters: + - in: query + name: start_time + required: true + schema: + description: "Start time for the query, Unix timestamp in ms" + type: integer + - in: query + name: end_time + required: true + schema: + description: "End time for the query, Unix timestamp in ms" + type: integer + - in: query + name: resource_pack_name + schema: + description: Resource package name for precise querying of a specific package + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingResourcePackageResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Resource Package Information + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/general/advanced-presets-elements: + get: + description: "Retrieves a list of advanced preset elements from Kling AI.\n" + operationId: KlingGetPresetsElements + parameters: + - description: "Page number. Value range: [1, 1000]." + in: query + name: pageNum + schema: + default: 1 + type: integer + - description: "Data volume per page. Value range: [1, 500]." + in: query + name: pageSize + schema: + default: 30 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingPresetsElementsResponse" + description: Presets elements retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: KlingAI Query Presets Elements + tags: + - API Nodes + - Kling + x-excluded: true + /proxy/kling/v1/images/generations: + get: + operationId: KlingImageGenerationsQueryTaskList + parameters: + - description: Page number + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: Data volume per page + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImageGenerationsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Image Generation Task List + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingCreateImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImageGenerationsRequest" + description: Create task for generating images + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImageGenerationsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Image Generation Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/images/generations/{id}": + get: + operationId: KlingImageGenerationsQuerySingleTask + parameters: + - description: Task ID + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImageGenerationsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Image Generation Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/images/kolors-virtual-try-on: + get: + operationId: KlingVirtualTryOnQueryTaskList + parameters: + - description: Page number + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: Data volume per page + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVirtualTryOnResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Virtual Try-On Task List + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingCreateVirtualTryOn + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVirtualTryOnRequest" + description: Create task for virtual try-on of clothing on human images + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVirtualTryOnResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Virtual Try-On Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/images/kolors-virtual-try-on/{id}": + get: + operationId: KlingVirtualTryOnQuerySingleTask + parameters: + - description: Task ID + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVirtualTryOnResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Virtual Try-On Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/images/omni-image: + post: + operationId: KlingCreateOmniImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingOmniImageRequest" + description: Create task for generating omni-image + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingOmniImageResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Omni-Image Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/images/omni-image/{id}": + get: + operationId: KlingOmniImageQuerySingleTask + parameters: + - description: Task ID or External Task ID. Can query by either task_id (generated by system) or external_task_id (customized task ID) + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingOmniImageResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Omni-Image Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/avatar/image2video: + post: + operationId: KlingCreateAvatarVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingAvatarRequest" + description: Create task for generating avatar video from image and audio + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingAvatarResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Avatar Video + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/avatar/image2video/{id}": + get: + operationId: KlingAvatarQueryTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingAvatarResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Avatar Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/effects: + get: + operationId: KlingVideoEffectsQueryTaskList + parameters: + - description: Page number + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: Data volume per page + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoEffectsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Video Effects Task List + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingCreateVideoEffects + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoEffectsRequest" + description: Create task for generating video with effects + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoEffectsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Video Effects Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/effects/{id}": + get: + operationId: KlingVideoEffectsQuerySingleTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoEffectsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Video Effects Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/image2video: + post: + operationId: KlingCreateVideoFromImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImage2VideoRequest" + description: Create task for generating video from image + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Video from Image + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/image2video/{id}": + get: + operationId: KlingImage2VideoQuerySingleTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Image2Video Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/lip-sync: + get: + operationId: KlingLipSyncQueryTaskList + parameters: + - description: Page number + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: Data volume per page + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingLipSyncResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Lip-Sync Task List + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingCreateLipSyncVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingLipSyncRequest" + description: Create task for generating lip-sync video + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingLipSyncResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Lip-Sync Video + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/lip-sync/{id}": + get: + operationId: KlingLipSyncQuerySingleTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingLipSyncResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Lip-Sync Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/motion-control: + post: + operationId: KlingCreateMotionControl + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingMotionControlRequest" + description: Create task for generating motion control video + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingMotionControlResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Motion Control Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/motion-control/{id}": + get: + operationId: KlingMotionControlQuerySingleTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingMotionControlResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Motion Control Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/omni-video: + post: + operationId: KlingCreateOmniVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingOmniVideoRequest" + description: Create task for generating omni-video + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Omni-Video Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/omni-video/{id}": + get: + operationId: KlingOmniVideoQuerySingleTask + parameters: + - description: Task ID or External Task ID. Can query by either task_id (generated by system) or external_task_id (customized task ID) + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Omni-Video Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/text2video: + post: + operationId: KlingCreateVideoFromText + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingText2VideoRequest" + description: Create task for generating video from text + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Video from Text + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/text2video/{id}": + get: + operationId: KlingText2VideoQuerySingleTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/video-extend: + get: + operationId: KlingVideoExtendQueryTaskList + parameters: + - description: Page number + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: Data volume per page + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoExtendResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Video-Extend Task List + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingExtendVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoExtendRequest" + description: Create task for extending video duration + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoExtendResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Extend Video Duration + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/video-extend/{id}": + get: + operationId: KlingVideoExtendQuerySingleTask + parameters: + - description: Task ID + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoExtendResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Video-Extend Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/krea/assets: + post: + description: Upload an asset + operationId: KreaUploadAsset + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/KreaAssetUploadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaAsset" + description: The uploaded asset. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid file type/size + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Upload an asset + tags: + - API Nodes + - Released + x-excluded: true + /proxy/krea/generate/image/krea/krea-2/large: + post: + description: Best for expressive photorealism. + operationId: KreaGenerateImageLarge + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KreaGenerateImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaJob" + description: "The resulting job data. This will be returned in a pending state until the job is completed. See /jobs/{id} for retrieving the results." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Krea 2 Large + tags: + - API Nodes + - Released + x-excluded: true + /proxy/krea/generate/image/krea/krea-2/medium: + post: + description: Best for expressive illustrations. + operationId: KreaGenerateImageMedium + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KreaGenerateImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaJob" + description: "The resulting job data. This will be returned in a pending state until the job is completed. See /jobs/{id} for retrieving the results." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Krea 2 Medium + tags: + - API Nodes + - Released + x-excluded: true + /proxy/krea/generate/image/krea/krea-2/medium-turbo: + post: + description: "Faster, more affordable variant of Krea 2 Medium." + operationId: KreaGenerateImageMediumTurbo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KreaGenerateImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaJob" + description: "The resulting job data. This will be returned in a pending state until the job is completed. See /jobs/{id} for retrieving the results." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Krea 2 Medium Turbo + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/krea/jobs/{job_id}": + get: + description: Get a job by ID + operationId: KreaGetJob + parameters: + - description: A unique identifier for a job + in: path + name: job_id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaJob" + description: "The most up-to-date state of the job. You can check when the job is completed by checking the status field. For completed loraTraining jobs, the result will include a style_id field." + "401": + description: Unauthorized + "404": + description: Job not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get a job by ID + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ltx/v1/image-to-video: + post: + description: Transform a static image into a dynamic video using LTX Video AI models + operationId: LtxCreateVideoFromImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LTXImage2VideoRequest" + description: Create video from image + required: true + responses: + "200": + content: + video/mp4: + schema: + format: binary + type: string + description: Video generated successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + summary: LTX Video Generate Video from Image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ltx/v1/text-to-video: + post: + description: Generate a video from a text prompt using LTX Video AI models + operationId: LtxCreateVideoFromText + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LTXText2VideoRequest" + description: Create video from text prompt + required: true + responses: + "200": + content: + video/mp4: + schema: + format: binary + type: string + description: Video generated successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + summary: LTX Video Generate Video from Text + tags: + - API Nodes + - Released + x-excluded: true + /proxy/luma/generations: + post: + description: Initiate a new generation with the provided prompt + operationId: LumaCreateGeneration + requestBody: + content: + application/json: + examples: + default: + value: + aspect_ratio: 16:9 + keyframes: + frame0: + type: image + url: https://example.com/image.jpg + frame1: + id: 123e4567-e89b-12d3-a456-426614174000 + type: generation + loop: true + prompt: A serene lake surrounded by mountains at sunset + schema: + $ref: "#/components/schemas/LumaGenerationRequest" + description: The generation request object + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaGeneration" + description: Generation created + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaError" + description: Error + summary: Create a generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/luma/generations/image: + post: + description: Generate an image with the provided prompt + operationId: LumaGenerateImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaImageGenerationRequest" + description: The image generation request object + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaGeneration" + description: Image generated + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaError" + description: Error + summary: Generate an image + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/luma/generations/{id}": + get: + description: Retrieve details of a specific generation by its ID + operationId: LumaGetGeneration + parameters: + - description: The ID of the generation + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaGeneration" + description: Generation found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaError" + description: Error + summary: Get a generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/luma_2/generations: + post: + description: "Submit an image generation or edit job. Returns immediately with an opaque job ID to poll via GET /proxy/luma_2/generations/{id}." + operationId: LumaAgentsCreateGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsGenerationRequest" + description: The generation request object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsGeneration" + description: Generation accepted + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsError" + description: Error + summary: Create a Luma Agents generation + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/luma_2/generations/{generation_id}": + get: + description: "Poll for generation status and output. On completion, the response includes presigned URLs to download the generated images." + operationId: LumaAgentsGetGeneration + parameters: + - description: The ID of the generation + in: path + name: generation_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsGeneration" + description: Generation found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsError" + description: Error + summary: Get a Luma Agents generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/animations: + post: + description: "Create a new task to apply a specific animation action to a previously rigged character. Includes post-processing options.\n" + operationId: MeshyAnimationCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyAnimationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyAnimationCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create an Animation Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/animations/{task_id}": + get: + description: Retrieve the status and result of an Animation task. + operationId: MeshyAnimationGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyAnimationTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Animation Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/image-to-3d: + post: + description: "Create a new Image to 3D task. This task generates a 3D model from an image input.\n" + operationId: MeshyImageTo3DCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyImageTo3DRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyImageTo3DCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create an Image to 3D Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/image-to-3d/{task_id}": + get: + description: Retrieve the status and result of an Image to 3D task. + operationId: MeshyImageTo3DGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyImageTo3DTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Image to 3D Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/multi-image-to-3d: + post: + description: "Create a new Multi-Image to 3D task. This task generates a 3D model from 1 to 4 images of the same object from different angles.\nMesh generation uses Meshy-5 model, while texture generation supports Meshy-6-preview model.\n" + operationId: MeshyMultiImageTo3DCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyMultiImageTo3DRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyMultiImageTo3DCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a Multi-Image to 3D Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}": + get: + description: Retrieve the status and result of a Multi-Image to 3D task. + operationId: MeshyMultiImageTo3DGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyMultiImageTo3DTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Multi-Image to 3D Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/remesh: + post: + description: "Create a new remesh task to remesh and export an existing 3D model into various formats.\n" + operationId: MeshyRemeshCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRemeshRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRemeshCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a Remesh Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/remesh/{task_id}": + get: + description: Retrieve the status and result of a Remesh task. + operationId: MeshyRemeshGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRemeshTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Remesh Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/retexture: + post: + description: "Create a new Retexture task to generate 3D texture from text or image inputs.\n" + operationId: MeshyRetextureCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRetextureRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRetextureCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a Retexture Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/retexture/{task_id}": + get: + description: Retrieve the status and result of a Retexture task. + operationId: MeshyRetextureGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRetextureTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Retexture Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/rigging: + post: + description: "Create a new rigging task for a given 3D model. Upon successful completion, provides a rigged character in standard formats and optionally basic walking/running animations.\n" + operationId: MeshyRiggingCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRiggingRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRiggingCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a Rigging Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/rigging/{task_id}": + get: + description: Retrieve the status and result of a Rigging task. + operationId: MeshyRiggingGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRiggingTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Rigging Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v2/text-to-3d: + post: + description: "Create a new Text to 3D Preview task. This task costs 20 credits for Meshy-6 models and 5 credits for other models.\n" + operationId: MeshyTextTo3DCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyTextTo3DRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyTextTo3DCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a Text to 3D Preview Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v2/text-to-3d/{task_id}": + get: + description: Retrieve the status and result of a Text to 3D task. + operationId: MeshyTextTo3DGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyTextTo3DTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Text to 3D Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/minimax/files/retrieve: + post: + description: Proxies a request to Minimax to get the download URL for a file + operationId: RetrieveMinimaxFile + parameters: + - description: "Unique identifier for the file, obtained from the generation response" + in: query + name: file_id + required: true + schema: + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MinimaxFileRetrieveResponse" + description: Successful response with file download URL + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or Minimax) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Minimax) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Minimax took too long to respond) + security: + - BearerAuth: + [] + summary: Retrieve download URL for a Minimax file + tags: + - API Nodes + - Released + x-excluded: true + /proxy/minimax/query/video_generation: + get: + description: Proxies a request to Minimax to check the status of a video generation task + operationId: GetMinimaxVideoGeneration + parameters: + - description: The task ID to be queried + in: query + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MinimaxTaskResultResponse" + description: Successful response with task status + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or Minimax) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Minimax) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Minimax took too long to respond) + security: + - BearerAuth: + [] + summary: Query status of a Minimax video generation task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/minimax/video_generation: + post: + description: "Forwards video generation requests to Minimax's API and returns the task ID for asynchronous processing." + operationId: MinimaxVideoGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MinimaxVideoGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MinimaxVideoGenerationResponse" + description: Successful response from Minimax proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or Minimax) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Minimax) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Minimax took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to Minimax for video generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/moonvalley/prompts/image-to-video: + post: + operationId: MoonvalleyImageToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyImageToVideoRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt created + summary: Create Image to Video Prompt + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/prompts/text-to-image: + post: + operationId: MoonvalleyTextToImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyTextToImageRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt created + summary: Create Text to Image Prompt + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/prompts/text-to-video: + post: + operationId: MoonvalleyTextToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyTextToVideoRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt created + summary: Create Text to Video Prompt + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/prompts/video-to-video: + post: + operationId: MoonvalleyVideoToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyVideoToVideoRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt created + summary: Create Video to Video Prompt + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/prompts/video-to-video/resize: + post: + operationId: MoonvalleyVideoToVideoResize + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyResizeVideoRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt created + summary: Resize a video + tags: + - API Nodes + x-excluded: true + "/proxy/moonvalley/prompts/{prompt_id}": + get: + operationId: MoonvalleyGetPrompt + parameters: + - in: path + name: prompt_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt details retrieved + summary: Get Prompt Details + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/uploads: + post: + operationId: MoonvalleyUpload + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/MoonvalleyUploadFileRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyUploadFileResponse" + description: File uploaded successfully + summary: Upload Files + tags: + - API Nodes + x-excluded: true + /proxy/openai/images/edits: + post: + operationId: OpenAIEditImage + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/OpenAIImageEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIImageGenerationResponse" + description: Image edited successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Edit an image using OpenAI's DALL-E model" + tags: + - API Nodes + - Released + x-excluded: true + /proxy/openai/images/generations: + post: + operationId: OpenAIGenerateImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIImageGenerationResponse" + description: Image generated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Generate an image using OpenAI's models" + tags: + - API Nodes + - Released + x-excluded: true + /proxy/openai/v1/responses: + post: + operationId: CreateOpenAIResponse + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAICreateResponse" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIResponse" + text/event-stream: + schema: + $ref: "#/components/schemas/OpenAIResponseStreamEvent" + description: OK + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/openai/v1/responses/{id}": + get: + operationId: GetOpenAIResponse + parameters: + - description: The ID of the response to retrieve. + in: path + name: id + required: true + schema: + example: resp_677efb5139a88190b512bc3fef8e535d + type: string + - description: "Additional fields to include in the response. See the `include`\nparameter for Response creation above for more information.\n" + in: query + name: include + schema: + items: + $ref: "#/components/schemas/Includable" + type: array + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIResponse" + description: OK + summary: "Retrieves a model response with the given ID.\n" + tags: + - API Nodes + - Released + x-excluded: true + /proxy/openai/v1/videos: + post: + operationId: OpenAICreateVideo + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/OpenAIVideoCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIVideoJob" + description: Video generation job created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Create a video using OpenAI's Sora model" + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/openai/v1/videos/{video_id}": + get: + operationId: OpenAIGetVideo + parameters: + - description: The identifier of the video to retrieve + in: path + name: video_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIVideoJob" + description: Video job details + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "404": + description: Video not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Retrieve a video + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/openai/v1/videos/{video_id}/content": + get: + operationId: OpenAIDownloadVideoContent + parameters: + - description: The identifier of the video whose media to download + in: path + name: video_id + required: true + schema: + type: string + - description: Which downloadable asset to return + in: query + name: variant + schema: + type: string + responses: + "200": + content: + video/mp4: + schema: + format: binary + type: string + description: Video content stream + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "404": + description: Video not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Download video content + tags: + - API Nodes + - Released + x-excluded: true + /proxy/openrouter/api/v1/chat/completions: + post: + description: "Forwards a Chat Completions request to OpenRouter's `/api/v1/chat/completions`\nendpoint and returns the model's reply. Streaming (`stream: true`) is\nrejected: billing relies on the `usage.cost` value OpenRouter returns,\nwhich is not guaranteed on every SSE stream. Billing is based on the\n`usage.cost` field in the response body.\n" + operationId: OpenrouterCreateChatCompletion + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpenRouterChatRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenRouterChatResult" + description: Successful response from OpenRouter Chat Completions API. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a chat completion via OpenRouter + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/2.2/i2v: + post: + operationId: PikaGenerate22I2vGenerate22I2vPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_2_2_i2v_generate_2_2_i2v_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate 2 2 I2V + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/2.2/pikaframes: + post: + operationId: PikaGenerate22KeyframeGenerate22PikaframesPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_2_2_keyframe_generate_2_2_pikaframes_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate 2 2 Keyframe + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/2.2/pikascenes: + post: + operationId: PikaGenerate22C2vGenerate22PikascenesPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_2_2_c2v_generate_2_2_pikascenes_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate 2 2 C2V + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/2.2/t2v: + post: + operationId: PikaGenerate22T2vGenerate22T2vPost + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PikaBody_generate_2_2_t2v_generate_2_2_t2v_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate 2 2 T2V + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/pikadditions: + post: + operationId: PikaGeneratePikadditionsGeneratePikadditionsPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_pikadditions_generate_pikadditions_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate Pikadditions + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/pikaffects: + post: + description: "Generate a video with a specific Pikaffect. Supported Pikaffects: Cake-ify, Crumble, Crush, Decapitate, Deflate, Dissolve, Explode, Eye-pop, Inflate, Levitate, Melt, Peel, Poke, Squish, Ta-da, Tear" + operationId: PikaGeneratePikaffectsGeneratePikaffectsPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_pikaffects_generate_pikaffects_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate Pikaffects + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/pikaswaps: + post: + description: "Exactly one of `modifyRegionMask` and `modifyRegionRoi` must be provided." + operationId: PikaGeneratePikaswapsGeneratePikaswapsPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_pikaswaps_generate_pikaswaps_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate Pikaswaps + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/pika/videos/{video_id}": + get: + operationId: PikaGetVideoVideosVideoIdGet + parameters: + - in: path + name: video_id + required: true + schema: + title: Video Id + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaVideoResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Get Video + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pixverse/image/upload: + post: + operationId: PixverseUploadImage + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + requestBody: + content: + multipart/form-data: + schema: + properties: + image: + format: binary + type: string + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseImageUploadResponse" + description: Image uploaded + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Upload an image to the server. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pixverse/video/img/generate: + post: + operationId: PixverseGenerateImageVideo + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseImageVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseVideoResponse" + description: Success + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Generate video from image. + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/pixverse/video/result/{id}": + get: + operationId: PixverseGetVideoResult + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + - in: path + name: id + required: true + schema: + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseVideoResultResponse" + description: Result fetched + summary: Get the result of a video generation. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pixverse/video/text/generate: + post: + operationId: PixverseGenerateTextVideo + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseTextVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseVideoResponse" + description: Success + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Generate video from text prompt. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pixverse/video/transition/generate: + post: + operationId: PixverseGenerateTransitionVideo + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseTransitionVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseVideoResponse" + description: Success + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Generate transition video between two images. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/quiver/v1/svgs/generations: + post: + description: Generate one or more SVGs from a text prompt using the Quiver AI Arrow model. + operationId: QuiverTextToSVG + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/QuiverTextToSVGRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/QuiverSVGResponse" + description: SVG generated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Generate SVG from text using Quiver AI + tags: + - API Nodes + - Released + x-excluded: true + /proxy/quiver/v1/svgs/vectorizations: + post: + description: Vectorize an image into one or more SVGs using the Quiver AI Arrow model. + operationId: QuiverImageToSVG + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/QuiverImageToSVGRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/QuiverSVGResponse" + description: SVG vectorization completed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Convert image to SVG using Quiver AI + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/image_generation: + post: + description: "Forwards image generation requests to Recraft's API and returns the generated images." + operationId: RecraftImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftImageGenerationResponse" + description: Successful response from Recraft proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Recraft) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Recraft took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to Recraft for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/creativeUpscale: + post: + operationId: RecraftCreativeUpscale + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftProcessImageRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftProcessImageResponse" + description: OK + summary: Creative Upscale + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/crispUpscale: + post: + operationId: RecraftCrispUpscale + requestBody: + content: + multipart/form-data: + schema: + properties: + file: + description: Image file to process + format: binary + type: string + required: + - file + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftImageGenerationResponse" + description: Background removed successfully + "400": + description: Bad request - Invalid parameters or file + "401": + description: Unauthorized - Invalid or missing API token + security: + [] + summary: Upscale an image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/imageToImage: + post: + operationId: RecraftImageToImage + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftImageToImageRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftGenerateImageResponse" + description: OK + summary: Generate image from image and prompt + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/inpaint: + post: + operationId: RecraftInpaintImage + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftTransformImageWithMaskRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftGenerateImageResponse" + description: OK + summary: Inpaint Image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/removeBackground: + post: + operationId: RecraftRemoveBackground + requestBody: + content: + multipart/form-data: + schema: + properties: + file: + description: Image file to process + format: binary + type: string + required: + - file + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + image: + properties: + url: + description: URL of the processed image + format: uri + type: string + type: object + type: object + description: Background removed successfully + "400": + description: Bad request - Invalid parameters or file + "401": + description: Unauthorized - Invalid or missing API token + security: + [] + summary: Remove background from an image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/replaceBackground: + post: + operationId: RecraftReplaceBackground + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftTransformImageWithMaskRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftGenerateImageResponse" + description: OK + summary: Replace Background + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/vectorize: + post: + operationId: RecraftVectorize + requestBody: + content: + multipart/form-data: + schema: + properties: + file: + description: Image file to process + format: binary + type: string + required: + - file + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftImageGenerationResponse" + description: Background removed successfully + "400": + description: Bad request - Invalid parameters or file + "401": + description: Unauthorized - Invalid or missing API token + security: + [] + summary: Vectorize an image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/styles: + post: + description: Upload a set of images to create a style reference. + operationId: RecraftCreateStyle + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftCreateStyleRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftCreateStyleResponse" + description: OK + summary: Create Style + tags: + - API Nodes + - Released + x-excluded: true + /proxy/reve/v1/image/create: + post: + description: Forwards image creation requests to the Reve API and returns the generated image. + operationId: ReveImageCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageResponse" + description: Successful response from Reve proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Generate an image using Reve + tags: + - API Nodes + - Released + x-excluded: true + /proxy/reve/v1/image/edit: + post: + description: Forwards image editing requests to the Reve API with an edit instruction and reference image. + operationId: ReveImageEdit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageResponse" + description: Successful response from Reve proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Edit an image using Reve + tags: + - API Nodes + - Released + x-excluded: true + /proxy/reve/v1/image/remix: + post: + description: Forwards image remix requests to the Reve API with reference images and a text prompt. + operationId: ReveImageRemix + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageRemixRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageResponse" + description: Successful response from Reve proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Remix images using Reve + tags: + - API Nodes + - Released + x-excluded: true + /proxy/rodin/api/v2/download: + post: + operationId: RodinDownload + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/Rodin3DDownloadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Rodin3DDownloadResponse" + description: Get the download list for the Rodin 3D Assets. + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get rodin 3D Assets download list. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/rodin/api/v2/rodin: + post: + operationId: RodinGenerate3DAsset + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/Rodin3DGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Rodin3DGenerateResponse" + description: 3D generate Task submitted successfully. + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Create 3D generate Task using Rodin API. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/rodin/api/v2/status: + post: + operationId: RodinCheckStatus + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/Rodin3DCheckStatusRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Rodin3DCheckStatusResponse" + description: Get the status of the 3D Assets generation. + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Check Rodin 3D Generate Status. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/runway/image_to_video: + post: + description: "Converts an image to a video using Runway's API" + operationId: RunwayImageToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayImageToVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayImageToVideoResponse" + description: Successful response + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Runway Image to Video Generation + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/runway/tasks/{task_id}": + get: + description: Get the status and output of a Runway task + operationId: RunwayGetTaskStatus + parameters: + - description: ID of the task to check + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayTaskStatusResponse" + description: Successful response + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Get Runway Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/runway/text_to_image: + post: + description: "Generates an image from text using Runway's API" + operationId: RunwayTextToImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayTextToImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayTextToImageResponse" + description: Successful response + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Runway Text to Image Generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/runway/video_to_video: + post: + description: "Edits a video into a new video using Runway's API" + operationId: RunwayVideoToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayVideoToVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayVideoToVideoResponse" + description: Successful response + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Runway Video to Video Generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/seedance/assets: + get: + description: "Fans out to BytePlus ListAssets across the caller's completed verification groups, denormalizes the group label into each row, and returns a single flat list. Result is post-filtered by asset_type. Optional group_id narrows to one group. Hard caps: 5 pages × 100 assets per group, 1000 total assets.\n" + operationId: SeedanceListUserAssets + parameters: + - description: Asset type to return. + in: query + name: asset_type + required: true + schema: + enum: + - Image + - Video + type: string + - description: Narrow the listing to one group. Caller must own it. + in: query + name: group_id + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceListUserAssetsResponse" + description: Assets owned by the caller + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: "List the caller's assets across all owned groups" + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: SeedanceCreateAsset + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceCreateAssetRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceCreateAssetResponse" + description: Asset creation accepted (asynchronous — poll seedanceGetAsset) + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/seedance/assets/{asset_id}": + get: + operationId: SeedanceGetAsset + parameters: + - description: BytePlus-issued asset id returned by seedanceCreateAsset + in: path + name: asset_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceGetAssetResponse" + description: Asset state + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/seedance/virtual-library/assets: + post: + operationId: SeedanceVirtualLibraryCreateAsset + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceVirtualLibraryCreateAssetRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceVirtualLibraryCreateAssetResponse" + description: Asset creation accepted (asynchronous — poll seedanceGetAsset) + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/seedance/visual-validate/groups: + get: + description: "Returns the caller's completed visual-validation groups (real-person H5 verification). Used to power the group selector in client UIs. Excludes virtual-library (AIGC) groups, which are not part of the public API surface.\n" + operationId: SeedanceListVisualValidationGroups + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceListVisualValidationGroupsResponse" + description: Visual-validation groups owned by the caller + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: "List the caller's completed visual-validation groups" + tags: + - API Nodes + - Released + x-excluded: true + /proxy/seedance/visual-validate/sessions: + post: + operationId: SeedanceCreateVisualValidateSession + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceCreateVisualValidateSessionRequest" + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceCreateVisualValidateSessionResponse" + description: Verification session created + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/seedance/visual-validate/sessions/{session_id}": + get: + operationId: SeedanceGetVisualValidateSession + parameters: + - description: The session id returned by seedanceCreateVisualValidateSession + in: path + name: session_id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceGetVisualValidateSessionResponse" + description: Session state + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/sonilo/t2m/generate: + post: + description: "Generate music from a text prompt using Sonilo text-to-music AI.\nRequires a prompt describing the desired music and a caller-specified duration.\nReturns a streaming NDJSON response with titles, audio chunks, and completion events.\n" + operationId: SoniloTextToMusicGenerate + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/SoniloTextToMusicRequest" + required: true + responses: + "200": + content: + application/x-ndjson: + schema: + $ref: "#/components/schemas/SoniloStreamEvent" + description: OK - Streaming NDJSON response with audio generation events + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Unauthorized - Invalid or missing API key + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Payment Required - Insufficient funds + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Unprocessable Entity - Validation error + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Too Many Requests - Rate limited + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Bad Gateway - Upstream generation error + security: + - BearerAuth: + [] + summary: Generate music from text prompt + tags: + - Sonilo + - Proxy + /proxy/sonilo/v2m/generate: + post: + description: "Generate music from a video using Sonilo video-to-music AI.\nAccepts either a video file upload or a video URL, with an optional prompt.\nReturns a streaming NDJSON response with one or more parallel audio streams\n(titles, audio chunks, and completion events).\nMax video duration: 6 minutes. Max upload size: 300MB.\n" + operationId: SoniloVideoToMusicGenerate + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/SoniloVideoToMusicRequest" + required: true + responses: + "200": + content: + application/x-ndjson: + schema: + $ref: "#/components/schemas/SoniloStreamEvent" + description: OK - Streaming NDJSON response with audio generation events + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Unauthorized - Invalid or missing API key + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Payment Required - Insufficient funds + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Unprocessable Entity - Validation error + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Too Many Requests - Rate limited + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Bad Gateway - Upstream generation error + security: + - BearerAuth: + [] + summary: Generate music from video + tags: + - Sonilo + - Proxy + /proxy/tencent/hunyuan/3d-part: + post: + description: "Submit a component identification and generation task using Tencent Hunyuan.\nAutomatically performs component splitting based on the model structure after inputting a 3D model file.\nRecommends inputting 3D models generated by AIGC. File size not greater than 100MB, face count not greater than 30,000. FBX format only.\n\nThe returned JobId can be used with the query endpoint to check task status.\n" + operationId: TencentHunyuan3DPartSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit Tencent Hunyuan 3D Part (Component Splitting) Task + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-part/query: + post: + description: "Query the status and result of a previously submitted 3D part (component splitting) task.\n\nPoll this endpoint until the task status indicates completion.\n" + operationId: TencentHunyuan3DPartQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query Tencent Hunyuan 3D Part Task Status + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-pro: + post: + description: "Submit a task to generate 3D content using Tencent HunYuan Large Model.\nSupports text-to-3D and image-to-3D generation.\n\nThis API provides 3 concurrent tasks by default. A new task can be processed\nonly after the previous one is completed.\n\nThe returned JobId can be used with the query endpoint to check task status.\n" + operationId: TencentHunyuan3DProSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DProRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DProResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit Tencent Hunyuan 3D Pro Generation Task + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-pro/query: + post: + description: "Query the status and result of a previously submitted 3D generation task.\n\nPoll this endpoint until the task status indicates completion.\n" + operationId: TencentHunyuan3DProQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query Tencent Hunyuan 3D Pro Task Status + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-smart-topology: + post: + description: "Submit a 3D smart topology (retopology/polygon reduction) task using Tencent Hunyuan.\nTakes an input 3D model and performs intelligent topology optimization.\nSupported input formats: GLB, OBJ. File size max 200MB.\n\nThe returned JobId can be used with the query endpoint to check task status.\n" + operationId: TencentHunyuan3DSmartTopologySubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DSmartTopologyRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit Tencent Hunyuan 3D Smart Topology Task + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-smart-topology/query: + post: + description: "Query the status and result of a previously submitted 3D smart topology task.\n\nPoll this endpoint until the task status indicates completion.\n" + operationId: TencentHunyuan3DSmartTopologyQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query Tencent Hunyuan 3D Smart Topology Task Status + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-texture-edit: + post: + description: "Submit a 3D model texture redrawing task using Tencent Hunyuan.\nAfter inputting the 3D model, perform 3D model texture redrawing based on semantics or images.\nSupported format: FBX. 3D model limit: less than 100000 faces.\nEither Image or Prompt is required; they cannot coexist. EnablePBR only supports enabling when using Prompt.\n\nThe returned JobId can be used with the query endpoint to check task status.\n" + operationId: TencentHunyuan3DTextureEditSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DTextureEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit Tencent Hunyuan 3D Texture Edit Task + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-texture-edit/query: + post: + description: "Query the status and result of a previously submitted 3D texture edit task.\n\nPoll this endpoint until the task status indicates completion.\n" + operationId: TencentHunyuan3DTextureEditQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query Tencent Hunyuan 3D Texture Edit Task Status + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-uv: + post: + description: "Submit a UV unwrapping task for a 3D model using Tencent Hunyuan.\nAfter inputting the model, UV unwrapping can be performed based on the\nmodel texture to output the corresponding UV map.\n\nThe returned JobId can be used with the query endpoint to check task status.\n" + operationId: TencentHunyuan3DUVSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit Tencent Hunyuan 3D UV Unfolding Task + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-uv/query: + post: + description: "Query the status and result of a previously submitted UV unwrapping task.\n\nPoll this endpoint until the task status indicates completion.\n" + operationId: TencentHunyuan3DUVQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query Tencent Hunyuan 3D UV Unfolding Task Status + tags: + - API Nodes + - Tencent + x-excluded: true + "/proxy/topaz/image/v1/download/{process_id}": + get: + operationId: TopazDownloadResult + parameters: + - description: The process ID returned from the enhance-gen request + in: path + name: process_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazDownloadResponse" + description: Presigned download URL for the processed image + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/topaz/image/v1/enhance-gen/async: + post: + operationId: TopazEnhanceGenAsync + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/TopazEnhanceGenRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazEnhanceGenResponse" + description: Image processing request has been successfully created + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/topaz/image/v1/status/{process_id}": + get: + operationId: TopazGetStatus + parameters: + - description: The process ID returned from the enhance-gen request + in: path + name: process_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazStatusResponse" + description: Status retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/topaz/video/: + post: + operationId: TopazVideoCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoCreateResponse" + description: Video enhancement request created successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/topaz/video/{request_id}/accept": + patch: + operationId: TopazVideoAccept + parameters: + - description: The request ID returned from the video create request + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoAcceptResponse" + description: Video request accepted successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/topaz/video/{request_id}/complete-upload": + patch: + description: "Send metadata of the multi-part uploads to complete the upload and begin processing the video.\n\nOptionally include the MD5 hash of the source video file to validate successful upload before processing.\n" + operationId: TopazVideoCompleteUpload + parameters: + - description: The request ID returned from the video create request + in: path + name: request_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoCompleteUploadRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoCompleteUploadResponse" + description: Video upload completed successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Complete Video Upload + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/topaz/video/{request_id}/status": + get: + operationId: TopazVideoGetStatus + parameters: + - description: The request ID returned from the video create request + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoStatusResponse" + description: Video status retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/tripo/v2/openapi/import: + post: + description: "Composite endpoint for Tripo model import (PN-328). The client first uploads the\nmodel file to ComfyUI API storage (POST /customers/storage) and then calls this\nendpoint with the resulting download URL. The backend performs the full Tripo\nimport flow server-side: downloads the file from storage, obtains short-lived STS\nupload credentials from Tripo, uploads the file to Tripo's object storage (SigV4),\nand creates an import_model task referencing the uploaded object. Returns Tripo's\ncreate-task response; poll /proxy/tripo/v2/openapi/task/{task_id} for completion.\nThe resulting task id is usable with Tripo post-processing tasks (texture_model,\nanimate_rig, convert_model, ...).\n\nThis is a synthetic comfy-api route (Tripo has no single-call equivalent); it\nexists so that Tripo's temporary storage credentials never leave the backend and\nno model binary ever travels inside this request.\n\nThe url host must be ComfyUI API storage (storage.googleapis.com).\nSupported formats: glb, fbx, obj, stl. Maximum file size: 150MB.\n" + operationId: TripoImportModel + requestBody: + content: + application/json: + schema: + properties: + format: + description: "File format (\"glb\", \"fbx\", \"obj\", \"stl\"). Optional; derived from the URL path extension when omitted." + type: string + url: + description: Download URL of the model file previously uploaded to ComfyUI API storage. + type: string + required: + - url + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoSuccessTask" + description: Import task created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Unauthorized access to requested resource + "413": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: File exceeds the 150MB limit + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Internal server error + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Upstream upload or task creation failed + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Server timeout + summary: Import an External 3D Model into Tripo + tags: + - API Nodes + - Released + x-excluded: true + /proxy/tripo/v2/openapi/task: + post: + operationId: TripoCreateTask + requestBody: + content: + application/json: + schema: + oneOf: + - properties: + auto_size: + default: false + type: boolean + face_limit: + type: integer + geometry_quality: + $ref: "#/components/schemas/TripoGeometryQuality" + model_seed: + type: integer + model_version: + $ref: "#/components/schemas/TripoModelVersion" + negative_prompt: + maxLength: 1024 + type: string + pbr: + default: true + type: boolean + prompt: + maxLength: 1024 + type: string + quad: + default: false + type: boolean + style: + $ref: "#/components/schemas/TripoModelStyle" + text_seed: + type: integer + texture: + default: true + type: boolean + texture_quality: + $ref: "#/components/schemas/TripoTextureQuality" + texture_seed: + type: integer + type: + $ref: "#/components/schemas/TripoTextToModel" + required: + - type + - prompt + type: object + - properties: + auto_size: + default: false + type: boolean + face_limit: + type: integer + file: + properties: + file_token: + type: string + type: + type: string + required: + - type + - file_token + type: object + geometry_quality: + $ref: "#/components/schemas/TripoGeometryQuality" + model_seed: + type: integer + model_version: + $ref: "#/components/schemas/TripoModelVersion" + orientation: + $ref: "#/components/schemas/TripoOrientation" + pbr: + default: true + type: boolean + quad: + default: false + type: boolean + style: + $ref: "#/components/schemas/TripoModelStyle" + texture: + default: true + type: boolean + texture_alignment: + $ref: "#/components/schemas/TripoTextureAlignment" + texture_quality: + $ref: "#/components/schemas/TripoTextureQuality" + texture_seed: + type: integer + type: + $ref: "#/components/schemas/TripoImageToModel" + required: + - type + - file + type: object + - properties: + auto_size: + default: false + type: boolean + face_limit: + type: integer + files: + items: + properties: + file_token: + type: string + type: + type: string + required: + - type + - file_token + type: object + type: array + geometry_quality: + $ref: "#/components/schemas/TripoGeometryQuality" + mode: + $ref: "#/components/schemas/TripoMultiviewMode" + model_seed: + type: integer + model_version: + $ref: "#/components/schemas/TripoModelVersion" + orientation: + $ref: "#/components/schemas/TripoOrientation" + orthographic_projection: + default: false + type: boolean + pbr: + default: true + type: boolean + quad: + default: false + type: boolean + texture: + default: true + type: boolean + texture_alignment: + $ref: "#/components/schemas/TripoTextureAlignment" + texture_quality: + $ref: "#/components/schemas/TripoTextureQuality" + texture_seed: + type: integer + type: + $ref: "#/components/schemas/TripoMultiviewToModel" + required: + - type + - files + type: object + - properties: + model_seed: + type: integer + original_model_task_id: + type: string + pbr: + default: true + type: boolean + texture: + default: true + type: boolean + texture_alignment: + $ref: "#/components/schemas/TripoTextureAlignment" + texture_quality: + $ref: "#/components/schemas/TripoTextureQuality" + texture_seed: + type: integer + type: + $ref: "#/components/schemas/TripoTypeTextureModel" + required: + - type + - original_model_task_id + type: object + - properties: + draft_model_task_id: + type: string + type: + $ref: "#/components/schemas/TripoTypeRefineModel" + required: + - type + - draft_model_task_id + type: object + - properties: + original_model_task_id: + type: string + type: + $ref: "#/components/schemas/TripoTypeAnimatePrerigcheck" + required: + - type + - original_model_task_id + type: object + - properties: + original_model_task_id: + type: string + out_format: + $ref: "#/components/schemas/TripoStandardFormat" + spec: + $ref: "#/components/schemas/TripoSpec" + topology: + $ref: "#/components/schemas/TripoTopology" + type: + $ref: "#/components/schemas/TripoTypeAnimateRig" + required: + - type + - original_model_task_id + type: object + - properties: + animation: + $ref: "#/components/schemas/TripoAnimation" + bake_animation: + default: true + type: boolean + original_model_task_id: + type: string + out_format: + $ref: "#/components/schemas/TripoStandardFormat" + type: + $ref: "#/components/schemas/TripoTypeAnimateRetarget" + required: + - type + - original_model_task_id + - animation + type: object + - properties: + block_size: + default: 80 + type: integer + original_model_task_id: + type: string + style: + $ref: "#/components/schemas/TripoStylizeOptions" + type: + $ref: "#/components/schemas/TripoTypeStylizeModel" + required: + - type + - style + - original_model_task_id + type: object + - properties: + face_limit: + default: 10000 + type: integer + flatten_bottom: + default: false + type: boolean + flatten_bottom_threshold: + default: 0.01 + type: number + force_symmetry: + default: false + type: boolean + format: + $ref: "#/components/schemas/TripoConvertFormat" + original_model_task_id: + type: string + pivot_to_center_bottom: + default: false + type: boolean + quad: + default: false + type: boolean + texture_format: + $ref: "#/components/schemas/TripoTextureFormat" + texture_size: + default: 4096 + type: integer + type: + $ref: "#/components/schemas/TripoTypeConvertModel" + required: + - type + - format + - original_model_task_id + type: object + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoSuccessTask" + description: Request successful + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Server timeout + summary: Create 3D Generation Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/tripo/v2/openapi/task/{task_id}": + get: + operationId: TripoGetTask + parameters: + - in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + code: + $ref: "#/components/schemas/TripoResponseSuccessCode" + data: + $ref: "#/components/schemas/TripoTask" + required: + - code + - data + type: object + description: Request successful + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Server timeout + summary: Get Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/tripo/v2/openapi/upload: + post: + operationId: TripoUploadFile + requestBody: + content: + multipart/form-data: + encoding: + profileImage: + contentType: "image/png, image/jpeg" + schema: + properties: + file: + format: binary + type: string + required: + - file + type: object + responses: + "200": + content: + application/json: + schema: + properties: + code: + $ref: "#/components/schemas/TripoResponseSuccessCode" + data: + properties: + image_token: + type: string + required: + - image_token + type: object + required: + - code + - data + type: object + description: Request successful + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Server timeout + summary: Upload File for 3D Generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/tripo/v2/openapi/user/balance: + get: + operationId: TripoGetBalance + responses: + "200": + content: + application/json: + schema: + properties: + code: + $ref: "#/components/schemas/TripoResponseSuccessCode" + data: + $ref: "#/components/schemas/TripoBalance" + required: + - code + - data + type: object + description: Request successful + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Server timeout + summary: Query Account Balance + tags: + - API Nodes + - Released + x-excluded: true + /proxy/veo/generate: + post: + operationId: VeoGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Veo2GenVidRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Veo2GenVidResponse" + description: Video generation successful + "400": + description: Bad request + "401": + description: Unauthorized + "403": + description: Forbidden + "500": + description: Internal server error + summary: "Generate a video from a text prompt and optional image. Deprecated. Use /proxy/veo/{modelId}/generate instead." + tags: + - API Nodes + - Released + x-excluded: true + /proxy/veo/poll: + post: + operationId: VeoPoll + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Veo2GenVidPollRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Veo2GenVidPollResponse" + description: Operation status and result + "400": + description: Bad request + "401": + description: Unauthorized + "404": + description: Operation not found + "500": + description: Internal error + summary: "Poll the status of a Veo prediction operation. Deprecated. Use /proxy/veo/{modelId}/poll instead." + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/veo/{modelId}/generate": + post: + operationId: VeoGenerateNew + parameters: + - description: The Veo model ID to use for generation + in: path + name: modelId + required: true + schema: + enum: + - veo-2.0-generate-001 + - veo-3.0-generate-001 + - veo-3.0-fast-generate-001 + - veo-3.1-generate-001 + - veo-3.1-fast-generate-001 + - veo-3.1-lite-generate-001 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VeoGenVidRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/VeoGenVidResponse" + description: Video generation successful + "400": + description: Bad request + "401": + description: Unauthorized + "403": + description: Forbidden + "500": + description: Internal server error + summary: Generate a video from a text prompt and optional image + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/veo/{modelId}/poll": + post: + operationId: VeoPollNew + parameters: + - description: The Veo model ID + in: path + name: modelId + required: true + schema: + enum: + - veo-2.0-generate-001 + - veo-3.0-generate-001 + - veo-3.0-fast-generate-001 + - veo-3.1-generate-001 + - veo-3.1-fast-generate-001 + - veo-3.1-lite-generate-001 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VeoGenVidPollRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/VeoGenVidPollResponse" + description: Operation status and result + "400": + description: Bad request + "401": + description: Unauthorized + "404": + description: Operation not found + "500": + description: Internal error + summary: Poll the status of a Veo prediction operation + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/vertexai/gemini/{model}": + post: + operationId: GeminiGenerateContent + parameters: + - description: Full resource name of the model. + in: path + name: model + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/GeminiGenerateContentRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/GeminiGenerateContentResponse" + description: Generated content response. + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Generate content using a specified model. + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/vertexai/imagen/{model}": + parameters: + - description: image generation model + in: path + name: model + required: true + schema: + enum: + - imagen-3.0-generate-002 + - imagen-3.0-generate-001 + - imagen-3.0-fast-generate-001 + - imagegeneration@006 + - imagegeneration@005 + - imagegeneration@002 + type: string + post: + operationId: ImagenGenerateImages + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ImagenGenerateImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ImagenGenerateImageResponse" + description: Successful image generation + 4XX: + description: Client error + 5XX: + description: Server error + summary: Generate images from a text prompt + tags: + - API Nodes + - Released + x-excluded: true + /proxy/vidu/extend: + post: + operationId: ViduExtend + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduExtendRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduExtendReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/img2video: + post: + operationId: ViduImg2Video + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/multiframe: + post: + operationId: ViduMultiframe + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduMultiframeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduMultiframeReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/reference2video: + post: + operationId: ViduReference2Video + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/start-end2video: + post: + operationId: ViduStartEnd2Video + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + "/proxy/vidu/tasks/{id}/creations": + get: + operationId: ViduGetCreations + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduGetCreationsReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/text2video: + post: + operationId: ViduText2Video + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/wan/api/v1/services/aigc/image2image/image-synthesis: + post: + operationId: WanImage2ImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WanImage2ImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WanImage2ImageGenerationResponse" + description: Image-to-image generation task created successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wan/api/v1/services/aigc/text2image/image-synthesis: + post: + operationId: WanImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WanImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WanImageGenerationResponse" + description: Image generation task created successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wan/api/v1/services/aigc/video-generation/video-synthesis: + post: + operationId: WanVideoGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WanVideoGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WanVideoGenerationResponse" + description: Video generation task created successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/wan/api/v1/tasks/{task_id}": + get: + operationId: WanTaskQueryProxy + parameters: + - description: The ID of the generation task to query + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WanTaskQueryResponse" + description: Generation task information retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/wavespeed/api/v3/predictions/{prediction_id}/result": + get: + description: "Retrieve the status and result of a FlashVSR video upscaling task.\n\nPoll this endpoint until status is \"completed\" or \"failed\".\n\nStatus values:\n- `created` - Task has been created\n- `processing` - Task is being processed\n- `completed` - Task completed successfully, outputs array contains result URLs\n- `failed` - Task failed, check error field for details\n" + operationId: WavespeedFlashVSRGetResult + parameters: + - description: The unique identifier of the prediction/task + in: path + name: prediction_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedTaskResultResponse" + description: Task result retrieved successfully + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get FlashVSR task result + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wavespeed/api/v3/wavespeed-ai/flashvsr: + post: + description: "Submit a video for upscaling using WavespeedAI's FlashVSR model.\nFlashVSR is a fast, high-quality video upscaler that boosts resolution and restores clarity\nfor low-resolution or blurry footage.\n\nSupported target resolutions: 720p, 1080p, 2k, 4k\n\nMax clip length: up to 10 minutes\nProcessing speed: approximately 3-20 seconds of wall time to process 1 second of video\n\nReturns a task ID that can be used to poll for the result.\n" + operationId: WavespeedFlashVSRSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedFlashVSRRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedTaskResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit a FlashVSR video upscaling task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image: + post: + description: "Upscale an image using WavespeedAI's SeedVR2 Image Upscaler.\nSeedVR2 boosts image resolution and quality, upscaling photos to 2K, 4K, or 8K\nfor sharp, detailed results.\n" + operationId: WavespeedSeedVR2ImageSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedSeedVR2ImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedTaskResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit a SeedVR2 image upscaling task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler: + post: + description: "Upscale an image using WavespeedAI's Ultimate Image Upscaler.\nThe most advanced AI enhancer that reimagines fine detail while upscaling images to 2K, 4K, or 8K.\n" + operationId: WavespeedUltimateImageUpscalerSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedSeedVR2ImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedTaskResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit an Ultimate Image Upscaler task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/images/edits: + post: + description: Modify an existing image based on a text prompt using the Grok Imagine API. + operationId: XaiImageEdit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIImageEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIImageGenerationResponse" + description: Image edited successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Edit images using xAI Grok Imagine + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/images/generations: + post: + description: Generate one or more images from a text prompt using the Grok Imagine API. + operationId: XaiImageGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIImageGenerationResponse" + description: Images generated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Generate images using xAI Grok Imagine + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/videos/edits: + post: + description: "Edit an existing video based on a text prompt (video-to-video editing).\nVideo editing is asynchronous. Returns a request_id to poll for the completed video.\nInput video limit is 8 seconds. Audio will not be modified.\n" + operationId: XaiVideoEdit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoAsyncResponse" + description: Video editing job created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Edit videos using xAI Grok Imagine + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/videos/extensions: + post: + description: "Generate a seamless continuation of an existing video. You provide a source video and a text prompt\ndescribing what should happen next. The API produces a new video that extends naturally from the end\nof the input video.\nVideo extension is asynchronous. Returns a request_id to poll for the completed video.\n" + operationId: XaiVideoExtension + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoExtensionRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoAsyncResponse" + description: Video extension job created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Extend videos using xAI Grok Imagine + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/videos/generations: + post: + description: "Generate a video from a text prompt (text-to-video), from an image with optional text (image-to-video),\nor from reference images with text (reference-to-video). The mode is determined by which optional fields\nare provided. Video generation is asynchronous. Returns a request_id to poll for the completed video.\n\nConflict rules: image + reference_images, video + reference_images, and image + video cannot be combined.\n" + operationId: XaiVideoGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoAsyncResponse" + description: Video generation job created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Generate videos using xAI Grok Imagine + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/xai/v1/videos/{request_id}": + get: + description: "Retrieve the result of a video generation or editing request.\nPoll this endpoint until the response includes a video object with the completed video URL.\n" + operationId: XaiVideoGetResult + parameters: + - description: The request ID returned by the video generation or editing endpoint + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoResultResponse" + description: Video generation result + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoResultResponse" + description: Video generation still pending + "401": + description: Unauthorized + "402": + description: Payment Required + "404": + description: Request ID not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get xAI video generation result + tags: + - API Nodes + - Released + x-excluded: true + /publishers: + get: + operationId: ListPublishers + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Publisher" + type: array + description: A list of publishers + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve all publishers + tags: + - Registry + post: + operationId: CreatePublisher + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + description: Publisher created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new publisher + tags: + - Registry + /publishers/validate: + get: + description: Checks if the publisher username is already taken. + operationId: ValidatePublisher + parameters: + - description: The publisher username to validate. + in: query + name: username + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + isAvailable: + description: "True if the username is available, false otherwise." + type: boolean + type: object + description: Username validation result + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Invalid input, such as missing username in the query." + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Validate if a publisher username is available + tags: + - Registry + "/publishers/{publisherId}": + delete: + operationId: DeletePublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "204": + description: Publisher deleted successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Publisher not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Delete a publisher + tags: + - Registry + get: + operationId: GetPublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + description: Publisher retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Publisher not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve a publisher by ID + tags: + - Registry + put: + operationId: UpdatePublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + description: Publisher updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "401": + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Publisher not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Update a publisher + tags: + - Registry + "/publishers/{publisherId}/ban": + post: + operationId: BanPublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "204": + description: Publisher Banned Successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Publisher not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Ban a publisher + tags: + - Registry + x-excluded: true + "/publishers/{publisherId}/nodes": + get: + operationId: ListNodesForPublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - description: Number of nodes to return per page + in: query + name: include_banned + schema: + type: boolean + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Node" + type: array + description: List of all nodes + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Retrieve all nodes + tags: + - Registry + post: + operationId: CreateNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new custom node + tags: + - Registry + "/publishers/{publisherId}/nodes/v2": + get: + operationId: ListNodesForPublisherV2 + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - description: Number of nodes to return per page + in: query + name: include_banned + schema: + type: boolean + - description: Page number of the nodes list + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of nodes to return per page + in: query + name: limit + schema: + default: 10 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + limit: + description: Maximum number of nodes per page + type: integer + nodes: + items: + $ref: "#/components/schemas/Node" + type: array + page: + description: Current page number + type: integer + total: + description: Total number of nodes available + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: List of all nodes + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Retrieve all nodes + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}": + delete: + operationId: DeleteNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + responses: + "204": + description: Node deleted successfully + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Delete a specific node + tags: + - Registry + put: + operationId: UpdateNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Update a specific node + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}/ban": + post: + operationId: BanPublisherNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + responses: + "204": + description: Node Banned Successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Publisher or Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: "Ban a publisher's Node" + tags: + - Registry + x-excluded: true + "/publishers/{publisherId}/nodes/{nodeId}/claim-my-node": + post: + description: "This endpoint allows a publisher to claim an unclaimed node that they own the repo, which is identified by the nodeId. The unclaimed node's repository must be owned by the authenticated user.\n" + operationId: ClaimMyNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ClaimMyNodeRequest" + required: true + responses: + "204": + description: Node claimed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Forbidden - various authorization and permission issues\nIncludes:\n- The authenticated user does not have permission to claim the node\n- The node is already claimed by another publisher\n- The GH_TOKEN is invalid\n- The repository is not owned by the authenticated GitHub user\n" + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Too many requests - GitHub API rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Service unavailable - GitHub API is currently unavailable + security: + - BearerAuth: + [] + summary: Claim nodeId into publisherId for the authenticated publisher + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}/permissions": + get: + operationId: GetPermissionOnPublisherNodes + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + canEdit: + type: boolean + type: object + description: A list of permissions + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve permissions the user has for a given publisher + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}/versions": + post: + operationId: PublishNodeVersion + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + node: + $ref: "#/components/schemas/Node" + node_version: + $ref: "#/components/schemas/NodeVersion" + personal_access_token: + type: string + required: + - node + - node_version + - personal_access_token + type: object + required: true + responses: + "201": + content: + application/json: + schema: + properties: + node_version: + $ref: "#/components/schemas/NodeVersion" + signedUrl: + description: The signed URL to upload the node version token. + type: string + type: object + description: New version published successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Publish a new version of a node + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}": + delete: + operationId: DeleteNodeVersion + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: versionId + required: true + schema: + type: string + responses: + "204": + description: Version unpublished (deleted) successfully + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version does not belong to the publisher + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + security: + - BearerAuth: + [] + summary: Unpublish (delete) a specific version of a node + tags: + - Registry + put: + description: Update only the changelog and deprecated status of a specific version of a node. + operationId: UpdateNodeVersion + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: versionId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersionUpdateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersion" + description: Version updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Update changelog and deprecation status of a node version + tags: + - Registry + "/publishers/{publisherId}/permissions": + get: + operationId: GetPermissionOnPublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + canEdit: + type: boolean + type: object + description: A list of permissions + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve permissions the user has for a given publisher + tags: + - Registry + "/publishers/{publisherId}/tokens": + get: + operationId: ListPersonalAccessTokens + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PersonalAccessToken" + type: array + description: List of all personal access tokens + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: No tokens found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Retrieve all personal access tokens for a publisher + tags: + - Registry + x-excluded: true + post: + operationId: CreatePersonalAccessToken + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PersonalAccessToken" + required: true + responses: + "201": + content: + application/json: + schema: + properties: + token: + description: The newly created personal access token. + type: string + type: object + description: Token created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new personal access token + tags: + - Registry + "/publishers/{publisherId}/tokens/{tokenId}": + delete: + operationId: DeletePersonalAccessToken + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: tokenId + required: true + schema: + type: string + responses: + "204": + description: Token deleted successfully + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Token not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Delete a specific personal access token + tags: + - Registry + /releases: + get: + description: Fetch release notes from Strapi with caching + operationId: GetReleaseNotes + parameters: + - description: The project to get release notes for + in: query + name: project + required: true + schema: + enum: + - comfyui + - comfyui_frontend + - desktop + - cloud + type: string + - description: The current version to filter release notes + in: query + name: current_version + schema: + type: string + - description: The locale for the release notes + in: query + name: locale + schema: + default: en + enum: + - en + - es + - fr + - ja + - ko + - ru + - zh + type: string + - description: The platform requesting the release notes + in: query + name: form_factor + schema: + type: string + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/ReleaseNote" + type: array + description: Release notes retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Get release notes + tags: + - Releases + post: + description: Webhook endpoint to process Github release events and generate release notes + operationId: ProcessReleaseWebhook + parameters: + - description: The name of the event that triggered the delivery + in: header + name: X-GitHub-Event + required: true + schema: + enum: + - release + type: string + - description: A globally unique identifier (GUID) to identify the event + in: header + name: X-GitHub-Delivery + required: true + schema: + format: uuid + type: string + - description: The unique identifier of the webhook + in: header + name: X-GitHub-Hook-ID + required: true + schema: + type: string + - description: HMAC hex digest of the request body using SHA-256 hash function + in: header + name: X-Hub-Signature-256 + schema: + type: string + - description: The type of resource where the webhook was created + in: header + name: X-GitHub-Hook-Installation-Target-Type + schema: + type: string + - description: The unique identifier of the resource where the webhook was created + in: header + name: X-GitHub-Hook-Installation-Target-ID + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/GithubReleaseWebhook" + required: true + responses: + "200": + description: Webhook processed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Validation failed or endpoint has been spammed + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Process Github release webhook + tags: + - Releases + x-excluded: true + /security-scan: + get: + description: Pull all pending node versions and conduct security scans. + operationId: SecurityScan + parameters: + - in: query + name: minAge + schema: + type: string + x-go-type: time.Duration + - in: query + name: minSecurityScanAge + schema: + type: string + x-go-type: time.Duration + - in: query + name: maxNodes + schema: + type: integer + responses: + "200": + description: Scan completed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Security Scan + tags: + - Registry + x-excluded: true + /seedance/complete: + get: + description: "Browser-facing landing page that BytePlus redirects the end user to after H5 liveness is complete. Logs the callback parameters and returns plain HTML the user sees in their browser. Client polls seedanceGetVisualValidateSession to observe the actual result.\n" + operationId: SeedanceVisualValidateCallback + parameters: + - in: query + name: bytedToken + required: true + schema: + type: string + - in: query + name: resultCode + required: true + schema: + type: string + - in: query + name: algorithmBaseRespCode + schema: + type: string + - in: query + name: reqMeasureInfoValue + schema: + type: string + - in: query + name: verify_type + schema: + type: string + responses: + "200": + content: + text/html: + schema: + type: string + description: "Landing page shown to the user's browser" + security: + [] + summary: BytePlus real-person verification callback landing page + tags: + - API Nodes + - Released + x-excluded: true + /upload-artifact: + post: + description: Receive artifacts (output files) from the ComfyUI GitHub Action + operationId: PostUploadArtifact + requestBody: + content: + application/json: + schema: + properties: + author: + description: The author of the commit + type: string + avg_vram: + description: The average amount of VRAM used in the run. + type: integer + branch_name: + type: string + bucket_name: + description: The name of the bucket where the output files are stored + type: string + comfy_logs_gcs_path: + description: The path to ComfyUI logs. eg. gs://bucket-name/logs + type: string + comfy_run_flags: + description: The flags used in the comfy run + type: string + commit_hash: + type: string + commit_message: + description: The commit message + type: string + commit_time: + description: "The time of the commit in the format of \"YYYY-MM-DDTHH:MM:SSZ\" (2016-10-10T00:00:00Z)" + type: string + cuda_version: + description: Cuda version. + type: string + end_time: + description: The end time of the job as a Unix timestamp. + format: int64 + type: integer + job_id: + description: Unique identifier for the job + type: string + job_trigger_user: + description: The user who triggered the job + type: string + machine_stats: + $ref: "#/components/schemas/MachineStats" + os: + description: Operating system used in the run + type: string + output_files_gcs_paths: + description: "A comma separated string that contains GCS path(s) to output files. eg. gs://bucket-name/output, gs://bucket-name/output2" + type: string + peak_vram: + description: The peak amount of VRAM used in the run. + type: integer + pr_number: + description: The pull request number + type: string + python_version: + description: The python version used in the run + type: string + pytorch_version: + description: The pytorch version used in the run + type: string + repo: + description: Repository name + type: string + run_id: + description: Unique identifier for the run + type: string + start_time: + description: The start time of the job as a Unix timestamp. + format: int64 + type: integer + status: + $ref: "#/components/schemas/WorkflowRunStatus" + workflow_name: + description: The name of the workflow + type: string + required: + - repo + - job_id + - run_id + - os + - commit_hash + - commit_time + - commit_message + - branch_name + - workflow_name + - start_time + - end_time + - pr_number + - python_version + - job_trigger_user + - author + - status + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Successfully received the artifact details + "400": + description: Invalid request + "500": + description: Internal server error + summary: Receive artifacts (output files) from the ComfyUI GitHub Action + tags: + - ComfyUI CI + x-excluded: true + /users: + get: + operationId: GetUser + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/User" + description: OK + "401": + description: Unauthorized + "404": + description: Not Found + security: + - BearerAuth: + [] + summary: Get information about the calling user. + tags: + - Registry + /users/publishers/: + get: + operationId: ListPublishersForUser + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Publisher" + type: array + description: A list of publishers + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve all publishers for a given user + tags: + - Registry + /versions: + get: + operationId: ListAllNodeVersions + parameters: + - in: query + name: nodeId + schema: + type: string + - explode: true + in: query + name: statuses + schema: + items: + $ref: "#/components/schemas/NodeVersionStatus" + type: array + style: form + - in: query + name: include_status_reason + schema: + default: false + type: boolean + - description: The page number to retrieve. + in: query + name: page + schema: + default: 1 + type: integer + - description: The number of items to include per page. + in: query + name: pageSize + schema: + default: 10 + type: integer + - description: "search for status_reason, case insensitive" + in: query + name: status_reason + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + page: + description: Current page number + type: integer + pageSize: + description: Maximum number of node versions per page. Maximum is 100. + type: integer + total: + description: Total number of node versions available + type: integer + totalPages: + description: Total number of pages available + type: integer + versions: + items: + $ref: "#/components/schemas/NodeVersion" + type: array + type: object + description: List of all node versions + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Invalid input, object invalid" + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node banned + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: List all node versions given some filters. + tags: + - Registry + /webhook/metronome/zero-balance: + post: + operationId: MetronomeZeroBalance + requestBody: + content: + application/json: + schema: + properties: + id: + description: the id of the webhook + type: string + properties: + properties: + customer_id: + description: the metronome customer id + type: string + remaining_balance: + description: the customer remaining balance + type: number + type: object + type: + description: the type of the webhook + type: string + required: + - id + - type + - properties + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Webhook processed succesfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: receive alert on remaining balance is 0 + tags: + - Webhook + - Metronome + x-excluded: true + /webhook/stripe/invoice-status: + post: + operationId: StripeInvoiceStatus + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/StripeEvent" + required: true + responses: + "200": + description: Webhook processed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Handle Stripe invoice.paid webhook event + tags: + - Billing + - Stripe + x-excluded: true + /webhook/stripe/subscription: + post: + operationId: StripeSubscriptionWebhook + requestBody: + content: + application/json: + schema: + description: Generic Stripe webhook event payload + type: object + required: true + responses: + "200": + description: Webhook processed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Handle Stripe subscription webhook events + tags: + - Billing + - Stripe + x-excluded: true + "/workflowresult/{workflowResultId}": + get: + operationId: GetWorkflowResult + parameters: + - in: path + name: workflowResultId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ActionJobResult" + description: Commit details + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Commit not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve a specific commit by ID + tags: + - ComfyUI CI + x-excluded: true +servers: + - url: https://api.comfy.org diff --git a/openapi/registry.ko.yaml b/openapi/registry.ko.yaml new file mode 100644 index 000000000..247f5caa6 --- /dev/null +++ b/openapi/registry.ko.yaml @@ -0,0 +1,36109 @@ +# translationSourceHash: f7e0ff5a +# translationFrom: openapi/registry.en.yaml + +components: + parameters: + PixverseAiTraceId: + description: 각 요청에 대한 고유 UUID입니다. + in: header + name: Ai-trace-id + required: true + schema: + type: string + schemas: + APIKey: + properties: + created_at: + format: date-time + type: string + description: + type: string + id: + type: string + key_prefix: + type: string + name: + type: string + type: object + APIKeyWithPlaintext: + allOf: + - $ref: "#/components/schemas/APIKey" + - properties: + plaintext_key: + description: 전체 API 키 (생성 시에만 반환됨) + type: string + type: object + ActionJobResult: + properties: + action_job_id: + description: 이 결과가 속한 작업의 식별자 + type: string + action_run_id: + description: 이 결과가 속한 실행의 식별자 + type: string + author: + description: 커밋의 작성자 + type: string + avg_vram: + description: 작업에서 사용한 평균 VRAM + type: integer + branch_name: + description: 관련 git 브랜치의 이름 + type: string + comfy_run_flags: + description: "Comfy 실행 플래그. 예: `--low-vram`" + type: string + commit_hash: + description: 커밋의 해시 + type: string + commit_id: + description: 커밋의 ID + type: string + commit_message: + description: 커밋의 메시지 + type: string + commit_time: + description: 커밋이 생성된 Unix 타임스탬프 + format: int64 + type: integer + cuda_version: + description: 사용된 CUDA 버전 + type: string + end_time: + description: 작업의 종료 시간(Unix 타임스탬프). + format: int64 + type: integer + git_repo: + description: 저장소 이름 + type: string + id: + description: 작업 결과의 고유 식별자 + format: uuid + type: string + job_trigger_user: + description: 작업을 트리거한 사용자. + type: string + machine_stats: + $ref: "#/components/schemas/MachineStats" + operating_system: + description: 사용된 운영 체제 + type: string + peak_vram: + description: 작업에서 사용한 최대 VRAM + type: integer + pr_number: + description: 풀 리퀘스트 번호 + type: string + python_version: + description: 사용된 PyTorch 버전 + type: string + pytorch_version: + description: 사용된 PyTorch 버전 + type: string + start_time: + description: 작업의 시작 시간(Unix 타임스탬프). + format: int64 + type: integer + status: + $ref: "#/components/schemas/WorkflowRunStatus" + storage_file: + $ref: "#/components/schemas/StorageFile" + workflow_name: + description: 워크플로의 이름 + type: string + type: object + AnthropicCacheCreationUsage: + description: Anthropic Messages API 호출에 대한 캐시 쓰기 입력 토큰의 TTL별 분석. + properties: + ephemeral_1h_input_tokens: + type: integer + ephemeral_5m_input_tokens: + type: integer + type: object + AnthropicCreateMessageRequest: + additionalProperties: true + description: "Anthropic Messages API (`/v1/messages`)의 요청 본문. 프록시가 읽는 필드(모델, 프롬프트 추출, 스트리밍, 과금)에만 엄격한 타입 지정으로 업스트림 스키마를 미러링합니다. 다른 최상위 필드(`tools`, `temperature`, `top_p`, `thinking`, `metadata` 등)는 `additionalProperties`를 통해 변경 없이 전달됩니다." + properties: + max_tokens: + description: 중단하기 전에 생성할 최대 토큰 수. + type: integer + messages: + description: 대화 턴. 전체 콘텐츠 블록 분류는 Anthropic Messages API 문서를 참조하세요. + items: + $ref: "#/components/schemas/AnthropicMessageParam" + type: array + model: + description: "Anthropic 모델 식별자 (예: `claude-sonnet-4-5`, `claude-opus-4-7`)." + type: string + stream: + description: "참(true)인 경우, 응답은 단일 JSON 본문 대신 Anthropic 메시지 이벤트의 `text/event-stream`입니다." + type: boolean + system: + description: 최상위 시스템 프롬프트. Anthropic은 또한 패스스루를 통해 배열 형식을 허용합니다. + type: string + required: + - model + - max_tokens + - messages + type: object + AnthropicCreateMessageResponse: + additionalProperties: true + description: "비스트리밍 Messages API 응답의 JSON 형태. 대부분의 필드는 전달되며, 프록시는 과금을 위해 `usage`를 읽습니다." + properties: + id: + type: string + model: + type: string + role: + type: string + stop_reason: + nullable: true + type: string + stop_sequence: + nullable: true + type: string + type: + type: string + usage: + $ref: "#/components/schemas/AnthropicMessagesUsage" + type: object + AnthropicMessageParam: + additionalProperties: true + description: "단일 대화 턴. 프록시는 프롬프트 캡처를 위해 `role`과 `content`(문자열 또는 콘텐츠 블록 배열)만 읽으며, 추가 필드는 전달됩니다." + properties: + content: + description: "문자열 요약 또는 콘텐츠 블록 배열(텍스트, 이미지, 문서, tool_use, tool_result, ...) 중 하나입니다." + x-go-type: "interface{}" + role: + enum: + - user + - assistant + type: string + required: + - role + - content + type: object + AnthropicMessagesUsage: + description: Anthropic Messages API 호출의 토큰 사용량. + properties: + cache_creation: + $ref: "#/components/schemas/AnthropicCacheCreationUsage" + cache_creation_input_tokens: + type: integer + cache_read_input_tokens: + type: integer + input_tokens: + type: integer + output_tokens: + type: integer + type: object + AuditLog: + properties: + createdAt: + description: 이벤트가 생성된 날짜와 시간 + format: date-time + type: string + event_id: + description: 이벤트의 ID + type: string + event_type: + description: 이벤트의 유형 + type: string + params: + additionalProperties: true + description: 이벤트와 관련된 데이터 + type: object + type: object + BFLAsyncResponse: + properties: + id: + title: Id + type: string + polling_url: + title: Polling Url + type: string + required: + - id + - polling_url + title: AsyncResponse + type: object + BFLAsyncWebhookResponse: + properties: + id: + title: Id + type: string + status: + title: Status + type: string + webhook_url: + title: Webhook Url + type: string + required: + - id + - status + - webhook_url + title: AsyncWebhookResponse + type: object + BFLCannyInputs: + properties: + canny_high_threshold: + anyOf: + - maximum: 500 + minimum: 0 + type: integer + default: 200 + description: Canny 에지 감지를 위한 높은 임계값 + title: Canny High Threshold + canny_low_threshold: + anyOf: + - maximum: 500 + minimum: 0 + type: integer + default: 50 + description: Canny 에지 감지를 위한 낮은 임계값 + title: Canny Low Threshold + control_image: + anyOf: + - type: string + description: 사전 처리된 이미지가 제공되지 않은 경우 제어 입력으로 사용할 Base64 인코딩 이미지 + title: Control Image + guidance: + anyOf: + - maximum: 100 + minimum: 1 + type: number + default: 30 + description: 이미지 생성 프로세스의 가이드 강도 + title: Guidance + output_format: + anyOf: + - $ref: "#/components/schemas/BFLOutputFormat" + default: jpeg + description: "생성된 이미지의 출력 형식. 'jpeg' 또는 'png'일 수 있습니다." + preprocessed_image: + anyOf: + - type: string + description: 제어 전처리 단계를 실행 건너뛰는 선택적 사전 처리된 이미지 + title: Preprocessed Image + prompt: + description: 이미지 생성을 위한 텍스트 프롬프트 + example: ein fantastisches bild + title: Prompt + type: string + prompt_upsampling: + anyOf: + - type: boolean + default: false + description: 프롬프트에 업샘플링을 수행할지 여부 + title: Prompt Upsampling + safety_tolerance: + default: 2 + description: "입력 및 출력 검열에 대한 허용치 수준. 0에서 6 사이, 0이 가장 엄격하고 6이 가장 덜 엄격합니다." + maximum: 6 + minimum: 0 + title: Safety Tolerance + type: integer + seed: + anyOf: + - type: integer + description: 재현성을 위한 선택적 시드 + example: 42 + title: Seed + steps: + anyOf: + - maximum: 50 + minimum: 15 + type: integer + default: 50 + description: 이미지 생성 프로세스의 단계 수 + title: Steps + webhook_secret: + anyOf: + - type: string + description: 웹훅 서명 확인을 위한 선택적 시크릿 + title: Webhook Secret + webhook_url: + anyOf: + - format: uri + maxLength: 2083 + minLength: 1 + type: string + description: 웹훅 알림을 수신할 URL + title: Webhook Url + required: + - prompt + title: CannyInputs + type: object + BFLDepthInputs: + properties: + control_image: + anyOf: + - type: string + description: 제어 입력으로 사용할 Base64 인코딩 이미지 + title: Control Image + guidance: + anyOf: + - maximum: 100 + minimum: 1 + type: number + default: 15 + description: 이미지 생성 프로세스의 가이드 강도 + title: Guidance + output_format: + anyOf: + - $ref: "#/components/schemas/BFLOutputFormat" + default: jpeg + description: "생성된 이미지의 출력 형식. 'jpeg' 또는 'png'일 수 있습니다." + preprocessed_image: + anyOf: + - type: string + description: 제어 전처리 단계를 실행 건너뛰는 선택적 사전 처리된 이미지 + title: Preprocessed Image + prompt: + description: 이미지 생성을 위한 텍스트 프롬프트 + example: ein fantastisches bild + title: Prompt + type: string + prompt_upsampling: + anyOf: + - type: boolean + default: false + description: 프롬프트에 업샘플링을 수행할지 여부 + title: Prompt Upsampling + safety_tolerance: + default: 2 + description: "입력 및 출력 검열에 대한 허용치 수준. 0에서 6 사이, 0이 가장 엄격하고 6이 가장 덜 엄격합니다." + maximum: 6 + minimum: 0 + title: Safety Tolerance + type: integer + seed: + anyOf: + - type: integer + description: 재현성을 위한 선택적 시드 + example: 42 + title: Seed + steps: + anyOf: + - maximum: 50 + minimum: 15 + type: integer + default: 50 + description: 이미지 생성 프로세스의 단계 수 + title: Steps + webhook_secret: + anyOf: + - type: string + description: 웹훅 서명 확인을 위한 선택적 시크릿 + title: Webhook Secret + webhook_url: + anyOf: + - format: uri + maxLength: 2083 + minLength: 1 + type: string + description: 웹훅 알림을 수신할 URL + title: Webhook Url + required: + - prompt + title: DepthInputs + type: object + BFLEraseV1Request: + description: BFL Flux Tools Erase v1 객체 제거 API의 요청 본문. + properties: + dilate_pixels: + default: 10 + description: 제거 전에 마스크를 확장할 픽셀 수. 확장은 객체 가장자리를 덮는 데 도움이 됩니다. 최대 25픽셀입니다. + maximum: 25 + minimum: 0 + type: integer + image: + description: Base64 인코딩된 입력 이미지 또는 HTTP(S) 이미지 URL. + type: string + mask: + description: "Base64 인코딩된 검정색/흰색 마스크 또는 HTTP(S) 이미지 URL. 흰색 픽셀은 제거할 객체를 나타내며, 검정색 픽셀은 유지됩니다. 입력 이미지와 동일한 크기여야 합니다." + type: string + output_format: + $ref: "#/components/schemas/BFLOutputFormat" + safety_tolerance: + default: 2 + description: "입력 및 출력 검열에 대한 허용치 수준. 0에서 5 사이, 0이 가장 엄격하고 5가 가장 덜 엄격합니다." + maximum: 5 + minimum: 0 + type: integer + seed: + description: 재현성을 위한 선택적 시드. + example: 42 + type: integer + webhook_secret: + description: 웹훅 서명 확인을 위한 선택적 시크릿. + type: string + webhook_url: + description: 웹훅 알림을 받을 URL입니다. + format: uri + maxLength: 2083 + minLength: 1 + type: string + required: + - image + - mask + type: object + BFLFlux2ProGenerateRequest: + description: BFL Flux 2 Pro 이미지 생성 API의 요청 본문입니다. + properties: + height: + default: 1024 + description: 이미지의 높이입니다. + maximum: 2048 + minimum: 256 + type: integer + input_image: + description: 이미지 기반 이미지 생성을 위한 Base64 인코딩 이미지입니다. + type: string + input_image_2: + description: 이미지 기반 이미지 생성을 위한 Base64 인코딩 이미지입니다. + type: string + input_image_3: + description: 이미지 기반 이미지 생성을 위한 Base64 인코딩 이미지입니다. + type: string + input_image_4: + description: 이미지 기반 이미지 생성을 위한 Base64 인코딩 이미지입니다. + type: string + input_image_5: + description: 이미지 기반 이미지 생성을 위한 Base64 인코딩 이미지입니다. + type: string + input_image_6: + description: 이미지 기반 이미지 생성을 위한 Base64 인코딩 이미지입니다. + type: string + input_image_7: + description: 이미지 기반 이미지 생성을 위한 Base64 인코딩 이미지입니다. + type: string + input_image_8: + description: 이미지 기반 이미지 생성을 위한 Base64 인코딩 이미지입니다. + type: string + input_image_9: + description: 이미지 기반 이미지 생성을 위한 Base64 인코딩 이미지입니다. + type: string + output_format: + default: jpeg + description: 생성된 이미지의 출력 형식입니다. + enum: + - jpeg + - png + type: string + prompt: + description: 이미지 생성에 대한 텍스트 설명입니다. + type: string + prompt_upsampling: + default: true + description: 생성을 위해 프롬프트를 자동으로 수정합니다. + type: boolean + safety_tolerance: + default: 2 + description: 중재 허용치 수준 (Flux 2 Max 전용). + maximum: 5 + minimum: 0 + type: integer + seed: + description: 재현성을 위한 Seed입니다. + type: integer + width: + default: 1024 + description: 이미지의 너비입니다. + maximum: 2048 + minimum: 256 + type: integer + required: + - prompt + type: object + BFLFluxKontextMaxGenerateRequest: + properties: + guidance: + default: 3 + description: 생성을 위한 가이드 스케일입니다. + maximum: 20 + minimum: 1 + type: number + input_image: + description: 편집할 Base64 인코딩 이미지입니다. + type: string + prompt: + description: 이미지에서 편집할 내용을 설명하는 텍스트 프롬프트입니다. + type: string + steps: + default: 50 + description: 추론 단계 수입니다. + maximum: 50 + minimum: 1 + type: integer + required: + - prompt + - input_image + type: object + BFLFluxKontextMaxGenerateResponse: + properties: + id: + description: 추적을 위한 작업 ID입니다. + type: string + polling_url: + description: 결과를 폴링할 URL입니다. + type: string + required: + - id + - polling_url + type: object + BFLFluxKontextProGenerateRequest: + properties: + guidance: + default: 3 + description: 생성을 위한 가이드 스케일입니다. + maximum: 20 + minimum: 1 + type: number + input_image: + description: 편집할 Base64 인코딩 이미지입니다. + type: string + prompt: + description: 이미지에서 편집할 내용을 설명하는 텍스트 프롬프트입니다. + type: string + steps: + default: 50 + description: 추론 단계 수입니다. + maximum: 50 + minimum: 1 + type: integer + required: + - prompt + - input_image + type: object + BFLFluxKontextProGenerateResponse: + properties: + id: + description: 추적을 위한 작업 ID입니다. + type: string + polling_url: + description: 결과를 폴링할 URL입니다. + type: string + required: + - id + - polling_url + type: object + BFLFluxPro1_1GenerateRequest: + properties: + height: + description: 생성된 이미지의 높이입니다. + type: integer + image_prompt: + description: 선택적 이미지 프롬프트입니다. + type: string + output_format: + description: 출력 이미지 형식입니다. + enum: + - jpeg + - png + type: string + prompt: + description: 이미지 생성을 위한 주요 텍스트 프롬프트입니다. + type: string + prompt_upsampling: + description: 프롬프트 업샘플링 사용 여부입니다. + type: boolean + safety_tolerance: + description: 안전 허용치 수준 + type: integer + seed: + description: 재현성을 위한 무작위 시드 + type: integer + webhook_secret: + description: 비동기 처리를 위한 선택적 웹훅 시크릿 + type: string + webhook_url: + description: 비동기 처리를 위한 선택적 웹훅 URL + type: string + width: + description: 생성된 이미지의 너비 + type: integer + required: + - prompt + - width + - height + type: object + BFLFluxPro1_1GenerateResponse: + properties: + id: + description: 추적을 위한 작업 ID + type: string + polling_url: + description: 결과를 폴링할 URL + type: string + required: + - id + - polling_url + type: object + BFLFluxProExpandInputs: + properties: + bottom: + anyOf: + - maximum: 2048 + minimum: 0 + type: integer + default: 0 + description: 이미지 하단에 확장할 픽셀 수 + title: Bottom + guidance: + anyOf: + - maximum: 100 + minimum: 1.5 + type: number + default: 60 + description: 이미지 생성 과정의 가이드 강도 + title: Guidance + image: + description: 확장하려는 이미지를 나타내는 Base64 인코딩 문자열 + title: Image + type: string + left: + anyOf: + - maximum: 2048 + minimum: 0 + type: integer + default: 0 + description: 이미지 왼쪽에 확장할 픽셀 수 + title: Left + output_format: + anyOf: + - $ref: "#/components/schemas/BFLOutputFormat" + default: jpeg + description: "생성된 이미지의 출력 형식. 'jpeg' 또는 'png'일 수 있습니다." + prompt: + anyOf: + - type: string + default: "" + description: "원하는 변경 사항에 대한 설명입니다. 이 텍스트는 확장 과정을 안내하여 확장된 영역에 대한 특징, 스타일 또는 수정 사항을 지정할 수 있도록 합니다." + example: ein fantastisches bild + title: Prompt + prompt_upsampling: + anyOf: + - type: boolean + default: false + description: 프롬프트에 업샘플링을 수행할지 여부. 활성화하면 더 창의적인 생성을 위해 프롬프트를 자동으로 수정합니다. + title: Prompt Upsampling + right: + anyOf: + - maximum: 2048 + minimum: 0 + type: integer + default: 0 + description: 이미지 오른쪽에 확장할 픽셀 수 + title: Right + safety_tolerance: + default: 2 + description: "입력 및 출력 조정을 위한 허용치 수준. 0에서 6 사이이며, 0이 가장 엄격하고 6이 가장 덜 엄격합니다." + example: 2 + maximum: 6 + minimum: 0 + title: Safety Tolerance + type: integer + seed: + anyOf: + - type: integer + description: 재현성을 위한 선택적 시드 + title: Seed + steps: + anyOf: + - maximum: 50 + minimum: 15 + type: integer + default: 50 + description: 이미지 생성 과정의 단계 수 + example: 50 + title: Steps + top: + anyOf: + - maximum: 2048 + minimum: 0 + type: integer + default: 0 + description: 이미지 상단에 확장할 픽셀 수 + title: Top + webhook_secret: + anyOf: + - type: string + description: 웹훅 서명 검증을 위한 선택적 시크릿 + title: Webhook Secret + webhook_url: + anyOf: + - format: uri + maxLength: 2083 + minLength: 1 + type: string + description: 웹훅 알림을 수신할 URL + title: Webhook Url + required: + - image + title: FluxProExpandInputs + type: object + BFLFluxProFillInputs: + properties: + guidance: + anyOf: + - maximum: 100 + minimum: 1.5 + type: number + default: 60 + description: 이미지 생성 과정의 가이드 강도 + title: Guidance + image: + description: 수정하려는 이미지를 나타내는 Base64 인코딩 문자열. 원하는 경우 알파 마스크를 포함할 수 있습니다. + title: Image + type: string + mask: + anyOf: + - type: string + description: "이미지에서 수정하려는 영역에 대한 마스크를 나타내는 Base64 인코딩 문자열. 마스크는 이미지와 동일한 크기여야 하며 흑백이어야 합니다. 검정색 영역(0%)은 수정하지 않음을, 흰색 영역(100%)은 인페인팅할 영역을 나타냅니다. 원본 이미지에 알파 마스크를 제공하는 경우 선택 사항입니다. 검증: 엔드포인트는 마스크의 크기가 원본 이미지와 일치하는지 확인합니다." + title: Mask + output_format: + anyOf: + - $ref: "#/components/schemas/BFLOutputFormat" + default: jpeg + description: "생성된 이미지의 출력 형식. 'jpeg' 또는 'png'일 수 있습니다." + prompt: + anyOf: + - type: string + default: "" + description: "원하는 변경 사항에 대한 설명입니다. 이 텍스트는 인페인팅 과정을 안내하여 마스크된 영역에 대한 특징, 스타일 또는 수정 사항을 지정할 수 있도록 합니다." + example: ein fantastisches bild + title: Prompt + prompt_upsampling: + anyOf: + - type: boolean + default: false + description: 프롬프트에 업샘플링을 수행할지 여부. 활성화하면 더 창의적인 생성을 위해 프롬프트를 자동으로 수정합니다. + title: Prompt Upsampling + safety_tolerance: + default: 2 + description: "입력 및 출력 조정을 위한 허용치 수준. 0에서 6 사이이며, 0이 가장 엄격하고 6이 가장 덜 엄격합니다." + example: 2 + maximum: 6 + minimum: 0 + title: Safety Tolerance + type: integer + seed: + anyOf: + - type: integer + description: 재현성을 위한 선택적 시드 + title: Seed + steps: + anyOf: + - maximum: 50 + minimum: 15 + type: integer + default: 50 + description: 이미지 생성 과정의 단계 수 + example: 50 + title: Steps + webhook_secret: + anyOf: + - type: string + description: 웹훅 서명 검증을 위한 선택적 시크릿 + title: Webhook Secret + webhook_url: + anyOf: + - format: uri + maxLength: 2083 + minLength: 1 + type: string + description: 웹훅 알림을 수신할 URL + title: Webhook Url + required: + - image + title: FluxProFillInputs + type: object + BFLFluxProGenerateRequest: + description: BFL FLUX Pro 1.1 Ultra 이미지 생성 API의 요청 본문입니다. + properties: + guidance_scale: + description: 생성을 위한 가이드 크기 조절입니다. + maximum: 20 + minimum: 1 + type: number + height: + description: 생성할 이미지의 높이 + maximum: 2048 + minimum: 64 + type: integer + negative_prompt: + description: 이미지 생성을 위한 네거티브 프롬프트입니다. + type: string + num_images: + description: 생성할 이미지 수입니다. + maximum: 4 + minimum: 1 + type: integer + num_inference_steps: + description: 추론 단계 수입니다. + maximum: 100 + minimum: 1 + type: integer + prompt: + description: 이미지 생성을 위한 텍스트 프롬프트입니다. + type: string + seed: + description: 재현성을 위한 시드 값입니다. + type: integer + width: + description: 생성할 이미지의 너비입니다. + maximum: 2048 + minimum: 64 + type: integer + required: + - prompt + - width + - height + type: object + BFLFluxProGenerateResponse: + description: BFL Flux Pro 1.1 Ultra 이미지 생성 API의 응답입니다. + properties: + cost: + description: 생성 작업의 비용입니다. + format: float + type: number + id: + description: 생성 작업의 고유 식별자입니다. + type: string + input_mp: + description: 입력 메가픽셀입니다. + format: float + type: number + output_mp: + description: 출력 메가픽셀입니다. + format: float + type: number + polling_url: + description: 생성 결과를 확인하기 위한 폴링 URL입니다. + type: string + required: + - id + - polling_url + type: object + BFLHTTPValidationError: + properties: + detail: + items: + $ref: "#/components/schemas/BFLValidationError" + title: Detail + type: array + title: HTTPValidationError + type: object + BFLOutputFormat: + enum: + - jpeg + - png + - webp + title: OutputFormat + type: string + BFLValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + title: Location + type: array + msg: + title: Message + type: string + type: + title: Error Type + type: string + required: + - loc + - msg + - type + title: ValidationError + type: object + BFLVtoV1Request: + description: BFL Flux Tools VTO v1 가상 피팅 API의 요청 본문입니다. + properties: + garment: + description: 하나 이상의 의류 이미지입니다(내부적으로 input_image_2로 매핑됨). + type: string + output_format: + $ref: "#/components/schemas/BFLOutputFormat" + person: + description: 사람 이미지입니다(내부적으로 input_image로 매핑됨). + type: string + prompt: + description: VTO 생성을 위한 텍스트 프롬프트입니다. + example: "TRY-ON: The person of image 1 wearing the garments of image 2." + type: string + safety_tolerance: + default: 2 + description: 입력 및 출력 검열을 위한 허용치 수준입니다. 공개 사용의 경우 0에서 5 사이입니다. + maximum: 5 + minimum: 0 + type: integer + seed: + description: 재현성을 위한 선택적 시드입니다. + example: 42 + type: integer + webhook_secret: + description: 웹훅 서명 확인을 위한 선택적 비밀입니다. + type: string + webhook_url: + description: 웹훅 알림을 받을 URL입니다. + format: uri + maxLength: 2083 + minLength: 1 + type: string + required: + - prompt + - person + - garment + type: object + BeebleAlphaMode: + description: "알파 모드: auto, fill, custom 또는 select" + enum: + - auto + - fill + - custom + - select + type: string + BeebleCreateSwitchXRequest: + description: SwitchX 생성 작업을 생성하고 시작하기 위한 요청입니다. + properties: + alpha_mode: + $ref: "#/components/schemas/BeebleAlphaMode" + alpha_uri: + description: 사용자 정의 알파 매트의 URI입니다. alpha_mode가 custom 또는 select인 경우 필수입니다. auto 또는 fill인 경우 무시됩니다. + nullable: true + type: string + callback_url: + description: 완료 또는 실패 시 웹훅 알림을 위한 HTTPS URL입니다. + nullable: true + type: string + generation_type: + $ref: "#/components/schemas/BeebleGenerationType" + idempotency_key: + description: "안전한 재시도를 위한 멱등성 키입니다. 동일한 키를 가진 작업이 계정에 이미 존재하는 경우, API는 복제를 생성하는 대신 기존 작업의 상태를 반환합니다." + maxLength: 256 + minLength: 1 + nullable: true + type: string + max_resolution: + default: 1080 + description: "최대 출력 해상도: 720 또는 1080(기본값: 1080)." + nullable: true + type: integer + prompt: + description: "원하는 출력의 텍스트 설명입니다(최대 2,000자). 프롬프트 또는 reference_image_uri 중 최소 한 개가 필수입니다." + maxLength: 2000 + nullable: true + type: string + reference_image_uri: + description: 스타일 전송을 위한 참조 이미지의 URI입니다. source_uri와 동일한 URI 유형을 허용합니다. + nullable: true + type: string + source_uri: + description: "소스 이미지 또는 비디오의 URI입니다. beeble://uploads/{id}/{filename}, https URL 또는 data:{mime};base64 URI를 허용합니다(최대 50MB)." + type: string + required: + - generation_type + - source_uri + - alpha_mode + type: object + BeebleGenerationType: + description: "출력 유형: image 또는 video" + enum: + - image + - video + type: string + BeebleSwitchXOutputUrls: + description: SwitchX 작업 출력을 위한 서명된 URL입니다. + properties: + alpha: + description: 알파 매트 URL입니다. + nullable: true + type: string + render: + description: 합성된 출력 URL입니다. + nullable: true + type: string + source: + description: 전처리된 소스 URL입니다. + nullable: true + type: string + type: object + BeebleSwitchXStatusResponse: + description: SwitchX 작업의 상태 응답입니다. + properties: + alpha_mode: + description: "auto, fill, custom, 또는 select" + nullable: true + type: string + completed_at: + description: 작업이 완료되거나 실패한 시점의 ISO 8601 타임스탬프. + nullable: true + type: string + created_at: + description: 작업이 생성된 시점의 ISO 8601 타임스탬프. + nullable: true + type: string + error: + description: 오류 메시지(상태가 실패일 때 표시됨). + nullable: true + type: string + generation_type: + description: 이미지 또는 비디오 + nullable: true + type: string + id: + description: 작업 식별자(swx_...) + type: string + modified_at: + description: 마지막 상태 변경 시점의 ISO 8601 타임스탬프. + nullable: true + type: string + output: + allOf: + - $ref: "#/components/schemas/BeebleSwitchXOutputUrls" + description: 출력 URL(상태가 완료됨일 때 표시됨). URL은 서명되어 있으며 72시간 후에 만료됩니다. 새로운 URL을 얻으려면 이 엔드포인트를 다시 가져오세요. + nullable: true + progress: + description: 진행률 백분율(0-100). + nullable: true + type: integer + status: + description: 현재 작업 상태. + enum: + - in_queue + - processing + - completed + - failed + type: string + webhook: + allOf: + - $ref: "#/components/schemas/BeebleWebhookStatus" + description: 웹훅 전달 상태(callback_url이 제공된 경우에만 표시됨). + nullable: true + required: + - id + - status + type: object + BeebleUploadRequest: + description: 사전 서명된 업로드 URL을 생성하기 위한 요청. + properties: + filename: + description: "확장자를 포함한 파일 이름. 허용되는 확장자: .mp4, .mov, .png, .jpg, .jpeg, .webp" + maxLength: 255 + minLength: 3 + type: string + required: + - filename + type: object + BeebleUploadResponse: + description: 사전 서명된 업로드 URL 및 beeble:// URI가 포함된 응답. + properties: + beeble_uri: + description: "SwitchX 생성 호출에서 이 파일을 참조하는 beeble:// URI(source_uri, reference_image_uri 또는 alpha_uri)." + type: string + id: + description: 업로드 ID(upload_...) + type: string + upload_url: + description: 파일 업로드를 위한 사전 서명된 PUT URL. 1시간 후에 만료됩니다. + type: string + required: + - id + - upload_url + - beeble_uri + type: object + BeebleWebhookStatus: + description: SwitchX 작업에 대한 웹훅 전달 상태. + properties: + attempts: + description: 지금까지의 전달 시도 횟수. + nullable: true + type: integer + last_error: + description: 마지막 실패한 전달 시도의 오류 메시지. + nullable: true + type: string + status: + description: "대기 중, 전달됨 또는 실패" + nullable: true + type: string + type: object + BriaAsyncResponse: + description: Bria API의 비동기 응답(202 수락됨) + properties: + request_id: + description: 요청에 대한 고유 식별자. + type: string + status_url: + description: 결과를 폴링하기 위한 URL. + type: string + warning: + description: 선택적 경고 메시지. + type: string + type: object + BriaErrorResponse: + description: Bria API의 오류 응답 + properties: + error: + properties: + code: + description: 오류 코드. + type: integer + details: + description: 추가 오류 세부 정보. + type: string + message: + description: 오류 메시지. + type: string + type: object + request_id: + description: 요청에 대한 고유 식별자. + type: string + type: object + BriaFiboEditRequest: + description: Bria FIBO Edit API의 요청 본문 + properties: + guidance_scale: + default: 5 + description: 생성된 이미지가 지침에 얼마나 밀접하게 따라야 하는지를 결정합니다. + format: float + maximum: 5 + minimum: 3 + type: number + images: + description: "편집할 소스 이미지. 공개적으로 사용 가능한 URL 또는 Base64 인코딩. 허용되는 형식: JPEG, JPG, PNG, WEBP. 정확히 하나의 항목을 포함해야 합니다." + items: + type: string + maxItems: 1 + minItems: 1 + type: array + instruction: + description: "텍스트 기반 편집 지침(예: \"하늘을 파란색으로 만드세요\", \"고양이를 추가하세요\"). instruction 또는 structured_instruction 중 하나를 제공해야 합니다." + type: string + ip_signal: + default: false + description: "참인 경우, 지침에 잠재적인 IP 콘텐츠에 대한 경고를 반환합니다." + type: boolean + mask: + description: "선택적 마스크 이미지 URL 또는 Base64 인코딩. 검정색 영역은 유지되고, 흰색 영역은 편집됩니다." + type: string + model_version: + default: FIBO + description: 사용할 모델 버전. + enum: + - FIBO + type: string + negative_prompt: + description: "편집된 이미지에서 제외할 개념, 스타일 또는 객체를 지정하는 텍스트 프롬프트." + type: string + prompt_content_moderation: + default: true + description: "참인 경우, 지시 조정 실패 시 422를 반환합니다." + type: boolean + seed: + description: 결정적 생성을 위한 시드. 생략하면 무작위 시드가 사용됩니다. + type: integer + steps_num: + default: 50 + description: Diffusion 단계 수. + maximum: 50 + minimum: 20 + type: integer + structured_instruction: + description: JSON 형식의 구조화된 편집 지시를 포함하는 문자열. 정확한 프로그램적 제어를 위해 instruction 대신 사용합니다. + type: string + visual_input_content_moderation: + default: true + description: "참인 경우, 이미지 또는 마스크 조정 실패 시 422를 반환합니다." + type: boolean + visual_output_content_moderation: + default: true + description: "참인 경우, 시각적 출력 조정 실패 시 422를 반환합니다." + type: boolean + required: + - images + type: object + BriaImageRemoveBackgroundRequest: + description: Bria Image Remove Background API의 요청 본문 + properties: + image: + description: "배경을 제거할 이미지. 지원되는 입력 유형은 Base64 인코딩 문자열 또는 공개적으로 액세스 가능한 이미지 파일을 가리키는 URL입니다. 허용되는 형식: JPEG, JPG, PNG, WEBP." + type: string + preserve_alpha: + description: 입력 이미지의 부분적으로 투명한 영역이 배경 제거 후 출력에 유지되는지 제어합니다. + type: boolean + sync: + description: 거짓(기본값)인 경우 요청이 비동기적으로 처리됩니다. 참인 경우 API는 완료될 때까지 연결을 유지합니다. + type: boolean + visual_input_content_moderation: + description: "활성화된 경우, 입력 시각적 콘텐츠에 콘텐츠 조정을 적용합니다. 이미지가 조정에 실패하면 422를 반환합니다." + type: boolean + visual_output_content_moderation: + description: "활성화된 경우, 결과 시각적 콘텐츠에 콘텐츠 조정을 적용합니다. 출력이 조정에 실패하면 422를 반환합니다." + type: boolean + required: + - image + type: object + BriaStatusNotFoundResponse: + description: request_id를 찾을 수 없거나 만료된 경우의 응답 + properties: + status: + enum: + - NOT_FOUND + type: string + required: + - status + type: object + BriaStatusResponse: + description: Bria API의 상태 응답 + properties: + error: + description: 오류 객체 (status가 ERROR인 경우에만 존재) + properties: + code: + description: 오류 코드. + type: integer + details: + description: 추가 오류 세부 정보. + type: string + message: + description: 오류 메시지. + type: string + type: object + request_id: + description: 요청의 고유 식별자. + type: string + result: + description: 결과 객체 (status가 COMPLETED인 경우에만 존재) + properties: + image_url: + description: 생성/편집된 이미지의 URL. + type: string + prompt: + description: 원본 프롬프트. + type: string + refined_prompt: + description: 프롬프트의 정제된 버전. + type: string + seed: + description: 생성에 사용된 시드. + type: integer + structured_prompt: + description: 상세한 JSON 구조화 프롬프트. + type: string + video_url: + description: 생성된 비디오의 URL. + type: string + type: object + status: + description: 요청의 현재 상태. + enum: + - IN_PROGRESS + - COMPLETED + - ERROR + - UNKNOWN + type: string + type: object + BriaStructuredInstructionRequest: + description: Bria Structured Instruction Generate API의 요청 본문 + properties: + images: + description: 편집할 소스 이미지. 공개적으로 사용 가능한 URL 또는 Base64 인코딩. 정확히 하나의 항목을 포함해야 합니다. + items: + type: string + maxItems: 1 + minItems: 1 + type: array + instruction: + description: "필수. 텍스트 기반 편집 지시 (예: \"하늘을 파랗게 만드세요\", \"고양이를 추가하세요\")." + type: string + ip_signal: + default: false + description: "참인 경우, 지시에 잠재적인 IP 콘텐츠에 대한 경고를 반환합니다." + type: boolean + mask: + description: "선택적 마스크 이미지 URL 또는 Base64 인코딩. 검정색 영역은 유지되고, 흰색 영역은 편집됩니다." + type: string + prompt_content_moderation: + default: true + description: 참이면 명령어 검증 실패 시 422를 반환합니다. + type: boolean + seed: + description: 결정적 생성을 위한 시드. 생략하면 무작위 시드가 사용됩니다. + type: integer + visual_input_content_moderation: + default: true + description: 참이면 이미지 또는 마스크 검증 실패 시 422를 반환합니다. + type: boolean + required: + - images + - instruction + type: object + BriaVideoGreenScreenRequest: + description: Bria 비디오 그린 스크린 API의 요청 본문 + properties: + green_shade: + description: 크로마 키잉을 위해 전경 뒤에 적용되는 단색 배경 음영. 기본값은 broadcast_green입니다. + enum: + - broadcast_green + - chroma_green + - blue_screen + type: string + output_container_and_codec: + description: 출력 컨테이너 및 코덱 사전 설정 + enum: + - mp4_h264 + - mp4_h265 + - webm_vp9 + - mov_h265 + - mov_proresks + - mkv_h264 + - mkv_h265 + - mkv_vp9 + - gif + type: string + preserve_audio: + description: 입력 비디오의 오디오를 보존할지 여부 + type: boolean + video: + description: 입력 비디오의 공개적으로 접근 가능한 URL. 지원되는 입력 해상도는 최대 16000x16000(16K)입니다. 최대 지속 시간은 60초입니다. + type: string + required: + - video + type: object + BriaVideoRemoveBackgroundRequest: + description: Bria 비디오 배경 제거 API의 요청 본문 + properties: + background_color: + description: 출력 비디오의 배경색. 투명인 경우 출력 코덱이 알파를 지원해야 합니다. + enum: + - Transparent + - Black + - White + - Gray + - Red + - Green + - Blue + - Yellow + - Cyan + - Magenta + - Orange + type: string + output_container_and_codec: + description: 출력 컨테이너 및 코덱 사전 설정 + enum: + - mp4_h264 + - mp4_h265 + - webm_vp9 + - mov_h265 + - mov_proresks + - mkv_h264 + - mkv_h265 + - mkv_vp9 + - gif + type: string + preserve_audio: + description: 입력 비디오의 오디오를 보존할지 여부 + type: boolean + video: + description: 입력 비디오의 공개적으로 접근 가능한 URL. 지원되는 입력 해상도는 최대 16000x16000(16K)입니다. 최대 지속 시간은 60초입니다. + type: string + required: + - video + type: object + BriaVideoReplaceBackgroundRequest: + description: Bria 비디오 배경 교체 API의 요청 본문 + properties: + background_url: + description: 전경 뒤에 합성할 배경 자산(이미지 또는 비디오)의 공개적으로 접근 가능한 URL. 전경 비율과 일치해야 합니다. + type: string + output_container_and_codec: + description: 출력 컨테이너 및 코덱 사전 설정 + enum: + - mp4_h264 + - mp4_h265 + - webm_vp9 + - mov_h265 + - mov_proresks + - mkv_h264 + - mkv_h265 + - mkv_vp9 + - gif + type: string + preserve_audio: + description: 입력(전경) 비디오의 오디오를 보존할지 여부 + type: boolean + video: + description: 입력(전경) 비디오의 공개적으로 접근 가능한 URL. 지원되는 입력 해상도는 최대 16000x16000(16K)입니다. 최대 지속 시간은 60초입니다. + type: string + required: + - video + - background_url + type: object + BulkNodeVersionResult: + properties: + error_message: + description: 검색 실패 시 오류 메시지(상태가 error인 경우에만 표시됨) + type: string + identifier: + $ref: "#/components/schemas/NodeVersionIdentifier" + node_version: + $ref: "#/components/schemas/NodeVersion" + status: + description: 검색 작업의 상태 + enum: + - success + - not_found + - error + type: string + required: + - identifier + - status + type: object + BulkNodeVersionsRequest: + properties: + node_versions: + description: 검색할 노드 ID 및 버전 쌍 목록 + items: + $ref: "#/components/schemas/NodeVersionIdentifier" + type: array + required: + - node_versions + type: object + BulkNodeVersionsResponse: + properties: + node_versions: + description: 상태와 함께 검색된 노드 버전 목록 + items: + $ref: "#/components/schemas/BulkNodeVersionResult" + type: array + required: + - node_versions + type: object + BytePlusFile: + description: "POST /api/v3/files 및 GET /api/v3/files/{id}에서 반환된 파일 개체. https://docs.byteplus.com/en/docs/ModelArk/1873424를 참조하세요.\n" + properties: + bytes: + description: "파일 크기(바이트). 상태가 `active`인 경우에만 반환됩니다." + type: integer + created_at: + description: 파일이 업로드된 Unix 타임스탬프(초) + type: integer + error: + description: "상태가 `failed`인 경우에만 반환되는 오류 세부 정보" + nullable: true + properties: + code: + description: 오류 코드 + type: string + message: + description: 오류 설명 + type: string + type: object + expire_at: + description: 파일이 만료되는 Unix 타임스탬프(초) + type: integer + id: + description: 파일의 고유 ID + type: string + mime_type: + description: "파일의 MIME 유형. 상태가 `active`인 경우에만 반환됩니다." + type: string + object: + description: "`file`로 고정됨." + type: string + preprocess_configs: + $ref: "#/components/schemas/BytePlusFilePreprocessConfigs" + purpose: + description: 파일의 목적 + type: string + status: + description: 파일의 처리 상태 + enum: + - processing + - active + - failed + type: string + type: object + BytePlusFilePreprocessConfigs: + description: 파일 유형별로 업로드된 파일에 적용되는 전처리 규칙 + nullable: true + properties: + video: + nullable: true + properties: + fps: + default: 1 + description: "업로드 시 비디오에서 샘플링되는 초당 프레임 수입니다.\n값이 높을수록 더 많은 세부 정보를 캡처하지만 추론 중에 더 많은 토큰을 소비합니다(비디오당 [10k, 80k] 토큰 범위).\n" + format: float + maximum: 5 + minimum: 0.2 + nullable: true + type: number + model: + description: "전처리 중에 프레임 샘플링 전략을 적용해야 하는 비디오 이해 모델 ID 또는 엔드포인트 ID입니다.\n생략하면 사전 `seed-1.8` 기본 전략이 사용됩니다.\n" + type: string + type: object + type: object + BytePlusFileUploadRequest: + description: "POST /api/v3/files에 대한 멀티파트 업로드 페이로드입니다. 바이너리 `file`은 필수입니다. 나머지 모든 것은 업스트림 선택적 필드를 반영합니다. https://docs.byteplus.com/en/docs/ModelArk/1870405를 참조하세요.\n" + properties: + expire_at: + description: "파일이 만료되어야 하는 Unix 타임스탬프(초, UTC)입니다.\n범위: [now + 86400, now + 2592000] (1일~30일).\n기본값: now + 604800 (7일).\n" + type: integer + file: + description: 업로드할 바이너리 파일입니다. + format: binary + type: string + preprocess_configs: + $ref: "#/components/schemas/BytePlusFilePreprocessConfigs" + purpose: + default: user_data + description: "업로드된 파일의 목적입니다. `user_data`는 일반 목적 값이며 현재 BytePlus에서 문서화된 유일한 값입니다.\n" + type: string + required: + - file + - purpose + type: object + BytePlusImageGenerationRequest: + properties: + guidance_scale: + description: "출력 이미지가 입력 프롬프트와 얼마나 밀접하게 일치하는지 제어합니다. 범위 [1, 10]. 값이 높을수록 프롬프트 준수도가 높아집니다. seedream-3-0-t2i-250415의 기본값은 2.5, seededit-3-0-i2i-250628의 기본값은 5.5입니다. seedream-5.0-pro, 5.0-lite, 4.5 및 4.0에서는 지원되지 않습니다." + format: float + maximum: 10 + minimum: 1 + type: number + image: + description: "Seedream-5.0-pro, 5.0-lite, 4.5 및 4.0, 그리고 seededit-3.0-i2i는 이 매개변수를 지원합니다.\n\n편집할 이미지의 Base64 인코딩 또는 접근 가능한 URL을 입력하세요. Seedream-5.0-pro, 5.0-lite, 4.5 및 4.0은 단일 이미지 또는 여러 이미지(다중 이미지 혼합 예시 참조) 입력을 지원하는 반면, seededit-3.0-i2i는 단일 이미지 입력만 지원합니다.\n\n• 이미지 URL: 이미지 URL이 접근 가능한지 확인하세요.\n• Base64 인코딩: 형식은 data:image/<이미지 형식>;base64,이어야 합니다. 참고: <이미지 형식>은 소문자여야 합니다(예: data:image/png;base64,).\n\n입력 이미지는 다음 요구 사항을 충족해야 합니다.\n• 이미지 형식: jpeg, png (seedream-5.0-pro, 5.0-lite, 4.5 및 4.0은 webp, bmp, tiff 및 gif도 지원하며, seedream-5.0-pro는 heic 및 heif도 지원합니다)\n• 종횡비(너비/높이): seedream-5.0-pro, 5.0-lite, 4.5 및 4.0의 경우 [1/16, 16] 범위; seededit-3.0-i2i의 경우 [1/3, 3] 범위\n• 너비 및 높이(px): > 14\n• 크기: 10MB 이하(seedream-5.0-pro의 경우 30MB)\n• 총 픽셀: seedream-5.0-pro의 경우 6000x6000(36,000,000px) 이하\n• 최대 14개의 참조 이미지(seedream-5.0-pro의 경우 10개)\n" + oneOf: + - description: 단일 이미지 (URL 또는 Base64) + type: string + - description: "여러 이미지 (URL 또는 Base64) - seedream-5.0-pro, 5.0-lite, 4.5 및 4.0에서 지원" + items: + type: string + maxItems: 14 + type: array + model: + enum: + - seedream-3-0-t2i-250415 + - seededit-3-0-i2i-250628 + - seedream-4-0-250828 + - seedream-4-5-251128 + - seedream-5-0-260128 + - seedream-5-0-pro-260628 + type: string + optimize_prompt_options: + description: "프롬프트 최적화 기능에 대한 구성입니다. seedream-5.0-pro/5.0-lite/4.5(표준 모드만 지원) 및 seedream-4.0만 이 매개변수를 지원합니다.\n" + properties: + mode: + default: standard + description: "프롬프트 최적화 기능의 모드를 설정합니다. standard = 더 높은 품질, 더 긴 생성 시간. fast = 더 빠르지만 평균적인 품질." + enum: + - standard + - fast + type: string + type: object + output_format: + default: jpeg + description: 출력 이미지의 형식을 지정합니다. seedream-5.0-pro 및 5.0-lite만 이 매개변수를 지원합니다. + enum: + - png + - jpeg + type: string + prompt: + description: 이미지 생성 또는 변환을 위한 텍스트 설명 + type: string + response_format: + default: url + description: 응답으로 반환되는 생성된 이미지의 형식을 지정합니다. + enum: + - url + - b64_json + type: string + seed: + default: -1 + description: "이미지 생성의 무작위성을 제어하기 위한 시드입니다. 범위: [-1, 2147483647]. 지정하지 않으면 시드가 자동으로 생성됩니다. 동일한 출력을 재현하려면 동일한 시드 값을 사용하세요." + type: integer + sequential_image_generation: + description: "배치 생성 기능을 비활성화할지 여부를 제어합니다. 이 매개변수는 seedream-5.0-lite, 4.5 및 4.0에서만 지원됩니다(seedream-5.0-pro는 지원되지 않음). 유효한 값:\nauto: 자동 모드에서 모델은 사용자의 프롬프트에 따라 여러 이미지를 반환할지 여부와 포함할 이미지 수를 자동으로 결정합니다.\ndisabled: 배치 생성 기능을 비활성화합니다. 모델은 하나의 이미지만 생성합니다.\n" + type: string + sequential_image_generation_options: + description: "seedream-5.0-lite, 4.5 및 4.0만 이 매개변수를 지원합니다(seedream-5.0-pro는 지원되지 않음).\n배치 이미지 생성 기능에 대한 구성입니다. 이 매개변수는 sequential_image_generation이 auto로 설정된 경우에만 유효합니다.\n" + properties: + max_images: + default: 15 + description: 이 요청에서 생성할 최대 이미지 수를 지정합니다. 입력 참조 이미지 수 + 생성된 이미지 수 ≤ 15. + maximum: 15 + minimum: 1 + type: integer + type: object + size: + description: "\"seedream-3-0-t2i-250415\": 생성된 이미지의 크기(너비 x 높이(픽셀))를 지정합니다. [512x512, 2048x2048] 사이여야 합니다.\n\"seededit-3-0-i2i-250628\": 생성된 이미지의 너비 및 높이 픽셀입니다. 현재 적응형만 지원합니다.\n\"seedream-4-0-250828\": 생성된 이미지의 사양을 설정합니다. 두 가지 방법을 사용할 수 있지만 함께 사용할 수는 없습니다.\n 방법 1 | 해상도를 지정합니다. 선택적 값: 1K, 2K, 4K\n 방법 2 | 너비와 높이를 픽셀 단위로 지정합니다. 기본값: 2048x2048, 총 픽셀: [1024x1024, 4096x4096], 종횡비: [1/16, 16]\n\"seedream-4-5-251128\": 두 가지 방법을 사용할 수 있습니다.\n 방법 1 | 해상도를 지정합니다. 선택적 값: 2K, 4K\n 방법 2 | 너비와 높이를 픽셀 단위로 지정합니다. 기본값: 2048x2048, 총 픽셀: [2560x1440, 4096x4096], 종횡비: [1/16, 16]\n\"seedream-5-0-260128\": 두 가지 방법을 사용할 수 있습니다.\n 방법 1 | 해상도를 지정합니다. 선택적 값: 2K, 3K\n 방법 2 | 너비와 높이를 픽셀 단위로 지정합니다. 기본값: 2048x2048, 총 픽셀: [2560x1440, ~3072x3072], 종횡비: [1/16, 16]\n\"seedream-5-0-pro-260628\": 두 가지 방법을 사용할 수 있습니다(함께 사용할 수 없음).\n 방법 1 | 해상도를 지정하고 프롬프트에서 이미지의 종횡비, 형태 또는 목적을 설명합니다. 모델이 최종 크기를 결정합니다. 선택적 값: 1K, 2K\n 방법 2 | 너비와 높이를 픽셀 단위로 지정합니다. 기본값: 1024x1024, 총 픽셀: [1024x1024 (1048576), 2048x2048 (4194304)], 종횡비: [1/16, 16]\n" + type: string + stream: + default: false + description: "스트리밍 출력 모드를 활성화할지 여부입니다. seedream-5.0-lite, 4.5 및 4.0만 이 매개변수를 지원합니다(seedream-5.0-pro는 지원되지 않음). false = 모든 출력 이미지가 한 번에 반환됩니다. true = 각 출력 이미지가 생성된 후 즉시 반환됩니다." + type: boolean + watermark: + default: true + description: "생성된 이미지에 워터마크를 추가할지 여부를 지정합니다. false = 워터마크 없음, true = 'AI generated' 레이블이 있는 워터마크 추가" + type: boolean + required: + - prompt + - model + type: object + BytePlusImageGenerationResponse: + properties: + created: + description: 요청이 생성된 시간을 나타내는 Unix 타임스탬프(초) + type: integer + data: + description: 생성된 이미지에 대한 정보를 포함합니다. + items: + properties: + b64_json: + description: "Base64로 인코딩된 이미지 데이터 (response_format이 \"b64_json\"인 경우)" + type: string + output_format: + description: 출력 이미지의 파일 형식입니다. seedream-5.0-pro만 이 필드를 지원합니다. + type: string + size: + description: "이미지의 너비와 높이(픽셀 단위)로, 형식은 x입니다. seedream-5.0-pro, 5.0-lite, 4.5 및 4.0만 이 파라미터를 지원합니다." + type: string + url: + description: "이미지 다운로드 URL (response_format이 \"url\"인 경우)" + format: uri + type: string + type: object + type: array + error: + description: 오류 정보(있는 경우) + properties: + code: + description: 오류 코드 + type: string + message: + description: 오류 메시지 + type: string + type: object + model: + description: 요청에 사용된 모델 ID + example: seedream-3-0-t2i-250415 + type: string + usage: + properties: + generated_images: + description: 모델이 생성한 이미지 수 + type: integer + input_images: + description: 모델에 입력된 이미지 수입니다. seedream-5.0-pro만 이 필드를 지원합니다. + type: integer + output_tokens: + description: 모델이 생성한 그림에 사용된 토큰 수입니다. + type: integer + total_tokens: + description: 이 요청에서 소비된 총 토큰 수입니다. + type: integer + type: object + type: object + BytePlusResponseAppliedContextEdit: + description: "`type`으로 구분되는 적용된 컨텍스트 편집 하나." + discriminator: + mapping: + clear_thinking: "#/components/schemas/BytePlusResponseAppliedContextEditClearThinking" + clear_tool_uses: "#/components/schemas/BytePlusResponseAppliedContextEditClearToolUses" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseAppliedContextEditClearThinking" + - $ref: "#/components/schemas/BytePlusResponseAppliedContextEditClearToolUses" + BytePlusResponseAppliedContextEditClearThinking: + additionalProperties: true + properties: + cleared_thinking_turns: + description: 제거된 추론 턴 수입니다. + type: integer + type: + default: clear_thinking + enum: + - clear_thinking + type: string + required: + - type + type: object + BytePlusResponseAppliedContextEditClearToolUses: + additionalProperties: true + properties: + cleared_tool_uses: + description: 제거된 도구 호출 수입니다. + type: integer + type: + default: clear_tool_uses + enum: + - clear_tool_uses + type: string + required: + - type + type: object + BytePlusResponseAppliedContextManagement: + additionalProperties: true + description: "이 응답 중 실제로 적용된 컨텍스트 관리 전략입니다. 요청 측의 `BytePlusResponseContextManagement`(전략을 구성함)와 달리, 서버가 호출한 전략과 제거된 항목 수를 반영합니다.\n" + properties: + applied_edits: + items: + $ref: "#/components/schemas/BytePlusResponseAppliedContextEdit" + type: array + type: object + BytePlusResponseContextEdit: + description: "`type`으로 구분되는 단일 컨텍스트 편집 전략." + discriminator: + mapping: + clear_thinking: "#/components/schemas/BytePlusResponseContextEditClearThinking" + clear_tool_uses: "#/components/schemas/BytePlusResponseContextEditClearToolUses" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseContextEditClearThinking" + - $ref: "#/components/schemas/BytePlusResponseContextEditClearToolUses" + BytePlusResponseContextEditClearThinking: + additionalProperties: true + description: "`keep` 전략에 따라 사고 사슬 콘텐츠를 지웁니다." + properties: + keep: + oneOf: + - additionalProperties: true + properties: + type: + default: thinking_turns + enum: + - thinking_turns + type: string + value: + default: 1 + description: 최신순 N턴에 대한 사고 사슬을 유지합니다. + type: integer + required: + - type + type: object + - description: 모든 사고 사슬을 유지합니다. + enum: + - all + type: string + type: + default: clear_thinking + enum: + - clear_thinking + type: string + required: + - type + - keep + type: object + BytePlusResponseContextEditClearToolUses: + additionalProperties: true + description: 대화가 임계값을 초과하면 도구 호출 콘텐츠를 지웁니다. + properties: + clear_tool_input: + default: false + description: 도구 호출 파라미터를 지울지 여부. + type: boolean + exclude_tools: + description: 절대 지워지지 않는 도구 이름. + items: + type: string + type: array + keep: + additionalProperties: true + properties: + type: + default: tool_uses + enum: + - tool_uses + type: string + value: + default: 3 + description: 최신순 N턴에 대한 도구 호출 콘텐츠를 유지합니다. + type: integer + required: + - type + type: object + trigger: + additionalProperties: true + properties: + type: + default: tool_uses + enum: + - tool_uses + type: string + value: + description: 도구 호출 턴이 N에 도달하면 정리를 트리거합니다. + type: integer + required: + - type + - value + type: object + type: + default: clear_tool_uses + enum: + - clear_tool_uses + type: string + required: + - type + - keep + - trigger + type: object + BytePlusResponseContextManagement: + additionalProperties: true + description: "컨텍스트 관리 전략(`clear_thinking`, `clear_tool_uses`)을 적용하여 컨텍스트 창을 관리 가능한 상태로 유지합니다.\n" + properties: + edits: + items: + $ref: "#/components/schemas/BytePlusResponseContextEdit" + type: array + type: object + BytePlusResponseCreateRequest: + additionalProperties: true + properties: + caching: + additionalProperties: true + description: 컨텍스트 캐시 구성. + properties: + prefix: + default: false + description: "참인 경우에는 공용 접두사 캐시만 생성하며, 모델은 응답하지 않습니다.\n" + type: boolean + type: + enum: + - enabled + - disabled + type: string + type: object + context_management: + $ref: "#/components/schemas/BytePlusResponseContextManagement" + expire_at: + description: "저장된 응답과 캐시가 만료되는 Unix 타임스탬프(초, UTC)입니다. 범위는 (creation_time, creation_time + 604800]입니다. 기본값: creation_time + 259200(3일).\n" + type: integer + include: + description: "추가로 포함할 출력 필드입니다. 현재 지원되는 필드: `reasoning.encrypted_content` (수동 다중 턴 재사용을 위한 암호화+압축된 추론).\n" + items: + type: string + type: array + input: + description: 모델에 제공되는 텍스트 콘텐츠 또는 입력 항목 목록입니다. + oneOf: + - description: "일반 텍스트 입력으로, 단일 사용자 메시지와 동일합니다." + type: string + - items: + $ref: "#/components/schemas/BytePlusResponseInputItem" + type: array + instructions: + description: "첫 번째 지시사항으로 앞에 추가되는 시스템/개발자 메시지입니다. `caching`과 호환되지 않습니다. `caching.type`이 `enabled`인 경우 `instructions`를 설정하면 오류가 반환됩니다.\n" + nullable: true + type: string + max_output_tokens: + description: 최대 출력 토큰 수(응답 + 사고 체인). + nullable: true + type: integer + max_tool_calls: + maximum: 10 + minimum: 1 + type: integer + model: + description: "모델 ID 또는 엔드포인트 ID입니다. 모델 목록은 https://docs.byteplus.com/en/docs/ModelArk/1330310, 엔드포인트 ID는 https://docs.byteplus.com/en/docs/ModelArk/1099522를 참조하세요.\n" + type: string + previous_response_id: + description: "이전 응답의 ID로, 다중 턴 대화를 계속하는 데 사용됩니다. 요청 간에 약 100ms를 삽입하여 실패를 방지하세요.\n" + nullable: true + type: string + reasoning: + additionalProperties: true + description: 심층 사고의 작업량을 제한합니다. + properties: + effort: + description: "`minimal`은 사고를 완전히 비활성화합니다. `thinking.type =\ndisabled`인 경우 `minimal`만 허용됩니다.\n" + enum: + - minimal + - low + - medium + - high + type: string + type: object + store: + default: true + description: "참인 경우 응답이 영구 저장되며 ID로 검색하여 다중 턴 사용이 가능합니다.\n" + nullable: true + type: boolean + temperature: + default: 1 + format: float + maximum: 2 + minimum: 0 + nullable: true + type: number + text: + additionalProperties: true + description: 출력 형식 구성입니다. + properties: + format: + $ref: "#/components/schemas/BytePlusResponseTextFormat" + type: object + thinking: + additionalProperties: true + description: 심층 사고 모드를 제어합니다. + properties: + type: + description: "`enabled`: 항상 응답 전에 추론합니다.\n`disabled`: 추가 추론 없이 응답합니다.\n`auto`: 모델이 쿼리별로 결정합니다.\n" + enum: + - enabled + - disabled + - auto + type: string + type: object + tool_choice: + description: 도구 선택 모드입니다. seed-1-6 모델만 이 필드를 지원합니다. + oneOf: + - enum: + - none + - auto + - required + type: string + - $ref: "#/components/schemas/BytePlusResponseToolChoiceObject" + tools: + items: + $ref: "#/components/schemas/BytePlusResponseTool" + type: array + top_p: + default: 0.7 + format: float + maximum: 1 + minimum: 0 + nullable: true + type: number + required: + - model + - input + type: object + BytePlusResponseError: + description: 오류 세부 정보입니다. 응답이 성공한 경우 Null입니다. + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + BytePlusResponseInputFile: + additionalProperties: true + description: "파일 입력(현재 PDF만 가능)입니다. `file_id`, `file_data`, `file_url` 중 정확히 하나를 제공하세요. `file_data`를 사용하는 경우 `filename`이 필수입니다.\n" + properties: + file_data: + description: Base64로 인코딩된 파일(단일 파일 <= 50MB)입니다. + type: string + file_id: + description: "Files API를 통해 업로드된 파일의 ID입니다. `active` 상태여야 합니다." + type: string + file_url: + description: 공개적으로 접근 가능한 URL(단일 파일 <= 50MB)입니다. + type: string + filename: + description: "`file_data`가 설정된 경우 필수입니다." + type: string + type: + enum: + - input_file + type: string + required: + - type + type: object + BytePlusResponseInputFunctionCall: + additionalProperties: true + description: 이전 턴에서 모델이 생성한 도구/함수 호출입니다. + properties: + arguments: + description: 함수 인자의 JSON으로 인코딩된 문자열입니다. + type: string + call_id: + description: 모델에 의해 생성된 도구 호출의 고유 ID입니다. + type: string + name: + type: string + status: + type: string + type: + enum: + - function_call + type: string + required: + - type + - arguments + - call_id + - name + type: object + BytePlusResponseInputFunctionCallOutput: + additionalProperties: true + description: "도구에서 반환된 출력으로, call_id를 통해 function_call과 쌍을 이룹니다." + properties: + call_id: + type: string + output: + type: string + status: + type: string + type: + enum: + - function_call_output + type: string + required: + - type + - call_id + - output + type: object + BytePlusResponseInputImage: + additionalProperties: true + properties: + detail: + default: auto + enum: + - high + - low + - auto + type: string + file_id: + description: "Files API를 통해 업로드된 파일의 ID입니다. `active`여야 합니다." + type: string + image_pixel_limit: + additionalProperties: true + description: "선택적 픽셀 수 제한입니다. 설정 시 `detail`을 재정의합니다. 이미지 픽셀 수는 [196, 36_000_000] 범위 내에 있어야 합니다.\n" + nullable: true + properties: + max_pixels: + type: integer + min_pixels: + type: integer + type: object + image_url: + description: "이미지 URL 또는 `data:image/...;base64,...` 페이로드." + type: string + type: + enum: + - input_image + type: string + required: + - type + type: object + BytePlusResponseInputItem: + description: "Responses 요청의 `input` 배열에 있는 하나의 항목입니다. `type` 필드로 구분됩니다. 자세한 내용은 https://docs.byteplus.com/en/docs/ModelArk/1585128를 참조하세요.\n" + discriminator: + mapping: + function_call: "#/components/schemas/BytePlusResponseInputFunctionCall" + function_call_output: "#/components/schemas/BytePlusResponseInputFunctionCallOutput" + message: "#/components/schemas/BytePlusResponseInputMessage" + reasoning: "#/components/schemas/BytePlusResponseInputReasoning" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseInputMessage" + - $ref: "#/components/schemas/BytePlusResponseInputFunctionCall" + - $ref: "#/components/schemas/BytePlusResponseInputFunctionCallOutput" + - $ref: "#/components/schemas/BytePlusResponseInputReasoning" + BytePlusResponseInputMessage: + additionalProperties: true + description: "모델로 전송된 메시지(또는 `status`가 설정된 경우 저장된 이전 메시지)입니다. 역할 우선순위: developer/system > user; assistant 메시지는 이전 모델 출력을 나타냅니다.\n" + properties: + content: + oneOf: + - description: "일반 텍스트 콘텐츠로, 단일 input_text 항목과 동일합니다." + type: string + - items: + $ref: "#/components/schemas/BytePlusResponseMessageContent" + type: array + partial: + description: "지속 모드를 활성화합니다. 마지막 메시지의 역할을 `assistant`로 설정하고 `partial`을 참(true)로 설정합니다. 모델이 기존 콘텐츠에서 계속됩니다.\n" + type: boolean + role: + enum: + - user + - system + - assistant + - developer + type: string + status: + description: "이전에 저장된 메시지의 상태입니다. 이전 입력을 모델로 다시 에코할 때만 사용됩니다.\n" + enum: + - in_progress + - completed + - incomplete + type: string + type: + default: message + enum: + - message + type: string + required: + - type + - role + - content + type: object + BytePlusResponseInputReasoning: + additionalProperties: true + description: "Chain-of-thought 블록입니다. 입력(seed-1-8, seed-2-0, deepseek-v3-2에 대한 수동 추론 주입) 및 응답 출력 항목으로 모두 사용됩니다. 입력으로 사용할 때는 다중 턴 대화에서 `previous_response_id`를 선호합니다.\n" + properties: + content: + description: "원본(요약되지 않은) 추론 콘텐츠입니다. 출력 항목에서 반환됩니다. 입력에서는 사용되지 않습니다.\n" + items: + additionalProperties: true + properties: + text: + type: string + type: + default: reasoning_text + enum: + - reasoning_text + type: string + required: + - type + type: object + type: array + encrypted_content: + description: "암호화+압축된 원본 추론 콘텐츠입니다. 요청의 `include` 목록에 `reasoning.encrypted_content`가 있을 때만 반환됩니다. seed-2-0-pro-260328부터 지원됩니다.\n" + type: string + id: + type: string + status: + enum: + - in_progress + - completed + - incomplete + type: string + summary: + items: + additionalProperties: true + properties: + text: + type: string + type: + default: summary_text + enum: + - summary_text + type: string + required: + - type + type: object + type: array + type: + enum: + - reasoning + type: string + required: + - type + type: object + BytePlusResponseInputText: + additionalProperties: true + properties: + text: + type: string + translation_options: + additionalProperties: true + description: "번역 시나리오 구성입니다. seed-translation-250728에서만 지원됩니다.\n" + properties: + source_language: + type: string + target_language: + type: string + required: + - target_language + type: object + type: + enum: + - input_text + type: string + required: + - type + - text + type: object + BytePlusResponseInputVideo: + additionalProperties: true + properties: + file_id: + description: "Files API를 통해 업로드된 파일의 ID입니다. `active`여야 합니다." + type: string + fps: + description: 비디오에서 추출된 초당 프레임 수입니다. + format: float + maximum: 5 + minimum: 0.2 + type: number + type: + enum: + - input_video + type: string + video_url: + description: "비디오 URL 또는 `data:video/...;base64,...` 페이로드." + type: string + required: + - type + type: object + BytePlusResponseMessageContent: + description: "메시지 내의 하나의 콘텐츠 항목입니다. `type`으로 구분됩니다: 텍스트의 경우 `input_text`, 이미지의 경우 `input_image`, 비디오의 경우 `input_video`, PDF/파일 업로드의 경우 `input_file`. 파일 기반 유형은 `file_id`를 통해 Files API ID를 참조할 수 있습니다.\n" + discriminator: + mapping: + input_file: "#/components/schemas/BytePlusResponseInputFile" + input_image: "#/components/schemas/BytePlusResponseInputImage" + input_text: "#/components/schemas/BytePlusResponseInputText" + input_video: "#/components/schemas/BytePlusResponseInputVideo" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseInputText" + - $ref: "#/components/schemas/BytePlusResponseInputImage" + - $ref: "#/components/schemas/BytePlusResponseInputVideo" + - $ref: "#/components/schemas/BytePlusResponseInputFile" + BytePlusResponseObject: + description: "POST /api/v3/responses에 의해 반환된 비스트리밍 응답 본문입니다. 자세한 내용은 https://docs.byteplus.com/en/docs/ModelArk/1783703를 참조하세요.\n" + properties: + caching: + additionalProperties: true + properties: + prefix: + type: boolean + type: + enum: + - enabled + - disabled + type: string + type: object + context_management: + $ref: "#/components/schemas/BytePlusResponseAppliedContextManagement" + created_at: + description: 응답이 생성된 Unix 타임스탬프(초)입니다. + type: integer + error: + $ref: "#/components/schemas/BytePlusResponseError" + expire_at: + description: 저장된 응답이 만료되는 Unix 타임스탬프(초)입니다. + type: integer + id: + description: "응답의 고유 ID입니다. 대화를 계속하려면 `previous_response_id`로 사용하세요." + type: string + incomplete_details: + additionalProperties: true + description: "`status`가 `incomplete`일 때 채워집니다." + nullable: true + properties: + reason: + description: "예: `max_output_tokens`, `content_filter`." + type: string + type: object + instructions: + description: "요청의 `instructions` 필드의 에코입니다." + nullable: true + type: string + max_output_tokens: + nullable: true + type: integer + max_tool_calls: + nullable: true + type: integer + metadata: + additionalProperties: true + nullable: true + type: object + model: + description: 응답을 생성한 모델 ID입니다. + type: string + object: + default: response + enum: + - response + type: string + output: + description: 모델이 생성한 순서가 있는 출력 항목입니다. + items: + $ref: "#/components/schemas/BytePlusResponseOutputItem" + type: array + previous_response_id: + nullable: true + type: string + reasoning: + additionalProperties: true + properties: + effort: + enum: + - minimal + - low + - medium + - high + type: string + type: object + service_tier: + description: "TPM 보장 패키지 사용량입니다. `default`는 없음을 의미합니다." + enum: + - default + type: string + status: + enum: + - in_progress + - completed + - incomplete + - failed + - cancelled + type: string + store: + nullable: true + type: boolean + stream: + nullable: true + type: boolean + temperature: + format: float + nullable: true + type: number + text: + additionalProperties: true + description: "요청의 `text` 필드의 에코입니다." + properties: + format: + $ref: "#/components/schemas/BytePlusResponseTextFormat" + type: object + thinking: + additionalProperties: true + properties: + type: + enum: + - enabled + - disabled + - auto + type: string + type: object + tool_choice: + oneOf: + - enum: + - none + - auto + - required + type: string + - $ref: "#/components/schemas/BytePlusResponseToolChoiceObject" + tools: + items: + $ref: "#/components/schemas/BytePlusResponseTool" + type: array + top_p: + format: float + nullable: true + type: number + usage: + $ref: "#/components/schemas/BytePlusResponseUsage" + required: + - id + - object + - created_at + - model + - status + - output + type: object + BytePlusResponseOutputContent: + description: "어시스턴트 메시지의 하나의 콘텐츠 블록입니다. `output_text`는 자연어 텍스트와 선택적 주석을 포함합니다; `refusal`은 거절 메시지를 포함합니다.\n" + discriminator: + mapping: + output_text: "#/components/schemas/BytePlusResponseOutputText" + refusal: "#/components/schemas/BytePlusResponseOutputRefusal" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseOutputText" + - $ref: "#/components/schemas/BytePlusResponseOutputRefusal" + BytePlusResponseOutputItem: + description: "응답의 `output` 배열에 있는 하나의 항목입니다. `type`으로 구분됩니다: `message`는 어시스턴트 메시지, `function_call`은 도구 호출, `reasoning`은 사고 과정 블록입니다. 모델이 `previous_response_id`를 통해 다시 읽을 수 있는 입력 항목 형태를 반영합니다.\n" + discriminator: + mapping: + function_call: "#/components/schemas/BytePlusResponseInputFunctionCall" + message: "#/components/schemas/BytePlusResponseOutputMessage" + reasoning: "#/components/schemas/BytePlusResponseInputReasoning" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseOutputMessage" + - $ref: "#/components/schemas/BytePlusResponseInputFunctionCall" + - $ref: "#/components/schemas/BytePlusResponseInputReasoning" + BytePlusResponseOutputMessage: + additionalProperties: true + description: 모델이 생성한 어시스턴트 메시지입니다. + properties: + content: + items: + $ref: "#/components/schemas/BytePlusResponseOutputContent" + type: array + id: + type: string + partial: + description: 이 메시지가 연속 모드의 부분 응답인 경우 참입니다. + type: boolean + role: + default: assistant + enum: + - assistant + type: string + status: + enum: + - in_progress + - completed + - incomplete + type: string + type: + default: message + enum: + - message + type: string + required: + - type + - id + - role + - content + type: object + BytePlusResponseOutputRefusal: + additionalProperties: true + properties: + refusal: + type: string + type: + default: refusal + enum: + - refusal + type: string + required: + - type + - refusal + type: object + BytePlusResponseOutputText: + additionalProperties: true + properties: + annotations: + items: + additionalProperties: true + type: object + type: array + text: + type: string + type: + default: output_text + enum: + - output_text + type: string + required: + - type + - text + type: object + BytePlusResponseTextFormat: + description: "`type`으로 구분되는 텍스트 출력 형식입니다. `text`는 자연어를 반환하고, `json_object`는 자유 형식 JSON 객체를 반환하며, `json_schema`는 출력을 호출자가 제공한 JSON 스키마로 제한합니다.\n" + discriminator: + mapping: + json_object: "#/components/schemas/BytePlusResponseTextFormatJSONObject" + json_schema: "#/components/schemas/BytePlusResponseTextFormatJSONSchema" + text: "#/components/schemas/BytePlusResponseTextFormatText" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseTextFormatText" + - $ref: "#/components/schemas/BytePlusResponseTextFormatJSONObject" + - $ref: "#/components/schemas/BytePlusResponseTextFormatJSONSchema" + BytePlusResponseTextFormatJSONObject: + additionalProperties: true + properties: + type: + default: json_object + enum: + - json_object + type: string + required: + - type + type: object + BytePlusResponseTextFormatJSONSchema: + additionalProperties: true + properties: + description: + description: 모델이 응답을 생성할 때 사용하는 힌트입니다. + nullable: true + type: string + name: + description: JSON 구조에 대한 호출자 정의 이름입니다. + type: string + schema: + additionalProperties: true + description: 모델 출력이 준수해야 하는 JSON 스키마입니다. + type: object + strict: + default: false + nullable: true + type: boolean + type: + default: json_schema + enum: + - json_schema + type: string + required: + - type + - name + - schema + type: object + BytePlusResponseTextFormatText: + additionalProperties: true + properties: + type: + default: text + enum: + - text + type: string + required: + - type + type: object + BytePlusResponseTool: + additionalProperties: true + description: "모델이 호출할 수 있는 도구입니다. 현재는 `function`만 지원됩니다." + properties: + description: + type: string + name: + type: string + parameters: + additionalProperties: true + description: 함수의 파라미터를 설명하는 JSON 스키마입니다. + type: object + type: + default: function + enum: + - function + type: string + required: + - type + - name + - parameters + type: object + BytePlusResponseToolChoiceObject: + additionalProperties: true + description: "모델이 특정 도구를 호출하도록 강제합니다. `type`이 `function`인 경우 `name`은 필수입니다.\n" + properties: + name: + type: string + type: + enum: + - function + type: string + required: + - type + type: object + BytePlusResponseUsage: + description: 청구 및 관측 가능성을 위한 토큰 사용량 분석입니다. + properties: + input_tokens: + description: 요청의 전체 토큰 수입니다. + type: integer + input_tokens_details: + additionalProperties: true + description: 입력 토큰의 세부 분석(캐시 적중 등)입니다. + properties: + cached_tokens: + description: 컨텍스트 캐시에서 제공된 토큰입니다. + type: integer + type: object + output_tokens: + description: 모델이 생성한 전체 토큰 수입니다. + type: integer + output_tokens_details: + additionalProperties: true + description: 출력 토큰의 세부 분석(추론 등)입니다. + properties: + reasoning_tokens: + description: 사고 과정에서 사용된 토큰입니다. + type: integer + type: object + tool_usage: + additionalProperties: true + description: 도구별 호출 횟수입니다. + properties: + image_process: + description: 이미지 처리 도구 호출 횟수입니다. + type: integer + mcp: + description: MCP 도구 호출 수입니다. + type: integer + web_search: + description: 웹 검색 도구 호출 수입니다. + type: integer + type: object + tool_usage_details: + additionalProperties: true + description: 하위 도구 호출 횟수의 도구별 세부 정보입니다. + properties: + image_process: + additionalProperties: true + description: "예: `{\"zoom\":1,\"point\":1,\"grounding\":1}`." + type: object + mcp: + additionalProperties: true + description: "예: `{\"mcp_server_tos\":1,\"mcp_server_tls\":1}`." + type: object + web_search: + additionalProperties: true + description: "예: `{\"toutiao\":1,\"moji\":1,\"search_engine\":1}`." + type: object + type: object + total_tokens: + description: input_tokens + output_tokens. + type: integer + required: + - input_tokens + - output_tokens + - total_tokens + type: object + BytePlusTTSAudioConfig: + description: 출력 오디오 구성입니다. + properties: + format: + description: "출력 오디오 형식: wav(기본값), mp3, pcm 또는 ogg_opus." + type: string + loudness_rate: + description: "-50 ~ 100; 100은 2.0x 볼륨, -50은 0.5x 볼륨을 의미합니다(기본값: 0)." + type: integer + pitch_rate: + description: "-12 ~ 12(기본값: 0)." + type: integer + sample_rate: + description: "출력 샘플 레이트: 8000, 16000, 24000(기본값), 32000, 44100 또는 48000." + type: integer + speech_rate: + description: "-50 ~ 100; 100은 2.0x 속도, -50은 0.5x 속도를 의미합니다(기본값: 0)." + type: integer + type: object + BytePlusTTSCreateRequest: + description: BytePlus Seed Audio 1.0 생성 요청 본문입니다. + properties: + audio_config: + $ref: "#/components/schemas/BytePlusTTSAudioConfig" + model: + description: 모델 식별자입니다. 지원되는 유일한 모델은 seed-audio-1.0입니다. + type: string + references: + description: "참조 리소스입니다. 텍스트 전용 생성 시 생략합니다. 최대 3개의 오디오 참조(각각 최대 30초, 10MB; wav, mp3, pcm 또는 ogg_opus) 또는 정확히 1개의 이미지 참조(최대 10MB; jpeg, png 또는 webp). 이미지 참조는 오디오 참조와 혼합할 수 없습니다.\n" + items: + $ref: "#/components/schemas/BytePlusTTSReference" + type: array + text_prompt: + description: "합성할 프롬프트 또는 텍스트(최대 2,048자). 오디오 참조가 제공된 경우 @Audio1, @Audio2, @Audio3을 사용하여 순서대로 참조합니다.\n" + maxLength: 2048 + type: string + watermark: + additionalProperties: true + description: 워터마크 구성 객체입니다. 빈 객체도 허용됩니다. + type: object + required: + - model + - text_prompt + type: object + BytePlusTTSCreateResponse: + description: BytePlus Seed Audio 1.0 생성 응답 본문입니다. + properties: + audio: + description: "생성된 오디오 데이터, Base64 인코딩됨." + type: string + code: + description: 상태 코드입니다. 세부 정보는 공식 오류 코드 문서를 참조하십시오. + type: integer + duration: + description: 속도 또는 후처리 이후의 지속 시간(초)입니다. + format: double + type: number + message: + description: 상태 세부 정보입니다. + type: string + original_duration: + description: 원본 모델 출력 지속 시간(초)입니다. 요금 청구에 사용되며 최대 120초로 제한됩니다. + format: double + type: number + url: + description: "임시 오디오 URL, 2시간 동안 유효합니다." + type: string + type: object + BytePlusTTSReference: + description: "단일 참조 리소스입니다. 오디오 참조의 경우 speaker, audio_data 또는 audio_url 중 정확히 하나를 제공하세요. 이미지 참조의 경우 image_data 또는 image_url 중 정확히 하나를 제공하세요.\n" + properties: + audio_data: + description: Base64로 인코딩된 ReferenceTimbreAudio입니다. + type: string + audio_url: + description: 원격 ReferenceTimbreAudio 파일의 URL입니다. + type: string + image_data: + description: Base64로 인코딩된 참조 이미지입니다. + type: string + image_url: + description: 원격 참조 이미지의 URL입니다. + type: string + speaker: + description: 음성 ID입니다. 지원되는 Doubao TTS 음성 또는 음성 복제 음성 ID일 수 있습니다. + type: string + type: object + BytePlusVideoGenerationContent: + properties: + audio_url: + description: 입력 오디오 객체입니다. Seedance 2.0 및 2.0 fast만 오디오 입력을 지원합니다. 단독으로 사용할 수 없으며 최소 1개의 이미지 또는 비디오가 포함되어야 합니다. + properties: + url: + description: "오디오 URL, Base64 인코딩 또는 자산 ID입니다.\n오디오 URL: 오디오의 공개 URL (wav, mp3)입니다.\nBase64: 형식 data:audio/;base64,\n자산 ID: 형식 asset://\n" + type: string + type: object + image_url: + properties: + url: + description: "이미지 기반 비디오 생성용 이미지 콘텐츠입니다(유형이 \"image_url\"인 경우).\n이미지 URL: 이미지 URL에 접근 가능한지 확인하십시오.\nBase64 인코딩 콘텐츠: 형식은 data:image/;base64,여야 합니다.\n자산 ID: 형식 asset://\n" + type: string + type: object + role: + description: "콘텐츠 항목의 역할/위치입니다.\n이미지의 경우: first_frame, last_frame 또는 reference_image입니다.\n비디오의 경우: reference_video(Seedance 2.0 및 2.0 fast만 해당)입니다.\n오디오의 경우: reference_audio(Seedance 2.0 및 2.0 fast만 해당)입니다.\n" + enum: + - first_frame + - last_frame + - reference_image + - reference_video + - reference_audio + type: string + text: + description: "모델에 대한 입력 텍스트 정보입니다. 텍스트 프롬프트와 선택적 파라미터가 포함됩니다.\n\n텍스트 프롬프트(필수): 중국어 및 영어 문자를 사용하여 생성할 비디오에 대한 설명입니다.\n\n파라미터(선택 사항): 텍스트 프롬프트 뒤에 --[파라미터]를 추가하여 비디오 사양을 제어합니다:\n- --resolution (--rs): 480p, 720p, 1080p (기본값: 720p)\n- --ratio (--rt): 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, 9:21, adaptive (기본값: 16:9 또는 adaptive)\n- --duration (--dur): 3-12초 (기본값: 5)\n- --framepersecond (--fps): 24 (기본값: 24)\n- --watermark (--wm): 참/거짓 (기본값: 거짓)\n- --seed (--seed): -1에서 2^32-1 (기본값: -1)\n- --camerafixed (--cf): 참/거짓 (기본값: 거짓)\n\n예: \"아름다운 풍경 --ratio 16:9 --resolution 720p --duration 5\"\n" + maxLength: 4096 + type: string + type: + description: 입력 콘텐츠의 유형 + enum: + - text + - image_url + - video_url + - audio_url + type: string + video_url: + description: 입력 비디오 객체입니다. Seedance 2.0 및 2.0 fast만 비디오 입력을 지원합니다. + properties: + url: + description: "비디오 URL 또는 자산 ID입니다.\n비디오 URL: 비디오의 공개 URL (mp4, mov)입니다.\n자산 ID: 형식 asset://\n" + type: string + type: object + required: + - type + type: object + BytePlusVideoGenerationQueryResponse: + properties: + content: + description: "비디오 생성 작업이 완료된 후의 출력으로, 출력 비디오의 다운로드 URL을 포함합니다." + properties: + video_url: + description: 출력 비디오의 URL입니다. 보안상의 이유로 출력 비디오는 24시간 후에 삭제됩니다. + type: string + type: object + created_at: + description: 작업이 생성된 시간입니다. 값은 초 단위의 UNIX 타임스탬프입니다. + type: integer + error: + description: 오류 정보입니다. 작업이 성공하면 null이 반환됩니다. 작업이 실패하면 오류 정보가 반환됩니다. + nullable: true + properties: + code: + description: 오류 코드 + type: string + message: + description: 오류 메시지 + type: string + type: object + id: + description: 비디오 생성 작업의 ID + type: string + model: + description: 작업에서 사용된 모델의 이름 및 버전 + type: string + status: + description: 작업의 상태 + enum: + - queued + - running + - cancelled + - succeeded + - failed + - expired + type: string + updated_at: + description: 작업이 마지막 업데이트된 시간입니다. 값은 초 단위의 UNIX 타임스탬프입니다. + type: integer + usage: + description: 요청에 대한 토큰 사용량 + properties: + completion_tokens: + description: 모델에 의해 생성된 토큰 수 + type: integer + total_tokens: + description: 비디오 생성 모델의 경우 입력 토큰 수가 계산되지 않으며 기본값은 0입니다. 따라서 total_tokens = completion_tokens입니다. + type: integer + type: object + type: object + BytePlusVideoGenerationRequest: + properties: + callback_url: + description: 이 생성 작업 결과에 대한 콜백 알림 주소 + format: uri + type: string + content: + description: 모델이 비디오를 생성하기 위한 입력 콘텐츠 + items: + $ref: "#/components/schemas/BytePlusVideoGenerationContent" + minItems: 1 + type: array + duration: + description: "초 단위의 비디오 길이. Seedance 2.0 & 2.0 fast: [4,15] 또는 -1 (자동). Seedance 1.5 pro: [4,12] 또는 -1. Seedance 1.0: [2,12].\n" + type: integer + execution_expires_after: + description: "초 단위의 작업 시간 제한 임계값. 기본값 172800 (48시간). 범위: [3600, 259200].\n" + type: integer + generate_audio: + default: true + description: "Seedance 2.0, 2.0 fast 및 1.5 pro에서 지원됩니다. 생성된 비디오에 시각적 요소와 동기화된 오디오가 포함되는지 여부.\n참: 모델이 동기화된 오디오가 있는 비디오를 출력합니다.\n거짓: 모델이 무음 비디오를 출력합니다.\n" + type: boolean + model: + description: "호출할 모델의 ID. 사용 가능한 모델에는 seedance-1-5-pro-251215, seedance-1-0-pro-250528, seedance-1-0-pro-fast-251015, seedance-1-0-lite-t2v-250428, seedance-1-0-lite-i2v-250428이 있습니다." + enum: + - seedance-1-5-pro-251215 + - seedance-1-0-pro-250528 + - seedance-1-0-lite-t2v-250428 + - seedance-1-0-lite-i2v-250428 + - seedance-1-0-pro-fast-251015 + - dreamina-seedance-2-0-260128 + - dreamina-seedance-2-0-fast-260128 + - dreamina-seedance-2-0-mini + type: string + ratio: + description: "생성된 비디오의 가로 세로 비율. Seedance 2.0 & 2.0 fast, 1.5 pro 기본값: adaptive.\n" + enum: + - 16:9 + - 4:3 + - 1:1 + - 3:4 + - 9:16 + - 21:9 + - adaptive + type: string + resolution: + description: "비디오 해상도. Seedance 2.0 & 2.0 fast, 1.5 pro, 1.0 lite 기본값: 720p. Seedance 1.0 pro & pro-fast 기본값: 1080p.\n참고: Seedance 2.0 & 2.0 fast는 1080p를 지원하지 않습니다.\n" + enum: + - 480p + - 720p + - 1080p + - 4k + type: string + return_last_frame: + default: false + description: "생성된 비디오의 마지막 프레임 이미지를 반환할지 여부.\n참: 생성된 비디오의 마지막 프레임 이미지를 반환합니다. 이 파라미터를 참으로 설정한 후 비디오 생성 작업 정보 조회를 호출하여 마지막 프레임 이미지를 얻을 수 있습니다. 마지막 프레임 이미지는 PNG 형식이며, 픽셀 너비와 높이는 생성된 비디오와 일치하며, 워터마크가 포함되지 않습니다. 이 파라미터를 사용하면 여러 개의 연속 비디오를 생성할 수 있습니다: 이전에 생성된 비디오의 마지막 프레임이 다음 비디오 작업의 첫 번째 프레임으로 사용되어 여러 개의 연속 비디오를 빠르게 생성할 수 있습니다.\n거짓: 생성된 비디오의 마지막 프레임 이미지를 반환하지 않습니다.\n" + type: boolean + seed: + description: "무작위성을 제어하기 위한 시드 정수. 범위: [-1, 2^32-1]. -1은 무작위 시드를 사용합니다.\n" + type: integer + service_tier: + description: "처리를 위한 서비스 등급. Seedance 2.0 & 2.0 fast는 flex(오프라인 추론)를 지원하지 않습니다.\n" + enum: + - default + - flex + type: string + watermark: + default: false + description: 생성된 비디오에 워터마크가 포함되는지 여부. + type: boolean + required: + - model + - content + type: object + BytePlusVideoGenerationResponse: + properties: + id: + description: 비디오 생성 작업의 ID + type: string + required: + - id + type: object + ClaimMyNodeRequest: + properties: + GH_TOKEN: + description: 사용자가 노드의 리포지토리를 소유하고 있는지 확인하는 GitHub 토큰 + type: string + required: + - GH_TOKEN + type: object + ComfyNode: + properties: + category: + description: "노드가 나열된 UI 카테고리로, 노드를 그룹화하는 데 사용됩니다." + type: string + comfy_node_name: + description: 노드의 고유 식별자 + type: string + deprecated: + description: 노드가 지원 중단되었는지 나타냅니다. 지원 중단된 노드는 UI에서 숨겨집니다. + type: boolean + description: + description: 노드의 기능 또는 목적에 대한 간략한 설명. + type: string + experimental: + description: 노드가 실험적인지 나타냅니다. 변경 또는 제거될 수 있습니다. + type: boolean + function: + description: 노드를 실행하기 위한 진입점 함수의 이름. + type: string + input_types: + description: 입력 파라미터를 정의합니다. + type: string + output_is_list: + description: 각 출력이 목록인지 나타내는 논리값. + items: + type: boolean + type: array + policy: + $ref: "#/components/schemas/ComfyNodePolicy" + return_names: + description: 워크플로에서 명확성을 위한 출력 이름. + type: string + return_types: + description: 노드가 생성하는 출력 유형을 지정합니다. + type: string + type: object + ComfyNodeCloudBuildInfo: + properties: + build_id: + type: string + location: + type: string + project_id: + type: string + project_number: + type: string + type: object + ComfyNodePolicy: + enum: + - ComfyNodePolicyActive + - ComfyNodePolicyBanned + - ComfyNodePolicyLocalOnly + type: string + ComfyNodeUpdateRequest: + properties: + category: + description: "노드가 나열되는 UI 카테고리로, 노드 그룹화에 사용됩니다." + type: string + deprecated: + description: 노드의 지원 중단 여부를 나타냅니다. 지원 중단된 노드는 UI에서 숨겨집니다. + type: boolean + description: + description: 노드의 기능이나 목적에 대한 간략한 설명입니다. + type: string + experimental: + description: "노드의 실험적 여부를 나타내며, 변경 또는 제거될 수 있습니다." + type: boolean + function: + description: 노드를 실행하기 위한 진입점 함수의 이름입니다. + type: string + input_types: + description: 입력 파라미터를 정의합니다. + type: string + output_is_list: + description: 각 출력이 리스트인지 여부를 나타내는 논리값입니다. + items: + type: boolean + type: array + policy: + $ref: "#/components/schemas/ComfyNodePolicy" + return_names: + description: 워크플로에서 명확성을 위한 출력 이름입니다. + type: string + return_types: + description: 노드가 생성하는 출력 유형을 지정합니다. + type: string + type: object + ComputerToolCall: + description: "컴퓨터 사용 도구에 대한 도구 호출입니다. 자세한 정보는 [컴퓨터 사용 가이드](/docs/guides/tools-computer-use)를 참조하세요.\n" + properties: + action: + type: object + call_id: + description: "도구 호출에 출력으로 응답할 때 사용되는 식별자입니다.\n" + type: string + id: + description: 컴퓨터 호출의 고유 ID입니다. + type: string + status: + description: "항목의 상태입니다. `in_progress`, `completed` 또는 `incomplete` 중 하나입니다. API를 통해 항목이 반환될 때 채워집니다.\n" + enum: + - in_progress + - completed + - incomplete + type: string + type: + default: computer_call + description: "컴퓨터 호출의 유형입니다. 항상 `computer_call`입니다." + enum: + - computer_call + type: string + required: + - type + - id + - action + - call_id + - pending_safety_checks + - status + title: Computer tool call + type: object + ComputerUsePreviewTool: + description: "가상 컴퓨터를 제어하는 도구입니다. [컴퓨터 도구](https://platform.openai.com/docs/guides/tools-computer-use)에 대해 더 알아보세요." + properties: + display_height: + description: 컴퓨터 디스플레이의 높이입니다. + type: integer + display_width: + description: 컴퓨터 디스플레이의 너비입니다. + type: integer + environment: + description: 제어할 컴퓨터 환경의 유형입니다. + enum: + - windows + - mac + - linux + - ubuntu + - browser + type: string + type: + default: computer_use_preview + description: "컴퓨터 사용 도구의 유형입니다. 항상 `computer_use_preview`입니다." + enum: + - computer_use_preview + type: string + x-stainless-const: true + required: + - type + - environment + - display_width + - display_height + title: Computer use preview + type: object + CouponResponse: + properties: + amount_off: + description: 센트 단위의 할인 금액 + type: integer + currency: + description: amount_off의 통화 + type: string + duration: + description: 쿠폰의 유효 기간 + enum: + - once + - repeating + - forever + type: string + duration_in_months: + description: 반복 쿠폰의 개월 수 + type: integer + id: + description: Stripe 쿠폰 ID + type: string + max_redemptions: + description: 이 쿠폰을 사용할 수 있는 최대 횟수 + type: integer + metadata: + additionalProperties: + type: string + description: 추가 정보를 저장하기 위한 키-값 쌍의 집합 + type: object + name: + description: 고객에게 표시되는 쿠폰 이름 + type: string + percent_off: + description: 할인 비율 (0-100) + format: double + type: number + redeem_by: + description: 쿠폰을 사용할 수 있는 마지막 시간을 지정하는 Unix 타임스탬프 + format: int64 + type: integer + times_redeemed: + description: 이 쿠폰이 사용된 횟수 + type: integer + valid: + description: 쿠폰을 아직 사용할 수 있는지 여부 + type: boolean + required: + - id + - duration + - valid + type: object + CreateAPIKeyRequest: + properties: + description: + type: string + name: + type: string + required: + - name + type: object + CreateCouponRequest: + properties: + amount_off: + description: 센트 단위 할인 금액 + minimum: 0 + type: integer + currency: + description: amount_off의 통화 (amount_off가 설정된 경우 필수) + enum: + - usd + type: string + duration: + default: once + description: 쿠폰의 유효 기간 + enum: + - once + - repeating + - forever + type: string + duration_in_months: + description: duration이 repeating인 경우 필수 + minimum: 1 + type: integer + max_redemptions: + description: 이 쿠폰을 사용할 수 있는 최대 횟수 + minimum: 1 + type: integer + metadata: + additionalProperties: + type: string + description: 추가 정보를 저장하기 위한 키-값 쌍의 집합 + type: object + name: + description: 고객에게 표시되는 쿠폰 이름 + type: string + percent_off: + description: 할인 비율 (0-100) + format: double + maximum: 100 + minimum: 0 + type: number + redeem_by: + description: 쿠폰을 사용할 수 있는 마지막 시간을 지정하는 Unix 타임스탬프 + format: int64 + type: integer + type: object + CreateCustomerRequest: + description: "고객 생성의 선택적 요청 본문 (BE-1490). 프론트엔드 위젯에서 생성된 Cloudflare Turnstile 토큰을 전달하며, 가입 시 서버 측에서 확인됩니다. 모든 필드는 선택 사항입니다. Turnstile 위젯을 실행하지 않는 클라이언트는 빈 본문을 보내거나 본문을 완전히 생략할 수 있습니다." + properties: + turnstile_token: + description: "프론트엔드 위젯에서 생성된 Cloudflare Turnstile 토큰 (cf-turnstile-response)입니다. 서버 측에서 Cloudflare siteverify에 대해 확인됩니다. Turnstile이 없는 클라이언트(예: 로컬 OSS)는 확인 요구 사항이 면제되므로 생략하거나 비워 둡니다." + type: string + type: object + CreateModelResponseProperties: + allOf: + - $ref: "#/components/schemas/ModelResponseProperties" + CreatePromoCodeRequest: + properties: + coupon_id: + description: 프로모션 코드를 생성할 Stripe 쿠폰 ID + type: string + expire_days: + default: 30 + description: 프로모션 코드가 만료될 때까지의 일수 + minimum: 1 + type: integer + max_redemptions: + description: 이 코드를 사용할 수 있는 최대 횟수 + minimum: 1 + type: integer + required: + - coupon_id + type: object + Customer: + properties: + createdAt: + description: 사용자가 생성된 날짜와 시간 + format: date-time + type: string + email: + description: 이 사용자의 이메일 주소 + type: string + has_fund: + description: 사용자가 자금을 보유하고 있는지 여부 + type: boolean + id: + description: 사용자의 Firebase UID + type: string + is_admin: + description: 사용자가 관리자 여부 + type: boolean + metronome_id: + description: Metronome 고객 ID + type: string + name: + description: 이 사용자의 이름 + type: string + stripe_id: + description: Stripe 고객 ID + type: string + subscription_tier: + allOf: + - $ref: "#/components/schemas/SubscriptionTier" + description: 캐시된 구독 등급 레벨 + nullable: true + updatedAt: + description: 사용자가 마지막 업데이트 된 날짜와 시간 + format: date-time + type: string + required: + - id + type: object + CustomerAdmin: + properties: + cloud_subscription_end_date: + description: 클라우드 구독 종료 예정 날짜 (ISO 8601 형식) + format: date-time + nullable: true + type: string + cloud_subscription_is_active: + description: 고객이 활성 클라우드 구독을 보유하고 있는지 여부 + type: boolean + cloud_subscription_renewal_date: + description: 클라우드 구독의 다음 갱신 날짜 (ISO 8601 형식) + format: date-time + nullable: true + type: string + cloud_subscription_subscription_id: + description: 존재하는 경우 활성 클라우드 구독 ID + nullable: true + type: string + createdAt: + description: 사용자가 생성된 날짜와 시간 + format: date-time + type: string + email: + description: 이 사용자의 이메일 주소 + type: string + has_fund: + description: 사용자가 자금을 보유하고 있는지 여부 + type: boolean + id: + description: 사용자의 Firebase UID + type: string + is_admin: + description: 사용자가 관리자 여부 + type: boolean + metronome_id: + description: Metronome 고객 ID + type: string + name: + description: 이 사용자의 이름 + type: string + stripe_id: + description: Stripe 고객 ID + type: string + subscription_tier: + allOf: + - $ref: "#/components/schemas/SubscriptionTier" + description: "구독 등급 레벨 (예: FREE, STANDARD, CREATOR, PRO)" + nullable: true + updatedAt: + description: 사용자가 마지막 업데이트 된 날짜와 시간 + format: date-time + type: string + required: + - id + type: object + CustomerStorageResourceResponse: + properties: + download_url: + description: 지정된 경로에서 파일을 다운로드 중에 사용할 서명된 URL + type: string + existing_file: + description: 동일한 해시를 가진 기존 파일이 발견되었는지 여부 + type: boolean + expires_at: + description: 서명된 URL이 만료되는 시점 + format: date-time + type: string + upload_url: + description: 지정된 경로에 파일을 업로드하는 데 사용할 서명된 URL + type: string + type: object + CustomerUsageTimeSeries: + description: "고객의 청구 기간별 그룹화된 총 지출, 세부 내역 및 요약" + properties: + breakdown: + description: "전체 범위에 대한 그룹별 합계, 지출 내림차순으로 정렬됨." + items: + $ref: "#/components/schemas/UsageBreakdownRow" + type: array + buckets: + description: "(청구 기간, 그룹)당 하나의 항목, 0이 아닌 총 지출." + items: + $ref: "#/components/schemas/UsageBucket" + type: array + ending_before: + description: 반환된 범위의 종료 (해당 값 제외). + format: date-time + type: string + granularity: + description: 시계열의 버킷 크기. + enum: + - hour + - day + - month + type: string + group_by: + description: 지출이 그룹화되는 차원. + enum: + - model + - endpoint + - product + type: string + groups: + description: "범위에 있는 고유한 그룹 키, 지출 내림차순으로 정렬됨." + items: + type: string + type: array + starting_on: + description: 반환된 범위의 시작 (해당 값 포함). + format: date-time + type: string + summary: + $ref: "#/components/schemas/UsageSummary" + required: + - group_by + - granularity + - starting_on + - ending_before + - groups + - buckets + - breakdown + - summary + type: object + EasyInputMessage: + description: "모델에 대한 입력 메시지로, 역할이 명령 수행 계층을 나타냅니다. `developer` 또는 `system` 역할로 제공된 명령은 `user` 역할로 제공된 명령보다 우선합니다. `assistant` 역할의 메시지는 이전 상호작용에서 모델에 의해 생성된 것으로 간주됩니다.\n" + properties: + content: + description: "모델에 대한 텍스트, 이미지 또는 오디오 입력으로, 응답을 생성하는 데 사용됩니다.\n이전 어시스턴트 응답도 포함할 수 있습니다.\n" + oneOf: + - description: "모델에 대한 텍스트 입력.\n" + title: Text input + type: string + - $ref: "#/components/schemas/InputMessageContentList" + role: + description: "메시지 입력의 역할. `user`, `assistant`, `system`, 또는 `developer` 중 하나.\n" + enum: + - user + - assistant + - system + - developer + type: string + type: + description: "메시지 입력의 유형. 항상 `message`.\n" + enum: + - message + type: string + x-stainless-const: true + required: + - role + - content + title: Input message + type: object + ElevenLabsAudioIsolationRequest: + description: 오디오 격리(배경 노이즈 제거)를 위한 요청 본문 + properties: + audio: + description: 음성/말이 분리될 오디오 파일. + format: binary + type: string + file_format: + default: other + description: "입력 오디오의 형식. 옵션은 'pcm_s16le_16' 또는 'other'입니다.\nFor pcm_s16le_16, the input audio must be 16-bit PCM at a 16kHz sample rate, single channel (mono).\n지연 시간이 인코딩된 파형을 전달하는 것보다 낮습니다.\n" + enum: + - pcm_s16le_16 + - other + nullable: true + type: string + preview_b64: + description: 이 생성 과정을 추적하기 위한 선택적 이미지 미리보기 base64. + nullable: true + type: string + required: + - audio + type: object + ElevenLabsCreateVoiceRequest: + description: 즉시 음성 복제를 생성하기 위한 요청 본문 + properties: + description: + description: 음성에 대한 설명. + nullable: true + type: string + files: + description: 음성 복제를 위한 오디오 녹음. + items: + format: binary + type: string + type: array + labels: + description: "음성에 대한 레이블의 JSON 문자열 (언어, 악센트, 성별, 나이)." + nullable: true + type: string + name: + description: 이 음성을 식별하는 이름. + type: string + remove_background_noise: + default: false + description: 설정된 경우 오디오 격리를 사용하여 음성 샘플에서 배경 노이즈를 제거합니다. + type: boolean + required: + - name + - files + type: object + ElevenLabsDialogueInput: + description: 텍스트와 음성 ID를 포함하는 단일 대화 입력 + properties: + text: + description: 음성으로 변환될 텍스트. + type: string + voice_id: + description: 생성에 사용될 음성의 ID. + type: string + required: + - text + - voice_id + type: object + ElevenLabsDialogueSettings: + description: 대화 생성을 제어하는 설정 + nullable: true + properties: + stability: + default: 0.5 + description: "음성의 안정성과 생성 간의 무작위성을 결정합니다.\n값이 낮을수록 음성의 감정 범위가 넓어집니다.\n값이 높을수록 감정이 제한된 단조로운 음성이 될 수 있습니다.\n" + format: double + nullable: true + type: number + type: object + ElevenLabsPronunciationDictionaryLocator: + description: 발음 사전 로케이터 + properties: + pronunciation_dictionary_id: + description: 발음 사전의 ID + type: string + version_id: + description: 발음 사전의 버전 ID + type: string + required: + - pronunciation_dictionary_id + - version_id + type: object + ElevenLabsSTTAdditionalFormat: + description: 대본 내보내기를 위한 추가 형식 응답 + properties: + content: + description: 추가 형식의 콘텐츠입니다. + type: string + content_type: + description: 추가 형식의 콘텐츠 유형입니다. + type: string + file_extension: + description: 추가 형식의 파일 확장자입니다. + type: string + is_base64_encoded: + description: 콘텐츠가 base64로 인코딩되었는지 여부입니다. + type: boolean + requested_format: + description: 요청된 형식입니다. + type: string + required: + - requested_format + - file_extension + - content_type + - is_base64_encoded + - content + type: object + ElevenLabsSTTCharacter: + description: 타이밍이 포함된 문자 정보 + properties: + end: + description: 문자의 종료 시간(초)입니다. + format: double + nullable: true + type: number + start: + description: 문자의 시작 시간(초)입니다. + format: double + nullable: true + type: number + text: + description: 전사된 문자입니다. + type: string + required: + - text + type: object + ElevenLabsSTTDetectedEntity: + description: 대본에서 감지된 엔터티 + properties: + end_char: + description: 대본 텍스트에서의 종료 문자 위치입니다. + type: integer + entity_type: + description: "감지된 엔터티의 유형입니다(예: 'credit_card', 'email_address', 'person_name')." + type: string + start_char: + description: 대본 텍스트에서의 시작 문자 위치입니다. + type: integer + text: + description: 엔터티로 식별된 텍스트입니다. + type: string + required: + - text + - entity_type + - start_char + - end_char + type: object + ElevenLabsSTTExportOptions: + description: 음성을 텍스트로 변환한 대본의 내보내기 형식 옵션 + properties: + format: + description: 대본 내보내기의 출력 형식입니다. + enum: + - segmented_json + - docx + - pdf + - txt + - html + - srt + type: string + include_speakers: + default: true + description: 내보내기에 화자 레이블을 포함할지 여부입니다. + type: boolean + include_timestamps: + default: true + description: 내보내기에 타임스탬프를 포함할지 여부입니다. + type: boolean + max_characters_per_line: + description: 줄당 최대 문자 수(txt 및 srt 형식의 경우). + nullable: true + type: integer + max_segment_chars: + description: 세그먼트당 최대 문자 수입니다. + nullable: true + type: integer + max_segment_duration_s: + description: 각 세그먼트의 최대 지속 시간(초)입니다. + format: double + nullable: true + type: number + segment_on_silence_longer_than_s: + description: 무음 시간이 이 값(초)보다 길 때 대본을 분할합니다. + format: double + nullable: true + type: number + required: + - format + type: object + ElevenLabsSTTRequest: + description: ElevenLabs Speech-to-Text의 요청 본문 + properties: + additional_formats: + description: 대본을 내보낼 추가 형식 목록입니다. + items: + $ref: "#/components/schemas/ElevenLabsSTTExportOptions" + nullable: true + type: array + cloud_storage_url: + description: "변환할 파일의 HTTPS URL입니다. file 또는 cloud_storage_url 파라미터 중 하나만 제공해야 합니다.\n파일은 HTTPS로 접근 가능해야 하며 파일 크기는 2GB 미만이어야 합니다.\n" + nullable: true + type: string + diarization_threshold: + description: "화자 분할(diarization) 중 적용할 화자 분할 임계값입니다.\n값이 높을수록 한 화자가 두 명의 다른 화자로 분할될 가능성이 낮아집니다.\ndiarize=True이고 num_speakers=None인 경우에만 설정할 수 있습니다. 기본값은 None입니다.\n" + format: double + nullable: true + type: number + diarize: + default: false + description: 업로드된 파일에서 현재 말하고 있는 화자를 주석 처리할지 여부입니다. + type: boolean + entity_detection: + description: "대본에서 엔터티를 감지합니다. 'all'을 사용하여 모든 엔터티를 감지하거나,\n단일 엔터티 유형 또는 카테고리 문자열, 또는 엔터티 유형/카테고리 목록을 사용할 수 있습니다.\n카테고리에는 'pii', 'phi', 'pci', 'other', 'offensive_language'가 포함됩니다.\n활성화하면 감지된 엔터티가 텍스트, 유형 및 문자 위치와 함께 'entities' 필드에 반환됩니다.\n이 파라미터를 사용하면 추가 비용이 발생합니다.\n" + nullable: true + oneOf: + - type: string + - items: + type: string + type: array + file: + description: "변환할 파일입니다. 모든 주요 오디오 및 비디오 형식을 지원합니다.\nfile 또는 cloud_storage_url 파라미터 중 하나만 제공해야 합니다.\n파일 크기는 3.0GB 미만이어야 합니다.\n" + format: binary + type: string + file_format: + default: other + description: "입력 오디오의 형식입니다. 옵션은 'pcm_s16le_16' 또는 'other'입니다.\npcm_s16le_16의 경우 입력 오디오는 16kHz 샘플 속도의 16비트 PCM, 단일 채널(모노)이어야 합니다.\n" + enum: + - pcm_s16le_16 + - other + type: string + keyterms: + description: "변환을 특정 방향으로 유도하는 키텀 목록입니다.\n키텀 수는 100개를 초과할 수 없으며 각 키텀은 50자 미만이어야 합니다.\n" + items: + type: string + nullable: true + type: array + language_code: + description: "오디오 파일의 언어에 해당하는 ISO-639-1 또는 ISO-639-3 language_code입니다.\n사전에 알려진 경우 변환 성능을 향상시킬 수 있습니다.\n기본값은 null이며, 이 경우 언어가 자동으로 예측됩니다.\n" + nullable: true + type: string + model_id: + description: 변환에 사용할 모델의 ID입니다. + enum: + - scribe_v1 + - scribe_v2 + type: string + num_speakers: + description: "업로드된 파일에서 말하는 최대 화자 수입니다.\n누가 언제 말하는지 예측하는 데 도움이 될 수 있습니다. 예측 가능한 최대 화자 수는 32명입니다.\n기본값은 null이며, 이 경우 화자 수는 모델이 지원하는 최대값으로 설정됩니다.\n" + nullable: true + type: integer + seed: + description: "지정된 경우 시스템은 결정론적으로 샘플링하기 위해 최선을 다합니다.\n0에서 2147483647 사이의 정수여야 합니다.\n" + maximum: 2147483647 + minimum: 0 + nullable: true + type: integer + tag_audio_events: + default: true + description: "변환에서 (웃음), (발자국) 등의 오디오 이벤트에 태그를 지정할지 여부입니다." + type: boolean + temperature: + description: "변환 출력의 무작위성을 제어합니다. 0.0에서 2.0 사이의 값을 허용합니다.\n값이 높을수록 더 다양하고 덜 결정적인 결과가 생성됩니다.\n" + format: double + nullable: true + type: number + timestamps_granularity: + default: word + description: "변환에서 타임스탬프의 세분성입니다.\n'word'는 단어 수준 타임스탬프를 제공하고 'character'는 단어당 문자 수준 타임스탬프를 제공합니다.\n" + enum: + - none + - word + - character + type: string + use_multi_channel: + default: false + description: "오디오 파일에 각 채널에 단일 화자가 포함된 여러 채널이 있는지 여부입니다.\n활성화하면 각 채널이 독립적으로 변환되고 결과가 결합됩니다.\n최대 5개의 채널이 지원됩니다.\n" + type: boolean + webhook: + default: false + description: "변환 결과를 설정된 speech-to-text 웹훅으로 보낼지 여부입니다.\n설정하면 요청이 변환 없이 조기 반환되며, 변환은 나중에 웹훅을 통해 전달됩니다.\n" + type: boolean + webhook_id: + description: "변환 결과를 보낼 선택적 특정 웹훅 ID입니다.\nwebhook이 true로 설정된 경우에만 유효합니다.\n" + nullable: true + type: string + webhook_metadata: + description: "웹훅 응답에 포함할 선택적 메타데이터입니다.\n최대 깊이 2레벨, 최대 크기 16KB의 객체를 나타내는 JSON 문자열이어야 합니다.\n" + nullable: true + type: string + required: + - model_id + type: object + ElevenLabsSTTResponse: + description: ElevenLabs Speech-to-Text의 응답 + properties: + additional_formats: + description: 요청된 대본의 추가 형식입니다. + items: + $ref: "#/components/schemas/ElevenLabsSTTAdditionalFormat" + nullable: true + type: array + channel_index: + description: 이 트랜스크립트가 속한 채널 인덱스입니다(멀티채널 오디오의 경우). + nullable: true + type: integer + entities: + description: "텍스트, 유형 및 문자 위치가 포함된 감지된 엔터티 목록입니다." + items: + $ref: "#/components/schemas/ElevenLabsSTTDetectedEntity" + nullable: true + type: array + language_code: + description: "감지된 언어 코드입니다(예: 영어는 'eng')." + type: string + language_probability: + description: 언어 감지의 신뢰도 점수입니다(0~1). + format: double + type: number + message: + description: 웹훅 응답에 대한 메시지입니다. + nullable: true + type: string + request_id: + description: 웹훅 응답에 대한 요청 ID입니다. + nullable: true + type: string + text: + description: 트랜스크립션의 원시 텍스트입니다. + type: string + transcription_id: + description: 응답의 트랜스크립션 ID입니다. + nullable: true + type: string + transcripts: + description: 멀티채널 오디오용 트랜스크립트 목록입니다(use_multi_channel이 참인 경우). + items: + $ref: "#/components/schemas/ElevenLabsSTTTranscript" + nullable: true + type: array + words: + description: 단어와 시간 정보가 포함된 목록입니다. + items: + $ref: "#/components/schemas/ElevenLabsSTTWord" + type: array + type: object + ElevenLabsSTTTranscript: + description: 멀티채널 오디오에 대한 개별 트랜스크립트 + properties: + additional_formats: + description: 요청된 추가 형식입니다. + items: + $ref: "#/components/schemas/ElevenLabsSTTAdditionalFormat" + nullable: true + type: array + channel_index: + description: 이 트랜스크립트가 속한 채널 인덱스입니다. + nullable: true + type: integer + entities: + description: 감지된 엔터티 목록입니다. + items: + $ref: "#/components/schemas/ElevenLabsSTTDetectedEntity" + nullable: true + type: array + language_code: + description: 감지된 언어 코드입니다. + type: string + language_probability: + description: 언어 감지의 신뢰도 점수입니다. + format: double + type: number + text: + description: 트랜스크립션의 원시 텍스트입니다. + type: string + words: + description: 단어와 시간 정보가 포함된 목록입니다. + items: + $ref: "#/components/schemas/ElevenLabsSTTWord" + type: array + type: object + ElevenLabsSTTWord: + description: 음성-텍스트 트랜스크립션의 단어 정보 + properties: + characters: + description: 단어를 구성하는 문자와 시간 정보입니다. + items: + $ref: "#/components/schemas/ElevenLabsSTTCharacter" + nullable: true + type: array + end: + description: 단어 또는 소리의 종료 시간(초)입니다. + format: double + nullable: true + type: number + logprob: + description: "이 단어가 예측된 확률의 log입니다.\nLogprobs는 [-infinity, 0] 범위에 있으며, logprobs가 높을수록 신뢰도가 높습니다.\n" + format: double + type: number + speaker_id: + description: 이 단어의 화자에 대한 고유 식별자입니다. + nullable: true + type: string + start: + description: 단어 또는 소리의 시작 시간(초)입니다. + format: double + nullable: true + type: number + text: + description: 트랜스크립션된 단어 또는 소리입니다. + type: string + type: + description: "단어 또는 소리의 유형입니다.\n'audio_event'는 웃음이나 발소리와 같은 비단어 소리에 사용됩니다.\n" + enum: + - word + - spacing + - audio_event + type: string + required: + - text + - type + - logprob + type: object + ElevenLabsSharedVoice: + properties: + accent: + type: string + age: + type: string + category: + enum: + - generated + - cloned + - premade + - professional + - famous + - high_quality + type: string + cloned_by_count: + type: integer + date_unix: + type: integer + description: + nullable: true + type: string + descriptive: + type: string + featured: + type: boolean + fiat_rate: + description: 1000 크레딧당 USD로 표시된 음성의 비용입니다. 기본값인 경우 null입니다. + format: double + nullable: true + type: number + free_users_allowed: + type: boolean + gender: + type: string + image_url: + nullable: true + type: string + instagram_username: + nullable: true + type: string + is_added_by_user: + nullable: true + type: boolean + is_bookmarked: + nullable: true + type: boolean + language: + nullable: true + type: string + live_moderation_enabled: + type: boolean + locale: + nullable: true + type: string + name: + type: string + notice_period: + nullable: true + type: integer + play_api_usage_character_count_1y: + type: integer + preview_url: + nullable: true + type: string + public_owner_id: + type: string + rate: + format: double + nullable: true + type: number + tiktok_username: + nullable: true + type: string + twitter_username: + nullable: true + type: string + usage_character_count_1y: + type: integer + usage_character_count_7d: + type: integer + use_case: + type: string + verified_languages: + description: 해당 음성의 검증된 언어입니다. + items: + $ref: "#/components/schemas/ElevenLabsVerifiedVoiceLanguage" + nullable: true + type: array + voice_id: + type: string + youtube_username: + nullable: true + type: string + required: + - public_owner_id + - voice_id + - date_unix + - name + - accent + - gender + - age + - descriptive + - use_case + - category + - usage_character_count_1y + - usage_character_count_7d + - play_api_usage_character_count_1y + - cloned_by_count + - free_users_allowed + - live_moderation_enabled + - featured + type: object + ElevenLabsSharedVoicesPaginatedResponse: + description: "공유 음성 프록시가 프론트엔드의 `RichComboWidget` 점진적 페치 계약에 맞추기 위해 반환하는 페이지 매김 응답 형태입니다.\n" + properties: + has_more: + description: 후속 페이지에 더 많은 공유 음성이 있는지 여부입니다. + type: boolean + items: + description: 이 페이지의 공유 음성 목록입니다. + items: + $ref: "#/components/schemas/ElevenLabsSharedVoice" + type: array + required: + - items + - has_more + type: object + ElevenLabsSoundGenerationRequest: + description: 텍스트에서 음향 효과를 생성하기 위한 요청 본문 + properties: + duration_seconds: + description: "생성될 소리의 길이(초)입니다.\n최소 0.5, 최대 30이어야 합니다. null로 설정하면 프롬프트를 사용하여 최적의 길이가 추측됩니다. 기본값은 null입니다.\n" + format: double + nullable: true + type: number + loop: + default: false + description: "부드럽게 반복되는 음향 효과를 생성할지 여부입니다.\n'eleven_text_to_sound_v2' 모델에서만 사용할 수 있습니다.\n" + type: boolean + model_id: + default: eleven_text_to_sound_v2 + description: 사운드 생성에 사용할 모델 ID입니다. + type: string + prompt_influence: + description: "프롬프트 영향도가 높을수록 생성이 프롬프트를 더 밀접하게 따르며 생성의 변동성이 줄어듭니다.\n0과 1 사이의 값이어야 합니다. 기본값은 0.3입니다.\n" + format: double + type: number + text: + description: 음향 효과로 변환될 텍스트입니다. + type: string + required: + - text + type: object + ElevenLabsSpeechToSpeechRequest: + description: ElevenLabs 음성 대 음성(음성 변환기) 요청 본문 + properties: + audio: + description: 생성된 음성을 제어할 콘텐츠와 감정이 담긴 오디오 파일입니다. + format: binary + type: string + file_format: + default: other + description: "입력 오디오의 형식입니다. 옵션은 'pcm_s16le_16' 또는 'other'입니다.\npcm_s16le_16의 경우 입력 오디오는 16kHz 샘플 레이트, 단일 채널(모노)의 16비트 PCM이어야 합니다.\n" + enum: + - pcm_s16le_16 + - other + nullable: true + type: string + model_id: + default: eleven_english_sts_v2 + description: "사용될 모델의 식별자입니다. GET /v1/models를 쿼리하여 사용 가능한 모델을 나열합니다.\n모델은 음성 대 음성 지원(can_do_voice_conversion 속성)이 있어야 합니다.\n" + type: string + remove_background_noise: + default: false + description: "설정하면 오디오 분리 모델을 사용하여 오디오 입력에서 배경 노이즈를 제거합니다.\n음성 변환기에만 적용됩니다.\n" + type: boolean + seed: + description: "지정된 경우 시스템이 결정적으로 샘플링하기 위해 최선을 다합니다.\n동일한 시드와 파라미터로 반복된 요청은 동일한 결과를 반환해야 합니다.\n0에서 4294967295 사이의 정수여야 합니다.\n" + maximum: 4294967295 + minimum: 0 + nullable: true + type: integer + voice_settings: + description: "주어진 음성에 대해 저장된 설정을 재정의하는 음성 설정입니다.\n지정된 요청에만 적용됩니다. JSON 인코딩 문자열로 전송해야 합니다.\n" + nullable: true + type: string + required: + - audio + type: object + ElevenLabsTTSRequest: + description: ElevenLabs 텍스트 음성 변환 요청 본문 + properties: + apply_language_text_normalization: + default: false + description: 언어별 텍스트 정규화를 제어합니다. 지연 시간을 크게 증가시킬 수 있습니다. 현재 일본어에만 지원됩니다. + type: boolean + apply_text_normalization: + default: auto + description: "텍스트 정규화를 제어합니다. 'auto'는 시스템이 결정하도록 하고, 'on'은 항상 정규화를 적용하며,\n'off'는 정규화를 건너뜁니다.\n" + enum: + - auto + - "on" + - "off" + type: string + language_code: + description: 모델에 적용할 언어 코드(ISO 639-1)입니다. 지원되지 않는 경우 오류가 반환됩니다. + nullable: true + type: string + model_id: + default: eleven_multilingual_v2 + description: 사용할 모델의 식별자입니다. /v1/models를 쿼리하여 사용 가능한 모델을 나열합니다. + type: string + next_request_ids: + description: 연속성을 위한 다음 생성의 요청 ID입니다. 최대 3개. + items: + type: string + maxItems: 3 + nullable: true + type: array + next_text: + description: "이 요청 이후에 오는 텍스트로, 음성 연속성을 향상시키는 데 사용됩니다." + nullable: true + type: string + previous_request_ids: + description: 연속성을 위한 이전 생성의 요청 ID입니다. 최대 3개. + items: + type: string + maxItems: 3 + nullable: true + type: array + previous_text: + description: "이 요청 이전에 온 텍스트로, 음성 연속성을 향상시키는 데 사용됩니다." + nullable: true + type: string + pronunciation_dictionary_locators: + description: "발음 사전 로케이터(id, version_id) 목록입니다. 요청당 최대 3개." + items: + $ref: "#/components/schemas/ElevenLabsPronunciationDictionaryLocator" + maxItems: 3 + nullable: true + type: array + seed: + description: 결정적 생성을 위한 시드입니다. 0에서 4294967295 사이여야 합니다. + maximum: 4294967295 + minimum: 0 + nullable: true + type: integer + text: + description: 음성으로 변환될 텍스트입니다. + type: string + use_pvc_as_ivc: + default: false + description: 지원 중단됨. 참인 경우 PVC 대신 음성의 IVC 버전을 사용합니다. + type: boolean + voice_settings: + $ref: "#/components/schemas/ElevenLabsVoiceSettings" + required: + - text + type: object + ElevenLabsTextToDialogueRequest: + description: ElevenLabs Text-to-Dialogue(다중 음성 TTS)의 요청 본문입니다. + properties: + apply_text_normalization: + default: auto + description: "세 가지 모드로 텍스트 정규화를 제어합니다:\n'auto' - 시스템이 텍스트 정규화 적용 여부를 자동으로 결정합니다\n'on' - 텍스트 정규화가 항상 적용됩니다\n'off' - 텍스트 정규화가 건너뜁니다\n" + enum: + - auto + - "on" + - "off" + type: string + inputs: + description: "각각 텍스트와 음성 ID를 포함하는 대화 입력 목록으로, 음성으로 변환됩니다.\n고유 음성 ID의 최대 개수는 10개입니다.\n" + items: + $ref: "#/components/schemas/ElevenLabsDialogueInput" + type: array + language_code: + description: "모델 및 텍스트 정규화에 언어를 적용하는 데 사용되는 언어 코드(ISO 639-1)입니다.\n모델이 제공된 언어 코드를 지원하지 않는 경우 오류가 반환됩니다.\n" + nullable: true + type: string + model_id: + default: eleven_v3 + description: "사용될 모델의 식별자입니다. GET /v1/models를 쿼리하여 사용 가능한 모델을 나열하세요.\n모델은 텍스트 음성 변환(can_do_text_to_speech 속성)을 지원해야 합니다.\n" + type: string + pronunciation_dictionary_locators: + description: "텍스트에 적용될 발음 사전 로케이터(id, version_id) 목록입니다.\n순서대로 적용됩니다. 요청당 최대 3개의 로케이터를 사용할 수 있습니다.\n" + items: + $ref: "#/components/schemas/ElevenLabsPronunciationDictionaryLocator" + maxItems: 3 + nullable: true + type: array + seed: + description: "지정된 경우 시스템이 결정적으로 샘플링하기 위해 최선을 다합니다.\n동일한 시드와 파라미터로 반복된 요청은 동일한 결과를 반환해야 합니다.\n0에서 4294967295 사이의 정수여야 합니다.\n" + maximum: 4294967295 + minimum: 0 + nullable: true + type: integer + settings: + $ref: "#/components/schemas/ElevenLabsDialogueSettings" + required: + - inputs + type: object + ElevenLabsValidationError: + description: ElevenLabs의 검증 오류 응답입니다. + properties: + detail: + description: 검증 오류에 대한 세부 정보입니다. + properties: + message: + description: 오류 메시지 + type: string + status: + description: 오류 상태 + type: string + type: object + type: object + ElevenLabsVerifiedVoiceLanguage: + properties: + accent: + description: 음성의 악센트입니다(해당되는 경우). + nullable: true + type: string + language: + description: 음성의 언어입니다. + type: string + locale: + description: 음성의 언어 설정입니다(해당되는 경우). + nullable: true + type: string + model_id: + description: 음성의 모델 ID입니다. + type: string + preview_url: + description: 음성의 미리보기 URL입니다(해당되는 경우). + nullable: true + type: string + required: + - language + - model_id + type: object + ElevenLabsVoice: + description: "인증된 계정의 음성 라이브러리에서 가져온 음성입니다(예: 사전 제작된 음성)." + properties: + category: + description: "음성 카테고리(예: \"사전 제작됨\", \"복제됨\", \"생성됨\", \"전문가용\")." + type: string + description: + nullable: true + type: string + labels: + additionalProperties: + type: string + description: "음성에 첨부된 자유 형식 문자열 레이블 (예: 억양, 성별, 나이, 사용 사례)." + nullable: true + type: object + name: + type: string + preview_url: + nullable: true + type: string + verified_languages: + description: 음성의 확인된 언어들입니다. + items: + $ref: "#/components/schemas/ElevenLabsVerifiedVoiceLanguage" + nullable: true + type: array + voice_id: + type: string + required: + - voice_id + - name + - category + type: object + ElevenLabsVoiceSettings: + description: 음성 설정 구성 + nullable: true + properties: + similarity_boost: + default: 0.75 + description: AI가 복제할 때 원본 음성을 얼마나 밀접하게 따르는지. + format: double + maximum: 1 + minimum: 0 + nullable: true + type: number + speed: + default: 1 + description: "속도 조정. 1.0이 기본값이며, 더 낮은 값은 속도를 늦추고, 더 높은 값은 속도를 높입니다." + format: double + maximum: 1.2 + minimum: 0.7 + nullable: true + type: number + stability: + default: 0.5 + description: 음성의 안정성. 낮은 값은 더 넓은 감정 범위를 제공합니다. + format: double + maximum: 1 + minimum: 0 + nullable: true + type: number + style: + default: 0 + description: 스타일 과장. 원본 화자의 스타일을 증폭합니다. + format: double + maximum: 1 + minimum: 0 + nullable: true + type: number + use_speaker_boost: + default: true + description: 원본 화자와의 유사성을 향상시킵니다. 더 높은 계산 부하가 필요합니다. + nullable: true + type: boolean + type: object + ElevenLabsVoicesPaginatedResponse: + description: "프리메이드 음성 프록시가 반환하는 페이지 매김된 응답 형태입니다.\nElevenLabs `/v2/voices`를 미러링하며, `voices`를 `items`로 이름 변경하여 프론트엔드의 `RichComboWidget` 프로그레시브 페치 계약에 맞춥니다.\n" + properties: + has_more: + description: 후속 페이지에 더 많은 음성이 있는지 여부. + type: boolean + items: + description: 이 페이지의 프리메이드 음성 목록. + items: + $ref: "#/components/schemas/ElevenLabsVoice" + type: array + next_page_token: + description: 다음 페이지를 가져오기 위해 다음 요청에 전달할 커서. + nullable: true + type: string + required: + - items + - has_more + type: object + Error: + properties: + details: + description: 오류에 대한 선택적 상세 정보 또는 해결을 위한 힌트. + items: + type: string + type: array + message: + description: 오류에 대한 명확하고 간결한 설명. + type: string + type: object + ErrorResponse: + properties: + error: + type: string + message: + type: string + required: + - error + - message + type: object + FalPatinaMaterialExtractRequest: + description: "fal PATINA 추출 모델(fal-ai/patina/material/extract)의 요청 본문: 입력 이미지에서 텍스처를 추출하고 완전한 타일링 PBR 재질을 생성합니다." + properties: + enable_prompt_expansion: + default: true + description: LLM을 사용하여 프롬프트를 확장하여 더 풍부한 세부 정보를 얻습니다. + type: boolean + enable_safety_checker: + default: true + description: 생성된 이미지에 대한 안전 검사기를 활성화합니다. + type: boolean + image_size: + description: "출력 텍스처 크기. 사전 설정 문자열(square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9) 또는 정수 너비와 높이를 가진 객체입니다. 기본값은 square_hd입니다." + image_url: + description: 텍스처를 추출할 이미지의 URL. + type: string + maps: + default: + - basecolor + - normal + - roughness + - metalness + - height + description: 예측할 PBR 맵. 기본값은 5개 모두입니다. + items: + type: string + type: array + num_images: + default: 1 + description: 생성할 텍스처 이미지 수. + type: integer + num_inference_steps: + default: 8 + description: 텍스처 생성의 디노이징 단계 수. + type: integer + output_format: + default: png + description: "텍스처 및 PBR 맵의 출력 이미지 형식: jpeg, png, webp." + type: string + prompt: + description: 이미지에서 추출할 텍스처를 설명합니다. + type: string + seed: + description: 재현 가능한 생성을 위한 랜덤 시드. + type: integer + strength: + default: 0.6 + description: 입력 이미지를 얼마나 변환할지 결정합니다. + type: number + tile_size: + default: 128 + description: "잠재 데이터 공간에서의 타일 크기 (64 = 512px, 128 = 1024px)." + type: integer + tile_stride: + default: 64 + description: 잠재 데이터 공간에서의 타일 스트라이드. + type: integer + tiling_mode: + default: both + description: "타일링 방향: 양방향, 수평 또는 수직." + type: string + upscale_factor: + default: "0" + description: "예측된 PBR 맵의 업스케일 계수. 0(업스케일링 없음), 2(2배), 4(4배) 중 하나이며, 문자열 또는 숫자로 지정합니다." + required: + - prompt + - image_url + type: object + FalPatinaMaterialImage: + description: 생성된 텍스처 또는 PBR 맵 이미지입니다. + properties: + map_type: + description: "PBR 맵 유형(basecolor, 노멀(normal), roughness, metalness, 높이(height)). 기본 텍스처 이미지에는 없음." + type: string + url: + description: 생성된 이미지의 URL입니다. + type: string + type: object + FalPatinaMaterialRequest: + description: fal PATINA 재질 생성 모델의 요청 본문입니다. + properties: + enable_prompt_expansion: + default: true + description: LLM으로 프롬프트를 확장하여 더 풍부한 디테일을 얻습니다. + type: boolean + enable_safety_checker: + default: true + description: 생성된 이미지에 대한 안전 검사기를 활성화합니다. + type: boolean + image_size: + description: "출력 텍스처 크기. 사전 설정 문자열(square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9) 또는 정수 너비(width)와 높이(height)를 포함하는 객체 중 하나입니다. 기본값은 square_hd(1024x1024)입니다. 메가픽셀당 가격을 결정합니다." + image_url: + description: 이미지 기반 이미지 생성(image-to-image) 또는 inpainting을 위한 입력 이미지의 URL입니다. + type: string + maps: + default: + - basecolor + - normal + - roughness + - metalness + - height + description: 예측할 PBR 맵을 선택합니다. 예측된 각 맵은 메가픽셀당 요금이 추가됩니다. 기본값은 다섯 개 모두입니다. + items: + type: string + type: array + mask_url: + description: inpainting을 위한 마스크 이미지의 URL입니다. image_url이 필요합니다. + type: string + num_images: + default: 1 + description: 생성할 텍스처 이미지의 수입니다. + type: integer + num_inference_steps: + default: 8 + description: 텍스처 생성을 위한 denoising 단계 수입니다. + type: integer + output_format: + default: png + description: "텍스처 및 PBR 맵의 출력 이미지 형식: jpeg, png 또는 webp." + type: string + prompt: + description: 생성할 재질/텍스처를 설명하는 텍스트 프롬프트입니다. + type: string + seed: + description: 재현 가능한 생성을 위한 난수 시드입니다. + type: integer + strength: + default: 0.6 + description: 입력 이미지를 얼마나 변환할지 결정합니다. image_url이 제공된 경우에만 사용됩니다. + type: number + tile_size: + default: 128 + description: "잠재 데이터 공간에서의 타일 크기 (64 = 512px, 128 = 1024px)." + type: integer + tile_stride: + default: 64 + description: 잠재 데이터 공간에서의 타일 스트라이드. + type: integer + tiling_mode: + default: both + description: "타일링 방향: 양방향, 수평 또는 수직." + type: string + upscale_factor: + default: "0" + description: "예측된 PBR 맵의 업스케일 계수. 0(업스케일링 없음), 2(2배), 4(4배) 중 하나이며, 문자열 또는 숫자로 지정합니다. 업스케일링은 (업스케일 전) 메가픽셀당 맵별 추가 요금이 부과됩니다." + required: + - prompt + type: object + FalPatinaMaterialResponse: + description: fal PATINA 재료 생성 모델의 응답입니다. + properties: + images: + description: 생성된 타일 가능 텍스처 이미지와 예측된 PBR 재료 맵입니다. 기본 텍스처에는 URL만 있으며 각 맵 항목에는 map_type도 포함됩니다. + items: + $ref: "#/components/schemas/FalPatinaMaterialImage" + type: array + prompt: + description: 텍스처 생성에 사용된 프롬프트 (확장되었을 수 있음). + type: string + seed: + description: 텍스처 생성에 사용된 시드입니다. + type: integer + timings: + additionalProperties: true + description: 종단 간 타이밍 분석(초). + type: object + type: object + FalPatinaRequest: + description: "fal PATINA 이미지 기반 이미지 생성 모델(fal-ai/patina)의 요청 본문: 단일 입력 이미지에서 PBR 맵을 예측합니다." + properties: + enable_safety_checker: + default: true + description: 이미지에 대한 안전 검사기를 활성화합니다. + type: boolean + image_url: + description: 입력 이미지의 URL(사진 또는 렌더링). + type: string + maps: + default: + - basecolor + - normal + - roughness + - metalness + - height + description: 예측할 PBR 맵. 기본값은 다섯 개 모두입니다. + items: + type: string + type: array + output_format: + default: png + description: "출력 이미지 형식: jpeg, png 또는 webp." + type: string + seed: + description: 재현 가능한 디노이징을 위한 무작위 시드. + type: integer + sync_mode: + default: false + description: "참(true)인 경우, 이미지를 CDN URL 대신 데이터 URI로 반환합니다." + type: boolean + required: + - image_url + type: object + FalQueueStatus: + description: "fal 실행 대기열 상태 객체로, 요청 제출 시와 상태 폴링 시 모두 반환됩니다." + properties: + queue_position: + description: 실행 대기열 내 위치 (IN_QUEUE 상태인 경우). + type: integer + request_id: + description: fal 실행 대기열 요청 ID입니다. + type: string + status: + description: "실행 대기열 상태: IN_QUEUE, IN_PROGRESS 또는 COMPLETED." + type: string + required: + - status + - request_id + type: object + FeaturesResponse: + properties: + partner_node_conversion_rate: + description: 파트너 노드의 전환율 + example: 0.5 + type: number + required: + - partner_node_conversion_rate + type: object + FileSearchTool: + properties: + type: + description: 도구의 유형 + enum: + - file_search + type: string + vector_store_ids: + description: 검색할 벡터 저장소의 ID + items: + type: string + type: array + required: + - type + - vector_store_ids + type: object + FileSearchToolCall: + description: "파일 검색 도구 호출의 결과입니다. 자세한 내용은\n[파일 검색 가이드](/docs/guides/tools-file-search)를 참조하세요.\n" + properties: + id: + description: "파일 검색 도구 호출의 고유 ID입니다.\n" + type: string + queries: + description: "파일을 검색하는 데 사용된 쿼리입니다.\n" + items: + type: string + type: array + results: + description: "파일 검색 도구 호출의 결과입니다.\n" + items: + properties: + file_id: + description: "파일의 고유 ID입니다.\n" + type: string + filename: + description: "파일의 이름입니다.\n" + type: string + score: + description: "파일의 관련성 점수 - 0과 1 사이의 값입니다.\n" + format: float + type: number + text: + description: "파일에서 검색된 텍스트입니다.\n" + type: string + type: object + type: array + status: + description: "파일 검색 도구 호출의 상태입니다. `in_progress`, `searching`, `incomplete` 또는 `failed` 중 하나입니다.\n" + enum: + - in_progress + - searching + - completed + - incomplete + - failed + type: string + type: + description: "파일 검색 도구 호출의 유형입니다. 항상 `file_search_call`입니다.\n" + enum: + - file_search_call + type: string + x-stainless-const: true + required: + - id + - type + - status + - queries + title: File search tool call + type: object + FreeTierGrantState: + description: "첫 번째 무료 티어 크레딧 부여의 보류 상태입니다. \"verification_required\"는 계정 확인 대기 중(예: 확인되지 않은 이메일 또는 차단된 이메일 도메인)으로 인해 부여가 거부되었음을 의미합니다. \"deferred\"는 부여가 일시적으로 연기되었으며 나중에 요청 시 성공할 수 있음을 의미합니다. 부여가 보류되지 않은 경우에는 존재하지 않습니다.\n" + enum: + - verification_required + - deferred + type: string + FreepikErrorResponse: + properties: + error: + type: string + message: + type: string + type: object + FreepikMagnificRelightRequest: + properties: + advanced_settings: + properties: + blacks: + default: 50 + description: 이미지에서 검정색 수준을 조정합니다. + maximum: 100 + minimum: 0 + type: integer + brightness: + default: 50 + description: 이미지의 밝기 수준을 조정합니다. + maximum: 100 + minimum: 0 + type: integer + contrast: + default: 50 + description: 이미지의 대비 수준을 조정합니다. + maximum: 100 + minimum: 0 + type: integer + engine: + default: automatic + description: "재조명을 위한 엔진 프리셋:\n- balanced: 다재다능한 일반 목적 옵션\n- cool: 더 차가운 톤으로 더 밝게\n- real: 사진 품질 향상을 목표 (실험적)\n- illusio: 일러스트 및 드로잉에 최적화\n- fairy: 판타지 테마 이미지에 적합\n- colorful_anime: 애니메이션, 만화 및 선명한 색상에 이상적\n- hard_transform: 원본 이미지를 크게 변경\n- softy: 약간 부드러운 효과, 그래픽 디자인에 적합\n" + enum: + - automatic + - balanced + - cool + - real + - illusio + - fairy + - colorful_anime + - hard_transform + - softy + type: string + fixed_generation: + default: false + description: 활성화하면 동일한 설정을 사용하면 항상 동일한 이미지가 생성됩니다. + type: boolean + saturation: + default: 50 + description: 이미지의 채도 수준을 조정합니다. + maximum: 100 + minimum: 0 + type: integer + transfer_light_a: + default: automatic + description: 라이트 전송의 강도를 조정합니다. + enum: + - automatic + - low + - medium + - normal + - high + - high_on_faces + type: string + transfer_light_b: + default: automatic + description: 라이트 전송 강도도 수정합니다. 다양한 효과를 위해 transfer_light_a와 결합할 수 있습니다. + enum: + - automatic + - composition + - straight + - smooth_in + - smooth_out + - smooth_both + - reverse_both + - soft_in + - soft_out + - soft_mid + - strong_mid + - style_shift + - strong_shift + type: string + whites: + default: 50 + description: 이미지에서 흰색 수준을 조정합니다. + maximum: 100 + minimum: 0 + type: integer + type: object + change_background: + default: true + description: 활성화하면 프롬프트 및/또는 참조 이미지를 기반으로 배경을 변경합니다. 제품 배치 및 초상화에 유용합니다. + type: boolean + image: + description: 재조명할 이미지의 Base64 또는 URL + type: string + interpolate_from_original: + default: false + description: 활성화하면 라이트 전송 강도 슬라이더를 사용하여 최종 이미지가 원본에서 보간됩니다. + type: boolean + light_transfer_strength: + default: 100 + description: "라이트 전송 강도 수준. 0%는 원본에 가장 가깝게 유지하고, 100%는 최대 전송입니다." + maximum: 100 + minimum: 0 + type: integer + preserve_details: + default: true + description: "원본 이미지의 질감과 작은 세부 사항을 유지합니다. 제품 사진, 텍스트 등에 적합합니다." + type: boolean + prompt: + description: "설명 프롬프트를 사용하여 생성 과정을 안내하고 라이트 전송에 영향을 줄 수 있습니다.\n중요: 괄호 안에 1에서 1.4 사이의 숫자를 사용하여 프롬프트에서 라이트의 특정 측면을 강조할 수 있습니다. 예: \"(dark scene:1.3)\".\n" + type: string + style: + default: standard + description: 재조명 작업을 위한 스타일 프리셋 + enum: + - standard + - darker_but_realistic + - clean + - smooth + - brighter + - contrasted_n_hdr + - just_composition + type: string + transfer_light_from_lightmap: + description: "라이트 전송을 위한 라이트맵의 Base64 또는 URL. 'transfer_light_from_reference_image'와 호환되지 않습니다." + type: string + transfer_light_from_reference_image: + description: "라이트 전송을 위한 참조 이미지의 Base64 또는 URL. 'transfer_light_from_lightmap'와 호환되지 않습니다." + type: string + webhook_url: + description: 작업 상태가 변경될 때마다 비동기 알림을 수신하는 선택적 콜백 URL입니다. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikMagnificStyleTransferRequest: + properties: + engine: + default: balanced + description: 스타일 전송을 위한 엔진 프리셋 + enum: + - balanced + - definio + - illusio + - 3d_cartoon + - colorful_anime + - caricature + - real + - super_real + - softy + type: string + fixed_generation: + default: false + description: 활성화하면 동일한 설정을 사용할 때 항상 동일한 이미지가 생성됩니다. + type: boolean + flavor: + default: faithful + description: 전환 스타일의 종류 + enum: + - faithful + - gen_z + - psychedelia + - detaily + - clear + - donotstyle + - donotstyle_sharp + type: string + image: + description: 스타일 전환을 수행할 이미지의 Base64 또는 URL + type: string + is_portrait: + default: false + description: 이미지를 인물 사진으로 처리할지 여부를 나타냅니다. + type: boolean + portrait_beautifier: + description: 인물 사진의 얼굴 보정. is_portrait가 참인 경우에만 사용됩니다. + enum: + - beautify_face + - beautify_face_max + type: string + portrait_style: + default: standard + description: 인물 사진에 적용되는 시각적 스타일. is_portrait가 참인 경우에만 사용됩니다. + enum: + - standard + - pop + - super_pop + type: string + prompt: + description: AI 모델에 대한 프롬프트 + type: string + reference_image: + description: 스타일 전환을 위한 참조 이미지의 Base64 또는 URL + type: string + structure_strength: + default: 50 + description: 원본 이미지의 구조를 유지할 수 있도록 합니다. + maximum: 100 + minimum: 0 + type: integer + style_strength: + default: 100 + description: 스타일 강도의 백분율 + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: 비동기 알림을 위한 선택적 콜백 URL입니다. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + - reference_image + type: object + FreepikMagnificUpscalerCreativeRequest: + properties: + creativity: + default: 0 + description: "AI의 창의성을 높이거나 낮춥니다. 유효 값 범위는 [-10, 10]입니다." + maximum: 10 + minimum: -10 + type: integer + engine: + default: automatic + description: Magnific 모델 엔진입니다. + enum: + - automatic + - magnific_illusio + - magnific_sharpy + - magnific_sparkle + type: string + fractality: + default: 0 + description: "프롬프트의 강도와 제곱 픽셀당 복잡성을 제어합니다. 유효 값 범위는 [-10, 10]입니다." + maximum: 10 + minimum: -10 + type: integer + hdr: + default: 0 + description: "선명도와 세부 수준을 높이거나 낮춥니다. 유효 값 범위는 [-10, 10]입니다." + maximum: 10 + minimum: -10 + type: integer + image: + description: 업스케일할 Base64 이미지 또는 URL. 결과 이미지는 최대 허용 크기인 2530만 픽셀을 초과할 수 없습니다. + type: string + optimized_for: + default: standard + description: 업스케일 프로세스를 최적화하기 위한 스타일입니다. + enum: + - standard + - soft_portraits + - hard_portraits + - art_n_illustration + - videogame_assets + - nature_n_landscapes + - films_n_photography + - 3d_renders + - science_fiction_n_horror + type: string + prompt: + description: 업스케일 프로세스를 안내하는 프롬프트입니다. AI 생성 이미지에 동일한 프롬프트를 재사용하면 결과가 향상됩니다. + type: string + resemblance: + default: 0 + description: "원본 이미지와의 유사도 수준을 조정합니다. 유효 값 범위는 [-10, 10]입니다." + maximum: 10 + minimum: -10 + type: integer + scale_factor: + default: 2x + description: 이미지의 크기 조절 비율을 구성합니다. 비율이 높을수록 이미지 처리 시간이 길어집니다. + enum: + - 2x + - 4x + - 8x + - 16x + type: string + webhook_url: + description: 작업 상태가 변경될 때마다 비동기 알림을 수신하는 선택적 콜백 URL입니다. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikMagnificUpscalerPrecisionV2Request: + properties: + flavor: + description: "이미지 처리 종류:\n- sublime: 예술적 및 일러스트 이미지에 최적화\n- photo: 사진 이미지에 최적화\n- photo_denoiser: 노이즈 감소가 적용된 사진에 특화\n" + enum: + - sublime + - photo + - photo_denoiser + type: string + image: + description: "업스케일할 소스 이미지입니다. 다음 중 하나를 허용합니다:\n- 이미지를 가리키는 공개적으로 접근 가능한 HTTPS URL\n- base64로 인코딩된 이미지 문자열\n" + type: string + scale_factor: + description: 이미지 크기 조절 비율입니다. 출력이 입력에 비해 얼마나 더 커질지 결정합니다. + maximum: 16 + minimum: 2 + type: integer + sharpen: + default: 7 + description: 이미지 선명도 강도 제어입니다. 값이 높을수록 가장자리 정의와 선명도가 증가합니다. + maximum: 100 + minimum: 0 + type: integer + smart_grain: + default: 7 + description: 지능형 입자/텍스처 향상. 값이 높을수록 더 세밀한 텍스처가 추가됩니다. + maximum: 100 + minimum: 0 + type: integer + ultra_detail: + default: 30 + description: 초고해상도 세부 정보 향상 수준. 값이 높을수록 더 복잡한 세부 정보를 생성합니다. + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: 업스케일링 작업이 완료될 때 비동기 알림을 수신하는 선택적 콜백 URL입니다. + format: uri + type: string + required: + - image + type: object + FreepikSkinEnhancerCreativeRequest: + properties: + image: + description: 입력 이미지. Base64 인코딩 또는 HTTPS URL(공개적으로 접근 가능해야 함)을 지원합니다. + example: https://example.com/portrait.jpg + type: string + sharpen: + default: 0 + description: 샤프닝 강도 + maximum: 100 + minimum: 0 + type: integer + smart_grain: + default: 2 + description: 스마트 그레인 강도 + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: 비동기 알림을 위한 선택적 콜백 URL입니다. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikSkinEnhancerFaithfulRequest: + properties: + image: + description: 입력 이미지. Base64 인코딩 또는 HTTPS URL(공개적으로 접근 가능해야 함)을 지원합니다. + example: https://example.com/portrait.jpg + type: string + sharpen: + default: 0 + description: 샤프닝 강도 + maximum: 100 + minimum: 0 + type: integer + skin_detail: + default: 80 + description: 피부 세부 정보 향상 수준 + maximum: 100 + minimum: 0 + type: integer + smart_grain: + default: 2 + description: 스마트 그레인 강도 + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: 비동기 알림을 위한 선택적 콜백 URL입니다. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikSkinEnhancerFlexibleRequest: + properties: + image: + description: 입력 이미지. Base64 인코딩 또는 HTTPS URL(공개적으로 접근 가능해야 함)을 지원합니다. + example: https://example.com/portrait.jpg + type: string + optimized_for: + default: enhance_skin + description: 유연한 피부 향상기의 최적화 대상 + enum: + - enhance_skin + - improve_lighting + - enhance_everything + - transform_to_real + - no_make_up + type: string + sharpen: + default: 0 + description: 샤프닝 강도 + maximum: 100 + minimum: 0 + type: integer + smart_grain: + default: 2 + description: 스마트 그레인 강도 + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: 비동기 알림을 위한 선택적 콜백 URL입니다. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikTaskData: + properties: + generated: + description: 생성된 이미지의 URL입니다. + items: + format: uri + type: string + type: array + status: + enum: + - CREATED + - IN_PROGRESS + - COMPLETED + - FAILED + type: string + task_id: + example: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + format: uuid + type: string + type: object + FreepikTaskResponse: + properties: + data: + $ref: "#/components/schemas/FreepikTaskData" + required: + - data + type: object + FunctionTool: + properties: + description: + description: 함수가 수행하는 작업에 대한 설명 + type: string + name: + description: 함수의 이름 + type: string + parameters: + description: 함수 파라미터를 설명하는 JSON Schema 객체 + type: object + type: + description: 도구의 유형 + enum: + - function + type: string + required: + - type + - name + - parameters + type: object + FunctionToolCall: + description: "함수를 실행하기 위한 도구 호출입니다. 자세한 내용은\n[함수 호출 가이드](/docs/guides/function-calling)를 참조하세요.\n" + properties: + arguments: + description: "함수에 전달할 인수의 JSON 문자열입니다.\n" + type: string + call_id: + description: "모델에 의해 생성된 함수 도구 호출의 고유 ID입니다.\n" + type: string + id: + description: "함수 도구 호출의 고유 ID입니다.\n" + type: string + name: + description: "실행할 함수의 이름입니다.\n" + type: string + status: + description: "항목의 상태입니다. `in_progress`, `completed`, 또는\n`incomplete` 중 하나입니다. API를 통해 항목이 반환될 때 채워집니다.\n" + enum: + - in_progress + - completed + - incomplete + type: string + type: + description: "함수 도구 호출의 유형입니다. 항상 `function_call`입니다.\n" + enum: + - function_call + type: string + x-stainless-const: true + required: + - type + - call_id + - name + - arguments + title: Function tool call + type: object + GeminiCandidate: + properties: + citationMetadata: + $ref: "#/components/schemas/GeminiCitationMetadata" + content: + $ref: "#/components/schemas/GeminiContent" + finishReason: + type: string + safetyRatings: + items: + $ref: "#/components/schemas/GeminiSafetyRating" + type: array + type: object + GeminiCitation: + properties: + authors: + items: + type: string + type: array + endIndex: + type: integer + license: + type: string + publicationDate: + format: date + type: string + startIndex: + type: integer + title: + type: string + uri: + type: string + type: object + GeminiCitationMetadata: + properties: + citations: + items: + $ref: "#/components/schemas/GeminiCitation" + type: array + type: object + GeminiContent: + description: "모델과의 현재 대화의 콘텐츠입니다. 단일 턴 쿼리의 경우 단일 인스턴스입니다. 다중 턴 쿼리의 경우 대화 기록과 최신 요청을 포함하는 반복 필드입니다.\n" + properties: + parts: + items: + $ref: "#/components/schemas/GeminiPart" + type: array + role: + enum: + - user + - model + example: user + type: string + required: + - role + - parts + type: object + GeminiFileData: + description: URI 기반 데이터입니다. + properties: + fileUri: + description: URI + type: string + mimeType: + $ref: "#/components/schemas/GeminiMimeType" + type: object + GeminiFunctionDeclaration: + properties: + description: + type: string + name: + type: string + parameters: + description: 함수 파라미터에 대한 JSON 스키마입니다. + type: object + required: + - name + - parameters + type: object + GeminiGenerateContentRequest: + properties: + contents: + items: + $ref: "#/components/schemas/GeminiContent" + type: array + generationConfig: + $ref: "#/components/schemas/GeminiGenerationConfig" + safetySettings: + items: + $ref: "#/components/schemas/GeminiSafetySetting" + type: array + systemInstruction: + $ref: "#/components/schemas/GeminiSystemInstructionContent" + tools: + items: + $ref: "#/components/schemas/GeminiTool" + type: array + uploadImagesToStorage: + description: "참(true)인 경우, 생성된 이미지는 클라우드 스토리지에 업로드되고 인라인 base64 데이터 대신 서명된 URL로 반환됩니다. URL은 24시간 후에 만료됩니다." + type: boolean + videoMetadata: + $ref: "#/components/schemas/GeminiVideoMetadata" + required: + - contents + type: object + GeminiGenerateContentResponse: + properties: + candidates: + items: + $ref: "#/components/schemas/GeminiCandidate" + type: array + createTime: + description: 응답이 생성된 시간입니다. + type: string + modelVersion: + description: 응답을 생성하는 데 사용된 모델 버전입니다. + type: string + promptFeedback: + $ref: "#/components/schemas/GeminiPromptFeedback" + responseId: + description: 응답의 고유 식별자입니다. + type: string + usageMetadata: + $ref: "#/components/schemas/GeminiUsageMetadata" + type: object + GeminiGenerationConfig: + properties: + imageConfig: + description: 이미지 생성을 위한 구성입니다. + properties: + aspectRatio: + description: 생성된 이미지의 종횡비입니다. + type: string + imageOutputOptions: + description: 선택 사항입니다. 생성된 이미지의 이미지 출력 형식입니다. + properties: + compressionQuality: + description: 선택 사항입니다. 출력 이미지의 압축 품질입니다. + type: integer + mimeType: + description: 선택 사항입니다. 출력이 저장되어야 하는 이미지 형식입니다. + type: string + type: object + imageSize: + description: "선택 사항입니다. 생성된 이미지의 크기를 지정합니다. 지원되는 값은 1K, 2K, 4K입니다. 지정되지 않은 경우 모델은 기본값 1K를 사용합니다." + type: string + type: object + maxOutputTokens: + description: "응답에서 생성될 수 있는 최대 토큰 수입니다. 토큰은 약 4자입니다. 100토큰은 대략 60-80단어에 해당합니다.\n" + example: 2048 + maximum: 8192 + minimum: 16 + type: integer + responseModalities: + items: + enum: + - TEXT + - IMAGE + type: string + type: array + seed: + description: "시드가 특정 값으로 고정되면 모델은 반복 요청에 대해 동일한 응답을 제공하기 위해 최선을 다합니다. 결정적 출력은 보장되지 않습니다. 또한 온도와 같은 모델 또는 파라미터 설정을 변경하면 동일한 시드 값을 사용하더라도 응답에 변형이 발생할 수 있습니다. 기본적으로 무작위 시드 값이 사용됩니다. 다음 모델에서 사용 가능합니다: gemini-2.5-flash, gemini-2.5-pro, gemini-2.5-flash-preview-04-1, gemini-2.5-pro-preview-05-0, gemini-2.0-flash-lite-00, gemini-2.0-flash-001\n" + example: 343940597 + type: integer + stopSequences: + items: + type: string + type: array + temperature: + default: 1 + description: "온도는 응답 생성 중 샘플링에 사용되며, topP 및 topK가 적용될 때 발생합니다. 온도는 토큰 선택의 무작위성 정도를 제어합니다. 낮은 온도는 덜 개방적이거나 창의적인 응답이 필요한 프롬프트에 좋은 반면, 높은 온도는 더 다양하거나 창의적인 결과를 초래할 수 있습니다. 온도가 0이면 가장 높은 확률의 토큰이 항상 선택됩니다. 이 경우 주어진 프롬프트에 대한 응답은 대부분 결정적이지만 여전히 약간의 변형이 가능합니다. 모델이 너무 일반적이거나 너무 짧은 응답을 반환하거나 모델이 대체 응답을 제공하는 경우 온도를 높여 보십시오.\n" + format: float + maximum: 2 + minimum: 0 + type: number + thinkingConfig: + description: 선택 사항입니다. 생각 기능을 위한 구성입니다. 생각은 모델이 복잡한 작업을 더 작은 단계로 분해하여 더 높은 품질의 응답을 생성하는 프로세스입니다. + properties: + includeThoughts: + description: "선택 사항입니다. 참(true)인 경우, 모델은 응답에 생각을 포함합니다." + type: boolean + thinkingBudget: + description: 선택 사항입니다. 모델의 생각 프로세스에 대한 토큰 예산입니다. 모델은 이 예산 내에서 유지하기 위해 최선을 다합니다. + type: integer + thinkingLevel: + description: 선택 사항입니다. 모델의 생각 수준입니다. + enum: + - THINKING_LEVEL_UNSPECIFIED + - LOW + - MEDIUM + - HIGH + - MINIMAL + type: string + type: object + topK: + default: 40 + description: "Top-K는 모델이 출력을 위해 토큰을 선택하는 방식을 변경합니다. Top-K가 1이면 다음 선택된 토큰은 모델 어휘의 모든 토큰 중에서 가장 확률이 높은 토큰입니다. Top-K가 3이면 다음 토큰은 temperature를 사용하여 가장 확률이 높은 3개의 토큰 중에서 선택됩니다.\n" + example: 40 + minimum: 1 + type: integer + topP: + default: 0.95 + description: "지정된 경우, nucleus 샘플링이 사용됩니다.\nTop-P는 모델이 출력을 위해 토큰을 선택하는 방식을 변경합니다. 토큰은 가장 확률이 높은 것(top-K 참조)에서 가장 낮은 것까지 선택되며, 확률의 합이 top-P 값과 같아질 때까지 선택됩니다. 예를 들어, 토큰 A, B, C의 확률이 각각 0.3, 0.2, 0.1이고 top-P 값이 0.5인 경우, 모델은 temperature를 사용하여 A 또는 B를 다음 토큰으로 선택하고 C는 후보에서 제외합니다.\n덜 무작위적인 응답을 위해서는 낮은 값을, 더 무작위적인 응답을 위해서는 높은 값을 지정하세요.\n" + format: float + maximum: 1 + minimum: 0 + type: number + type: object + GeminiInlineData: + description: "원시 바이트의 인라인 데이터입니다. gemini-2.0-flash-lite 및 gemini-2.0-flash의 경우 inlineData를 사용하여 최대 3000개의 이미지를 지정할 수 있습니다.\n" + properties: + data: + description: "프롬프트에 인라인으로 포함할 이미지, PDF 또는 비디오의 base64 인코딩입니다. 미디어를 인라인으로 포함할 때는 데이터의 미디어 유형(mimeType)도 지정해야 합니다. 크기 제한: 20MB\n" + format: byte + type: string + mimeType: + $ref: "#/components/schemas/GeminiMimeType" + type: object + GeminiMimeType: + description: data 또는 fileUri 필드에 지정된 파일의 미디어 유형입니다. 허용되는 값은 다음과 같습니다. gemini-2.0-flash-lite 및 gemini-2.0-flash의 경우 오디오 파일의 최대 길이는 8.4시간이고 비디오 파일(오디오 제외)의 최대 길이는 1시간입니다. 자세한 내용은 Gemini 오디오 및 비디오 요구 사항을 참조하세요. 텍스트 파일은 UTF-8로 인코딩되어야 합니다. 텍스트 파일의 내용은 토큰 제한에 포함됩니다. 이미지 해상도에는 제한이 없습니다. + enum: + - application/pdf + - audio/mpeg + - audio/mp3 + - audio/wav + - image/png + - image/jpeg + - image/webp + - text/plain + - video/mov + - video/mpeg + - video/mp4 + - video/mpg + - video/avi + - video/wmv + - video/mpegps + - video/flv + type: string + GeminiOffset: + description: "비디오 타임라인 위치의 기간 오프셋을 나타냅니다.\n" + properties: + nanos: + description: "나노초 해상도의 초 단위 부호가 있는 분수입니다. 분수가 있는 음수 초 값은 여전히 음수가 아닌 나노초 값을 가져야 합니다.\n" + example: 0 + maximum: 999999999 + minimum: 0 + type: integer + seconds: + description: "시간 범위의 부호가 있는 초입니다. -315,576,000,000에서 +315,576,000,000 사이여야 합니다(포함).\n" + example: 60 + maximum: 315576000000 + minimum: -315576000000 + type: integer + type: object + GeminiPart: + properties: + fileData: + $ref: "#/components/schemas/GeminiFileData" + inlineData: + $ref: "#/components/schemas/GeminiInlineData" + text: + description: 텍스트 프롬프트 또는 코드 스니펫입니다. + example: Write a story about a robot learning to paint + type: string + thought: + description: 이 부분이 모델의 사고/추론 단계임을 나타냅니다. + type: boolean + type: object + GeminiPromptFeedback: + properties: + blockReason: + type: string + blockReasonMessage: + type: string + safetyRatings: + items: + $ref: "#/components/schemas/GeminiSafetyRating" + type: array + type: object + GeminiSafetyCategory: + enum: + - HARM_CATEGORY_SEXUALLY_EXPLICIT + - HARM_CATEGORY_HATE_SPEECH + - HARM_CATEGORY_HARASSMENT + - HARM_CATEGORY_DANGEROUS_CONTENT + type: string + GeminiSafetyRating: + properties: + category: + $ref: "#/components/schemas/GeminiSafetyCategory" + probability: + description: 콘텐츠가 지정된 안전 카테고리를 위반할 확률 + enum: + - NEGLIGIBLE + - LOW + - MEDIUM + - HIGH + - UNKNOWN + type: string + type: object + GeminiSafetySetting: + description: "안전하지 않은 콘텐츠를 차단하기 위한 요청별 설정입니다. GenerateContentResponse.candidates에 적용됩니다.\n" + properties: + category: + $ref: "#/components/schemas/GeminiSafetyCategory" + threshold: + $ref: "#/components/schemas/GeminiSafetyThreshold" + required: + - category + - threshold + type: object + GeminiSafetyThreshold: + enum: + - "OFF" + - BLOCK_NONE + - BLOCK_LOW_AND_ABOVE + - BLOCK_MEDIUM_AND_ABOVE + - BLOCK_ONLY_HIGH + type: string + GeminiSystemInstructionContent: + description: "gemini-2.0-flash 및 gemini-2.0-flash-lite에서 사용할 수 있습니다. 모델을 더 나은 성능으로 이끌기 위한 지침입니다. 예를 들어, \"가능한 한 간결하게 답변하세요\" 또는 \"응답에 기술 용어를 사용하지 마세요\"와 같습니다. 텍스트 문자열은 토큰 제한에 포함됩니다. systemInstruction의 role 필드는 무시되며 모델의 성능에 영향을 미치지 않습니다. 참고: 부분에는 텍스트만 사용해야 하며 각 부분의 콘텐츠는 별도의 단락에 있어야 합니다.\n" + properties: + parts: + description: "단일 메시지를 구성하는 정렬된 부분의 목록입니다. 서로 다른 부분은 서로 다른 IANA MIME 유형을 가질 수 있습니다. 최대 토큰 수 또는 이미지 수와 같은 입력 제한에 대해서는 Google 모델 페이지의 모델 사양을 참조하세요.\n" + items: + $ref: "#/components/schemas/GeminiTextPart" + type: array + role: + description: "메시지를 생성하는 엔터티의 ID입니다. 다음 값이 지원됩니다. user: 실제 사람이 보낸 메시지임을 나타내며, 일반적으로 사용자 생성 메시지입니다. model: 모델이 생성한 메시지임을 나타냅니다. model 값은 다중 턴 대화 중에 모델의 메시지를 대화에 삽입하는 데 사용됩니다. 다중 턴이 아닌 대화의 경우 이 필드는 비워 두거나 설정하지 않을 수 있습니다.\n" + enum: + - user + - model + example: user + type: string + required: + - role + - parts + type: object + GeminiTextPart: + properties: + text: + description: 텍스트 프롬프트 또는 코드 스니펫입니다. + example: Answer as concisely as possible + type: string + type: object + GeminiTool: + description: "시스템이 모델의 지식과 범위를 벗어나 외부 시스템과 상호 작용하여 작업 또는 작업 집합을 수행할 수 있도록 하는 코드 조각입니다. Function calling을 참조하세요.\n" + properties: + functionDeclarations: + items: + $ref: "#/components/schemas/GeminiFunctionDeclaration" + type: array + type: object + GeminiUsageMetadata: + properties: + cachedContentTokenCount: + description: 출력 전용입니다. 입력의 캐시된 부분에 있는 토큰 수(캐시된 콘텐츠)입니다. + type: integer + candidatesTokenCount: + description: 응답의 토큰 수입니다. + type: integer + candidatesTokensDetails: + description: 모달리티별 후보 토큰의 세부 분석입니다. + items: + $ref: "#/components/schemas/ModalityTokenCount" + type: array + promptTokenCount: + description: "요청의 토큰 수입니다. cachedContent가 설정된 경우에도 이는 총 유효 프롬프트 크기이며, 캐시된 콘텐츠의 토큰 수를 포함합니다." + type: integer + promptTokensDetails: + description: 모달리티별 프롬프트 토큰의 세부 분석입니다. + items: + $ref: "#/components/schemas/ModalityTokenCount" + type: array + thoughtsTokenCount: + description: 사고 출력에 있는 토큰 수입니다. + type: integer + toolUsePromptTokenCount: + description: 도구 사용 프롬프트에 있는 토큰 수입니다. + type: integer + totalTokenCount: + description: 총 토큰 수(프롬프트 + 후보)입니다. + type: integer + trafficType: + description: "요청에 사용된 트래픽 유형 (예: PROVISIONED_THROUGHPUT)." + type: string + type: object + GeminiVideoMetadata: + description: "비디오 입력의 경우, Duration 형식의 비디오 시작 및 종료 오프셋입니다. 예를 들어 1:00부터 시작하는 10초 클립을 지정하려면 \"startOffset\": { \"seconds\": 60 } 및 \"endOffset\": { \"seconds\": 70 }을 설정합니다. 메타데이터는 비디오 데이터가 inlineData 또는 fileData로 제공되는 경우에만 지정해야 합니다.\n" + properties: + endOffset: + $ref: "#/components/schemas/GeminiOffset" + startOffset: + $ref: "#/components/schemas/GeminiOffset" + type: object + GitCommitSummary: + properties: + author: + description: 커밋의 작성자 + type: string + branch_name: + description: 커밋이 이루어진 브랜치 + type: string + commit_hash: + description: 커밋의 해시 + type: string + commit_name: + description: 커밋의 이름 + type: string + status_summary: + additionalProperties: + type: string + description: 운영 체제와 상태 쌍의 맵 + type: object + timestamp: + description: 커밋이 이루어진 타임스탬프 + format: date-time + type: string + type: object + GithubEnterprise: + description: GitHub 엔터프라이즈 + properties: + avatar_url: + description: 엔터프라이즈 아바타의 URL + type: string + created_at: + description: 엔터프라이즈가 생성된 시기 + format: date-time + type: string + description: + description: 엔터프라이즈 설명 + nullable: true + type: string + html_url: + description: 엔터프라이즈의 HTML URL + type: string + id: + description: 엔터프라이즈 ID + type: integer + name: + description: 엔터프라이즈 이름 + type: string + node_id: + description: 엔터프라이즈 노드 ID + type: string + slug: + description: 엔터프라이즈 슬러그 + type: string + updated_at: + description: 엔터프라이즈가 마지막으로 업데이트된 시기 + format: date-time + type: string + website_url: + description: 엔터프라이즈 웹사이트 URL + nullable: true + type: string + required: + - id + - slug + - name + - node_id + - avatar_url + - html_url + - created_at + - updated_at + type: object + GithubInstallation: + description: GitHub App 설치 + properties: + access_tokens_url: + description: 액세스 토큰의 API URL + type: string + account: + $ref: "#/components/schemas/GithubUser" + app_id: + description: GitHub App ID + type: integer + created_at: + description: 설치가 생성된 시기 + format: date-time + type: string + events: + description: 설치가 구독하는 이벤트 + items: + type: string + type: array + html_url: + description: 설치의 HTML URL + type: string + id: + description: 설치 ID + type: integer + permissions: + description: 설치 권한 + type: object + repositories_url: + description: 저장소의 API URL + type: string + repository_selection: + description: 설치를 위한 저장소 선택 + enum: + - selected + - all + type: string + single_file_name: + description: 해당되는 경우 단일 파일 이름 + nullable: true + type: string + target_id: + description: 대상 ID + type: integer + target_type: + description: 대상 유형 + type: string + updated_at: + description: 설치가 마지막으로 업데이트된 시점 + format: date-time + type: string + required: + - id + - account + - repository_selection + - access_tokens_url + - repositories_url + - html_url + - app_id + - target_id + - target_type + - permissions + - events + - created_at + - updated_at + type: object + GithubOrganization: + description: GitHub 조직 + properties: + avatar_url: + description: 조직 아바타의 URL + type: string + description: + description: 조직 설명 + nullable: true + type: string + events_url: + description: 조직 이벤트의 API URL + type: string + hooks_url: + description: 조직 후크의 API URL + type: string + id: + description: 조직 ID + type: integer + issues_url: + description: 조직 이슈의 API URL + type: string + login: + description: 조직의 로그인 이름 + type: string + members_url: + description: 조직 멤버의 API URL + type: string + node_id: + description: 조직 노드 ID + type: string + public_members_url: + description: 조직 공개 멤버의 API URL + type: string + repos_url: + description: 조직 저장소의 API URL + type: string + url: + description: 조직의 API URL + type: string + required: + - login + - id + - node_id + - url + - repos_url + - events_url + - hooks_url + - issues_url + - members_url + - public_members_url + - avatar_url + type: object + GithubReleaseAsset: + description: GitHub 릴리스 자산 + properties: + browser_download_url: + description: 브라우저 다운로드 URL + type: string + content_type: + description: 자산의 콘텐츠 유형 + type: string + created_at: + description: 자산이 생성된 시점 + format: date-time + type: string + download_count: + description: 다운로드 수 + type: integer + id: + description: 에셋 ID + type: integer + label: + description: 에셋의 레이블 + nullable: true + type: string + name: + description: 에셋의 이름 + type: string + node_id: + description: 에셋 노드 ID + type: string + size: + description: 바이트 단위의 에셋 크기 + type: integer + state: + description: 에셋의 상태 + enum: + - uploaded + - open + type: string + updated_at: + description: 에셋이 마지막으로 업데이트된 시간 + format: date-time + type: string + uploader: + $ref: "#/components/schemas/GithubUser" + required: + - id + - node_id + - name + - content_type + - state + - size + - download_count + - created_at + - updated_at + - browser_download_url + - uploader + type: object + GithubReleaseWebhook: + description: 공식 웹훅 문서를 기반으로 한 GitHub 릴리스 웹훅 페이로드 + properties: + action: + description: 릴리스에 대해 수행된 작업 + enum: + - published + - unpublished + - created + - edited + - deleted + - prereleased + - released + type: string + enterprise: + $ref: "#/components/schemas/GithubEnterprise" + installation: + $ref: "#/components/schemas/GithubInstallation" + organization: + $ref: "#/components/schemas/GithubOrganization" + release: + description: 릴리스 객체 + properties: + assets: + description: 릴리스 에셋 배열 + items: + $ref: "#/components/schemas/GithubReleaseAsset" + type: array + assets_url: + description: 릴리스 에셋의 URL + type: string + author: + $ref: "#/components/schemas/GithubUser" + body: + description: 릴리스 노트/본문 + nullable: true + type: string + created_at: + description: 릴리스가 생성된 시간 + format: date-time + type: string + draft: + description: 릴리스가 초안인지 여부 + type: boolean + html_url: + description: 릴리스의 HTML URL + type: string + id: + description: 릴리스의 ID + type: integer + name: + description: 릴리스의 이름 + nullable: true + type: string + node_id: + description: 릴리스의 노드 ID + type: string + prerelease: + description: 릴리스가 프리릴리스인지 여부 + type: boolean + published_at: + description: 릴리스가 게시된 시간 + format: date-time + nullable: true + type: string + tag_name: + description: 릴리스의 태그 이름 + type: string + tarball_url: + description: tarball의 URL + type: string + target_commitish: + description: 릴리스가 생성된 브랜치 또는 커밋 + type: string + upload_url: + description: 릴리스 에셋을 업로드하는 URL + type: string + url: + description: 릴리스의 API URL + type: string + zipball_url: + description: zipball의 URL + type: string + required: + - id + - node_id + - url + - html_url + - tag_name + - target_commitish + - draft + - prerelease + - created_at + - author + - tarball_url + - zipball_url + - assets + type: object + repository: + $ref: "#/components/schemas/GithubRepository" + sender: + $ref: "#/components/schemas/GithubUser" + required: + - action + - release + - repository + - sender + type: object + GithubRepository: + description: GitHub 저장소 + properties: + clone_url: + description: 저장소의 복제 URL + type: string + created_at: + description: 저장소가 생성된 시간 + format: date-time + type: string + default_branch: + description: 저장소의 기본 브랜치 + type: string + description: + description: 저장소 설명 + nullable: true + type: string + fork: + description: 저장소가 포크인지 여부 + type: boolean + full_name: + description: 저장소의 전체 이름 (소유자/저장소) + type: string + git_url: + description: 저장소의 git URL + type: string + html_url: + description: 저장소의 HTML URL + type: string + id: + description: 저장소 ID + type: integer + name: + description: 저장소의 이름 + type: string + node_id: + description: 저장소 노드 ID + type: string + owner: + $ref: "#/components/schemas/GithubUser" + private: + description: 저장소가 비공개인지 여부 + type: boolean + pushed_at: + description: 저장소에 마지막으로 푸시된 시간 + format: date-time + type: string + ssh_url: + description: 저장소의 SSH URL + type: string + updated_at: + description: 저장소가 마지막으로 업데이트된 시간 + format: date-time + type: string + url: + description: 저장소의 API URL + type: string + required: + - id + - node_id + - name + - full_name + - private + - owner + - html_url + - fork + - url + - clone_url + - git_url + - ssh_url + - default_branch + - created_at + - updated_at + - pushed_at + type: object + GithubUser: + description: GitHub 사용자 + properties: + avatar_url: + description: 사용자 아바타의 URL + type: string + gravatar_id: + description: 사용자의 gravatar ID + nullable: true + type: string + html_url: + description: 사용자의 HTML URL + type: string + id: + description: 사용자 ID + type: integer + login: + description: 사용자의 로그인 이름 + type: string + node_id: + description: 사용자의 노드 ID + type: string + site_admin: + description: 사용자가 사이트 관리자인지 여부 + type: boolean + type: + description: 사용자 유형 + enum: + - Bot + - User + - Organization + type: string + url: + description: 사용자의 API URL + type: string + required: + - login + - id + - node_id + - avatar_url + - url + - html_url + - type + - site_admin + type: object + HitPawErrorResponse: + description: HitPaw API의 오류 응답 + properties: + error_code: + description: 오류 코드 + type: integer + message: + description: 오류 메시지 + type: string + type: object + HitPawJobResponse: + description: HitPaw 향상 API의 응답 (사진 및 비디오) + properties: + code: + description: "상태 코드, 200은 성공을 나타냅니다" + example: 200 + type: integer + data: + properties: + consume_coins: + description: 이 작업에 소비된 코인 수 + example: 75 + type: integer + job_id: + description: 향상 작업의 고유 식별자 + example: f5007c0b-e902-4070-8c75-f337d896168f + type: string + type: object + message: + description: 응답 메시지 + example: OK + type: string + type: object + HitPawPhotoEnhancerRequest: + description: HitPaw 사진 향상 API의 요청 본문 + properties: + DPI: + description: 출력 이미지의 대상 DPI + example: 300 + format: int64 + type: integer + exif: + description: "EXIF 데이터 보존 여부 (기본값: 거짓)" + example: true + type: boolean + extension: + description: "이미지의 파일 확장자 (예: \".jpg\", \".png\")" + example: .jpg + type: string + img_url: + description: 향상할 이미지의 URL. 공개적으로 접근 가능해야 합니다. + example: https://example.com/image.jpg + format: uri + type: string + model_name: + description: "향상에 사용할 모델 이름.\n\n**사용 가능한 모델:**\n- face_2x, face_4x: 얼굴 선명 모델 (2x/4x 업스케일링)\n- face_v2_2x, face_v2_4x: 얼굴 자연 모델 (2x/4x 업스케일링)\n- general_2x, general_4x: 일반 향상 모델 (2x/4x 업스케일링)\n- high_fidelity_2x, high_fidelity_4x: 고충실도 모델 (2x/4x 업스케일링)\n- sharpen_denoise: 선명한 디노이즈 모델\n- detail_denoise: 상세 디노이즈 모델\n- generative_portrait: 생성적 초상화 모델\n- generative: 생성적 향상 모델\n" + enum: + - face_2x + - face_4x + - face_v2_2x + - face_v2_4x + - general_2x + - general_4x + - high_fidelity_2x + - high_fidelity_4x + - sharpen_denoise + - detail_denoise + - generative_portrait + - generative + example: generative_portrait + type: string + required: + - model_name + - img_url + - extension + type: object + HitPawTaskStatusRequest: + description: HitPaw 작업 상태 조회 API의 요청 본문 + properties: + job_id: + description: 향상 API 응답에서 얻은 작업 ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + type: string + required: + - job_id + type: object + HitPawTaskStatusResponse: + description: HitPaw 작업 상태 조회 API의 응답 + properties: + code: + description: "상태 코드, 200은 성공을 나타냅니다" + example: 200 + type: integer + data: + properties: + job_id: + description: 작업 ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + type: string + original_url: + description: 원본 이미지 URL (사진 향상 전용) + example: https://example.com/original.jpg + format: uri + type: string + res_url: + description: "결과 URL, 상태가 COMPLETED인 경우에만 유효" + example: https://example.com/result.jpg + format: uri + type: string + status: + description: "작업 상태:\n- WAITING: 작업이 대기 중이며 처리되기를 기다리고 있습니다\n- CONVERTING: 처리 작업 진행 중\n- COMPLETED: 작업 완료됨\n- ERROR: 작업 실패\n" + enum: + - WAITING + - CONVERTING + - COMPLETED + - ERROR + type: string + type: object + message: + description: 응답 메시지 + example: OK + type: string + type: object + HitPawVideoEnhancerRequest: + description: HitPaw 비디오 향상 API의 요청 본문 + properties: + extension: + default: .mp4 + description: "출력 비디오의 파일 확장자 (기본값 \".mp4\")" + example: .mp4 + type: string + model_name: + description: "향상에 사용할 모델 이름.\n\n**사용 가능한 모델:**\n- face_soft: 페이스 소프트 모델\n- portrait_restore_1x: 인물 복원 모델 1x\n- portrait_restore_2x: 인물 복원 모델 2x\n- general_restore_1x: 일반 복원 모델 1x\n- general_restore_2x: 일반 복원 모델 2x\n- general_restore_4x: 일반 복원 모델 4x\n- ultrahd_restore: 울트라 HD 모델\n- generative: 생성 모델 (SD)\n" + enum: + - face_soft + - portrait_restore_1x + - portrait_restore_2x + - general_restore_1x + - general_restore_2x + - general_restore_4x + - ultrahd_restore + - generative + example: general_restore_2x + type: string + original_resolution: + description: "원본 비디오 해상도 [너비, 높이]" + example: + - 1280 + - 720 + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + resolution: + description: "대상 해상도 [너비, 높이]" + example: + - 1920 + - 1080 + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + video_url: + description: 향상할 비디오의 URL + example: https://example.com/video.mp4 + format: uri + type: string + required: + - video_url + - model_name + - resolution + type: object + IdeogramColorPalette: + description: 프리셋 이름을 사용하거나 가중치가 있는 명시적 색상 정의를 사용할 수 있는 색상 팔레트 사양 + oneOf: + - properties: + name: + description: 프리셋 색상 팔레트의 이름 + type: string + required: + - name + - properties: + members: + description: 선택적 가중치가 있는 색상 정의 배열 + items: + properties: + color: + description: 16진수 색상 코드 + pattern: "^#[0-9A-Fa-f]{6}$" + type: string + weight: + description: 색상에 대한 선택적 가중치 (0-1) + maximum: 1 + minimum: 0 + type: number + type: object + type: array + required: + - members + type: object + IdeogramGenerateRequest: + description: Ideogram 생성 프록시 요청의 파라미터. Ideogram API 기반. + properties: + image_request: + description: 이미지 생성 요청 파라미터. + properties: + aspect_ratio: + description: "선택 사항. 종횡비 (예: 'ASPECT_16_9', 'ASPECT_1_1'). 해상도와 함께 사용할 수 없습니다. 지정되지 않은 경우 기본값은 'ASPECT_1_1'입니다." + type: string + color_palette: + additionalProperties: true + description: "선택 사항. 색상 팔레트 객체. V_2, V_2_TURBO에만 해당." + type: object + magic_prompt_option: + description: "선택 사항. MagicPrompt 사용법 ('AUTO', 'ON', 'OFF')." + type: string + model: + description: "사용된 모델 (예: 'V_2', 'V_2A_TURBO')" + type: string + negative_prompt: + description: "선택 사항. 제외할 내용에 대한 설명. V_1, V_1_TURBO, V_2, V_2_TURBO에만 해당." + type: string + num_images: + default: 1 + description: 선택 사항. 생성할 이미지 수 (1-8). 기본값은 1입니다. + maximum: 8 + minimum: 1 + type: integer + prompt: + description: 필수. 이미지를 생성하는 데 사용할 프롬프트. + type: string + resolution: + description: "선택 사항. 해상도 (예: 'RESOLUTION_1024_1024'). 모델 V_2에만 해당. 종횡비와 함께 사용할 수 없습니다." + type: string + seed: + description: 선택 사항. 0에서 2147483647 사이의 숫자. + format: int64 + maximum: 2147483647 + minimum: 0 + type: integer + style_type: + description: "선택 사항. 스타일 유형 ('AUTO', 'GENERAL', 'REALISTIC', 'DESIGN', 'RENDER_3D', 'ANIME'). V_2 이상의 모델에만 해당됩니다." + type: string + required: + - prompt + - model + type: object + required: + - image_request + type: object + IdeogramGenerateResponse: + description: Ideogram 이미지 생성 API의 응답입니다. + properties: + created: + description: 생성 시점의 타임스탬프입니다. + format: date-time + type: string + data: + description: 생성된 이미지 정보의 배열입니다. + items: + properties: + is_image_safe: + description: 이미지가 안전한 것으로 간주되는지 여부를 나타냅니다. + type: boolean + prompt: + description: 이 이미지를 생성하는 데 사용된 프롬프트입니다. + type: string + resolution: + description: "생성된 이미지의 해상도입니다 (예: '1024x1024')." + type: string + seed: + description: 이 생성에 사용된 시드 값입니다. + type: integer + style_type: + description: "생성에 사용된 스타일 유형입니다 (예: 'REALISTIC', 'ANIME')." + type: string + url: + description: 생성된 이미지의 URL입니다. + type: string + type: object + type: array + type: object + IdeogramStyleType: + default: GENERAL + enum: + - AUTO + - GENERAL + - REALISTIC + - DESIGN + - FICTION + type: string + IdeogramV3EditRequest: + properties: + character_reference_images: + description: "캐릭터 참조를 사용한 생성은 캐릭터 참조 가격이 적용됩니다. 캐릭터 참조로 사용할 이미지 세트입니다 (모든 캐릭터 참조의 최대 총 크기는 10MB). 현재는 1개의 캐릭터 참조 이미지만 지원합니다. 이미지는 JPEG, PNG 또는 WebP 형식이어야 합니다." + items: + format: binary + type: string + type: array + character_reference_images_mask: + description: "캐릭터 참조 이미지에 대한 선택적 마스크입니다. 제공되는 경우 character_reference_images의 수와 일치해야 합니다. 각 마스크는 해당 캐릭터 참조 이미지와 동일한 크기의 회색조 이미지여야 합니다. 이미지는 JPEG, PNG 또는 WebP 형식이어야 합니다." + items: + format: binary + type: string + type: array + color_palette: + $ref: "#/components/schemas/IdeogramColorPalette" + image: + description: "편집 중인 이미지 (최대 크기 10MB). 현재는 JPEG, WebP 및 PNG 형식만 지원됩니다." + format: binary + type: string + magic_prompt: + description: 요청 생성 시 MagicPrompt를 사용할지 여부를 결정합니다. + type: string + mask: + description: "편집 중인 이미지와 동일한 크기의 검정색 및 흰색 이미지입니다 (최대 크기 10MB). 마스크의 검정색 영역은 편집하려는 이미지 영역과 일치해야 합니다. 현재는 JPEG, WebP 및 PNG 형식만 지원됩니다." + format: binary + type: string + num_images: + description: 생성할 이미지의 수입니다. + type: integer + prompt: + description: 편집 결과를 설명하는 데 사용된 프롬프트입니다. + type: string + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + seed: + description: 무작위 시드입니다. 재현 가능한 생성을 위해 설정합니다. + type: integer + style_codes: + description: 이미지의 스타일을 나타내는 8자리 16진수 코드 목록입니다. style_reference_images 또는 style_type과 함께 사용할 수 없습니다. + items: + pattern: "^[0-9A-Fa-f]{8}$" + type: string + type: array + style_reference_images: + description: "스타일 참조로 사용할 이미지 세트입니다 (모든 스타일 참조의 최대 총 크기는 10MB). 이미지는 JPEG, PNG 또는 WebP 형식이어야 합니다." + items: + format: binary + type: string + type: array + style_type: + $ref: "#/components/schemas/IdeogramStyleType" + required: + - prompt + - rendering_speed + type: object + IdeogramV3IdeogramResponse: + properties: + created: + format: date-time + type: string + data: + items: + properties: + is_image_safe: + type: boolean + prompt: + type: string + resolution: + type: string + seed: + type: integer + style_type: + type: string + url: + type: string + type: object + type: array + type: object + IdeogramV3ReframeRequest: + properties: + color_palette: + type: object + image: + format: binary + type: string + num_images: + maximum: 8 + minimum: 1 + type: integer + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + resolution: + type: string + seed: + maximum: 2147483647 + minimum: 0 + type: integer + style_codes: + items: + type: string + type: array + style_reference_images: + items: + format: binary + type: string + type: array + required: + - resolution + type: object + IdeogramV3RemixRequest: + properties: + aspect_ratio: + type: string + character_reference_images: + description: "캐릭터 참조를 사용한 생성은 캐릭터 참조 가격이 적용됩니다. 캐릭터 참조로 사용할 이미지 세트입니다 (모든 캐릭터 참조의 최대 총 크기는 10MB). 현재는 1개의 캐릭터 참조 이미지만 지원합니다. 이미지는 JPEG, PNG 또는 WebP 형식이어야 합니다." + items: + format: binary + type: string + type: array + character_reference_images_mask: + description: "캐릭터 참조 이미지에 대한 선택적 마스크입니다. 제공되는 경우 character_reference_images의 수와 일치해야 합니다. 각 마스크는 해당 캐릭터 참조 이미지와 동일한 크기의 회색조 이미지여야 합니다. 이미지는 JPEG, PNG 또는 WebP 형식이어야 합니다." + items: + format: binary + type: string + type: array + color_palette: + type: object + image: + format: binary + type: string + image_weight: + default: 50 + maximum: 100 + minimum: 1 + type: integer + magic_prompt: + enum: + - AUTO + - "ON" + - "OFF" + type: string + negative_prompt: + type: string + num_images: + maximum: 8 + minimum: 1 + type: integer + prompt: + type: string + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + resolution: + type: string + seed: + maximum: 2147483647 + minimum: 0 + type: integer + style_codes: + items: + type: string + type: array + style_reference_images: + items: + format: binary + type: string + type: array + style_type: + $ref: "#/components/schemas/IdeogramStyleType" + required: + - prompt + type: object + IdeogramV3ReplaceBackgroundRequest: + properties: + color_palette: + type: object + image: + format: binary + type: string + magic_prompt: + enum: + - AUTO + - "ON" + - "OFF" + type: string + num_images: + maximum: 8 + minimum: 1 + type: integer + prompt: + type: string + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + seed: + maximum: 2147483647 + minimum: 0 + type: integer + style_codes: + items: + type: string + type: array + style_reference_images: + items: + format: binary + type: string + type: array + required: + - prompt + type: object + IdeogramV3Request: + properties: + aspect_ratio: + description: WxH 형식의 가로세로 비율입니다. + example: 1x3 + type: string + character_reference_images: + description: "캐릭터 참조를 사용한 생성은 캐릭터 참조 가격이 적용됩니다. 캐릭터 참조로 사용할 이미지 세트입니다 (모든 캐릭터 참조의 최대 총 크기는 10MB). 현재는 1개의 캐릭터 참조 이미지만 지원합니다. 이미지는 JPEG, PNG 또는 WebP 형식이어야 합니다." + items: + format: binary + type: string + type: array + character_reference_images_mask: + description: "캐릭터 참조 이미지에 대한 선택적 마스크입니다. 제공되는 경우 character_reference_images의 수와 일치해야 합니다. 각 마스크는 해당 캐릭터 참조 이미지와 동일한 크기의 회색조 이미지여야 합니다. 이미지는 JPEG, PNG 또는 WebP 형식이어야 합니다." + items: + format: binary + type: string + type: array + color_palette: + properties: + name: + description: 색상 팔레트의 이름 + example: PASTEL + type: string + required: + - name + type: object + magic_prompt: + description: Magic Prompt 강화를 활성화할지 여부 + enum: + - "ON" + - "OFF" + type: string + negative_prompt: + description: 생성에서 피해야 할 사항을 지정하는 텍스트 프롬프트 + type: string + num_images: + description: 생성할 이미지 수 + minimum: 1 + type: integer + prompt: + description: 이미지 생성을 위한 텍스트 프롬프트 + type: string + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + resolution: + description: WxH 형식의 이미지 해상도 + example: 1280x800 + type: string + seed: + description: 재현 가능한 생성을 위한 시드 값 + type: integer + style_codes: + description: 16진수 형식의 스타일 코드 배열 + items: + pattern: "^[0-9A-Fa-f]{8}$" + type: string + type: array + style_reference_images: + description: 참조 이미지 URL 또는 식별자 배열 + items: + format: binary + type: string + type: array + style_type: + $ref: "#/components/schemas/IdeogramStyleType" + required: + - prompt + - rendering_speed + type: object + IdeogramV4Request: + description: Ideogram 4.0 (V4) 텍스트 기반 이미지 생성 프록시 요청의 파라미터입니다. text_prompt 또는 json_prompt 중 정확히 하나를 제공하세요. + properties: + enable_copyright_detection: + description: 생성 후 저작권 감지 기능 선택 (Hive 유사성 및 로고 검사). + type: boolean + json_prompt: + additionalProperties: true + description: 구조화된 V4 프롬프트입니다. Magic Prompt를 비활성화하며 직접 사용됩니다. text_prompt 또는 json_prompt 중 정확히 하나를 제공하세요. + type: object + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + resolution: + description: "WIDTHxHEIGHT 형식의 출력 해상도입니다. 생략하면 모델이 종횡비를 선택합니다. 지원되는 2K 값: 2048x2048, 1440x2880, 2880x1440, 1664x2496, 2496x1664, 1792x2240, 2240x1792, 1440x2560, 2560x1440, 1600x2560, 2560x1600, 1728x2304, 2304x1728, 1296x3168, 3168x1296, 1152x2944, 2944x1152, 1248x3328, 3328x1248, 1280x3072, 3072x1280." + example: 2048x2048 + type: string + text_prompt: + description: 자연어 프롬프트입니다. Magic Prompt를 자동으로 활성화합니다. text_prompt 또는 json_prompt 중 정확히 하나를 제공하세요. + type: string + type: object + ImageGenerationServerTool_OpenRouter: + description: "OpenRouter 내장 서버 도구: 이미지 생성 모델을 사용하여 텍스트 프롬프트에서 이미지를 생성합니다." + properties: + parameters: + $ref: "#/components/schemas/OpenRouterImageGenerationServerToolConfig" + type: + $ref: "#/components/schemas/OpenRouterImageGenerationServerToolOpenRouterType" + required: + - type + title: ImageGenerationServerTool_OpenRouter + type: object + ImagenGenerateImageRequest: + properties: + instances: + items: + $ref: "#/components/schemas/ImagenImageGenerationInstance" + type: array + parameters: + $ref: "#/components/schemas/ImagenImageGenerationParameters" + required: + - instances + - parameters + type: object + ImagenGenerateImageResponse: + properties: + predictions: + items: + $ref: "#/components/schemas/ImagenImagePrediction" + type: array + type: object + ImagenImageGenerationInstance: + properties: + prompt: + description: 이미지 생성을 위한 텍스트 프롬프트 + type: string + required: + - prompt + type: object + ImagenImageGenerationParameters: + properties: + addWatermark: + type: boolean + aspectRatio: + enum: + - 1:1 + - 9:16 + - 16:9 + - 3:4 + - 4:3 + type: string + enhancePrompt: + type: boolean + includeRaiReason: + type: boolean + includeSafetyAttributes: + type: boolean + outputOptions: + $ref: "#/components/schemas/ImagenOutputOptions" + personGeneration: + enum: + - dont_allow + - allow_adult + - allow_all + type: string + safetySetting: + enum: + - block_most + - block_some + - block_few + - block_fewest + type: string + sampleCount: + maximum: 4 + minimum: 1 + type: integer + seed: + format: uint32 + type: integer + storageUri: + format: uri + type: string + type: object + ImagenImagePrediction: + properties: + bytesBase64Encoded: + description: Base64로 인코딩된 이미지 콘텐츠 + format: byte + type: string + mimeType: + description: 생성된 이미지의 MIME 타입 + type: string + prompt: + description: 이 이미지를 생성하는 데 사용된 향상 또는 다시 작성된 프롬프트 + type: string + type: object + ImagenOutputOptions: + properties: + compressionQuality: + maximum: 100 + minimum: 0 + type: integer + mimeType: + enum: + - image/png + - image/jpeg + type: string + type: object + Includable: + description: "모델 응답에 포함할 추가 출력 데이터를 지정합니다. 현재 지원되는 값은 다음과 같습니다.\n- `file_search_call.results`: 파일 검색 도구 호출의 검색 결과를 포함합니다.\n- `message.input_image.image_url`: 입력 메시지의 이미지 URL을 포함합니다.\n- `computer_call_output.output.image_url`: 컴퓨터 호출 출력의 이미지 URL을 포함합니다.\n" + enum: + - file_search_call.results + - message.input_image.image_url + - computer_call_output.output.image_url + type: string + InputContent: + oneOf: + - $ref: "#/components/schemas/InputTextContent" + - $ref: "#/components/schemas/InputImageContent" + - $ref: "#/components/schemas/InputFileContent" + InputFileContent: + description: 모델에 대한 파일 입력입니다. + properties: + file_data: + description: "모델에 전송할 파일의 콘텐츠입니다.\n" + type: string + file_id: + description: 모델에 전송할 파일의 ID입니다. + type: string + filename: + description: 모델에 전송할 파일의 이름입니다. + type: string + type: + default: input_file + description: "입력 항목의 유형입니다. 항상 `input_file`입니다." + enum: + - input_file + type: string + x-stainless-const: true + required: + - type + title: Input file + type: object + InputImageContent: + description: "모델에 대한 이미지 입력. [이미지 입력](/docs/guides/vision)에 대해 알아보세요." + properties: + detail: + description: "모델로 전송할 이미지의 세부 수준. `high`, `low`, `auto` 중 하나. 기본값은 `auto`입니다." + enum: + - low + - high + - auto + type: string + file_id: + description: 모델로 전송할 파일의 ID. + type: string + image_url: + description: 모델로 전송할 이미지의 URL. 완전한 URL 또는 data URL에 base64로 인코딩된 이미지. + type: string + type: + default: input_image + description: "입력 항목의 유형. 항상 `input_image`입니다." + enum: + - input_image + type: string + x-stainless-const: true + required: + - type + - detail + title: Input image + type: object + InputItem: + oneOf: + - $ref: "#/components/schemas/EasyInputMessage" + - $ref: "#/components/schemas/Item" + InputMessage: + properties: + content: + $ref: "#/components/schemas/InputMessageContentList" + role: + enum: + - user + - system + - developer + type: string + status: + enum: + - in_progress + - completed + - incomplete + type: string + type: + enum: + - message + type: string + type: object + InputMessageContentList: + description: "모델에 대한 하나 이상의 입력 항목 목록으로, 다양한 콘텐츠 유형을 포함합니다.\n" + items: + $ref: "#/components/schemas/InputContent" + title: Input item content list + type: array + InputTextContent: + description: 모델에 대한 텍스트 입력. + properties: + text: + description: 모델에 대한 텍스트 입력. + type: string + type: + default: input_text + description: "입력 항목의 유형. 항상 `input_text`입니다." + enum: + - input_text + type: string + x-stainless-const: true + required: + - type + - text + title: Input text + type: object + Item: + description: "응답을 생성하는 데 사용되는 콘텐츠 항목.\n" + oneOf: + - $ref: "#/components/schemas/InputMessage" + - $ref: "#/components/schemas/OutputMessage" + - $ref: "#/components/schemas/FileSearchToolCall" + - $ref: "#/components/schemas/ComputerToolCall" + - $ref: "#/components/schemas/WebSearchToolCall" + - $ref: "#/components/schemas/FunctionToolCall" + - $ref: "#/components/schemas/ReasoningItem" + type: object + KlingAudioUploadType: + description: 립싱크를 위한 오디오 파일 전송 방법. 모드가 audio2video인 경우 필수. + enum: + - file + - url + type: string + KlingAvatarMode: + default: std + description: "비디오 생성 모드. std: 표준 모드 (비용 효율적), pro: 전문가 모드 (더 긴 시간, 더 높은 품질)." + enum: + - std + - pro + type: string + KlingAvatarRequest: + properties: + audio_id: + description: TTS API를 통해 생성된 오디오 ID. 지난 30일 내에 생성된 2-300초 오디오만 지원합니다. audio_id 또는 sound_file 중 하나를 제공해야 합니다 (상호 배타적). + type: string + callback_url: + description: 이 작업의 결과에 대한 콜백 알림 주소. + format: uri + type: string + external_task_id: + description: 사용자 지정 작업 ID. 단일 사용자 계정 내에서 고유해야 합니다. + type: string + image: + description: "아바타 참조 이미지. Base64 인코딩 또는 이미지 URL을 지원합니다. 지원 형식: .jpg/.jpeg/.png. 최대 10MB, 최소 300px 너비/높이, 종횡비 1:2.5 ~ 2.5:1." + type: string + mode: + $ref: "#/components/schemas/KlingAvatarMode" + prompt: + description: "긍정 텍스트 프롬프트. 아바타의 작업, 감정 및 카메라 움직임을 정의할 수 있습니다." + maxLength: 2500 + type: string + sound_file: + description: "사운드 파일. Base64로 인코딩된 오디오 또는 접근 가능한 오디오 URL을 지원합니다. 허용 형식: .mp3/.wav/.m4a/.aac (최대 5MB), 2-300초. audio_id 또는 sound_file 중 하나를 제공해야 합니다 (상호 배타적)." + type: string + watermark_info: + properties: + enabled: + description: 워터마크가 적용된 결과를 동시에 생성할지 여부. + type: boolean + type: object + required: + - image + type: object + KlingAvatarResponse: + properties: + code: + description: 오류 코드 + type: integer + data: + properties: + created_at: + description: 작업 생성 시간 + type: integer + final_unit_deduction: + description: 작업의 차감 단위 + type: string + task_id: + description: 작업 ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: 작업 상태 정보 + type: string + updated_at: + description: 작업 업데이트 시간 + type: integer + watermark_info: + properties: + enabled: + type: boolean + type: object + type: object + message: + description: 오류 메시지 + type: string + request_id: + description: 요청 ID + type: string + type: object + KlingCameraConfig: + properties: + horizontal: + description: "카메라의 수평축(x축) 이동을 제어합니다. 네거티브는 왼쪽, 포지티브는 오른쪽을 나타냅니다." + maximum: 10 + minimum: -10 + type: number + pan: + description: "카메라의 수직 평면(x축) 회전을 제어합니다. 네거티브는 아래쪽 회전, 포지티브는 위쪽 회전을 나타냅니다." + maximum: 10 + minimum: -10 + type: number + roll: + description: "카메라의 롤 수량(z축)을 제어합니다. 네거티브는 반시계 방향, 포지티브는 시계 방향을 나타냅니다." + maximum: 10 + minimum: -10 + type: number + tilt: + description: "카메라의 수평 평면(y축) 회전을 제어합니다. 네거티브는 왼쪽 회전, 포지티브는 오른쪽 회전을 나타냅니다." + maximum: 10 + minimum: -10 + type: number + vertical: + description: "카메라의 수직축(y축) 이동을 제어합니다. 네거티브는 아래쪽, 포지티브는 위쪽을 나타냅니다." + maximum: 10 + minimum: -10 + type: number + zoom: + description: "카메라의 초점 거리 변경을 제어합니다. 네거티브는 더 좁은 시야, 포지티브는 더 넓은 시야를 나타냅니다." + maximum: 10 + minimum: -10 + type: number + type: object + KlingCameraControl: + properties: + config: + $ref: "#/components/schemas/KlingCameraConfig" + type: + $ref: "#/components/schemas/KlingCameraControlType" + type: object + KlingCameraControlType: + description: "사전 정의된 카메라 이동 유형입니다. simple: 사용자 정의 가능한 카메라 이동. down_back: 카메라가 내려간 후 뒤로 이동합니다. forward_up: 카메라가 앞으로 이동하며 위로 기울입니다. right_turn_forward: 오른쪽으로 회전하고 앞으로 이동합니다. left_turn_forward: 왼쪽으로 회전하고 앞으로 이동합니다." + enum: + - simple + - down_back + - forward_up + - right_turn_forward + - left_turn_forward + type: string + KlingCharacterEffectModelName: + default: kling-v1 + description: "모델 이름. kling-v1, kling-v1-5 또는 kling-v1-6일 수 있습니다." + enum: + - kling-v1 + - kling-v1-5 + - kling-v1-6 + type: string + KlingDualCharacterEffectInput: + properties: + duration: + $ref: "#/components/schemas/KlingVideoGenDuration" + images: + $ref: "#/components/schemas/KlingDualCharacterImages" + mode: + $ref: "#/components/schemas/KlingVideoGenMode" + model_name: + $ref: "#/components/schemas/KlingCharacterEffectModelName" + required: + - images + - duration + type: object + KlingDualCharacterEffectsScene: + description: "장면 이름. 듀얼 캐릭터 효과 (hug, kiss, heart_gesture)." + enum: + - hug + - kiss + - heart_gesture + type: string + KlingDualCharacterImages: + items: + description: "참조 이미지 그룹. 정확히 2개의 이미지를 포함해야 합니다. 첫 번째 이미지는 합성 이미지의 왼쪽에, 두 번째 이미지는 오른쪽에 배치됩니다. 각 이미지는 단일 이미지 효과와 동일한 요구 사항을 따릅니다." + type: string + maxItems: 2 + minItems: 2 + type: array + KlingErrorResponse: + properties: + code: + description: "- 1000: 인증 실패\n- 1001: 인증이 비어 있음\n- 1002: 인증이 유효하지 않음\n- 1003: 인증이 아직 유효하지 않음\n- 1004: 인증이 만료됨\n- 1100: 계정 예외\n- 1101: 계정 연체(후불 시나리오)\n- 1102: 리소스 팩 소진 또는 만료(선불 시나리오)\n- 1103: 요청한 리소스에 대한 무단 액세스\n- 1200: 잘못된 요청 파라미터\n- 1201: 잘못된 파라미터\n- 1202: 잘못된 요청 방법\n- 1203: 요청한 리소스가 존재하지 않음\n- 1300: 플랫폼 전략 트리거\n- 1301: 콘텐츠 보안 정책 트리거\n- 1302: API 요청이 너무 빈번함\n- 1303: 동시성/QPS 한도 초과\n- 1304: IP 화이트리스트 정책 트리거\n- 5000: 내부 서버 오류\n- 5001: 서비스를 일시적으로 사용할 수 없음\n- 5002: 서버 내부 시간 초과\n" + type: integer + message: + description: 사람이 읽을 수 있는 오류 메시지 + type: string + request_id: + description: 추적 및 문제 해결을 위한 요청 ID + type: string + required: + - code + - message + - request_id + type: object + KlingImage2VideoRequest: + properties: + callback_url: + description: 콜백 알림 주소입니다. 작업 상태가 변경되면 서버가 알림을 보냅니다. + format: uri + type: string + camera_control: + $ref: "#/components/schemas/KlingCameraControl" + cfg_scale: + $ref: "#/components/schemas/KlingVideoGenCfgScale" + duration: + $ref: "#/components/schemas/KlingVideoGenDuration" + dynamic_masks: + description: 동적 브러시 구성 목록(최대 6개 그룹). 5초 비디오의 경우 궤적 길이가 77개 좌표를 초과해서는 안 됩니다. + items: + properties: + mask: + description: 동적 브러시 적용 영역(사용자가 모션 브러시를 사용하여 만든 마스크 이미지). 종횡비가 입력 이미지와 일치해야 합니다. + format: uri + type: string + trajectories: + items: + properties: + x: + description: "궤적 점의 수평 좌표입니다. 이미지의 왼쪽 아래 모서리를 원점(0,0)으로 합니다." + type: integer + "y": + description: "궤적 점의 수직 좌표입니다. 이미지의 왼쪽 아래 모서리를 원점(0,0)으로 합니다." + type: integer + type: object + type: array + type: object + type: array + element_list: + description: 요소 ID 구성에 따른 참조 요소 목록입니다. 최대 3개의 참조 요소를 지원합니다. element_list와 voice_list 파라미터는 상호 배타적입니다. + items: + properties: + element_id: + description: 요소 ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: 사용자 정의 작업 ID. 단일 사용자 계정 내에서 고유해야 합니다. + type: string + image: + description: "참조 이미지: URL 또는 Base64 인코딩 문자열, 10MB를 초과할 수 없으며 해상도는 300*300px 이상, 종횡비는 1:2.5 ~ 2.5:1 사이여야 합니다. Base64는 data:image 접두사를 포함해서는 안 됩니다." + type: string + image_tail: + description: "참조 이미지: 종료 프레임 제어. URL 또는 Base64 인코딩 문자열, 10MB를 초과할 수 없으며 해상도는 300*300px 이상입니다. Base64는 data:image 접두사를 포함해서는 안 됩니다. dynamic_masks/static_mask 또는 camera_control과 동시에 사용할 수 없습니다." + type: string + mode: + $ref: "#/components/schemas/KlingVideoGenMode" + model_name: + $ref: "#/components/schemas/KlingVideoGenModelName" + multi_prompt: + description: 각 스토리보드에 대한 정보(프롬프트 및 지속 시간 등). 최대 6개의 스토리보드를 지원하며 최소 1개입니다. multi_shot이 true이고 shot_type이 customize인 경우 필수입니다. + items: + properties: + duration: + description: 이 스토리보드의 지속 시간(초). 전체 작업 지속 시간을 초과할 수 없으며 1초보다 작을 수 없습니다. 모든 스토리보드 지속 시간의 합은 전체 작업 지속 시간과 같습니다. + type: string + index: + description: 샷 시퀀스 번호 + type: integer + prompt: + description: 이 스토리보드의 프롬프트 단어. 최대 길이 512자. + maxLength: 512 + type: string + type: object + type: array + multi_shot: + default: false + description: 멀티 샷 비디오 생성 여부. true인 경우 prompt 파라미터가 유효하지 않습니다. false인 경우 shot_type 및 multi_prompt 파라미터가 유효하지 않습니다. + type: boolean + negative_prompt: + description: 네거티브 텍스트 프롬프트. 긍정 프롬프트 내에서 직접 네거티브 문장을 통해 네거티브 프롬프트 정보를 보완하는 것이 권장됩니다. + maxLength: 2500 + type: string + prompt: + description: 긍정 텍스트 프롬프트. <<>>을 사용하여 voice_list 파라미터 순서와 일치하는 음성을 지정합니다. 하나의 작업은 최대 2개의 톤을 참조할 수 있습니다. 톤을 지정할 때 sound 파라미터 값이 on이어야 합니다. + maxLength: 2500 + type: string + shot_type: + description: 스토리보드 방법. multi_shot 파라미터가 true로 설정된 경우 필수입니다. + enum: + - customize + - intelligence + type: string + sound: + default: "off" + description: 비디오 생성 시 동시에 사운드를 생성할지 여부. V2.6 이상 모델 버전에서만 이 파라미터를 지원합니다. + enum: + - "on" + - "off" + type: string + static_mask: + description: 정적 브러시 적용 영역(사용자가 모션 브러시를 사용하여 만든 마스크 이미지). 종횡비가 입력 이미지와 일치해야 합니다. + type: string + voice_list: + description: 비디오 생성 시 참조되는 음성 목록. 최대 2개의 음성을 지원합니다. element_list와 voice_list 파라미터는 상호 배타적입니다. + items: + properties: + voice_id: + description: 음성 사용자 정의 API를 통해 반환된 음성 ID 또는 시스템 사전 설정 음성 ID. + type: string + type: object + type: array + watermark_info: + description: 워터마크 결과를 동시에 생성할지 여부. 현재 사용자 정의 워터마크는 지원되지 않습니다. + properties: + enabled: + description: "true는 워터마크 생성, false는 생성 안 함을 의미합니다." + type: boolean + type: object + type: object + KlingImageGenAspectRatio: + default: 16:9 + description: 생성된 이미지의 종횡비 + enum: + - 16:9 + - 9:16 + - 1:1 + - 4:3 + - 3:4 + - 3:2 + - 2:3 + - 21:9 + type: string + KlingImageGenImageReferenceType: + description: 이미지 참조 유형 + enum: + - subject + - face + type: string + KlingImageGenModelName: + default: kling-v1 + description: 모델 이름 + enum: + - kling-v1 + - kling-v1-5 + - kling-v2 + - kling-v3 + type: string + KlingImageGenerationsRequest: + properties: + aspect_ratio: + $ref: "#/components/schemas/KlingImageGenAspectRatio" + callback_url: + description: 콜백 알림 주소 + format: uri + type: string + element_list: + description: 요소 ID 구성에 기반한 참조 요소 목록. 참조 요소와 참조 이미지의 합계는 10을 초과할 수 없습니다. + items: + properties: + element_id: + description: 요소 ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: 사용자 정의 작업 ID. 단일 사용자 계정 내에서 고유해야 합니다. + type: string + human_fidelity: + default: 0.45 + description: 주체 참조 유사도 + maximum: 1 + minimum: 0 + type: number + image: + description: "참조 이미지 - Base64 인코딩 문자열 또는 이미지 URL. 지원되는 형식: .jpg/.jpeg/.png. 파일 크기는 10MB를 초과할 수 없습니다. 너비 및 높이 치수는 300px 이상이어야 하며, 종횡비는 1:2.5 ~ 2.5:1 사이여야 합니다. image_reference가 비어 있지 않은 경우 필수입니다." + type: string + image_fidelity: + default: 0.5 + description: 사용자 업로드 이미지에 대한 참조 강도 + maximum: 1 + minimum: 0 + type: number + image_reference: + $ref: "#/components/schemas/KlingImageGenImageReferenceType" + model_name: + $ref: "#/components/schemas/KlingImageGenModelName" + "n": + default: 1 + description: "생성된 이미지 수. 값 범위 [1,9]." + maximum: 9 + minimum: 1 + type: integer + negative_prompt: + description: 네거티브 텍스트 프롬프트. 2500자를 초과할 수 없습니다. 네거티브 프롬프트 정보는 긍정 프롬프트 내에서 직접 네거티브 문장을 통해 보충하는 것이 권장됩니다. 이미지 기반 이미지 생성 시나리오(이미지 필드가 비어 있지 않은 경우)에서는 지원되지 않습니다. + maxLength: 2500 + type: string + prompt: + description: "긍정 텍스트 프롬프트. 2,500자를 초과해서는 안 됩니다." + maxLength: 2500 + type: string + resolution: + default: 1k + description: "이미지 생성 해상도. 1k는 1K 표준, 2k는 2K 고해상도입니다." + enum: + - 1k + - 2k + type: string + required: + - prompt + type: object + KlingImageGenerationsResponse: + properties: + code: + description: 오류 코드 + type: integer + data: + properties: + created_at: + description: "작업 생성 시간, Unix 타임스탬프(밀리초)" + type: integer + final_unit_deduction: + description: 작업의 차감 단위 + type: string + task_id: + description: 작업 ID + type: string + task_info: + properties: + external_task_id: + description: 고객 정의 작업 ID + type: string + type: object + task_result: + properties: + images: + items: + $ref: "#/components/schemas/KlingImageResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: "작업 상태 정보, 작업 실패 시 실패 이유 표시" + type: string + updated_at: + description: "작업 업데이트 시간, Unix 타임스탬프(밀리초)" + type: integer + type: object + message: + description: 오류 메시지 + type: string + request_id: + description: 요청 ID + type: string + type: object + KlingImageResult: + properties: + index: + description: 이미지 번호(0-9) + type: integer + url: + description: 생성된 이미지의 URL + format: uri + type: string + type: object + KlingLipSyncInputObject: + properties: + audio_file: + description: "오디오 파일의 로컬 경로. 지원 형식: .mp3/.wav/.m4a/.aac, 최대 파일 크기 5MB. Base64 코드." + type: string + audio_type: + $ref: "#/components/schemas/KlingAudioUploadType" + audio_url: + description: "오디오 파일 다운로드 URL. 지원 형식: .mp3/.wav/.m4a/.aac, 최대 파일 크기 5MB." + type: string + mode: + $ref: "#/components/schemas/KlingLipSyncMode" + text: + description: 립싱크 비디오 생성을 위한 텍스트 콘텐츠. 모드가 text2video인 경우 필수. 최대 길이는 120자입니다. + type: string + video_id: + description: Kling AI에서 생성된 비디오의 ID. 지난 30일 이내에 생성된 5초 및 10초 비디오만 지원됩니다. + type: string + video_url: + description: "업로드된 비디오의 링크를 가져옵니다. 비디오 파일은 .mp4/.mov를 지원하며, 파일 크기는 100MB를 초과하지 않고, 비디오 길이는 2~10초입니다." + type: string + voice_id: + description: 음성 ID. 모드가 text2video인 경우 필수. 시스템은 선택할 수 있는 다양한 음성 옵션을 제공합니다. + type: string + voice_language: + $ref: "#/components/schemas/KlingLipSyncVoiceLanguage" + voice_speed: + default: 1 + description: "말하기 속도. 유효 범위: 0.8~2.0, 소수점 한 자리까지 정확함." + maximum: 2 + minimum: 0.8 + type: number + required: + - mode + type: object + KlingLipSyncMode: + description: "비디오 생성 모드. text2video: 텍스트 기반 비디오 생성 모드; audio2video: 오디오 기반 비디오 생성 모드" + enum: + - text2video + - audio2video + type: string + KlingLipSyncRequest: + properties: + callback_url: + description: 콜백 알림 주소. 작업 상태가 변경되면 서버가 알림을 보냅니다. + format: uri + type: string + input: + $ref: "#/components/schemas/KlingLipSyncInputObject" + required: + - input + type: object + KlingLipSyncResponse: + properties: + code: + description: 오류 코드 + type: integer + data: + properties: + created_at: + description: 작업 생성 시간 + type: integer + task_id: + description: 작업 ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + updated_at: + description: 작업 업데이트 시간 + type: integer + type: object + message: + description: 오류 메시지 + type: string + request_id: + description: 요청 ID + type: string + type: object + KlingLipSyncVoiceLanguage: + default: en + description: 음성 언어는 Voice ID에 해당합니다. + enum: + - zh + - en + type: string + KlingMotionControlRequest: + properties: + callback_url: + description: 이 작업 결과의 콜백 알림 주소입니다. 설정된 경우 서버는 작업 상태가 변경될 때 적극적으로 알립니다. + format: uri + type: string + character_orientation: + description: "비디오에서 캐릭터의 방향을 생성합니다. image: 사진 속 인물과 동일한 방향 (참조 비디오 길이는 10초를 초과할 수 없음). video: 비디오 내 캐릭터의 방향과 일치 (참조 비디오 길이는 30초를 초과할 수 없음)." + enum: + - image + - video + type: string + element_list: + description: 요소 ID 설정을 기반으로 한 참조 요소 목록입니다. 현재는 하나의 요소만 도입할 수 있습니다. + items: + properties: + element_id: + description: 요소 ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: "사용자 정의 작업 ID. 사용자는 사용자 정의 작업 ID를 제공할 수 있으며, 이는 시스템 생성 작업 ID를 덮어쓰지 않지만 작업 조회에 사용할 수 있습니다. 단일 사용자 계정 내에서 고유해야 합니다." + type: string + image_url: + description: "참조 이미지. 생성된 비디오의 캐릭터, 배경 및 기타 요소는 참조 이미지를 기반으로 합니다. 이미지 Base64 인코딩 또는 이미지 URL 입력을 지원합니다 (접근성 보장). 지원되는 이미지 형식은 .jpg / .jpeg / .png입니다. 이미지 파일 크기는 10MB를 초과할 수 없으며, 이미지의 너비와 높이 크기는 300px에서 65536px 범위이고, 이미지의 가로 세로 비율은 1:2.5 ~ 2.5:1 사이여야 합니다." + type: string + keep_original_sound: + default: "yes" + description: "비디오의 원본 사운드를 유지할지 여부. 열거 값: yes (원본 사운드 유지), no (원본 비디오 사운드 보존 안 함)." + enum: + - "yes" + - "no" + type: string + mode: + description: "비디오 생성 모드. std: 표준 모드 (비용 효율적). pro: 전문가 모드 (더 긴 지속 시간이지만 높은 품질의 비디오 출력)." + enum: + - std + - pro + type: string + model_name: + default: kling-v2-6 + description: "모션 제어의 모델 이름. 열거 값: kling-v2-6, kling-v3." + enum: + - kling-v2-6 + - kling-v3 + type: string + prompt: + description: "텍스트 프롬프트 단어로, 긍정 및 네거티브 설명을 포함할 수 있습니다. 2500자를 초과할 수 없습니다." + maxLength: 2500 + type: string + video_url: + description: "참조 비디오의 URL입니다. 생성된 비디오의 캐릭터 동작은 참조 비디오와 일치합니다. 비디오 파일은 .mp4/.mov를 지원하며, 파일 크기는 100MB를 초과하지 않고, 측면 길이는 340px에서 3850px 사이만 지원합니다. 비디오 지속 시간의 하한은 3초 이상이어야 하며, 상한은 character_orientation에 따라 다릅니다." + type: string + watermark_info: + description: 워터마크가 있는 결과를 동시에 생성할지 여부. 현재 사용자 정의 워터마크는 지원되지 않습니다. + properties: + enabled: + description: "true는 워터마크 생성, false는 생성하지 않음을 의미합니다." + type: boolean + type: object + required: + - image_url + - video_url + - character_orientation + - mode + type: object + KlingMotionControlResponse: + properties: + code: + description: 오류 코드 + type: integer + data: + properties: + created_at: + description: "작업 생성 시간, 유닉스 타임스탬프, 단위 ms" + type: integer + final_unit_deduction: + description: 작업의 차감 단위 + type: string + task_id: + description: 작업 ID + type: string + task_info: + properties: + external_task_id: + description: 고객 정의 작업 ID + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingMotionControlVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: "작업 상태 정보, 작업 실패 시 실패 이유를 표시합니다." + type: string + updated_at: + description: "작업 업데이트 시간, 유닉스 타임스탬프, 단위 ms" + type: integer + watermark_info: + properties: + enabled: + type: boolean + type: object + type: object + message: + description: 오류 메시지 + type: string + request_id: + description: 요청 ID + type: string + type: object + KlingMotionControlVideoResult: + properties: + duration: + description: "총 비디오 길이, 단위 - 초(s)" + type: string + id: + description: 생성된 비디오 ID; 전역적으로 고유함 + type: string + url: + description: 비디오 생성 URL + type: string + watermark_url: + description: "워터마크가 있는 비디오 생성 URL, 핫링크 보호 형식" + type: string + type: object + KlingOmniImageRequest: + properties: + aspect_ratio: + default: auto + description: 생성된 이미지의 가로세로 비율 (너비:높이). auto는 들어오는 콘텐츠를 기반으로 지능적으로 이미지를 생성합니다. + enum: + - 16:9 + - 9:16 + - 1:1 + - 4:3 + - 3:4 + - 3:2 + - 2:3 + - 21:9 + - auto + type: string + callback_url: + description: 이 작업 결과에 대한 콜백 알림 주소입니다. 설정된 경우 서버는 작업 상태가 변경될 때 적극적으로 알립니다. + format: uri + type: string + element_list: + description: 요소 ID 구성에 기반한 참조 요소 목록. 참조 요소와 참조 이미지의 합계는 10을 초과할 수 없습니다. + items: + properties: + element_id: + description: 요소 ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: 사용자 정의 작업 ID. 단일 사용자 계정 내에서 고유해야 합니다. + type: string + image_list: + description: "참조 이미지 목록. 이미지 Base64 인코딩 또는 이미지 URL 입력을 지원합니다 (접근 가능해야 함). 지원 형식: .jpg/.jpeg/.png. 파일 크기는 10MB를 초과할 수 없습니다. 너비와 높이 치수는 300px 이상이어야 하며, 가로세로 비율은 1:2.5 ~ 2.5:1 사이여야 합니다. 참조 요소와 참조 이미지의 합계는 10을 초과할 수 없습니다." + items: + properties: + image: + description: 이미지 Base64 인코딩 또는 이미지 URL (접근 가능해야 함) + type: string + type: object + type: array + model_name: + default: kling-image-o1 + description: 모델 이름 + enum: + - kling-image-o1 + - kling-v3-omni + type: string + "n": + default: 1 + description: "생성된 이미지 수. 값 범위 [1,9]." + maximum: 9 + minimum: 1 + type: integer + prompt: + description: "텍스트 프롬프트 단어로, 긍정 및 네거티브 설명을 포함할 수 있습니다. 2,500자를 초과할 수 없습니다. Omni 모델은 요소 및 이미지와 함께 Prompt를 통해 다양한 기능을 달성할 수 있습니다. <<<>>> 형식으로 이미지를 지정하세요(예: <<>>)." + maxLength: 2500 + type: string + resolution: + default: 1k + description: "이미지 생성 해상도. 1k는 1K 표준, 2k는 2K 고해상도, 4k는 4K 고해상도입니다." + enum: + - 1k + - 2k + - 4k + type: string + result_type: + default: single + description: 단일 이미지 또는 일련의 이미지를 생성할지 제어합니다. + enum: + - single + - series + type: string + series_amount: + default: 4 + description: "시리즈의 이미지 수. 값 범위 [2,9]." + maximum: 9 + minimum: 2 + type: integer + required: + - prompt + type: object + KlingOmniImageResponse: + properties: + code: + description: 오류 코드 + type: integer + data: + properties: + created_at: + description: "작업 생성 시간, Unix 타임스탬프(밀리초)" + type: integer + final_unit_deduction: + description: 작업의 차감 단위 + type: string + task_id: + description: 작업 ID + type: string + task_info: + properties: + external_task_id: + description: 고객 정의 작업 ID + type: string + type: object + task_result: + properties: + images: + items: + $ref: "#/components/schemas/KlingImageResult" + type: array + result_type: + description: 결과가 단일 이미지인지 일련의 이미지인지 여부 + enum: + - single + - series + type: string + series_images: + description: 시리즈 이미지 결과 목록 + items: + properties: + index: + description: 시리즈 이미지 시퀀스 번호 + type: integer + url: + description: 생성된 이미지의 URL + format: uri + type: string + type: object + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: "작업 상태 정보, 작업 실패 시 실패 이유를 표시합니다(예: 플랫폼의 콘텐츠 위험 제어 트리거 등)." + type: string + updated_at: + description: "작업 업데이트 시간, 밀리초 단위의 Unix 타임스탬프" + type: integer + type: object + message: + description: 오류 메시지 + type: string + request_id: + description: 요청 ID + type: string + type: object + KlingOmniVideoRequest: + properties: + aspect_ratio: + description: 생성된 비디오 프레임의 종횡비(너비:높이). 첫 번째 프레임 참조 또는 비디오 편집 기능을 사용하지 않을 때 필수입니다. + enum: + - 16:9 + - 9:16 + - 1:1 + type: string + callback_url: + description: 이 작업의 결과에 대한 콜백 알림 주소입니다. 구성된 경우 서버는 작업 상태가 변경될 때 적극적으로 알림을 보냅니다. + format: uri + type: string + duration: + default: "5" + description: "비디오 길이(초). 비디오 편집 기능(refer_type: base)을 사용하는 경우 출력 지속 시간은 입력 비디오와 동일하며 이 파라미터는 유효하지 않습니다." + enum: + - "3" + - "4" + - "5" + - "6" + - "7" + - "8" + - "9" + - "10" + - "11" + - "12" + - "13" + - "14" + - "15" + type: string + element_list: + description: 요소 ID 구성 기반 참조 요소 목록. + items: + properties: + element_id: + description: 요소 ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: 사용자 정의 작업 ID. 단일 사용자 계정 내에서 고유해야 합니다. + type: string + image_list: + description: "참조 이미지 목록. 요소, 장면, 스타일 등의 참조 이미지를 포함하거나 첫 번째 또는 마지막 프레임으로 사용하여 비디오를 생성할 수 있습니다." + items: + properties: + image_url: + description: "이미지 Base64 인코딩 또는 이미지 URL (접근성 보장). 지원되는 형식: .jpg/.jpeg/.png. 파일 크기는 10MB를 초과할 수 없습니다. 너비 및 높이 치수는 300px 이상이어야 하며 종횡비는 1:2.5 ~ 2.5:1 사이여야 합니다." + type: string + type: + description: 이미지가 첫 번째 프레임인지 마지막 프레임인지 여부. first_frame은 첫 번째 프레임이고 end_frame은 마지막 프레임입니다. 현재 마지막 프레임만 지원하지 않습니다. + enum: + - first_frame + - end_frame + type: string + type: object + type: array + mode: + default: pro + description: "비디오 생성 모드. std: 표준 모드, 720P 비디오 생성, 비용 효율적. pro: 전문가 모드, 1080P 비디오 생성, 더 높은 품질의 비디오 출력." + enum: + - pro + - std + type: string + model_name: + default: kling-video-o1 + description: 모델 이름 + enum: + - kling-video-o1 + - kling-v3-omni + type: string + multi_prompt: + description: "각 스토리보드에 대한 정보(프롬프트 및 지속 시간 등). 최대 6개 스토리보드 지원, 최소 1개. multi_shot이 true이고 shot_type이 customize일 때 필수입니다." + items: + properties: + duration: + description: 이 스토리보드의 지속 시간(초). 총 작업 지속 시간을 초과할 수 없으며 1보다 작을 수 없습니다. 모든 스토리보드 지속 시간의 합은 총 작업 지속 시간과 같습니다. + type: string + index: + description: 샷 시퀀스 번호 + type: integer + prompt: + description: 이 스토리보드의 프롬프트 단어. 최대 길이는 512자입니다. + maxLength: 512 + type: string + type: object + type: array + multi_shot: + default: false + description: 멀티샷 비디오 생성 여부. true인 경우 prompt 파라미터가 유효하지 않습니다. false인 경우 shot_type 및 multi_prompt 파라미터가 유효하지 않습니다. + type: boolean + prompt: + description: "텍스트 프롬프트 단어로, 긍정 및 네거티브 설명을 포함할 수 있습니다. 2,500자를 초과할 수 없습니다. <<<>>> 형식으로 요소, 이미지 또는 비디오를 지정할 수 있습니다(예: <>, <>, <>)." + maxLength: 2500 + type: string + shot_type: + description: 스토리보드 방법. multi_shot 파라미터가 true로 설정된 경우 필수입니다. + enum: + - customize + - intelligence + type: string + sound: + default: "off" + description: 비디오를 생성할 때 사운드가 동시에 생성되는지 여부입니다. + enum: + - "on" + - "off" + type: string + video_list: + description: "참조 비디오 목록입니다. 기능을 위한 참조 비디오 또는 편집할 비디오로 사용할 수 있으며, 기본값은 편집할 비디오입니다." + items: + properties: + keep_original_sound: + description: "비디오 원본 사운드를 유지할지 여부입니다. yes는 유지, no는 미유지를 나타냅니다." + enum: + - "yes" + - "no" + type: string + refer_type: + description: "참조 비디오 유형입니다. feature는 기능 참조 비디오, base는 편집할 비디오입니다." + enum: + - feature + - base + type: string + video_url: + description: "업로드된 비디오의 URL입니다. .mp4/.mov 형식만 지원됩니다. 길이는 3-10초 사이입니다. 해상도는 720px에서 2160px 사이여야 합니다. 24-60 fps의 프레임 속도가 지원됩니다. 비디오는 1개만 업로드할 수 있으며, 크기는 200MB를 초과할 수 없습니다." + type: string + type: object + type: array + watermark_info: + description: 워터마크 결과를 동시에 생성할지 여부입니다. 현재 사용자 정의 워터마크는 지원되지 않습니다. + properties: + enabled: + description: "true는 워터마크 생성, false는 생성하지 않음을 의미합니다." + type: boolean + type: object + type: object + KlingPresetsElement: + properties: + element_description: + type: string + element_id: + format: int64 + type: integer + element_image_list: + properties: + frontal_image: + type: string + refer_images: + items: + properties: + image_url: + type: string + type: object + type: array + type: object + element_name: + type: string + element_video_list: + properties: + refer_videos: + items: + properties: + video_url: + type: string + type: object + type: array + type: object + element_voice_info: + properties: + owned_by: + type: string + trial_url: + type: string + voice_id: + type: string + voice_name: + type: string + type: object + owned_by: + type: string + reference_type: + type: string + tag_list: + items: + properties: + description: + type: string + id: + type: string + name: + type: string + type: object + type: array + type: object + KlingPresetsElementTask: + properties: + created_at: + description: "작업 생성 시간, 밀리초 단위의 Unix 타임스탬프" + type: integer + final_unit_deduction: + type: string + task_id: + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + elements: + items: + $ref: "#/components/schemas/KlingPresetsElement" + type: array + type: object + task_status: + enum: + - submitted + - processing + - succeed + - failed + type: string + task_status_msg: + type: string + updated_at: + description: "작업 업데이트 시간, 밀리초 단위의 Unix 타임스탬프" + type: integer + type: object + KlingPresetsElementsResponse: + properties: + code: + type: integer + data: + items: + $ref: "#/components/schemas/KlingPresetsElementTask" + type: array + message: + type: string + request_id: + type: string + type: object + KlingQueryTaskResponse: + properties: + code: + description: 오류 코드 + type: integer + data: + properties: + created_at: + description: "작업 생성 시간, 밀리초 단위의 Unix 타임스탬프" + type: integer + final_unit_deduction: + description: 작업의 차감 단위 + type: string + task_id: + description: 작업 ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: "작업 상태 정보, 작업 실패 시 실패 이유를 표시합니다." + type: string + updated_at: + description: "작업 업데이트 시간, 밀리초 단위의 Unix 타임스탬프" + type: integer + watermark_info: + properties: + enabled: + type: boolean + type: object + type: object + message: + description: 오류 메시지 + type: string + request_id: + description: 요청 ID + type: string + type: object + KlingResourcePackageResponse: + properties: + code: + description: 오류 코드; 0은 성공을 나타냅니다. + type: integer + data: + properties: + code: + description: 오류 코드; 0은 성공을 나타냅니다. + type: integer + msg: + description: 오류 정보 + type: string + resource_pack_subscribe_infos: + description: 리소스 패키지 목록 + items: + properties: + effective_time: + description: "유효 시간, 밀리초 단위의 Unix 타임스탬프" + format: int64 + type: integer + invalid_time: + description: "만료 시간, 밀리초 단위의 Unix 타임스탬프" + format: int64 + type: integer + purchase_time: + description: "구매 시간, 밀리초 단위의 Unix 타임스탬프" + format: int64 + type: integer + remaining_quantity: + description: 남은 수량 (12시간 지연 업데이트) + format: float + type: number + resource_pack_id: + description: 리소스 패키지 ID + type: string + resource_pack_name: + description: 리소스 패키지 이름 + type: string + resource_pack_type: + description: "리소스 패키지 유형 (decreasing_total=감소 총계, constant_period=일정 주기)" + enum: + - decreasing_total + - constant_period + type: string + status: + description: 리소스 패키지 상태 + enum: + - toBeOnline + - online + - expired + - runOut + type: string + total_quantity: + description: 총 수량 + format: float + type: number + type: object + type: array + type: object + message: + description: 오류 정보 + type: string + request_id: + description: "요청 ID, 시스템에 의해 생성됨, 요청 추적 및 문제 해결에 사용" + type: string + type: object + KlingSingleImageEffectDuration: + description: 비디오 길이(초). 5초 비디오만 지원됩니다. + enum: + - "5" + type: string + KlingSingleImageEffectInput: + properties: + duration: + $ref: "#/components/schemas/KlingSingleImageEffectDuration" + image: + description: "참조 이미지. URL 또는 Base64로 인코딩된 문자열(data:image 접두사 없음). 파일 크기는 10MB를 초과할 수 없으며, 해상도는 300*300px 이상, 화면 비율은 1:2.5 ~ 2.5:1 사이여야 합니다." + type: string + model_name: + $ref: "#/components/schemas/KlingSingleImageEffectModelName" + required: + - model_name + - image + - duration + type: object + KlingSingleImageEffectModelName: + description: 모델 이름. 단일 이미지 효과에는 kling-v1-6만 지원됩니다. + enum: + - kling-v1-6 + type: string + KlingSingleImageEffectsScene: + description: "장면 이름. 단일 이미지 효과 (bloombloom, dizzydizzy, fuzzyfuzzy, squish, expansion)." + enum: + - bloombloom + - dizzydizzy + - fuzzyfuzzy + - squish + - expansion + type: string + KlingTaskStatus: + description: 작업 상태 + enum: + - submitted + - processing + - succeed + - failed + type: string + KlingText2VideoRequest: + properties: + aspect_ratio: + $ref: "#/components/schemas/KlingVideoGenAspectRatio" + callback_url: + description: 콜백 알림 주소 + format: uri + type: string + camera_control: + $ref: "#/components/schemas/KlingCameraControl" + cfg_scale: + $ref: "#/components/schemas/KlingVideoGenCfgScale" + duration: + $ref: "#/components/schemas/KlingVideoGenDuration" + external_task_id: + description: 사용자 정의 작업 ID + type: string + mode: + $ref: "#/components/schemas/KlingVideoGenMode" + model_name: + $ref: "#/components/schemas/KlingTextToVideoModelName" + multi_prompt: + description: "각 스토리보드에 대한 정보(프롬프트 및 지속 시간 등). 최대 6개 스토리보드 지원, 최소 1개. multi_shot이 true이고 shot_type이 customize인 경우 필수입니다." + items: + properties: + duration: + description: 이 스토리보드의 지속 시간(초). 총 작업 시간을 초과할 수 없으며 1보다 작을 수 없습니다. 모든 스토리보드 지속 시간의 합은 총 작업 시간과 같습니다. + type: string + index: + description: 샷 시퀀스 번호 + type: integer + prompt: + description: 이 스토리보드의 프롬프트 단어. 최대 길이 512자. + maxLength: 512 + type: string + type: object + type: array + multi_shot: + default: false + description: 멀티샷 비디오를 생성할지 여부. true인 경우 프롬프트 파라미터가 유효하지 않습니다. false인 경우 shot_type 및 multi_prompt 파라미터가 유효하지 않습니다. + type: boolean + negative_prompt: + description: 네거티브 텍스트 프롬프트. 네거티브 프롬프트 정보는 포지티브 프롬프트 내에서 직접 네거티브 문장을 통해 보완하는 것이 권장됩니다. + maxLength: 2500 + type: string + prompt: + description: 포지티브 텍스트 프롬프트. <<>>를 사용하여 voice_list 파라미터 순서와 일치하는 음성을 지정합니다. 작업은 최대 2개의 톤을 참조할 수 있습니다. 톤을 지정할 때 사운드 파라미터 값이 on이어야 합니다. + maxLength: 2500 + type: string + shot_type: + description: 스토리보드 방법. multi_shot 파라미터가 true로 설정된 경우 필수입니다. + enum: + - customize + - intelligence + type: string + sound: + default: "off" + description: 비디오 생성 시 사운드를 동시에 생성할지 여부. V2.6 이후 버전의 모델만 이 파라미터를 지원합니다. + enum: + - "on" + - "off" + type: string + watermark_info: + description: 워터마크 결과를 동시에 생성할지 여부. 현재 사용자 정의 워터마크는 지원되지 않습니다. + properties: + enabled: + description: "true는 워터마크 생성, false는 생성하지 않음을 의미합니다." + type: boolean + type: object + type: object + KlingTextToVideoModelName: + default: kling-v1 + description: 모델 이름 + enum: + - kling-v1 + - kling-v1-5 + - kling-v1-6 + - kling-v2-master + - kling-v2-1-master + - kling-v2-5-turbo + - kling-v2-6 + - kling-v3 + type: string + KlingV2CreateTaskResponse: + description: Kling 3.0 Turbo 작업이 생성될 때 반환되는 응답입니다. + properties: + code: + description: 오류 코드. 0은 성공을 나타냅니다. + type: integer + data: + properties: + create_time: + description: 작업 생성 시간. 밀리초 단위의 Unix 타임스탬프입니다. + format: int64 + type: integer + external_id: + description: 이 작업에 대한 사용자 지정 작업 ID(있는 경우)입니다. + type: string + id: + description: 생성된 작업 ID입니다. + type: string + status: + description: "작업 상태. \"submitted\", \"processing\", \"succeeded\", \"failed\" 중 하나입니다." + type: string + update_time: + description: 작업 업데이트 시간. 밀리초 단위의 Unix 타임스탬프입니다. + format: int64 + type: integer + type: object + message: + description: 오류 메시지. + type: string + request_id: + description: 시스템에서 생성된 요청 ID입니다. + type: string + type: object + KlingV2Image2VideoRequest: + properties: + contents: + description: 프롬프트 및 이미지와 같은 참조 모음입니다. 동일한 자료와 관련된 필드는 동일한 객체에 속합니다. + items: + properties: + text: + description: "텍스트 프롬프트. type이 \"prompt\"일 때 제공됩니다. 긍정 및 네거티브 설명을 포함할 수 있으며, 최대 2500자를 초과할 수 없습니다." + type: string + type: + description: "참조 유형. \"prompt\" 또는 \"first_frame\" 중 하나입니다." + type: string + url: + description: "첫 번째 프레임 자료. type이 \"first_frame\"일 때 제공됩니다. URL 또는 Base64 콘텐츠일 수 있습니다. .jpg, .jpeg, .png를 최대 50MB까지 지원하며, 너비와 높이는 최소 300px이어야 하고 가로 세로 비율이 1:2.5에서 2.5:1 사이여야 합니다." + type: string + type: object + type: array + options: + $ref: "#/components/schemas/KlingV2Options" + settings: + description: 해상도 및 지속 시간과 같은 출력 구성입니다. + properties: + duration: + description: 비디오 길이(초). 지원되는 값은 3~15입니다. 기본값은 5입니다. + type: integer + resolution: + description: "생성된 비디오의 선명도. \"720p\" 또는 \"1080p\" 중 하나입니다. 기본값은 \"720p\"입니다." + type: string + type: object + required: + - contents + type: object + KlingV2Options: + description: 콜백 주소 및 워터마크 옵션과 같은 일반 구성입니다. + properties: + callback_url: + description: 작업 결과에 대한 콜백 알림 URL입니다. 서버는 작업 상태가 변경될 때 알립니다. + type: string + external_task_id: + description: 사용자 지정 작업 ID. 시스템 생성 작업 ID를 덮어쓰지 않지만 쿼리에 사용할 수 있습니다. 단일 사용자 계정 내에서 고유해야 합니다. + type: string + watermark_info: + description: 워터마크 결과를 동시에 생성할지 여부입니다. 사용자 지정 워터마크는 지원되지 않습니다. + properties: + enabled: + description: "true는 워터마크 결과를 생성, false는 생성하지 않음을 의미합니다. 기본값은 false입니다." + type: boolean + type: object + type: object + KlingV2Output: + description: "생성된 출력입니다. 표시되는 필드는 `type`(비디오, 이미지, 오디오, 음성 또는 요소)에 따라 다릅니다." + properties: + duration: + description: 생성된 비디오의 지속 시간(초)입니다. + type: string + group_id: + description: "그룹화 마커, 그룹화된 이미지에만 표시됩니다." + type: string + id: + description: 시스템에 의해 생성된 출력 ID. + type: string + mp3_duration: + description: 생성된 MP3 오디오의 길이(초). + type: string + mp3_url: + description: 생성된 오디오의 MP3 URL (핫링크 보호됨). + type: string + name: + description: 생성된 자료의 이름. + type: string + owned_by: + description: "자료의 출처. \"kling\"은 공식 라이브러리를 나타내고, 숫자는 제작자 ID입니다." + type: string + status: + description: "자료의 상태. \"succeeded\" 또는 \"deleted\" 중 하나." + type: string + type: + description: "출력 콘텐츠 유형. \"video\", \"image\", \"audio\", \"voice\" 또는 \"element\" 중 하나." + type: string + url: + description: 생성된 결과의 URL (핫링크 보호됨). 30일 후 삭제됩니다. + type: string + watermark_url: + description: 워터마크가 적용된 결과의 URL (핫링크 보호됨). + type: string + wav_duration: + description: 생성된 WAV 오디오의 길이(초). + type: string + wav_url: + description: 생성된 오디오의 WAV URL (핫링크 보호됨). + type: string + type: object + KlingV2QueryTaskResponse: + description: ID로 Kling 3.0 Turbo 작업을 조회할 때 반환되는 응답. + properties: + code: + description: 오류 코드. 0은 성공을 나타냅니다. + type: integer + data: + description: 쿼리와 일치하는 작업. + items: + $ref: "#/components/schemas/KlingV2Task" + type: array + message: + description: 오류 메시지. + type: string + request_id: + description: 시스템에서 생성된 요청 ID. + type: string + type: object + KlingV2Task: + description: 하나의 Kling 3.0 Turbo 작업 기록. + properties: + billing: + description: 작업의 결제 세부 정보. + items: + properties: + amount: + description: "소비 금액, 소수점 두 자리까지 정확합니다." + type: string + charge_type: + description: "소비 계정 유형. \"cash\"는 잔액, \"unit\"은 리소스 패키지를 나타냅니다." + type: string + package_type: + description: "소비 가능한 리소스 번들 유형 (charge_type이 \"unit\"인 경우에만 표시됨). \"video\", \"image\" 또는 \"audio\" 중 하나." + type: string + type: object + type: array + create_time: + description: 작업 생성 시간. 밀리초 단위의 Unix 타임스탬프. + format: int64 + type: integer + external_id: + description: 이 작업의 사용자 지정 작업 ID (있는 경우). + type: string + id: + description: 작업 ID. + type: string + message: + description: "작업 상태 정보, 작업이 실패하면 실패 이유를 표시합니다." + type: string + outputs: + description: 태스크에 대한 생성된 출력입니다. + items: + $ref: "#/components/schemas/KlingV2Output" + type: array + status: + description: "태스크 상태. \"submitted\", \"processing\", \"succeeded\" 또는 \"failed\" 중 하나입니다." + type: string + update_time: + description: 태스크 업데이트 시간. 밀리초 단위의 Unix 타임스탬프입니다. + format: int64 + type: integer + type: object + KlingV2Text2VideoRequest: + properties: + options: + $ref: "#/components/schemas/KlingV2Options" + prompt: + description: "긍정 및 네거티브 설명을 모두 포함할 수 있는 프롬프트입니다. 권장 길이는 2500자 미만입니다. 멀티샷 비디오는 \"shot n, m, words; shot n, m, words;\" 형식을 사용합니다." + maxLength: 3072 + type: string + settings: + description: "해상도, 종횡비 및 지속 시간과 같은 출력 구성입니다." + properties: + aspect_ratio: + description: "생성된 프레임의 종횡비(너비:높이)입니다. \"16:9\", \"9:16\" 또는 \"1:1\" 중 하나입니다. 기본값은 \"16:9\"입니다." + type: string + duration: + description: 비디오 길이(초)입니다. 지원되는 값은 3에서 15까지입니다. 기본값은 5입니다. + type: integer + resolution: + description: "생성된 비디오의 선명도입니다. \"720p\" 또는 \"1080p\" 중 하나입니다. 기본값은 \"720p\"입니다." + type: string + type: object + required: + - prompt + type: object + KlingVideoEffectsInput: + oneOf: + - $ref: "#/components/schemas/KlingSingleImageEffectInput" + - $ref: "#/components/schemas/KlingDualCharacterEffectInput" + KlingVideoEffectsRequest: + properties: + callback_url: + description: 이 태스크 결과에 대한 콜백 알림 주소입니다. + format: uri + type: string + effect_scene: + oneOf: + - $ref: "#/components/schemas/KlingDualCharacterEffectsScene" + - $ref: "#/components/schemas/KlingSingleImageEffectsScene" + external_task_id: + description: 사용자 정의 태스크 ID입니다. 단일 사용자 계정 내에서 고유해야 합니다. + type: string + input: + $ref: "#/components/schemas/KlingVideoEffectsInput" + required: + - effect_scene + - input + type: object + KlingVideoEffectsResponse: + properties: + code: + description: 오류 코드 + type: integer + data: + properties: + created_at: + description: 태스크 생성 시간 + type: integer + task_id: + description: 태스크 ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + updated_at: + description: 태스크 업데이트 시간 + type: integer + type: object + message: + description: 오류 메시지 + type: string + request_id: + description: 요청 ID + type: string + type: object + KlingVideoExtendRequest: + properties: + callback_url: + description: 콜백 알림 주소입니다. 서버는 태스크 상태가 변경될 때 알림을 보냅니다. + format: uri + type: string + cfg_scale: + $ref: "#/components/schemas/KlingVideoGenCfgScale" + negative_prompt: + description: 확장된 비디오에서 피해야 할 요소에 대한 네거티브 텍스트 프롬프트입니다. + maxLength: 2500 + type: string + prompt: + description: 비디오 확장을 안내하는 긍정 텍스트 프롬프트입니다. + maxLength: 2500 + type: string + video_id: + description: "확장할 비디오의 ID입니다. 텍스트 기반 비디오 생성, 이미지 기반 비디오 생성 및 이전 비디오 확장 연산으로 생성된 비디오를 지원합니다. 확장 후 총 재생 시간이 3분을 초과할 수 없습니다." + type: string + type: object + KlingVideoExtendResponse: + properties: + code: + description: 오류 코드 + type: integer + data: + properties: + created_at: + description: 태스크 생성 시간 + type: integer + task_id: + description: 태스크 ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + updated_at: + description: 태스크 업데이트 시간 + type: integer + type: object + message: + description: 오류 메시지 + type: string + request_id: + description: 요청 ID + type: string + type: object + KlingVideoGenAspectRatio: + default: 16:9 + description: 비디오 종횡비 + enum: + - 16:9 + - 9:16 + - 1:1 + type: string + KlingVideoGenCfgScale: + default: 0.5 + description: 비디오 생성의 유연성. 값이 높을수록 모델의 유연성이 낮아지고 사용자 프롬프트와의 관련성이 높아집니다. + format: float + maximum: 1 + minimum: 0 + type: number + KlingVideoGenDuration: + default: "5" + description: 비디오 길이(초) + enum: + - "3" + - "4" + - "5" + - "6" + - "7" + - "8" + - "9" + - "10" + - "11" + - "12" + - "13" + - "14" + - "15" + type: string + KlingVideoGenMode: + default: std + description: "비디오 생성 모드. std: 표준 모드(비용 효율적). pro: 프로페셔널 모드(더 긴 지속 시간이지만 더 높은 품질의 출력을 생성)." + enum: + - std + - pro + type: string + KlingVideoGenModelName: + default: kling-v1 + description: 모델 이름 + enum: + - kling-v1 + - kling-v1-5 + - kling-v1-6 + - kling-v2-master + - kling-v2-1 + - kling-v2-1-master + - kling-v2-5-turbo + - kling-v2-6 + - kling-v3 + type: string + KlingVideoResult: + properties: + duration: + description: 전체 비디오 지속 시간(초) + type: string + id: + description: 생성된 비디오 ID + type: string + url: + description: 생성된 비디오의 URL + format: uri + type: string + watermark_url: + description: "워터마크가 있는 생성된 비디오의 URL, 핫링크 보호 형식" + format: uri + type: string + type: object + KlingVirtualTryOnModelName: + default: kolors-virtual-try-on-v1 + description: 모델 이름 + enum: + - kolors-virtual-try-on-v1 + - kolors-virtual-try-on-v1-5 + type: string + KlingVirtualTryOnRequest: + properties: + callback_url: + description: 콜백 알림 주소 + format: uri + type: string + cloth_image: + description: "참조 의류 이미지: Base64 인코딩 문자열 또는 이미지 URL" + type: string + human_image: + description: "참조 인물 이미지: Base64 인코딩 문자열 또는 이미지 URL" + type: string + model_name: + $ref: "#/components/schemas/KlingVirtualTryOnModelName" + required: + - human_image + type: object + KlingVirtualTryOnResponse: + properties: + code: + description: 오류 코드 + type: integer + data: + properties: + created_at: + description: 작업 생성 시간 + type: integer + task_id: + description: 작업 ID + type: string + task_result: + properties: + images: + items: + $ref: "#/components/schemas/KlingImageResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: 작업 상태 정보 + type: string + updated_at: + description: 작업 업데이트 시간 + type: integer + type: object + message: + description: 오류 메시지 + type: string + request_id: + description: 요청 ID + type: string + type: object + KreaAsset: + properties: + description: + type: string + height: + nullable: true + type: number + id: + format: uuid + type: string + image_url: + format: uri + type: string + metadata: + additionalProperties: true + type: object + mime_type: + nullable: true + type: string + size_bytes: + nullable: true + type: number + uploaded_at: + format: date-time + type: string + width: + nullable: true + type: number + required: + - id + - image_url + - uploaded_at + type: object + KreaAssetUploadRequest: + properties: + description: + description: 에셋에 대한 선택적 설명 + type: string + file: + description: "업로드할 파일(JPEG, PNG, WebP, HEIC, MP4, MOV, WebM, GLB, WAV, MP3). 최대 크기: 75MB." + format: binary + type: string + required: + - file + type: object + KreaGenerateImageRequest: + properties: + aspect_ratio: + description: "종횡비. 값: 1:1, 4:3, 3:2, 16:9, 2.35:1, 4:5, 2:3, 9:16." + enum: + - 1:1 + - 4:3 + - 3:2 + - 16:9 + - 2.35:1 + - 4:5 + - 2:3 + - 9:16 + type: string + creativity: + default: medium + description: "프롬프트 해석 강도: raw=0, low=10, medium=50, high=100." + enum: + - raw + - low + - medium + - high + type: string + image_style_references: + description: 생성에 사용할 스타일 참조 + items: + $ref: "#/components/schemas/KreaImageStyleReference" + maxItems: 10 + type: array + moodboards: + description: 생성에 사용할 무드보드. 현재 하나의 무드보드로 제한됩니다. + items: + $ref: "#/components/schemas/KreaMoodboard" + maxItems: 1 + type: array + prompt: + type: string + resolution: + description: "해상도 크기 조절. 옵션: 1K." + enum: + - 1K + type: string + seed: + nullable: true + type: number + styles: + description: 생성에 사용할 스타일(일반적으로 LoRA) + items: + $ref: "#/components/schemas/KreaStyle" + type: array + required: + - prompt + - aspect_ratio + - resolution + type: object + KreaImageStyleReference: + properties: + strength: + format: double + maximum: 2 + minimum: -2 + type: number + url: + format: uri + type: string + required: + - strength + type: object + KreaJob: + properties: + completed_at: + format: date-time + nullable: true + type: string + created_at: + format: date-time + type: string + job_id: + format: uuid + type: string + result: + allOf: + - $ref: "#/components/schemas/KreaJobResult" + nullable: true + status: + description: "사용 가능한 옵션: backlogged, queued, scheduled, processing, sampling, intermediate-complete, completed, failed, cancelled" + enum: + - backlogged + - queued + - scheduled + - processing + - sampling + - intermediate-complete + - completed + - failed + - cancelled + type: string + required: + - job_id + - status + - created_at + - completed_at + - result + type: object + KreaJobResult: + properties: + style_id: + type: string + urls: + items: + format: uri + type: string + type: array + type: object + KreaMoodboard: + properties: + id: + format: uuid + type: string + strength: + default: 0.35 + format: double + maximum: 1.5 + minimum: -0.5 + type: number + required: + - id + type: object + KreaStyle: + properties: + id: + type: string + strength: + format: double + maximum: 2 + minimum: -2 + type: number + required: + - id + - strength + type: object + LTXImage2VideoRequest: + properties: + duration: + description: 비디오 길이(초) + enum: + - 6 + - 8 + - 10 + type: integer + fps: + default: 25 + description: 초당 프레임 수 + enum: + - 25 + - 50 + type: integer + generate_audio: + default: true + description: 비디오의 오디오 생성 + type: boolean + image_uri: + description: 비디오의 첫 번째 프레임으로 사용할 이미지(HTTPS URL 또는 base64 데이터 URI) + type: string + model: + description: 생성에 사용할 모델 + enum: + - ltx-2-fast + - ltx-2-pro + type: string + prompt: + description: 이미지가 어떻게 애니메이션되어야 하는지에 대한 텍스트 설명 + maxLength: 10000 + type: string + resolution: + description: 출력 비디오 해상도 + enum: + - 1920x1080 + - 2560x1440 + - 3840x2160 + type: string + required: + - image_uri + - prompt + - model + - duration + - resolution + type: object + LTXText2VideoRequest: + properties: + duration: + description: 비디오 길이(초) + enum: + - 6 + - 8 + - 10 + type: integer + fps: + default: 25 + description: 초당 프레임 수 + enum: + - 25 + - 50 + type: integer + generate_audio: + default: true + description: 비디오의 오디오 생성 + type: boolean + model: + description: 생성에 사용할 모델 + enum: + - ltx-2-fast + - ltx-2-pro + type: string + prompt: + description: 원하는 비디오 콘텐츠를 설명하는 텍스트 프롬프트 + maxLength: 10000 + type: string + resolution: + description: 출력 비디오 해상도 + enum: + - 1920x1080 + - 2560x1440 + - 3840x2160 + type: string + required: + - prompt + - model + - duration + - resolution + type: object + LumaAgentsAspectRatio: + description: "출력 화면 비율. ray-3.2 비디오 모델은 하위 집합 9:16, 3:4, 1:1, 4:3, 16:9, 21:9를 지원합니다." + enum: + - 3:1 + - 2:1 + - 21:9 + - 16:9 + - 3:2 + - 4:3 + - 1:1 + - 3:4 + - 2:3 + - 9:16 + - 1:2 + - 1:3 + type: string + LumaAgentsError: + description: 오류 객체 + properties: + detail: + description: 오류 메시지 + type: string + type: object + LumaAgentsFailureCode: + description: 프로그래매틱 처리를 위한 기계 판독 가능 실패 코드 + enum: + - content_moderated + - generation_failed + - budget_exhausted + - output_not_found + type: string + LumaAgentsGeneration: + description: 생성 상태 및 출력 + properties: + created_at: + description: 생성 타임스탬프 + type: string + failure_code: + $ref: "#/components/schemas/LumaAgentsFailureCode" + failure_reason: + description: 사람이 읽을 수 있는 실패 설명 + type: string + id: + description: 생성 식별자 + type: string + model: + description: 사용된 모델 + type: string + output: + items: + $ref: "#/components/schemas/LumaAgentsGenerationOutput" + type: array + state: + $ref: "#/components/schemas/LumaAgentsState" + type: + $ref: "#/components/schemas/LumaAgentsGenerationType" + type: object + LumaAgentsGenerationOutput: + description: 생성된 출력 항목 + properties: + type: + description: "미디어 유형 (예: 이미지)" + type: string + url: + description: 사전 서명된 URL (1시간 만료) + type: string + type: object + LumaAgentsGenerationRequest: + description: Luma Agents 생성 요청 객체 + properties: + aspect_ratio: + $ref: "#/components/schemas/LumaAgentsAspectRatio" + image_ref: + description: "스타일/콘텐츠 가이드를 위한 참조 이미지입니다. 'image' 유형은 최대 9개, 'image_edit' 유형은 최대 8개까지 가능합니다." + items: + $ref: "#/components/schemas/LumaAgentsImageRef" + type: array + model: + description: "사용할 모델입니다. 이미지 생성에는 uni-1 / uni-1-max, 비디오 생성, 편집 및 재구성에는 ray-3.2를 사용합니다." + type: string + output_format: + $ref: "#/components/schemas/LumaAgentsOutputFormat" + prompt: + description: 텍스트 프롬프트 + type: string + source: + $ref: "#/components/schemas/LumaAgentsImageRef" + style: + $ref: "#/components/schemas/LumaAgentsStyle" + type: + $ref: "#/components/schemas/LumaAgentsGenerationType" + video: + $ref: "#/components/schemas/LumaAgentsVideoOptions" + web_search: + description: 웹 검색 근거 사용 + type: boolean + required: + - prompt + type: object + LumaAgentsGenerationType: + description: "수행할 생성 유형입니다. image/image_edit은 uni-1 / uni-1-max 모델에서 생성되고, video/video_edit/video_reframe은 ray-3.2 모델에서 생성됩니다." + enum: + - image + - image_edit + - video + - video_edit + - video_reframe + type: string + LumaAgentsImageRef: + description: "이미지 또는 비디오에 대한 참조입니다. 스타일/콘텐츠 가이드, 가이드 생성, video-edit/video-reframe 소스 및 가이드 키프레임에 사용됩니다. generation_id, url, data 중 정확히 하나를 제공하십시오." + properties: + data: + description: Base64로 인코딩된 이미지 또는 비디오 데이터 + type: string + generation_id: + description: 소스로 재사용할 이전에 완료된 생성의 UUID입니다. ray-3.2 video_edit / video_reframe에서 사용됩니다. + type: string + media_type: + description: "MIME 유형입니다. data와 함께 필수입니다(비디오 소스의 경우 url과 함께도 필수, 예: video_edit / video_reframe에서 video/mp4)." + type: string + url: + description: 공개적으로 접근 가능한 이미지 또는 비디오 URL + type: string + type: object + LumaAgentsOutputFormat: + description: 출력 이미지 형식 + enum: + - png + - jpeg + type: string + LumaAgentsState: + description: 생성의 현재 상태 + enum: + - queued + - processing + - completed + - failed + type: string + LumaAgentsStyle: + description: 스타일 사전 설정 + enum: + - auto + - manga + type: string + LumaAgentsVideoDuration: + description: ray-3.2 비디오 / video_edit의 클립 길이입니다. 기본값은 5초입니다. HDR 생성(type video)은 5초로 제한됩니다. + enum: + - 5s + - 10s + type: string + LumaAgentsVideoOptions: + description: "ray-3.2에 대한 비디오 출력 설정입니다. 검증 및 청구에 영향을 미치는 필드만 여기에 모델링되며, 추가 필드(편집 제어, end_frame, loop, source_position)는 변경 없이 Luma로 전달됩니다." + properties: + duration: + $ref: "#/components/schemas/LumaAgentsVideoDuration" + exr_export: + description: MP4와 함께 EXR 파일을 내보냅니다. hdr이 참이어야 합니다. video_reframe에서는 거부됩니다. + type: boolean + hdr: + description: HDR로 렌더링합니다. 720p/1080p가 필요합니다. video_reframe에서는 거부됩니다. + type: boolean + keyframes: + description: "가이드 프레임 이미지입니다. 단일 키프레임은 \"video\" 유형 요청을 단일 키프레임 확장으로 만들며, 항상 5초 블록 하나로 청구됩니다." + items: + $ref: "#/components/schemas/LumaAgentsImageRef" + type: array + loop: + description: 생성된 클립을 반복합니다. 생성 전용(type video)입니다. + type: boolean + resolution: + $ref: "#/components/schemas/LumaAgentsVideoResolution" + start_frame: + $ref: "#/components/schemas/LumaAgentsImageRef" + type: object + LumaAgentsVideoResolution: + description: ray-3.2 비디오의 출력 해상도입니다. 기본값은 720p입니다. 360p는 드래프트 등급입니다. HDR은 720p 또는 1080p가 필요합니다. + enum: + - 360p + - 540p + - 720p + - 1080p + type: string + LumaAspectRatio: + default: 16:9 + description: 생성물의 종횡비 + enum: + - 1:1 + - 16:9 + - 9:16 + - 4:3 + - 3:4 + - 21:9 + - 9:21 + example: 16:9 + type: string + LumaAssets: + description: 생성의 에셋 + properties: + image: + description: 이미지의 URL + format: uri + type: string + progress_video: + description: 진행 비디오의 URL + format: uri + type: string + video: + description: 비디오의 URL + format: uri + type: string + type: object + LumaAudioGenerationRequest: + description: 오디오 생성 요청 객체 + properties: + callback_url: + description: 오디오의 콜백 URL + format: uri + type: string + generation_type: + default: add_audio + enum: + - add_audio + type: string + negative_prompt: + description: 오디오의 네거티브 프롬프트 + type: string + prompt: + description: 오디오의 프롬프트 + type: string + type: object + LumaError: + description: 오류 객체 + example: + detail: Invalid API key is provided + properties: + detail: + description: 오류 메시지 + type: string + type: object + LumaGeneration: + description: 생성 응답 객체 + example: + assets: + video: https://example.com/video.mp4 + created_at: 2023-06-01T12:00:00Z + failure_reason: null + id: 123e4567-e89b-12d3-a456-426614174000 + model: ray-2 + request: + aspect_ratio: 16:9 + keyframes: + frame0: + type: image + url: https://example.com/image.jpg + frame1: + id: 123e4567-e89b-12d3-a456-426614174000 + type: generation + loop: true + prompt: A serene lake surrounded by mountains at sunset + state: completed + properties: + assets: + $ref: "#/components/schemas/LumaAssets" + created_at: + description: 생성된 날짜와 시간 + format: date-time + type: string + failure_reason: + description: 생성 상태의 이유 + type: string + generation_type: + $ref: "#/components/schemas/LumaGenerationType" + id: + description: 생성의 ID + format: uuid + type: string + model: + description: 생성에 사용된 모델 + type: string + request: + description: 생성의 요청 + oneOf: + - $ref: "#/components/schemas/LumaGenerationRequest" + - $ref: "#/components/schemas/LumaImageGenerationRequest" + - $ref: "#/components/schemas/LumaUpscaleVideoGenerationRequest" + - $ref: "#/components/schemas/LumaAudioGenerationRequest" + state: + $ref: "#/components/schemas/LumaState" + type: object + LumaGenerationReference: + description: 생성 참조 객체 + example: + id: 123e4567-e89b-12d3-a456-426614174003 + type: generation + properties: + id: + description: 생성의 ID + format: uuid + type: string + type: + default: generation + enum: + - generation + type: string + required: + - type + - id + type: object + LumaGenerationRequest: + description: 생성 요청 객체 + properties: + aspect_ratio: + $ref: "#/components/schemas/LumaAspectRatio" + callback_url: + description: "생성의 콜백 URL입니다. 생성이 dreaming, 완료됨, 또는 실패 상태일 때 생성 객체가 포함된 POST 요청이 콜백 URL로 전송됩니다." + format: uri + type: string + duration: + $ref: "#/components/schemas/LumaVideoModelOutputDuration" + generation_type: + default: video + enum: + - video + type: string + keyframes: + $ref: "#/components/schemas/LumaKeyframes" + loop: + description: 비디오 반복 재생 여부 + type: boolean + model: + $ref: "#/components/schemas/LumaVideoModel" + prompt: + description: 생성의 프롬프트 + type: string + resolution: + $ref: "#/components/schemas/LumaVideoModelOutputResolution" + required: + - duration + - resolution + - prompt + - aspect_ratio + - model + type: object + LumaGenerationType: + enum: + - video + - image + type: string + LumaImageGenerationRequest: + description: 이미지 생성 요청 객체 + properties: + aspect_ratio: + $ref: "#/components/schemas/LumaAspectRatio" + callback_url: + description: 생성을 위한 콜백 URL + format: uri + type: string + character_ref: + properties: + identity0: + $ref: "#/components/schemas/LumaImageIdentity" + type: object + generation_type: + default: image + enum: + - image + type: string + image_ref: + items: + $ref: "#/components/schemas/LumaImageRef" + type: array + model: + $ref: "#/components/schemas/LumaImageModel" + modify_image_ref: + $ref: "#/components/schemas/LumaModifyImageRef" + prompt: + description: 생성의 프롬프트 + type: string + style_ref: + items: + $ref: "#/components/schemas/LumaImageRef" + type: array + type: object + LumaImageIdentity: + description: 이미지 식별 객체 + properties: + images: + description: 이미지 식별의 URL들 + items: + format: uri + type: string + type: array + type: object + LumaImageModel: + default: photon-1 + description: 생성에 사용된 이미지 모델 + enum: + - photon-1 + - photon-flash-1 + type: string + LumaImageRef: + description: 이미지 참조 객체 + properties: + url: + description: 이미지 참조의 URL + format: uri + type: string + weight: + description: 이미지 참조의 가중치 + type: number + type: object + LumaImageReference: + description: 이미지 객체 + example: + type: image + url: https://example.com/image.jpg + properties: + type: + default: image + enum: + - image + type: string + url: + description: 이미지의 URL + format: uri + type: string + required: + - type + - url + type: object + LumaKeyframe: + description: "키프레임은 생성 참조, 이미지 또는 비디오 중 하나일 수 있습니다" + discriminator: + mapping: + generation: "#/components/schemas/LumaGenerationReference" + image: "#/components/schemas/LumaImageReference" + propertyName: type + oneOf: + - $ref: "#/components/schemas/LumaGenerationReference" + - $ref: "#/components/schemas/LumaImageReference" + LumaKeyframes: + description: 생성의 키프레임들 + example: + frame0: + type: image + url: https://example.com/image.jpg + frame1: + id: 123e4567-e89b-12d3-a456-426614174000 + type: generation + properties: + frame0: + $ref: "#/components/schemas/LumaKeyframe" + frame1: + $ref: "#/components/schemas/LumaKeyframe" + type: object + LumaModifyImageRef: + description: 수정 이미지 참조 객체 + properties: + url: + description: 이미지 참조의 URL + format: uri + type: string + weight: + description: 수정 이미지 참조의 가중치 + type: number + type: object + LumaState: + description: 생성의 상태 + enum: + - queued + - dreaming + - completed + - failed + example: completed + type: string + LumaUpscaleVideoGenerationRequest: + description: 업스케일 생성 요청 객체 + properties: + callback_url: + description: 업스케일을 위한 콜백 URL + format: uri + type: string + generation_type: + default: upscale_video + enum: + - upscale_video + type: string + resolution: + $ref: "#/components/schemas/LumaVideoModelOutputResolution" + type: object + LumaVideoModel: + default: ray-2 + description: 생성에 사용된 비디오 모델 + enum: + - ray-2 + - ray-flash-2 + - ray-1-6 + example: ray-2 + type: string + LumaVideoModelOutputDuration: + anyOf: + - enum: + - 5s + - 9s + type: string + - type: string + LumaVideoModelOutputResolution: + anyOf: + - enum: + - 540p + - 720p + - 1080p + - 4k + type: string + - type: string + MachineStats: + properties: + cpu_capacity: + description: 머신의 총 CPU. + type: string + disk_capacity: + description: 머신의 총 디스크 용량. + type: string + gpu_type: + description: "GPU 유형. 예: NVIDIA Tesla K80" + type: string + initial_cpu: + description: 작업 시작 이전에 사용 가능한 초기 CPU. + type: string + initial_disk: + description: 작업 시작 이전에 사용 가능한 초기 디스크. + type: string + initial_ram: + description: 작업 시작 이전에 사용 가능한 초기 RAM. + type: string + machine_name: + description: 머신의 이름입니다. + type: string + memory_capacity: + description: 머신의 총 메모리입니다. + type: string + os_version: + description: "운영 체제 버전입니다. 예: Ubuntu Linux 20.04" + type: string + pip_freeze: + description: pip freeze 출력 + type: string + vram_time_series: + description: VRAM 사용량의 시계열입니다. + type: object + type: object + MeshyAiModel: + default: latest + description: 사용할 모델의 ID입니다. + enum: + - meshy-5 + - latest + type: string + MeshyAnimationCreateResponse: + properties: + result: + description: 새로 생성된 애니메이션 작업의 작업 ID입니다. + type: string + required: + - result + type: object + MeshyAnimationPostProcess: + description: 애니메이션 파일 후처리를 위한 파라미터입니다. + properties: + fps: + default: 30 + description: 대상 프레임 속도입니다. 기본값은 30입니다. operation_type이 change_fps인 경우에만 적용됩니다. + enum: + - 24 + - 25 + - 30 + - 60 + type: integer + operation_type: + description: 수행할 작업 유형입니다. + enum: + - change_fps + - fbx2usdz + - extract_armature + type: string + required: + - operation_type + type: object + MeshyAnimationRequest: + properties: + action_id: + description: 적용할 애니메이션 액션의 식별자입니다. + type: integer + post_process: + $ref: "#/components/schemas/MeshyAnimationPostProcess" + rig_task_id: + description: 성공적으로 완료된 리깅 작업의 ID입니다 (POST /openapi/v1/rigging에서). 이 작업의 캐릭터가 애니메이션됩니다. + type: string + required: + - rig_task_id + - action_id + type: object + MeshyAnimationResult: + description: 작업이 SUCCEEDED인 경우 출력 애니메이션 URL을 포함합니다. + properties: + animation_fbx_url: + description: FBX 형식의 애니메이션에 대한 다운로드 가능 URL입니다. + type: string + animation_glb_url: + description: GLB 형식의 애니메이션에 대한 다운로드 가능 URL입니다. + type: string + processed_animation_fps_fbx_url: + description: FPS가 변경된 애니메이션의 FBX 형식 다운로드 가능 URL입니다. + type: string + processed_armature_fbx_url: + description: 처리된 아마추어의 FBX 형식 다운로드 가능 URL입니다. + type: string + processed_usdz_url: + description: 처리된 애니메이션의 USDZ 형식 다운로드 가능 URL입니다. + type: string + type: object + MeshyAnimationTask: + properties: + created_at: + description: 작업이 생성된 시간의 타임스탬프(밀리초)입니다. + type: integer + expires_at: + description: 작업 결과가 만료되는 시간의 타임스탬프(밀리초)입니다. + type: integer + finished_at: + description: 작업이 완료된 시간의 타임스탬프(밀리초)입니다. 완료되지 않은 경우 0입니다. + type: integer + id: + description: 작업의 고유 식별자입니다. + type: string + preceding_tasks: + description: 이전 작업의 수입니다. status가 PENDING인 경우에만 의미가 있습니다. + type: integer + progress: + description: 작업 진행률(0-100)입니다. + maximum: 100 + minimum: 0 + type: integer + result: + $ref: "#/components/schemas/MeshyAnimationResult" + started_at: + description: 작업이 시작된 시간의 타임스탬프(밀리초)입니다. 시작되지 않은 경우 0입니다. + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + type: + description: 애니메이션 태스크의 유형입니다. + enum: + - animate + type: string + required: + - id + - status + type: object + MeshyArtStyle: + default: realistic + description: 객체의 원하는 아트 스타일을 설명하십시오. + enum: + - realistic + - sculpture + type: string + MeshyImageTo3DCreateResponse: + properties: + result: + description: 새로 생성된 Image to 3D 태스크의 태스크 ID입니다. + type: string + required: + - result + type: object + MeshyImageTo3DModelUrls: + description: Meshy에서 생성된 3D 모델 파일의 다운로드 가능한 URL입니다. + properties: + fbx: + description: FBX 파일의 다운로드 가능한 URL입니다. + type: string + glb: + description: GLB 파일의 다운로드 가능한 URL입니다. + type: string + mtl: + description: MTL 파일의 다운로드 가능한 URL입니다. + type: string + obj: + description: OBJ 파일의 다운로드 가능한 URL입니다. + type: string + pre_remeshed_glb: + description: 리메싱 이전의 원본 GLB 출력의 다운로드 가능한 URL입니다. should_remesh와 save_pre_remeshed_model이 모두 참일 때만 사용 가능합니다. + type: string + usdz: + description: USDZ 파일의 다운로드 가능한 URL입니다. + type: string + type: object + MeshyImageTo3DRequest: + properties: + ai_model: + $ref: "#/components/schemas/MeshyAiModel" + enable_pbr: + default: false + description: "기본 색상 외에 PBR 맵(메탈릭, 러프니스, 노멀(normal))을 생성합니다." + type: boolean + image_url: + description: "Meshy가 모델 생성에 사용할 이미지를 제공합니다. .jpg, .jpeg, .png 형식 또는 base64로 인코딩된 데이터 URI를 지원합니다." + type: string + is_a_t_pose: + default: false + description: 지원 중단됨. 대신 pose_mode를 사용하십시오. A/T 포즈로 모델을 생성할지 여부입니다. + type: boolean + model_type: + default: standard + description: "3D 메시 생성 유형을 지정합니다.\n- standard: 일반적인 고세부 3D 메시 생성.\n- lowpoly: 더 깔끔한 폴리곤에 최적화된 저폴리 메시를 생성합니다.\nlowpoly가 선택되면 ai_model, topology, target_polycount, should_remesh, save_pre_remeshed_model이 무시됩니다.\n" + enum: + - standard + - lowpoly + type: string + moderation: + default: false + description: "참인 경우, 입력 콘텐츠가 잠재적으로 유해한 콘텐츠에 대해 검사됩니다." + type: boolean + pose_mode: + $ref: "#/components/schemas/MeshyPoseMode" + save_pre_remeshed_model: + default: false + description: "참인 경우, 리메시 단계가 완료되기 전에 추가 GLB 파일을 저장합니다. should_remesh가 참일 때만 적용됩니다." + type: boolean + should_remesh: + default: true + description: "리메시 단계를 활성화할지 여부를 제어합니다. 거짓인 경우, 가장 높은 정밀도의 삼각형 메시를 반환합니다." + type: boolean + should_texture: + default: true + description: "텍스처가 생성되는지 여부를 결정합니다. 거짓인 경우, 텍스처가 없는 메시를 제공합니다." + type: boolean + symmetry_mode: + $ref: "#/components/schemas/MeshySymmetryMode" + target_polycount: + default: 30000 + description: "생성된 모델의 목표 폴리곤 수를 지정합니다. 유효 범위는 100~300,000입니다." + maximum: 300000 + minimum: 100 + type: integer + texture_image_url: + description: "텍스처링 과정을 안내할 2D 이미지를 제공합니다. .jpg, .jpeg, .png 형식 또는 base64로 인코딩된 데이터 URI를 지원합니다." + type: string + texture_prompt: + description: 텍스처링 과정을 안내할 텍스트 프롬프트를 제공합니다. 최대 600자입니다. + maxLength: 600 + type: string + topology: + $ref: "#/components/schemas/MeshyTopology" + required: + - image_url + type: object + MeshyImageTo3DTask: + properties: + created_at: + description: 태스크가 생성된 시간의 타임스탬프(밀리초)입니다. + type: integer + expires_at: + description: 태스크 결과가 만료되는 시간의 타임스탬프(밀리초)입니다. + type: integer + finished_at: + description: 태스크가 완료된 시간의 타임스탬프(밀리초)입니다. 완료되지 않은 경우 0입니다. + type: integer + id: + description: 태스크의 고유 식별자입니다. + type: string + model_urls: + $ref: "#/components/schemas/MeshyImageTo3DModelUrls" + preceding_tasks: + description: 이전 작업들의 수입니다. 상태가 PENDING일 때만 의미가 있습니다. + type: integer + progress: + description: "작업의 진행률입니다. 시작되지 않으면 0, 성공하면 100입니다." + maximum: 100 + minimum: 0 + type: integer + started_at: + description: 작업이 시작된 타임스탬프(밀리초 단위)입니다. 시작되지 않으면 0입니다. + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + texture_image_url: + description: 텍스처링 과정을 안내하는 데 사용된 텍스처 이미지의 다운로드 가능한 URL입니다. + type: string + texture_prompt: + description: 텍스처링 과정을 안내하는 데 사용된 텍스트 프롬프트입니다. + type: string + texture_urls: + description: 작업에서 생성된 텍스처 URL 객체의 배열입니다. + items: + $ref: "#/components/schemas/MeshyTextureUrls" + type: array + thumbnail_url: + description: 모델 파일의 썸네일 이미지 다운로드 가능한 URL입니다. + type: string + type: + description: Image to 3D 작업의 유형입니다. + enum: + - image-to-3d + type: string + required: + - id + - status + type: object + MeshyModelUrls: + description: Meshy가 생성한 텍스처가 적용된 3D 모델 파일의 다운로드 가능한 URL입니다. + properties: + fbx: + description: FBX 파일의 다운로드 가능한 URL입니다. + type: string + glb: + description: GLB 파일의 다운로드 가능한 URL입니다. + type: string + mtl: + description: MTL 파일의 다운로드 가능한 URL입니다. + type: string + obj: + description: OBJ 파일의 다운로드 가능한 URL입니다. + type: string + usdz: + description: USDZ 파일의 다운로드 가능한 URL입니다. + type: string + type: object + MeshyMultiImageTo3DCreateResponse: + properties: + result: + description: 새로 생성된 Multi-Image to 3D 작업의 작업 ID입니다. + type: string + required: + - result + type: object + MeshyMultiImageTo3DRequest: + properties: + ai_model: + default: latest + description: 사용할 모델의 ID입니다. + enum: + - meshy-5 + - latest + type: string + enable_pbr: + default: false + description: "기본 색상 외에도 PBR 맵(메탈릭, 러프니스, 노멀(normal))을 생성합니다." + type: boolean + image_urls: + description: Meshy가 모델 생성에 사용할 1~4개의 이미지를 제공합니다. 모든 이미지는 동일한 객체를 다른 각도에서 보여주어야 합니다. + items: + type: string + maxItems: 4 + minItems: 1 + type: array + is_a_t_pose: + default: false + description: 지원 중단됨. 대신 pose_mode를 사용하세요. 모델을 A/T 포즈로 생성할지 여부입니다. + type: boolean + moderation: + default: false + description: "참(true)인 경우, 입력 콘텐츠가 잠재적으로 유해한 콘텐츠가 있는지 검사됩니다." + type: boolean + pose_mode: + $ref: "#/components/schemas/MeshyPoseMode" + save_pre_remeshed_model: + default: false + description: "참(true)인 경우, 리메시 단계가 완료되기 전에 추가 GLB 파일을 저장합니다. should_remesh가 참(true)일 때만 적용됩니다." + type: boolean + should_remesh: + default: true + description: "리메시 단계를 활성화할지 제어합니다. 거짓(false)인 경우, 가장 높은 정밀도의 삼각형 메시를 반환합니다." + type: boolean + should_texture: + default: true + description: "텍스처가 생성되는지 결정합니다. 거짓(false)인 경우, 5 크레딧으로 텍스처가 없는 메시를 제공합니다." + type: boolean + symmetry_mode: + $ref: "#/components/schemas/MeshySymmetryMode" + target_polycount: + default: 30000 + description: "생성된 모델의 목표 폴리곤 수를 지정합니다. 유효 범위는 100~300,000입니다." + maximum: 300000 + minimum: 100 + type: integer + texture_image_url: + description: "텍스처링 과정을 안내할 2D 이미지를 제공합니다. .jpg, .jpeg, .png 형식 또는 base64 인코딩 데이터 URI를 지원합니다." + type: string + texture_prompt: + description: 텍스처링 과정을 안내할 텍스트 프롬프트를 제공합니다. 최대 600자. + maxLength: 600 + type: string + topology: + $ref: "#/components/schemas/MeshyTopology" + required: + - image_urls + type: object + MeshyMultiImageTo3DTask: + properties: + created_at: + description: 작업이 생성된 시간의 타임스탬프(밀리초)입니다. + type: integer + expires_at: + description: 작업 결과가 만료되는 시간의 타임스탬프(밀리초)입니다. + type: integer + finished_at: + description: 작업이 완료된 시간의 타임스탬프(밀리초)입니다. 완료되지 않은 경우 0입니다. + type: integer + id: + description: 작업의 고유 식별자입니다. + type: string + model_urls: + $ref: "#/components/schemas/MeshyImageTo3DModelUrls" + preceding_tasks: + description: 이전 작업의 수입니다. 상태가 PENDING인 경우에만 의미가 있습니다. + type: integer + progress: + description: "작업 진행률입니다. 시작되지 않은 경우 0, 성공한 경우 100입니다." + maximum: 100 + minimum: 0 + type: integer + started_at: + description: 작업이 시작된 시간의 타임스탬프(밀리초)입니다. 시작되지 않은 경우 0입니다. + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + texture_prompt: + description: 텍스처링 과정을 안내하는 데 사용된 텍스트 프롬프트입니다. + type: string + texture_urls: + description: 작업에서 생성된 텍스처 URL 객체의 배열입니다. + items: + $ref: "#/components/schemas/MeshyTextureUrls" + type: array + thumbnail_url: + description: 모델 파일의 썸네일 이미지에 대한 다운로드 가능한 URL입니다. + type: string + type: + description: 멀티 이미지를 3D로 변환하는 작업의 유형입니다. + enum: + - multi-image-to-3d + type: string + required: + - id + - status + type: object + MeshyPoseMode: + description: 생성된 모델의 포즈 모드를 지정합니다. + enum: + - a-pose + - t-pose + - "" + type: string + MeshyRemeshCreateResponse: + properties: + result: + description: 새로 생성된 리메시 작업의 ID입니다. + type: string + required: + - result + type: object + MeshyRemeshModelUrls: + description: 리메시된 3D 모델 파일에 대한 다운로드 가능한 URL입니다. + properties: + blend: + description: Blender 파일에 대한 다운로드 가능한 URL입니다. + type: string + fbx: + description: FBX 파일에 대한 다운로드 가능한 URL입니다. + type: string + glb: + description: GLB 파일에 대한 다운로드 가능한 URL입니다. + type: string + obj: + description: OBJ 파일에 대한 다운로드 가능한 URL입니다. + type: string + stl: + description: STL 파일에 대한 다운로드 가능한 URL입니다. + type: string + usdz: + description: USDZ 파일에 대한 다운로드 가능한 URL입니다. + type: string + type: object + MeshyRemeshRequest: + properties: + convert_format_only: + default: false + description: "참인 경우 입력 모델 파일의 형식만 변경하며, topology, resize_height, target_polycount와 같은 다른 입력은 무시합니다." + type: boolean + input_task_id: + description: 리메시하려는 완료된 Image to 3D 또는 Text to 3D 작업의 ID입니다. model_url이 제공되지 않은 경우 필수입니다. + type: string + model_url: + description: "공개적으로 접근 가능한 URL 또는 3D 모델에 대한 데이터 URI입니다. 지원되는 형식: glb, gltf, obj, fbx, stl. input_task_id가 제공되지 않은 경우 필수입니다." + type: string + origin_at: + description: 원점의 위치입니다. + enum: + - bottom + - center + - "" + type: string + resize_height: + default: 0 + description: 모델을 특정 높이(미터 단위)로 크기 조정합니다. 0은 크기 조정하지 않음을 의미합니다. + type: number + target_formats: + default: + - glb + description: 리메시된 모델의 대상 포맷 목록입니다. + items: + enum: + - glb + - fbx + - obj + - usdz + - blend + - stl + type: string + type: array + target_polycount: + default: 30000 + description: "생성된 모델의 대상 폴리곤 수를 지정합니다. 유효 범위는 100에서 300,000입니다." + maximum: 300000 + minimum: 100 + type: integer + topology: + $ref: "#/components/schemas/MeshyTopology" + type: object + MeshyRemeshTask: + properties: + created_at: + description: 작업이 생성된 시점의 타임스탬프(밀리초 단위)입니다. + type: integer + finished_at: + description: 작업이 완료된 시점의 타임스탬프(밀리초 단위)입니다. 완료되지 않은 경우 0입니다. + type: integer + id: + description: 작업의 고유 식별자입니다. + type: string + model_urls: + $ref: "#/components/schemas/MeshyRemeshModelUrls" + preceding_tasks: + description: 이전 작업의 개수입니다. 상태가 PENDING인 경우에만 의미가 있습니다. + type: integer + progress: + description: "작업의 진행률입니다. 시작되지 않은 경우 0, 성공한 경우 100입니다." + maximum: 100 + minimum: 0 + type: integer + started_at: + description: 작업이 시작된 시점의 타임스탬프(밀리초 단위)입니다. 시작되지 않은 경우 0입니다. + type: integer + status: + $ref: "#/components/schemas/MeshyRemeshTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + type: + description: 리메시 작업의 유형입니다. + enum: + - remesh + type: string + required: + - id + - status + type: object + MeshyRemeshTaskStatus: + description: 리메시 작업의 상태입니다. + enum: + - PENDING + - PROCESSING + - SUCCEEDED + - FAILED + type: string + MeshyRetextureCreateResponse: + properties: + result: + description: 새로 생성된 리텍스처 작업의 작업 ID입니다. + type: string + required: + - result + type: object + MeshyRetextureModelUrls: + description: 텍스처가 적용된 3D 모델 파일의 다운로드 가능한 URL입니다. + properties: + fbx: + description: FBX 파일의 다운로드 가능한 URL입니다. + type: string + glb: + description: GLB 파일의 다운로드 가능한 URL입니다. + type: string + usdz: + description: USDZ 파일의 다운로드 가능한 URL입니다. + type: string + type: object + MeshyRetextureRequest: + properties: + ai_model: + $ref: "#/components/schemas/MeshyAiModel" + enable_original_uv: + default: true + description: 새 UV를 생성하는 대신 모델의 원본 UV를 사용합니다. + type: boolean + enable_pbr: + default: false + description: "기본 색상 외에도 PBR 맵(메탈릭, 러프니스, 노멀)을 생성합니다." + type: boolean + image_style_url: + description: "텍스처링 과정을 안내하는 2D 이미지입니다. jpg, jpeg, png 형식 또는 base64로 인코딩된 데이터 URI를 지원합니다. text_style_prompt가 제공되지 않은 경우 필수입니다." + type: string + input_task_id: + description: 리텍스처하려는 완료된 Image to 3D 또는 Text to 3D 작업의 ID입니다. model_url이 제공되지 않은 경우 필수입니다. + type: string + model_url: + description: "공개적으로 접근 가능한 URL 또는 3D 모델의 데이터 URI입니다. 지원되는 형식: glb, gltf, obj, fbx, stl. input_task_id가 제공되지 않은 경우 필수입니다." + type: string + text_style_prompt: + description: 텍스트를 사용하여 원하는 객체의 텍스처 스타일을 설명합니다. 최대 600자. image_style_url이 제공되지 않은 경우 필수입니다. + maxLength: 600 + type: string + type: object + MeshyRetextureTask: + properties: + created_at: + description: 작업이 생성된 시점의 타임스탬프(밀리초 단위)입니다. + type: integer + expires_at: + description: 작업 결과가 만료되는 시점의 타임스탬프(밀리초 단위)입니다. + type: integer + finished_at: + description: 작업이 완료된 시점의 타임스탬프(밀리초 단위)입니다. 완료되지 않은 경우 0입니다. + type: integer + id: + description: 작업의 고유 식별자입니다. + type: string + image_style_url: + description: 텍스처링 작업을 생성하는 데 사용된 이미지 입력입니다. + type: string + model_urls: + $ref: "#/components/schemas/MeshyRetextureModelUrls" + preceding_tasks: + description: 이전 작업의 수입니다. 상태가 PENDING일 때만 의미가 있습니다. + type: integer + progress: + description: "작업의 진행률입니다. 시작되지 않았으면 0, 성공하면 100입니다." + maximum: 100 + minimum: 0 + type: integer + started_at: + description: 작업이 시작된 시점의 타임스탬프(밀리초)입니다. 시작되지 않았으면 0입니다. + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + text_style_prompt: + description: 텍스처링 작업을 생성하는 데 사용된 텍스트 프롬프트입니다. + type: string + texture_urls: + description: 작업에서 생성된 텍스처 URL 객체의 배열입니다. + items: + $ref: "#/components/schemas/MeshyTextureUrls" + type: array + thumbnail_url: + description: 모델 파일의 썸네일 이미지에 대한 다운로드 가능한 URL입니다. + type: string + type: + description: Retexture 작업의 유형입니다. + enum: + - retexture + type: string + required: + - id + - status + type: object + MeshyRiggingBasicAnimations: + description: 기본 애니메이션의 URL을 포함합니다. + properties: + running_armature_glb_url: + description: GLB 형식의 달리기 애니메이션 armature에 대한 다운로드 가능한 URL입니다. + type: string + running_fbx_url: + description: FBX 형식의 달리기 애니메이션(스킨 포함)에 대한 다운로드 가능한 URL입니다. + type: string + running_glb_url: + description: GLB 형식의 달리기 애니메이션(스킨 포함)에 대한 다운로드 가능한 URL입니다. + type: string + walking_armature_glb_url: + description: GLB 형식의 걷기 애니메이션 armature에 대한 다운로드 가능한 URL입니다. + type: string + walking_fbx_url: + description: FBX 형식의 걷기 애니메이션(스킨 포함)에 대한 다운로드 가능한 URL입니다. + type: string + walking_glb_url: + description: GLB 형식의 걷기 애니메이션(스킨 포함)에 대한 다운로드 가능한 URL입니다. + type: string + type: object + MeshyRiggingCreateResponse: + properties: + result: + description: 새로 생성된 리깅 작업의 작업 ID입니다. + type: string + required: + - result + type: object + MeshyRiggingRequest: + properties: + height_meters: + default: 1.7 + description: 캐릭터 모델의 대략적인 높이(미터)입니다. 양수여야 합니다. + type: number + input_task_id: + description: 리깅이 필요한 입력 작업입니다. model_url이 제공되지 않은 경우 필수입니다. + type: string + model_url: + description: 텍스처가 적용된 휴머노이드 GLB 파일에 대한 공개적으로 액세스 가능한 URL 또는 데이터 URI입니다. input_task_id가 제공되지 않은 경우 필수입니다. + type: string + texture_image_url: + description: 모델의 UV 언랩된 기본 색상 텍스처 이미지입니다. 공개적으로 액세스 가능한 URL 또는 데이터 URI입니다. .png 형식을 지원합니다. + type: string + type: object + MeshyRiggingResult: + description: 작업이 SUCCEEDED인 경우 출력 자산 URL을 포함합니다. + properties: + basic_animations: + $ref: "#/components/schemas/MeshyRiggingBasicAnimations" + rigged_character_fbx_url: + description: FBX 형식의 리깅된 캐릭터에 대한 다운로드 가능한 URL입니다. + type: string + rigged_character_glb_url: + description: GLB 형식의 리깅된 캐릭터에 대한 다운로드 가능한 URL입니다. + type: string + type: object + MeshyRiggingTask: + properties: + created_at: + description: 작업이 생성된 시점의 타임스탬프(밀리초)입니다. + type: integer + expires_at: + description: 작업 결과가 만료되는 타임스탬프(밀리초)입니다. + type: integer + finished_at: + description: 작업이 완료된 타임스탬프(밀리초)입니다. 완료되지 않은 경우 0입니다. + type: integer + id: + description: 작업의 고유 식별자입니다. + type: string + preceding_tasks: + description: 이전 작업의 개수입니다. 상태가 PENDING인 경우에만 의미가 있습니다. + type: integer + progress: + description: "작업 진행률(0-100)입니다. 시작되지 않은 경우 0, 성공한 경우 100입니다." + maximum: 100 + minimum: 0 + type: integer + result: + $ref: "#/components/schemas/MeshyRiggingResult" + started_at: + description: 작업이 시작된 타임스탬프(밀리초)입니다. 시작되지 않은 경우 0입니다. + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + type: + description: 리깅 작업의 유형입니다. + enum: + - rig + type: string + required: + - id + - status + type: object + MeshySymmetryMode: + default: auto + description: 모델 생성 중 대칭 동작을 제어합니다. + enum: + - "off" + - auto + - "on" + type: string + MeshyTaskError: + description: 작업이 실패한 경우 오류 메시지를 포함하는 오류 객체입니다. + properties: + message: + description: 상세 오류 메시지입니다. + type: string + type: object + MeshyTaskStatus: + description: 작업의 상태입니다. + enum: + - PENDING + - IN_PROGRESS + - SUCCEEDED + - FAILED + - CANCELED + type: string + MeshyTextTo3DCreateResponse: + properties: + result: + description: 새로 생성된 Text to 3D 작업의 작업 ID입니다. + type: string + required: + - result + type: object + MeshyTextTo3DPreviewRequest: + properties: + ai_model: + $ref: "#/components/schemas/MeshyAiModel" + art_style: + $ref: "#/components/schemas/MeshyArtStyle" + is_a_t_pose: + default: false + description: 지원 중단됨. 대신 pose_mode를 사용하세요. A/T 포즈로 모델을 생성할지 여부입니다. + type: boolean + mode: + description: "미리보기 작업을 생성할 때 이 필드는 \"preview\"로 설정해야 합니다." + enum: + - preview + type: string + moderation: + default: false + description: "참(true)인 경우, 입력 콘텐츠에서 잠재적으로 유해한 콘텐츠가 검사됩니다." + type: boolean + pose_mode: + $ref: "#/components/schemas/MeshyPoseMode" + prompt: + description: 3D 모델의 객체 종류를 설명하세요. 최대 600자입니다. + maxLength: 600 + type: string + should_remesh: + default: true + description: 리메시 단계를 활성화할지 제어합니다. 거짓(false)인 경우 가장 정밀한 삼각형 메시를 반환합니다. + type: boolean + symmetry_mode: + $ref: "#/components/schemas/MeshySymmetryMode" + target_polycount: + default: 30000 + description: "생성된 모델의 목표 폴리곤 수를 지정하세요. 유효 범위는 100~300,000입니다." + maximum: 300000 + minimum: 100 + type: integer + topology: + $ref: "#/components/schemas/MeshyTopology" + required: + - mode + - prompt + type: object + MeshyTextTo3DRefineRequest: + properties: + ai_model: + $ref: "#/components/schemas/MeshyAiModel" + enable_pbr: + default: false + description: "기본 색상 외에 PBR 맵(금속성, 거칠기, 노멀(normal))을 생성합니다. Sculpture 스타일을 사용할 때는 enable_pbr를 거짓(false)으로 설정해야 합니다." + type: boolean + mode: + description: "정제 작업을 생성할 때 이 필드는 \"refine\"으로 설정해야 합니다." + enum: + - refine + type: string + moderation: + default: false + description: "참(true)인 경우, 입력 콘텐츠에서 잠재적으로 유해한 콘텐츠가 검사됩니다." + type: boolean + preview_task_id: + description: 해당 미리보기 작업 ID입니다. 주어진 미리보기 작업의 상태는 SUCCEEDED여야 합니다. + type: string + texture_image_url: + description: "텍스처링 과정을 안내할 2D 이미지를 제공하세요. .jpg, .jpeg, .png 형식 또는 base64로 인코딩된 데이터 URI를 지원합니다." + type: string + texture_prompt: + description: 텍스처링 과정을 안내할 추가 텍스트 프롬프트를 제공하세요. 최대 600자입니다. + maxLength: 600 + type: string + required: + - mode + - preview_task_id + type: object + MeshyTextTo3DRequest: + discriminator: + mapping: + preview: "#/components/schemas/MeshyTextTo3DPreviewRequest" + refine: "#/components/schemas/MeshyTextTo3DRefineRequest" + propertyName: mode + oneOf: + - $ref: "#/components/schemas/MeshyTextTo3DPreviewRequest" + - $ref: "#/components/schemas/MeshyTextTo3DRefineRequest" + MeshyTextTo3DTask: + properties: + art_style: + description: 미리보기 작업을 생성하는 데 사용된 수정되지 않은 art_style입니다. + type: string + created_at: + description: 작업이 생성된 시간(밀리초)의 타임스탬프입니다. + type: integer + finished_at: + description: 작업이 완료된 시간(밀리초)의 타임스탬프입니다. 완료되지 않은 경우 0입니다. + type: integer + id: + description: 작업의 고유 식별자입니다. + type: string + model_urls: + $ref: "#/components/schemas/MeshyModelUrls" + negative_prompt: + description: "지원 중단된 필드로, 이전 버전과의 호환성을 위해 유지됩니다." + type: string + preceding_tasks: + description: 이전 작업의 개수입니다. 상태가 PENDING일 때만 의미가 있습니다. + type: integer + progress: + description: "작업의 진행률입니다. 시작되지 않은 경우 0, 성공한 경우 100입니다." + maximum: 100 + minimum: 0 + type: integer + prompt: + description: 작업을 생성하는 데 사용된 수정되지 않은 프롬프트입니다. + type: string + started_at: + description: 작업이 시작된 시간(밀리초)의 타임스탬프입니다. 시작되지 않은 경우 0입니다. + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + texture_image_url: + description: 텍스처링 과정을 안내하는 데 사용된 텍스처 이미지의 다운로드 가능 URL입니다. + type: string + texture_prompt: + description: 세부 조정 단계에서 텍스처링 과정을 안내하기 위해 제공된 추가 텍스트 프롬프트입니다. + type: string + texture_richness: + description: "지원 중단된 필드로, 이전 버전과의 호환성을 위해 유지됩니다." + type: string + texture_urls: + description: 작업에서 생성된 텍스처 URL 객체의 배열입니다. + items: + $ref: "#/components/schemas/MeshyTextureUrls" + type: array + thumbnail_url: + description: 모델 파일의 썸네일 이미지에 대한 다운로드 가능 URL입니다. + type: string + type: + description: Text to 3D 작업의 유형입니다. + enum: + - text-to-3d-preview + - text-to-3d-refine + type: string + video_url: + description: "지원 중단된 필드로, 미리보기 비디오의 다운로드 가능 URL을 반환합니다." + type: string + required: + - id + - status + type: object + MeshyTextureUrls: + description: PBR 맵이 포함된 텍스처 URL 객체입니다. + properties: + base_color: + description: 기본 색상 맵 이미지의 다운로드 가능 URL입니다. + type: string + metallic: + description: 메탈릭 맵 이미지의 다운로드 가능 URL입니다. + type: string + normal: + description: 노멀 맵 이미지의 다운로드 가능 URL입니다. + type: string + roughness: + description: 러프니스 맵 이미지의 다운로드 가능 URL입니다. + type: string + type: object + MeshyTopology: + default: triangle + description: 생성된 모델의 토폴로지를 지정합니다. + enum: + - quad + - triangle + type: string + MigrationAPIKey: + description: "고객의 API 키 중 하나로, 클라우드의 migrate-on-miss가 해시에 의해 workspace_api_keys에 시드하기 위한 것입니다. M2M/관리자 전용이며 해시를 전달하고 일반 텍스트는 절대 전달하지 않습니다.\n" + properties: + description: + type: string + key_hash: + type: string + key_prefix: + type: string + name: + type: string + required: + - key_hash + type: object + MinimaxBaseResponse: + description: Minimax API에서 사용하는 공통 응답 구조입니다. + properties: + status_code: + description: "상태 코드입니다. 0은 성공을 나타내고, 다른 값은 오류를 나타냅니다." + type: integer + status_msg: + description: 특정 오류 세부 정보 또는 성공 메시지입니다. + type: string + required: + - status_code + - status_msg + type: object + MinimaxFileRetrieveResponse: + description: Minimax 파일 다운로드 URL 검색 응답입니다. + properties: + base_resp: + $ref: "#/components/schemas/MinimaxBaseResponse" + file: + properties: + bytes: + description: 파일 크기(바이트) + type: integer + created_at: + description: 파일이 생성된 Unix 타임스탬프(초 단위) + type: integer + download_url: + description: 비디오를 다운로드할 URL + type: string + file_id: + description: 파일의 고유 식별자 + type: integer + filename: + description: 파일 이름 + type: string + purpose: + description: 파일 사용 목적 + type: string + type: object + required: + - file + - base_resp + type: object + MinimaxTaskResultResponse: + description: Minimax 비디오 생성 작업 상태 조회 응답입니다. + properties: + base_resp: + $ref: "#/components/schemas/MinimaxBaseResponse" + file_id: + description: "작업 상태가 Success로 변경된 이후, 이 필드는 생성된 비디오에 해당하는 파일 ID를 반환합니다." + type: string + status: + description: "작업 상태: 'Queueing'(실행 대기열에 있음), 'Preparing'(작업 준비 중), 'Processing'(생성 중), 'Success'(작업이 성공적으로 완료됨), 'Fail'(작업 실패)." + enum: + - Queueing + - Preparing + - Processing + - Success + - Fail + type: string + task_id: + description: 조회 중인 작업 ID + type: string + required: + - task_id + - status + - base_resp + type: object + MinimaxVideoGenerationRequest: + description: Minimax 비디오 생성 프록시 요청에 대한 파라미터입니다. + properties: + callback_url: + description: 선택 사항. 비디오 생성 작업에 대한 실시간 상태 업데이트를 받을 URL입니다. + type: string + duration: + default: 6 + description: 비디오 길이(초 단위). MiniMax-Hailuo-02에서만 사용 가능 + enum: + - 6 + - 10 + type: integer + first_frame_image: + description: "첫 번째 프레임 이미지의 URL 또는 base64 인코딩. 모델이 I2V-01, I2V-01-Director 또는 I2V-01-live인 경우 필수입니다." + type: string + model: + description: "필수. 모델 ID. 옵션: MiniMax-Hailuo-02, T2V-01-Director, I2V-01-Director, S2V-01, I2V-01, I2V-01-live, T2V-01" + enum: + - MiniMax-Hailuo-02 + - T2V-01-Director + - I2V-01-Director + - S2V-01 + - I2V-01 + - I2V-01-live + - T2V-01 + type: string + prompt: + description: "비디오에 대한 설명. 2000자 미만이어야 합니다. [대괄호] 안에 카메라 이동 지침을 지원합니다." + maxLength: 2000 + type: string + prompt_optimizer: + default: true + description: 참(기본값)인 경우 모델이 프롬프트를 자동으로 최적화합니다. 보다 정밀한 제어를 위해 거짓으로 설정합니다. + type: boolean + resolution: + default: 768P + description: 비디오 해상도. MiniMax-Hailuo-02에서만 사용 가능. + enum: + - 768P + - 1080P + type: string + subject_reference: + description: 모델이 S2V-01인 경우에만 사용 가능. 모델은 이 파라미터를 통해 업로드된 주제를 기반으로 비디오를 생성합니다. + items: + properties: + image: + description: 주제 참조 이미지의 URL 또는 base64 인코딩. + type: string + mask: + description: 주제 참조 이미지에 대한 마스크의 URL 또는 base64 인코딩. + type: string + type: object + type: array + required: + - model + type: object + MinimaxVideoGenerationResponse: + description: Minimax 비디오 생성 API의 응답입니다. + properties: + base_resp: + $ref: "#/components/schemas/MinimaxBaseResponse" + task_id: + description: 비동기 비디오 생성 작업의 작업 ID입니다. + type: string + required: + - task_id + - base_resp + type: object + Modality: + description: 입력 또는 출력 콘텐츠 모달리티 유형. + enum: + - MODALITY_UNSPECIFIED + - TEXT + - IMAGE + - VIDEO + - AUDIO + - DOCUMENT + type: string + ModalityTokenCount: + properties: + modality: + $ref: "#/components/schemas/Modality" + tokenCount: + description: 주어진 모달리티에 대한 토큰 수입니다. + type: integer + type: object + ModelClassification: + properties: + cost_cents: + description: 호출당 요금 카드 비용(미국 달러 센트)입니다. 알 수 없는 경우 null입니다. + format: double + nullable: true + type: number + effective_tier: + description: 게이트가 할당하는 계층입니다. 빈 문자열은 제한이 없음을 의미합니다. + type: string + model: + type: string + override: + description: "원시 재정의 계층('expensive' | 'exempt')입니다. 설정되지 않은 경우 null입니다." + nullable: true + type: string + reason: + description: "model_override, cost_ladder, exempt, model_default 중 하나입니다." + type: string + required: + - model + - effective_tier + - reason + type: object + ModelResponseProperties: + description: 모델 응답에 대한 공통 속성 + properties: + instructions: + description: 모델이 응답을 생성하는 방법에 대한 지침 + type: string + max_output_tokens: + description: 생성할 최대 토큰 수 + type: integer + model: + description: 응답을 생성하는 데 사용된 모델 + type: string + temperature: + default: 1 + description: 응답의 무작위성을 제어합니다. + maximum: 2 + minimum: 0 + type: number + top_p: + default: 1 + description: 핵 샘플링을 통해 응답의 다양성을 제어합니다. + maximum: 1 + minimum: 0 + type: number + truncation: + default: disabled + description: 응답 잘림 처리 방법 + enum: + - disabled + - auto + type: string + type: object + MoonvalleyImageToVideoRequest: + allOf: + - $ref: "#/components/schemas/MoonvalleyTextToVideoRequest" + - properties: + keyframes: + additionalProperties: + properties: + image_url: + type: string + type: object + type: object + type: object + MoonvalleyPromptResponse: + properties: + error: + type: object + frame_conditioning: + type: object + id: + type: string + inference_params: + type: object + meta: + type: object + model_params: + type: object + output_url: + type: string + prompt_text: + type: string + status: + type: string + type: object + MoonvalleyResizeVideoRequest: + allOf: + - $ref: "#/components/schemas/MoonvalleyVideoToVideoRequest" + - properties: + frame_position: + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + frame_resolution: + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + scale: + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + type: object + MoonvalleyTextToImageRequest: + properties: + image_url: + type: string + inference_params: + $ref: "#/components/schemas/MoonvalleyTextToVideoInferenceParams" + prompt_text: + type: string + webhook_url: + type: string + type: object + MoonvalleyTextToVideoInferenceParams: + properties: + guidance_scale: + default: 10 + description: 생성 제어를 위한 가이드 스케일 + format: float + type: number + height: + default: 1080 + description: 생성된 비디오의 높이(픽셀) + type: integer + negative_prompt: + description: 네거티브 프롬프트 텍스트 + type: string + seed: + default: 9 + description: "생성을 위한 랜덤 시드(기본값: 랜덤)" + type: integer + steps: + default: 80 + description: 디노이징 단계 수 + type: integer + use_negative_prompts: + default: true + description: 네거티브 프롬프트 사용 여부 + type: boolean + width: + default: 1920 + description: 생성된 비디오의 너비(픽셀) + type: integer + type: object + MoonvalleyTextToVideoRequest: + properties: + image_url: + type: string + inference_params: + $ref: "#/components/schemas/MoonvalleyTextToVideoInferenceParams" + prompt_text: + type: string + webhook_url: + type: string + type: object + MoonvalleyUploadFileRequest: + properties: + file: + format: binary + type: string + type: object + MoonvalleyUploadFileResponse: + properties: + access_url: + type: string + type: object + MoonvalleyVideoToVideoInferenceParams: + properties: + control_params: + properties: + motion_intensity: + default: 6 + description: 모션 컨트롤의 강도 + format: int32 + type: integer + type: object + guidance_scale: + default: 10 + description: 생성 제어를 위한 가이드 스케일 + format: float + type: number + negative_prompt: + description: 네거티브 프롬프트 텍스트 + type: string + seed: + default: 9 + description: "생성을 위한 랜덤 시드(기본값: 랜덤)" + type: integer + steps: + default: 80 + description: 디노이징 단계 수 + type: integer + use_negative_prompts: + default: true + description: 네거티브 프롬프트 사용 여부 + type: boolean + type: object + MoonvalleyVideoToVideoRequest: + properties: + control_type: + description: 비디오 제어를 위해 지원되는 유형 + enum: + - motion_control + - pose_control + type: string + image_url: + description: 제어 이미지의 URL + type: string + inference_params: + $ref: "#/components/schemas/MoonvalleyVideoToVideoInferenceParams" + prompt_text: + description: 생성할 비디오를 설명합니다 + type: string + video_url: + description: 제어 비디오의 URL + type: string + webhook_url: + description: 알림을 위한 선택적 웹훅 URL + type: string + required: + - prompt_text + - video_url + - control_type + type: object + Node: + properties: + author: + type: string + banner_url: + description: 노드 배너의 URL. + type: string + category: + deprecated: true + description: "지원 중단됨: 노드의 카테고리. 대신 'tags' 필드를 사용하세요. 이 필드는 향후 버전에서 제거될 예정입니다." + type: string + created_at: + description: 노드가 생성된 날짜와 시간 + format: date-time + type: string + description: + type: string + downloads: + description: 노드의 다운로드 횟수. + type: integer + github_stars: + description: GitHub 저장소의 별표 수. + type: integer + icon: + description: 노드 아이콘의 URL. + type: string + id: + description: 노드의 고유 식별자. + type: string + latest_version: + $ref: "#/components/schemas/NodeVersion" + license: + description: 노드 저장소의 LICENSE 파일 경로. + type: string + name: + description: 노드의 표시 이름. + type: string + preempted_comfy_node_names: + description: 이 노드에 의해 선점된 Comfy 노드 이름 목록. + items: + type: string + type: array + publisher: + $ref: "#/components/schemas/Publisher" + rating: + description: 노드의 평균 평점. + type: number + repository: + description: 노드 저장소의 URL. + type: string + search_ranking: + description: "노드의 검색 순위를 나타내는 숫자 값으로, 검색 결과 정렬에 사용됩니다." + type: integer + status: + $ref: "#/components/schemas/NodeStatus" + status_detail: + description: 노드의 상태 세부 정보. + type: string + supported_accelerators: + description: "이 노드가 지원하는 가속기 목록 (예: CUDA, DirectML, ROCm)" + items: + type: string + type: array + supported_comfyui_frontend_version: + description: 지원되는 ComfyUI 프론트엔드 버전 + type: string + supported_comfyui_version: + description: 지원되는 ComfyUI 버전 + type: string + supported_os: + description: 이 노드가 지원하는 운영 체제 목록 + items: + type: string + type: array + tags: + items: + type: string + type: array + tags_admin: + description: 보안 경고 및 관리자 메타데이터를 위한 관리자 전용 태그 + items: + type: string + type: array + translations: + additionalProperties: + additionalProperties: true + type: object + description: 다른 언어로 된 노드 메타데이터의 번역. + type: object + type: object + NodeStatus: + enum: + - NodeStatusActive + - NodeStatusDeleted + - NodeStatusBanned + type: string + NodeVersion: + properties: + changelog: + description: 이 버전에서 변경된 사항 요약 + type: string + comfy_node_extract_status: + description: Comfy 노드 추출 프로세스의 상태 + type: string + createdAt: + description: 버전이 생성된 날짜와 시간 + format: date-time + type: string + dependencies: + description: 노드에 필요한 pip 의존성 목록 + items: + type: string + type: array + deprecated: + description: 이 버전이 지원 중단되었는지 여부를 나타냅니다. + type: boolean + downloadUrl: + description: "[출력 전용] 이 노드 버전을 다운로드하는 URL" + type: string + id: + type: string + node_id: + description: 노드의 고유 식별자 + type: string + status: + $ref: "#/components/schemas/NodeVersionStatus" + status_reason: + type: string + supported_accelerators: + description: "이 노드가 지원하는 가속기 목록 (예: CUDA, DirectML, ROCm)" + items: + type: string + type: array + supported_comfyui_frontend_version: + description: 지원되는 ComfyUI 프론트엔드 버전 + type: string + supported_comfyui_version: + description: 지원되는 ComfyUI 버전 + type: string + supported_os: + description: 이 노드가 지원하는 운영 체제 목록 + items: + type: string + type: array + tags: + items: + type: string + type: array + tags_admin: + description: 보안 경고 및 관리자 메타데이터를 위한 관리자 전용 태그 + items: + type: string + type: array + version: + description: 시맨틱 버전 관리를 따르는 버전 식별자. 노드에 대해 고유해야 합니다. + type: string + type: object + NodeVersionIdentifier: + properties: + node_id: + description: 노드의 고유 식별자 + type: string + version: + description: 노드의 버전 + type: string + required: + - node_id + - version + type: object + NodeVersionStatus: + enum: + - NodeVersionStatusActive + - NodeVersionStatusDeleted + - NodeVersionStatusBanned + - NodeVersionStatusPending + - NodeVersionStatusFlagged + type: string + NodeVersionUpdateRequest: + properties: + changelog: + description: 버전 변경 사항을 설명하는 변경 로그 + type: string + deprecated: + description: 버전이 지원 중단되었는지 여부 + type: boolean + type: object + OpenAICreateResponse: + allOf: + - $ref: "#/components/schemas/CreateModelResponseProperties" + - $ref: "#/components/schemas/ResponseProperties" + - properties: + include: + description: "모델 응답에 포함할 추가 출력 데이터를 지정합니다. 현재 지원되는 값은 다음과 같습니다:\n- `file_search_call.results`: 파일 검색 도구 호출의 검색 결과를 포함합니다.\n- `message.input_image.image_url`: 입력 메시지의 이미지 URL을 포함합니다.\n- `computer_call_output.output.image_url`: 컴퓨터 호출 출력의 이미지 URL을 포함합니다.\n" + items: + $ref: "#/components/schemas/Includable" + nullable: true + type: array + input: + description: "모델에 대한 텍스트, 이미지 또는 파일 입력으로, 응답을 생성하는 데 사용됩니다.\n\n더 알아보기:\n- [텍스트 입력 및 출력](/docs/guides/text)\n- [이미지 입력](/docs/guides/images)\n- [파일 입력](/docs/guides/pdf-files)\n- [대화 상태](/docs/guides/conversation-state)\n- [함수 호출](/docs/guides/function-calling)\n" + oneOf: + - description: "모델에 대한 텍스트 입력으로, `user` 역할의 텍스트 입력과 동일합니다.\n" + title: Text input + type: string + - description: "모델에 대한 하나 이상의 입력 항목 목록으로, 다양한 콘텐츠 유형을 포함합니다.\n" + items: + $ref: "#/components/schemas/InputItem" + title: Input item list + type: array + parallel_tool_calls: + default: true + description: "모델이 도구 호출을 병렬로 실행할 수 있는지 여부입니다.\n" + nullable: true + type: boolean + store: + default: true + description: "생성된 모델 응답을 이후에 API를 통해 검색할 수 있도록 저장할지 여부입니다.\n" + nullable: true + type: boolean + stream: + default: false + description: "참으로 설정하면 모델 응답 데이터가 생성됨에 따라 [서버 전송 이벤트](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format)를 사용하여 클라이언트로 스트리밍됩니다.\n자세한 내용은 아래의 [스트리밍 섹션](/docs/api-reference/responses-streaming)을 참조하세요.\n" + nullable: true + type: boolean + usage: + $ref: "#/components/schemas/ResponseUsage" + required: + - model + - input + type: object + OpenAIImageEditRequest: + properties: + background: + description: 배경 투명도 + example: opaque + type: string + model: + description: "이미지 편집에 사용할 모델 (예: dall-e-2, gpt-image-1, gpt-image-1.5, gpt-image-2)" + example: gpt-image-2 + type: string + moderation: + description: 콘텐츠 모더레이션 설정 + enum: + - low + - auto + example: auto + type: string + "n": + description: 생성할 이미지 수 + example: 1 + type: integer + output_compression: + description: JPEG 또는 WebP의 압축 수준 (0-100) + example: 100 + type: integer + output_format: + description: 출력 이미지 형식 + enum: + - png + - webp + - jpeg + example: png + type: string + prompt: + description: 원하는 편집에 대한 텍스트 설명 + example: Give the rocketship rainbow coloring + type: string + quality: + description: 편집된 이미지의 품질 + example: low + type: string + size: + description: 출력 이미지 크기 + example: 1024x1024 + type: string + user: + description: 최종 사용자 모니터링을 위한 고유 식별자 + example: user-1234 + type: string + required: + - model + - prompt + type: object + OpenAIImageGenerationRequest: + properties: + background: + description: 배경 투명도 + enum: + - transparent + - opaque + example: opaque + type: string + model: + description: "이미지 생성에 사용할 모델 (예: dall-e-2, dall-e-3, gpt-image-1, gpt-image-1.5, gpt-image-2)" + example: gpt-image-2 + type: string + moderation: + description: 콘텐츠 모더레이션 설정 + enum: + - low + - auto + example: auto + type: string + "n": + description: 생성할 이미지 수 (1-10). dall-e-3에서는 1만 지원됩니다. + example: 1 + type: integer + output_compression: + description: JPEG 또는 WebP의 압축 수준 (0-100) + example: 100 + type: integer + output_format: + description: 출력 이미지 형식 + enum: + - png + - webp + - jpeg + example: png + type: string + prompt: + description: 원하는 이미지에 대한 텍스트 설명 + example: Draw a rocket in front of a blackhole in deep space + type: string + quality: + description: 생성된 이미지의 품질 + enum: + - low + - medium + - high + - standard + - hd + example: high + type: string + response_format: + description: 이미지 데이터의 응답 형식 + enum: + - url + - b64_json + example: b64_json + type: string + size: + description: "이미지 크기 (예: 1024x1024, 1536x1024, auto)" + example: 1024x1536 + type: string + style: + description: 이미지 스타일 (dall-e-3에만 해당) + enum: + - vivid + - natural + example: vivid + type: string + user: + description: 최종 사용자 모니터링을 위한 고유 식별자 + example: user-1234 + type: string + required: + - prompt + type: object + OpenAIImageGenerationResponse: + properties: + data: + items: + properties: + b64_json: + description: Base64로 인코딩된 이미지 데이터 + type: string + revised_prompt: + description: 수정된 프롬프트 + type: string + url: + description: 이미지의 URL + type: string + type: object + type: array + usage: + properties: + input_tokens: + type: integer + input_tokens_details: + properties: + image_tokens: + type: integer + text_tokens: + type: integer + type: object + output_tokens: + type: integer + output_tokens_details: + properties: + image_tokens: + type: integer + text_tokens: + type: integer + type: object + total_tokens: + type: integer + type: object + type: object + OpenAIModels: + enum: + - gpt-4 + - gpt-4-0314 + - gpt-4-0613 + - gpt-4-32k + - gpt-4-32k-0314 + - gpt-4-32k-0613 + - gpt-4-0125-preview + - gpt-4-turbo + - gpt-4-turbo-2024-04-09 + - gpt-4-turbo-preview + - gpt-4-1106-preview + - gpt-4-vision-preview + - gpt-3.5-turbo + - gpt-3.5-turbo-16k + - gpt-3.5-turbo-0301 + - gpt-3.5-turbo-0613 + - gpt-3.5-turbo-1106 + - gpt-3.5-turbo-0125 + - gpt-3.5-turbo-16k-0613 + - gpt-4.1 + - gpt-4.1-mini + - gpt-4.1-nano + - gpt-4.1-2025-04-14 + - gpt-4.1-mini-2025-04-14 + - gpt-4.1-nano-2025-04-14 + - o1 + - o1-mini + - o1-preview + - o1-pro + - o1-2024-12-17 + - o1-preview-2024-09-12 + - o1-mini-2024-09-12 + - o1-pro-2025-03-19 + - o3 + - o3-mini + - o3-2025-04-16 + - o3-mini-2025-01-31 + - o4-mini + - o4-mini-2025-04-16 + - gpt-4o + - gpt-4o-mini + - gpt-4o-2024-11-20 + - gpt-4o-2024-08-06 + - gpt-4o-2024-05-13 + - gpt-4o-mini-2024-07-18 + - gpt-4o-audio-preview + - gpt-4o-audio-preview-2024-10-01 + - gpt-4o-audio-preview-2024-12-17 + - gpt-4o-mini-audio-preview + - gpt-4o-mini-audio-preview-2024-12-17 + - gpt-4o-search-preview + - gpt-4o-mini-search-preview + - gpt-4o-search-preview-2025-03-11 + - gpt-4o-mini-search-preview-2025-03-11 + - computer-use-preview + - computer-use-preview-2025-03-11 + - gpt-5 + - gpt-5-mini + - gpt-5-nano + - gpt-5.5 + - gpt-5.5-pro + - chatgpt-4o-latest + type: string + OpenAIResponse: + allOf: + - $ref: "#/components/schemas/ModelResponseProperties" + - $ref: "#/components/schemas/ResponseProperties" + - properties: + created_at: + description: 이 Response가 생성된 Unix 타임스탬프 (초 단위) + type: number + error: + $ref: "#/components/schemas/ResponseError" + id: + description: 이 응답의 고유 식별자입니다. + type: string + incomplete_details: + description: "응답이 불완전한 이유에 대한 세부 정보입니다.\n" + nullable: true + properties: + reason: + description: 응답이 불완전한 이유입니다. + enum: + - max_output_tokens + - content_filter + type: string + type: object + object: + description: "이 리소스의 객체 유형: 항상 `response`로 설정됩니다." + enum: + - response + type: string + x-stainless-const: true + output: + description: "모델이 생성한 콘텐츠 항목 배열입니다.\n\n- `output` 배열의 항목 길이와 순서는 모델의 응답에 따라 달라집니다.\n- `output` 배열의 첫 번째 항목에 접근하여 그것이 모델이 생성한 콘텐츠를 가진 `assistant` 메시지라고 가정하기보다는, SDK에서 지원되는 경우 `output_text` 속성을 사용하는 것이 좋습니다.\n" + items: + $ref: "#/components/schemas/OutputItem" + type: array + output_text: + description: "SDK 전용 편의 속성으로, `output` 배열에 있는 모든 `output_text` 항목의 집계된 텍스트 출력을 포함합니다(있는 경우). Python 및 JavaScript SDK에서 지원됩니다.\n" + nullable: true + type: string + x-oaiSupportedSDKs: + - python + - javascript + parallel_tool_calls: + default: true + description: "모델이 도구 호출을 병렬로 실행하도록 허용할지 여부입니다.\n" + type: boolean + status: + description: "응답 생성 상태입니다. `completed`, `failed`, `in_progress`, `incomplete` 중 하나입니다." + enum: + - completed + - failed + - in_progress + - incomplete + type: string + usage: + $ref: "#/components/schemas/ResponseUsage" + type: object + description: 모델의 응답 + type: object + OpenAIResponseStreamEvent: + anyOf: + - $ref: "#/components/schemas/ResponseCreatedEvent" + - $ref: "#/components/schemas/ResponseInProgressEvent" + - $ref: "#/components/schemas/ResponseCompletedEvent" + - $ref: "#/components/schemas/ResponseFailedEvent" + - $ref: "#/components/schemas/ResponseIncompleteEvent" + - $ref: "#/components/schemas/ResponseOutputItemAddedEvent" + - $ref: "#/components/schemas/ResponseOutputItemDoneEvent" + - $ref: "#/components/schemas/ResponseContentPartAddedEvent" + - $ref: "#/components/schemas/ResponseContentPartDoneEvent" + - $ref: "#/components/schemas/ResponseErrorEvent" + description: 응답 스트리밍 중에 발생할 수 있는 이벤트 + type: object + OpenAIVideoCreateRequest: + properties: + input_reference: + description: 생성을 안내하는 선택적 이미지 또는 비디오 참조 + format: binary + type: string + model: + default: sora-2 + description: 사용할 비디오 생성 모델 + enum: + - sora-2 + - sora-2-pro + type: string + prompt: + description: 생성할 비디오를 설명하는 텍스트 프롬프트 + example: A calico cat playing a piano on stage + type: string + seconds: + default: "4" + description: 초 단위의 클립 길이 + enum: + - "4" + - "8" + - "12" + type: string + size: + default: 720x1280 + description: 너비 x 높이 형식의 출력 해상도 + enum: + - 720x1280 + - 1280x720 + - 1024x1792 + - 1792x1024 + type: string + required: + - prompt + type: object + OpenAIVideoJob: + properties: + completed_at: + description: 작업이 완료된 시점의 Unix 타임스탬프(초) (완료된 경우) + example: 1712698600 + type: integer + created_at: + description: 작업이 생성된 시점의 Unix 타임스탬프(초) + example: 1712697600 + type: integer + error: + description: 생성 실패 이유를 설명하는 오류 페이로드(해당되는 경우) + properties: + code: + description: 오류 코드 + type: string + message: + description: 사람이 읽을 수 있는 오류 메시지 + type: string + type: object + expires_at: + description: 다운로드 가능한 에셋이 만료되는 시점의 Unix 타임스탬프(초) (설정된 경우) + example: 1712784000 + type: integer + id: + description: 비디오 작업의 고유 식별자 + example: video_123 + type: string + model: + description: 작업을 생성한 비디오 생성 모델 + example: sora-2 + type: string + object: + description: "객체 유형이며, 항상 비디오입니다." + enum: + - video + example: video + type: string + progress: + description: 생성 작업의 대략적인 완료 백분율 + example: 0 + type: integer + quality: + description: 생성된 비디오의 품질 + example: standard + type: string + remixed_from_video_id: + description: 이 비디오가 리믹스인 경우 소스 비디오의 식별자 + example: video_456 + type: string + seconds: + description: 생성된 클립의 길이(초) + example: "8" + type: string + size: + description: 생성된 비디오의 해상도 + example: 1024x1808 + type: string + status: + description: 비디오 작업의 현재 수명 주기 상태 + enum: + - queued + - in_progress + - completed + - failed + example: queued + type: string + type: object + OpenRouterAnthropicCacheControlDirective: + description: 자동 프롬프트 캐시 활성화. 최상위 수준에서 설정하면 시스템이 요청의 마지막 캐시 가능 블록에 자동으로 캐시 중단점을 적용합니다. 현재 Anthropic Claude 모델에서 지원됩니다. + properties: + ttl: + $ref: "#/components/schemas/OpenRouterAnthropicCacheControlTtl" + type: + $ref: "#/components/schemas/OpenRouterAnthropicCacheControlDirectiveType" + required: + - type + title: AnthropicCacheControlDirective + type: object + OpenRouterAnthropicCacheControlDirectiveType: + enum: + - ephemeral + title: AnthropicCacheControlDirectiveType + type: string + OpenRouterAnthropicCacheControlTtl: + enum: + - 5m + - 1h + title: AnthropicCacheControlTtl + type: string + OpenRouterBigNumberUnion: + description: 백만 프롬프트 토큰당 가격 + title: BigNumberUnion + type: string + OpenRouterChatAssistantImages: + description: 이미지 생성 모델에서 생성된 이미지 + items: + $ref: "#/components/schemas/OpenRouterChatAssistantImagesItems" + title: ChatAssistantImages + type: array + OpenRouterChatAssistantImagesItems: + properties: + image_url: + $ref: "#/components/schemas/OpenRouterChatAssistantImagesItemsImageUrl" + required: + - image_url + title: ChatAssistantImagesItems + type: object + OpenRouterChatAssistantImagesItemsImageUrl: + properties: + url: + description: 생성된 이미지의 URL 또는 base64 인코딩 데이터 + type: string + required: + - url + title: ChatAssistantImagesItemsImageUrl + type: object + OpenRouterChatAssistantMessage: + description: 요청 및 응답을 위한 어시스턴트 메시지 + properties: + audio: + $ref: "#/components/schemas/OpenRouterChatAudioOutput" + content: + $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingAssistantContent" + images: + $ref: "#/components/schemas/OpenRouterChatAssistantImages" + name: + description: 어시스턴트의 선택적 이름 + type: string + reasoning: + description: 추론 출력 + nullable: true + type: string + reasoning_details: + $ref: "#/components/schemas/OpenRouterChatReasoningDetails" + refusal: + description: 콘텐츠가 거부된 경우의 거부 메시지 + nullable: true + type: string + tool_calls: + description: 어시스턴트가 수행한 도구 호출 + items: + $ref: "#/components/schemas/OpenRouterChatToolCall" + type: array + title: ChatAssistantMessage + type: object + OpenRouterChatAudioOutput: + description: 오디오 출력 데이터 또는 참조 + properties: + data: + description: Base64 인코딩 오디오 데이터 + type: string + expires_at: + description: 오디오 만료 타임스탬프 + type: integer + id: + description: 오디오 출력 식별자 + type: string + transcript: + description: 오디오 트랜스크립트 + type: string + title: ChatAudioOutput + type: object + OpenRouterChatChoice: + description: 채팅 완성 선택 + properties: + finish_reason: + $ref: "#/components/schemas/OpenRouterChatFinishReasonEnum" + index: + description: 선택 인덱스 + type: integer + logprobs: + $ref: "#/components/schemas/OpenRouterChatTokenLogprobs" + message: + $ref: "#/components/schemas/OpenRouterChatAssistantMessage" + required: + - finish_reason + - index + - message + title: ChatChoice + type: object + OpenRouterChatContentCacheControl: + description: 콘텐츠 부분의 캐시 제어 + properties: + ttl: + $ref: "#/components/schemas/OpenRouterAnthropicCacheControlTtl" + type: + $ref: "#/components/schemas/OpenRouterChatContentCacheControlType" + required: + - type + title: ChatContentCacheControl + type: object + OpenRouterChatContentCacheControlType: + enum: + - ephemeral + title: ChatContentCacheControlType + type: string + OpenRouterChatContentItems: + description: 채팅 완성 메시지의 콘텐츠 부분 + oneOf: + - description: 문서 처리를 위한 파일 콘텐츠 부분 + properties: + file: + $ref: "#/components/schemas/OpenRouterChatContentItemsDiscriminatorMappingFileFile" + type: + description: "판별자 값: file" + enum: + - file + type: string + required: + - type + - file + type: object + - description: 비전 모델용 이미지 콘텐츠 부분 + properties: + image_url: + $ref: "#/components/schemas/OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrl" + type: + description: "판별자 값: image_url" + enum: + - image_url + type: string + required: + - type + - image_url + type: object + - description: 오디오 입력 콘텐츠 부분. 지원되는 오디오 형식은 공급자에 따라 다릅니다. + properties: + input_audio: + $ref: "#/components/schemas/OpenRouterChatContentItemsDiscriminatorMappingInputAudioInputAudio" + type: + description: "판별자 값: input_audio" + enum: + - input_audio + type: string + required: + - type + - input_audio + type: object + - description: 비디오 입력 콘텐츠 부분 (레거시 형식 - 지원 중단됨) + properties: + type: + $ref: "#/components/schemas/OpenRouterLegacyChatContentVideoType" + video_url: + $ref: "#/components/schemas/OpenRouterChatContentVideoInput" + required: + - type + - video_url + type: object + - description: 텍스트 콘텐츠 부분 + properties: + cache_control: + $ref: "#/components/schemas/OpenRouterChatContentCacheControl" + text: + type: string + type: + $ref: "#/components/schemas/OpenRouterChatContentTextType" + required: + - type + - text + type: object + - description: 비디오 입력 콘텐츠 부분 + properties: + type: + $ref: "#/components/schemas/OpenRouterChatContentVideoType" + video_url: + $ref: "#/components/schemas/OpenRouterChatContentVideoInput" + required: + - type + - video_url + type: object + title: ChatContentItems + OpenRouterChatContentItemsDiscriminatorMappingFileFile: + properties: + file_data: + description: base64 데이터 URL 또는 URL로 된 파일 콘텐츠 + type: string + file_id: + description: 이전에 업로드된 파일의 파일 ID + type: string + filename: + description: 원본 파일 이름 + type: string + title: ChatContentItemsDiscriminatorMappingFileFile + type: object + OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrl: + properties: + detail: + $ref: "#/components/schemas/OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrlDetail" + url: + description: "이미지의 URL (data: URLs 지원)" + type: string + required: + - url + title: ChatContentItemsDiscriminatorMappingImageUrlImageUrl + type: object + OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrlDetail: + description: 비전 모델의 이미지 상세 수준 + enum: + - auto + - low + - high + title: ChatContentItemsDiscriminatorMappingImageUrlImageUrlDetail + type: string + OpenRouterChatContentItemsDiscriminatorMappingInputAudioInputAudio: + properties: + data: + description: Base64로 인코딩된 오디오 데이터 + type: string + format: + description: "오디오 형식 (예: wav, mp3, flac, m4a, ogg, aiff, aac, pcm16, pcm24). 지원되는 형식은 공급자에 따라 다릅니다." + type: string + required: + - data + - format + title: ChatContentItemsDiscriminatorMappingInputAudioInputAudio + type: object + OpenRouterChatContentText: + description: 텍스트 콘텐츠 부분 + properties: + cache_control: + $ref: "#/components/schemas/OpenRouterChatContentCacheControl" + text: + type: string + type: + $ref: "#/components/schemas/OpenRouterChatContentTextType" + required: + - text + - type + title: ChatContentText + type: object + OpenRouterChatContentTextType: + enum: + - text + title: ChatContentTextType + type: string + OpenRouterChatContentVideoInput: + description: 비디오 입력 객체 + properties: + url: + description: "비디오의 URL (data: URLs 지원)" + type: string + required: + - url + title: ChatContentVideoInput + type: object + OpenRouterChatContentVideoType: + enum: + - video_url + title: ChatContentVideoType + type: string + OpenRouterChatDebugOptions: + description: 요청 변환을 검사하기 위한 디버그 옵션 (스트리밍 전용) + properties: + echo_upstream_body: + description: "참인 경우, 스트림 시작 부분의 디버그 청크에 변환된 업스트림 요청 본문을 포함합니다. 스트리밍 모드에서만 작동합니다." + type: boolean + title: ChatDebugOptions + type: object + OpenRouterChatFinishReasonEnum: + enum: + - tool_calls + - stop + - length + - content_filter + - error + title: ChatFinishReasonEnum + type: string + OpenRouterChatFunctionTool: + description: 함수 호출을 위한 도구 정의 (일반 함수 또는 OpenRouter 내장 서버 도구) + oneOf: + - $ref: "#/components/schemas/OpenRouterChatFunctionTool0" + - $ref: "#/components/schemas/OpenRouterDatetimeServerTool" + - $ref: "#/components/schemas/ImageGenerationServerTool_OpenRouter" + - $ref: "#/components/schemas/OpenRouterChatSearchModelsServerTool" + - $ref: "#/components/schemas/OpenRouterWebFetchServerTool" + - $ref: "#/components/schemas/OpenRouterWebSearchServerTool" + - $ref: "#/components/schemas/OpenRouterChatWebSearchShorthand" + title: ChatFunctionTool + OpenRouterChatFunctionTool0: + properties: + cache_control: + $ref: "#/components/schemas/OpenRouterChatContentCacheControl" + function: + $ref: "#/components/schemas/OpenRouterChatFunctionToolOneOf0Function" + type: + $ref: "#/components/schemas/OpenRouterChatFunctionToolOneOf0Type" + required: + - function + - type + title: ChatFunctionTool0 + type: object + OpenRouterChatFunctionToolOneOf0Function: + description: 도구 호출을 위한 함수 정의 + properties: + description: + description: 모델을 위한 함수 설명 + type: string + name: + description: "함수 이름 (a-z, A-Z, 0-9, 밑줄, 대시, 최대 64자)" + type: string + parameters: + additionalProperties: + description: 모든 유형 + description: JSON Schema 객체로서의 함수 파라미터 + type: object + strict: + description: 엄격한 스키마 준수 활성화 + nullable: true + type: boolean + required: + - name + title: ChatFunctionToolOneOf0Function + type: object + OpenRouterChatFunctionToolOneOf0Type: + enum: + - function + title: ChatFunctionToolOneOf0Type + type: string + OpenRouterChatJsonSchemaConfig: + description: JSON Schema 구성 객체 + properties: + description: + description: 모델에 대한 스키마 설명 + type: string + name: + description: "스키마 이름 (a-z, A-Z, 0-9, 밑줄, 대시, 최대 64자)" + type: string + schema: + additionalProperties: + description: 모든 유형 + description: JSON Schema 객체 + type: object + strict: + description: 엄격한 스키마 준수 활성화 + nullable: true + type: boolean + required: + - name + title: ChatJsonSchemaConfig + type: object + OpenRouterChatMessages: + description: 역할 기반 구분이 포함된 채팅 완성 메시지 + oneOf: + - description: 요청 및 응답을 위한 어시스턴트 메시지 + properties: + audio: + $ref: "#/components/schemas/OpenRouterChatAudioOutput" + content: + $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingAssistantContent" + images: + $ref: "#/components/schemas/OpenRouterChatAssistantImages" + name: + description: 어시스턴트의 선택적 이름 + type: string + reasoning: + description: 추론 출력 + nullable: true + type: string + reasoning_details: + $ref: "#/components/schemas/OpenRouterChatReasoningDetails" + refusal: + description: 콘텐츠가 거부된 경우 거부 메시지 + nullable: true + type: string + role: + description: "구분자 값: 어시스턴트" + enum: + - assistant + type: string + tool_calls: + description: 어시스턴트가 수행한 도구 호출 + items: + $ref: "#/components/schemas/OpenRouterChatToolCall" + type: array + required: + - role + type: object + - description: 개발자 메시지 + properties: + content: + $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingDeveloperContent" + name: + description: 개발자 메시지의 선택적 이름 + type: string + role: + description: "구분자 값: 개발자" + enum: + - developer + type: string + required: + - role + - content + type: object + - description: 동작 설정을 위한 시스템 메시지 + properties: + content: + $ref: "#/components/schemas/OpenRouterChatSystemMessageContent" + name: + description: 시스템 메시지의 선택적 이름 + type: string + role: + $ref: "#/components/schemas/OpenRouterChatSystemMessageRole" + required: + - role + - content + type: object + - description: 도구 응답 메시지 + properties: + content: + $ref: "#/components/schemas/OpenRouterChatToolMessageContent" + role: + $ref: "#/components/schemas/OpenRouterChatToolMessageRole" + tool_call_id: + description: 이 메시지가 응답하는 어시스턴트 메시지 도구 호출의 ID + type: string + required: + - role + - content + - tool_call_id + type: object + - description: 사용자 메시지 + properties: + content: + $ref: "#/components/schemas/OpenRouterChatUserMessageContent" + name: + description: 사용자의 선택적 이름 + type: string + role: + $ref: "#/components/schemas/OpenRouterChatUserMessageRole" + required: + - role + - content + type: object + title: ChatMessages + OpenRouterChatMessagesDiscriminatorMappingAssistantContent: + description: 어시스턴트 메시지 콘텐츠 + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingAssistantContent1" + - description: 모든 유형 + title: ChatMessagesDiscriminatorMappingAssistantContent + OpenRouterChatMessagesDiscriminatorMappingAssistantContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentItems" + title: ChatMessagesDiscriminatorMappingAssistantContent1 + type: array + OpenRouterChatMessagesDiscriminatorMappingDeveloperContent: + description: 개발자 메시지 콘텐츠 + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingDeveloperContent1" + title: ChatMessagesDiscriminatorMappingDeveloperContent + OpenRouterChatMessagesDiscriminatorMappingDeveloperContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentText" + title: ChatMessagesDiscriminatorMappingDeveloperContent1 + type: array + OpenRouterChatModelNames: + description: 완료에 사용할 모델 + items: + $ref: "#/components/schemas/OpenRouterModelName" + title: ChatModelNames + type: array + OpenRouterChatNamedToolChoice: + description: 특정 함수에 대한 명명된 도구 선택 + properties: + function: + $ref: "#/components/schemas/OpenRouterChatNamedToolChoiceFunction" + type: + $ref: "#/components/schemas/OpenRouterChatNamedToolChoiceType" + required: + - function + - type + title: ChatNamedToolChoice + type: object + OpenRouterChatNamedToolChoiceFunction: + properties: + name: + description: 호출할 함수 이름 + type: string + required: + - name + title: ChatNamedToolChoiceFunction + type: object + OpenRouterChatNamedToolChoiceType: + enum: + - function + title: ChatNamedToolChoiceType + type: string + OpenRouterChatReasoningDetails: + description: 확장된 사고 모델에 대한 추론 세부 정보 + items: + $ref: "#/components/schemas/OpenRouterReasoningDetailUnion" + title: ChatReasoningDetails + type: array + OpenRouterChatReasoningSummaryVerbosityEnum: + enum: + - auto + - concise + - detailed + title: ChatReasoningSummaryVerbosityEnum + type: string + OpenRouterChatRequest: + description: 채팅 완료 요청 파라미터 + properties: + cache_control: + $ref: "#/components/schemas/OpenRouterAnthropicCacheControlDirective" + debug: + $ref: "#/components/schemas/OpenRouterChatDebugOptions" + frequency_penalty: + description: 빈도 패널티 (-2.0 ~ 2.0) + format: double + nullable: true + type: number + image_config: + $ref: "#/components/schemas/OpenRouterImageConfig" + logit_bias: + additionalProperties: + format: double + type: number + description: 토큰 로짓 바이어스 조정 + nullable: true + type: object + logprobs: + description: 로그 확률 반환 + nullable: true + type: boolean + max_completion_tokens: + description: 완료의 최대 토큰 수 + nullable: true + type: integer + max_tokens: + description: "최대 토큰 (지원 중단됨, max_completion_tokens 사용). 참고: 일부 제공업체는 최소 16개를 강제합니다." + nullable: true + type: integer + messages: + description: 대화를 위한 메시지 목록 + items: + $ref: "#/components/schemas/OpenRouterChatMessages" + type: array + metadata: + additionalProperties: + type: string + description: "추가 객체 정보에 대한 키-값 쌍 (최대 16쌍, 64자 키, 512자 값)" + type: object + modalities: + description: "응답의 출력 모달리티. 지원되는 값은 \"text\", \"image\", \"audio\"입니다." + items: + $ref: "#/components/schemas/OpenRouterChatRequestModalitiesItems" + type: array + model: + $ref: "#/components/schemas/OpenRouterModelName" + models: + $ref: "#/components/schemas/OpenRouterChatModelNames" + parallel_tool_calls: + description: 도구 사용 중 병렬 함수 호출 활성화 여부. 참(true)인 경우 모델이 단일 응답에서 여러 도구 호출을 생성할 수 있습니다. + nullable: true + type: boolean + plugins: + description: 이 요청에 대해 활성화하려는 플러그인과 해당 설정. + items: + $ref: "#/components/schemas/OpenRouterChatRequestPluginsItems" + type: array + presence_penalty: + description: 존재 패널티 (-2.0 ~ 2.0) + format: double + nullable: true + type: number + provider: + $ref: "#/components/schemas/OpenRouterProviderPreferences" + reasoning: + $ref: "#/components/schemas/OpenRouterChatRequestReasoning" + response_format: + $ref: "#/components/schemas/OpenRouterChatRequestResponseFormat" + route: + description: 모든 유형 + seed: + description: 결정론적 출력을 위한 무작위 시드 + nullable: true + type: integer + service_tier: + description: 이 요청을 처리하는 데 사용할 서비스 계층. + oneOf: + - $ref: "#/components/schemas/OpenRouterChatRequestServiceTier" + session_id: + description: "관찰 가능성을 위해 관련 요청(예: 대화 또는 에이전트 워크플로)을 그룹화하는 고유 식별자. 요청 본문과 x-session-id 헤더 모두에 제공된 경우 본문 값이 우선합니다. 최대 256자." + type: string + stop: + $ref: "#/components/schemas/OpenRouterChatRequestStop" + stop_server_tools_when: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhen" + stream: + default: false + description: 스트리밍 응답 활성화 + type: boolean + stream_options: + $ref: "#/components/schemas/OpenRouterChatStreamOptions" + temperature: + description: 샘플링 온도 (0-2) + format: double + nullable: true + type: number + tool_choice: + $ref: "#/components/schemas/OpenRouterChatToolChoice" + tools: + description: 함수 호출에 사용 가능한 도구 + items: + $ref: "#/components/schemas/OpenRouterChatFunctionTool" + type: array + top_logprobs: + description: 반환할 상위 로그 확률 수 (0-20) + nullable: true + type: integer + top_p: + description: Nucleus 샘플링 매개변수 (0-1) + format: double + nullable: true + type: number + trace: + $ref: "#/components/schemas/OpenRouterTraceConfig" + user: + description: 고유 사용자 식별자 + type: string + required: + - messages + title: ChatRequest + type: object + OpenRouterChatRequestModalitiesItems: + enum: + - text + - image + - audio + title: ChatRequestModalitiesItems + type: string + OpenRouterChatRequestPluginsItems: + oneOf: + - description: auto-router 변형 + properties: + allowed_models: + description: "auto-router가 라우팅할 수 있는 모델을 필터링할 모델 패턴 목록. 와일드카드 지원 (예: \"anthropic/*\"는 모든 Anthropic 모델과 일치). 지정되지 않으면 기본 지원 모델 목록 사용." + items: + type: string + type: array + enabled: + description: 이 요청에 대해 auto-router 플러그인을 비활성화하려면 거짓으로 설정. 기본값은 참. + type: boolean + id: + description: "판별자 값: auto-router" + enum: + - auto-router + type: string + required: + - id + type: object + - description: context-compression 변형 + properties: + enabled: + description: 이 요청에 대해 context-compression 플러그인을 비활성화하려면 거짓으로 설정. 기본값은 참. + type: boolean + engine: + $ref: "#/components/schemas/OpenRouterContextCompressionEngine" + id: + description: "판별자 값: context-compression" + enum: + - context-compression + type: string + required: + - id + type: object + - description: file-parser 변형 + properties: + enabled: + description: 이 요청에 대해 file-parser 플러그인을 비활성화하려면 거짓으로 설정. 기본값은 참. + type: boolean + id: + description: "판별자 값: file-parser" + enum: + - file-parser + type: string + pdf: + $ref: "#/components/schemas/OpenRouterPDFParserOptions" + required: + - id + type: object + - description: fusion 변형 + properties: + analysis_models: + description: "판사가 분석하는 \"전문가 패널\"로 병렬 실행할 모델의 slug. 각 모델은 web_search + web_fetch가 활성화된 동일한 사용자 프롬프트를 받습니다. 비용 증폭을 제한하기 위해 최대 8개의 모델로 제한됩니다. 생략 시 /labs/fusion UI의 Quality 프리셋(~anthropic/claude-opus-latest, ~openai/gpt-latest, ~google/gemini-pro-latest)을 기본값으로 사용합니다." + items: + type: string + type: array + enabled: + description: 이 요청에 대해 fusion 플러그인을 비활성화하려면 거짓으로 설정. 기본값은 참. + type: boolean + id: + description: "판별자 값: fusion" + enum: + - fusion + type: string + max_tool_calls: + description: 각 패널리스트(분석 모델)와 판사 모델이 에이전트 웹 연구 루프 동안 수행할 수 있는 도구 호출 단계의 최대 수. web_search/web_fetch가 활성화된 모델은 텍스트 응답을 생성하거나 이 한도에 도달할 때까지 반복합니다. 기본값은 8. 최대 16. + type: integer + model: + description: 판사 단계(web_search + web_fetch 포함)와 최종 합성을 모두 수행하는 모델의 slug. 생략 시 Quality 프리셋의 첫 번째 모델을 기본값으로 사용합니다. + type: string + required: + - id + type: object + - description: moderation 변형 + properties: + id: + description: "판별자 값: moderation" + enum: + - moderation + type: string + required: + - id + type: object + - description: pareto-router 변형 + properties: + enabled: + description: 이 요청에 대해 pareto-router 플러그인을 비활성화하려면 거짓으로 설정. 기본값은 참. + type: boolean + id: + description: "판별자 값: pareto-router" + enum: + - pareto-router + type: string + min_coding_score: + description: "0과 1 사이의 최소 원하는 코딩 점수(1이 최고). 값이 높을수록 더 강력한 코딩 모델(Artificial Analysis 코딩 백분위수에서 가져옴)을 선택합니다. 내부적으로 세 가지 티어(낮음, 중간, 높음) 중 하나에 매핑됩니다. 생략하면 라우터 기본 티어를 사용합니다." + format: double + type: number + required: + - id + type: object + - description: response-healing 변형 + properties: + enabled: + description: 이 요청에 대해 response-healing 플러그인을 비활성화하려면 거짓으로 설정하세요. 기본값은 참입니다. + type: boolean + id: + description: "식별자 값: response-healing" + enum: + - response-healing + type: string + required: + - id + type: object + - description: web 변형 + properties: + enabled: + description: 이 요청에 대해 웹 검색 플러그인을 비활성화하려면 거짓으로 설정하세요. 기본값은 참입니다. + type: boolean + engine: + $ref: "#/components/schemas/OpenRouterWebSearchEngine" + exclude_domains: + description: "웹 검색 결과에서 제외할 도메인 목록입니다. 와일드카드(예: \"*.substack.com\") 및 경로 필터링(예: \"openai.com/blog\")을 지원합니다." + items: + type: string + type: array + id: + $ref: "#/components/schemas/OpenRouterWebSearchPluginId" + include_domains: + description: "웹 검색 결과를 제한할 도메인 목록입니다. 와일드카드(예: \"*.substack.com\") 및 경로 필터링(예: \"openai.com/blog\")을 지원합니다." + items: + type: string + type: array + max_results: + type: integer + max_uses: + description: "모델이 단일 턴에서 웹 검색을 호출할 수 있는 최대 횟수입니다. 이를 지원하는 네이티브 제공자(예: Anthropic)에 그대로 전달됩니다." + type: integer + search_prompt: + type: string + user_location: + $ref: "#/components/schemas/OpenRouterWebSearchPluginUserLocation" + required: + - id + type: object + - description: web-fetch 변형 + properties: + allowed_domains: + description: 이 도메인에서만 가져옵니다. + items: + type: string + type: array + blocked_domains: + description: 이 도메인에서는 절대 가져오지 않습니다. + items: + type: string + type: array + id: + $ref: "#/components/schemas/OpenRouterWebFetchPluginId" + max_content_tokens: + description: 대략적인 토큰 수의 최대 콘텐츠 길이입니다. 이 한도를 초과하는 콘텐츠는 잘립니다. + type: integer + max_uses: + description: 요청당 최대 웹 가져오기 횟수입니다. 초과 시 도구가 오류를 반환합니다. + type: integer + required: + - id + type: object + title: ChatRequestPluginsItems + OpenRouterChatRequestReasoning: + description: 추론 모델의 구성 옵션 + properties: + effort: + description: 추론 모델의 추론 노력을 제한합니다. + oneOf: + - $ref: "#/components/schemas/OpenRouterChatRequestReasoningEffort" + summary: + $ref: "#/components/schemas/OpenRouterChatReasoningSummaryVerbosityEnum" + title: ChatRequestReasoning + type: object + OpenRouterChatRequestReasoningEffort: + description: 추론 모델의 추론 노력을 제한합니다. + enum: + - xhigh + - high + - medium + - low + - minimal + - none + title: ChatRequestReasoningEffort + type: string + OpenRouterChatRequestResponseFormat: + description: 응답 형식 구성 + oneOf: + - description: 사용자 정의 문법 응답 형식 + properties: + grammar: + description: 텍스트 생성을 위한 사용자 정의 문법 + type: string + type: + description: "식별자 값: grammar" + enum: + - grammar + type: string + required: + - type + - grammar + type: object + - description: JSON 객체 응답 형식 + properties: + type: + $ref: "#/components/schemas/OpenRouterFormatJsonObjectConfigType" + required: + - type + type: object + - description: 구조화된 출력을 위한 JSON 스키마 응답 형식 + properties: + json_schema: + $ref: "#/components/schemas/OpenRouterChatJsonSchemaConfig" + type: + description: "식별자 값: json_schema" + enum: + - json_schema + type: string + required: + - type + - json_schema + type: object + - description: Python 코드 응답 형식 + properties: + type: + description: "식별자 값: python" + enum: + - python + type: string + required: + - type + type: object + - description: 기본 텍스트 응답 형식 + properties: + type: + description: "식별자 값: text" + enum: + - text + type: string + required: + - type + type: object + title: ChatRequestResponseFormat + OpenRouterChatRequestServiceTier: + description: 이 요청을 처리하는 데 사용할 서비스 계층입니다. + enum: + - auto + - default + - flex + - priority + - scale + title: ChatRequestServiceTier + type: string + OpenRouterChatRequestStop: + description: 중지 시퀀스(최대 4개) + oneOf: + - type: string + - items: + type: string + type: array + - description: 모든 유형 + title: ChatRequestStop + OpenRouterChatResult: + description: 채팅 완료 응답 + properties: + choices: + description: 완료 선택 목록 + items: + $ref: "#/components/schemas/OpenRouterChatChoice" + type: array + created: + description: 생성의 Unix 타임스탬프 + type: integer + id: + description: 고유 완료 식별자 + type: string + model: + description: 완료에 사용된 모델 + type: string + object: + $ref: "#/components/schemas/OpenRouterChatResultObject" + openrouter_metadata: + $ref: "#/components/schemas/OpenRouterMetadata" + service_tier: + description: 이 요청에 대해 업스트림 공급자가 사용한 서비스 계층 + nullable: true + type: string + system_fingerprint: + description: 시스템 지문 + nullable: true + type: string + usage: + $ref: "#/components/schemas/OpenRouterChatUsage" + required: + - choices + - created + - id + - model + - object + - system_fingerprint + title: ChatResult + type: object + OpenRouterChatResultObject: + enum: + - chat.completion + title: ChatResultObject + type: string + OpenRouterChatSearchModelsServerTool: + description: "OpenRouter 내장 서버 도구: OpenRouter에서 사용 가능한 AI 모델을 검색하고 필터링합니다." + properties: + parameters: + $ref: "#/components/schemas/OpenRouterSearchModelsServerToolConfig" + type: + $ref: "#/components/schemas/OpenRouterChatSearchModelsServerToolType" + required: + - type + title: ChatSearchModelsServerTool + type: object + OpenRouterChatSearchModelsServerToolType: + enum: + - openrouter:experimental__search_models + title: ChatSearchModelsServerToolType + type: string + OpenRouterChatStreamOptions: + description: 스트리밍 구성 옵션 + properties: + include_usage: + description: "지원 중단됨: 이 필드는 효과가 없습니다. 전체 사용 세부 정보가 항상 포함됩니다." + type: boolean + title: ChatStreamOptions + type: object + OpenRouterChatSystemMessageContent: + description: 시스템 메시지 콘텐츠 + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatSystemMessageContent1" + title: ChatSystemMessageContent + OpenRouterChatSystemMessageContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentText" + title: ChatSystemMessageContent1 + type: array + OpenRouterChatSystemMessageRole: + enum: + - system + title: ChatSystemMessageRole + type: string + OpenRouterChatTokenLogprob: + description: 토큰 로그 확률 정보 + properties: + bytes: + description: 토큰의 UTF-8 바이트 + items: + type: integer + nullable: true + type: array + logprob: + description: 토큰의 로그 확률 + format: double + type: number + token: + description: 토큰 + type: string + top_logprobs: + description: 확률이 있는 상위 대체 토큰 + items: + $ref: "#/components/schemas/OpenRouterChatTokenLogprobTopLogprobsItems" + type: array + required: + - bytes + - logprob + - token + - top_logprobs + title: ChatTokenLogprob + type: object + OpenRouterChatTokenLogprobTopLogprobsItems: + properties: + bytes: + items: + type: integer + nullable: true + type: array + logprob: + format: double + type: number + token: + type: string + required: + - bytes + - logprob + - token + title: ChatTokenLogprobTopLogprobsItems + type: object + OpenRouterChatTokenLogprobs: + description: 완료에 대한 로그 확률 + properties: + content: + description: 콘텐츠 토큰에 대한 로그 확률 + items: + $ref: "#/components/schemas/OpenRouterChatTokenLogprob" + nullable: true + type: array + refusal: + description: 거부 토큰에 대한 로그 확률 + items: + $ref: "#/components/schemas/OpenRouterChatTokenLogprob" + nullable: true + type: array + required: + - content + title: ChatTokenLogprobs + type: object + OpenRouterChatToolCall: + description: 어시스턴트가 수행한 도구 호출 + properties: + function: + $ref: "#/components/schemas/OpenRouterChatToolCallFunction" + id: + description: 도구 호출 식별자 + type: string + type: + $ref: "#/components/schemas/OpenRouterChatToolCallType" + required: + - function + - id + - type + title: ChatToolCall + type: object + OpenRouterChatToolCallFunction: + properties: + arguments: + description: JSON 문자열로 된 함수 인수 + type: string + name: + description: 호출할 함수 이름 + type: string + required: + - arguments + - name + title: ChatToolCallFunction + type: object + OpenRouterChatToolCallType: + enum: + - function + title: ChatToolCallType + type: string + OpenRouterChatToolChoice: + description: 도구 선택 구성 + oneOf: + - $ref: "#/components/schemas/OpenRouterChatToolChoice0" + - $ref: "#/components/schemas/OpenRouterChatToolChoice1" + - $ref: "#/components/schemas/OpenRouterChatToolChoice2" + - $ref: "#/components/schemas/OpenRouterChatNamedToolChoice" + title: ChatToolChoice + OpenRouterChatToolChoice0: + enum: + - none + title: ChatToolChoice0 + type: string + OpenRouterChatToolChoice1: + enum: + - auto + title: ChatToolChoice1 + type: string + OpenRouterChatToolChoice2: + enum: + - required + title: ChatToolChoice2 + type: string + OpenRouterChatToolMessageContent: + description: 도구 응답 콘텐츠 + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatToolMessageContent1" + title: ChatToolMessageContent + OpenRouterChatToolMessageContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentItems" + title: ChatToolMessageContent1 + type: array + OpenRouterChatToolMessageRole: + enum: + - tool + title: ChatToolMessageRole + type: string + OpenRouterChatUsage: + description: 토큰 사용 통계 + properties: + completion_tokens: + description: 완성된 부분의 토큰 수 + type: integer + completion_tokens_details: + description: 완성 토큰 사용 세부 정보 + oneOf: + - $ref: "#/components/schemas/OpenRouterChatUsageCompletionTokensDetails" + cost: + description: 완성 비용 + format: double + nullable: true + type: number + cost_details: + $ref: "#/components/schemas/OpenRouterCostDetails" + is_byok: + description: Bring Your Own Key 구성을 사용한 요청 여부 + type: boolean + prompt_tokens: + description: 프롬프트의 토큰 수 + type: integer + prompt_tokens_details: + description: 프롬프트 토큰 사용 세부 정보 + oneOf: + - $ref: "#/components/schemas/OpenRouterChatUsagePromptTokensDetails" + total_tokens: + description: 총 토큰 수 + type: integer + required: + - completion_tokens + - prompt_tokens + - total_tokens + title: ChatUsage + type: object + OpenRouterChatUsageCompletionTokensDetails: + description: 상세 완성 토큰 사용량 + properties: + accepted_prediction_tokens: + description: 수락된 예측 토큰 + nullable: true + type: integer + audio_tokens: + description: 오디오 출력에 사용된 토큰 + nullable: true + type: integer + reasoning_tokens: + description: 추론에 사용된 토큰 + nullable: true + type: integer + rejected_prediction_tokens: + description: 거부된 예측 토큰 + nullable: true + type: integer + title: ChatUsageCompletionTokensDetails + type: object + OpenRouterChatUsagePromptTokensDetails: + description: 상세 프롬프트 토큰 사용량 + properties: + audio_tokens: + description: 오디오 입력 토큰 + type: integer + cache_write_tokens: + description: 캐시에 기록된 토큰. 명시적 캐싱 및 캐시 쓰기 가격이 있는 모델에만 반환됩니다. + type: integer + cached_tokens: + description: 캐시된 프롬프트 토큰 + type: integer + video_tokens: + description: 비디오 입력 토큰 + type: integer + title: ChatUsagePromptTokensDetails + type: object + OpenRouterChatUserMessageContent: + description: 사용자 메시지 콘텐츠 + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatUserMessageContent1" + title: ChatUserMessageContent + OpenRouterChatUserMessageContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentItems" + title: ChatUserMessageContent1 + type: array + OpenRouterChatUserMessageRole: + enum: + - user + title: ChatUserMessageRole + type: string + OpenRouterChatWebSearchShorthand: + description: OpenAI Responses API 구문을 사용하는 웹 검색 도구. 자동으로 openrouter:web_search로 변환됩니다. + properties: + allowed_domains: + description: "검색 결과를 이 도메인으로 제한합니다. Exa, Firecrawl, Parallel 및 대부분의 기본 제공업체(Anthropic, OpenAI, xAI)에서 지원됩니다. Perplexity에서는 지원되지 않습니다. excluded_domains와 함께 사용할 수 없습니다." + items: + type: string + type: array + engine: + $ref: "#/components/schemas/OpenRouterWebSearchEngineEnum" + excluded_domains: + description: "이 도메인의 검색 결과를 제외합니다. 지원 제공: Exa, Firecrawl, Parallel, Anthropic, xAI. OpenAI(자동 무시) 또는 Perplexity에서는 지원되지 않습니다. allowed_domains와 함께 사용할 수 없습니다." + items: + type: string + type: array + max_results: + description: "검색 호출당 반환할 최대 검색 결과 수입니다. 기본값은 5입니다. Exa, Firecrawl, Parallel 엔진에 적용되며, 네이티브 공급자 검색에서는 무시됩니다." + type: integer + max_total_results: + description: 단일 요청의 모든 검색 호출에 걸친 최대 총 검색 결과 수입니다. 이 한도에 도달하면 도구가 새 결과 반환을 중단합니다. 에이전트 루프에서 비용과 컨텍스트 크기를 제어하는 데 유용합니다. 지정되지 않은 경우 기본값은 50입니다. + type: integer + parameters: + $ref: "#/components/schemas/OpenRouterWebSearchConfig" + search_context_size: + $ref: "#/components/schemas/OpenRouterSearchQualityLevel" + type: + $ref: "#/components/schemas/OpenRouterChatWebSearchShorthandType" + user_location: + $ref: "#/components/schemas/OpenRouterWebSearchUserLocationServerTool" + required: + - type + title: ChatWebSearchShorthand + type: object + OpenRouterChatWebSearchShorthandType: + enum: + - web_search + - web_search_preview + - web_search_preview_2025_03_11 + - web_search_2025_08_26 + title: ChatWebSearchShorthandType + type: string + OpenRouterContextCompressionEngine: + description: "사용할 압축 엔진입니다. 기본값은 \"middle-out\"입니다." + enum: + - middle-out + title: ContextCompressionEngine + type: string + OpenRouterCostDetails: + description: 업스트림 추론 비용 세부 내역 + properties: + upstream_inference_completions_cost: + format: double + type: number + upstream_inference_cost: + format: double + nullable: true + type: number + upstream_inference_prompt_cost: + format: double + type: number + required: + - upstream_inference_completions_cost + - upstream_inference_prompt_cost + title: CostDetails + type: object + OpenRouterDatetimeServerTool: + description: "OpenRouter 내장 서버 도구: 현재 날짜와 시간을 반환합니다." + properties: + parameters: + $ref: "#/components/schemas/OpenRouterDatetimeServerToolConfig" + type: + $ref: "#/components/schemas/OpenRouterDatetimeServerToolType" + required: + - type + title: DatetimeServerTool + type: object + OpenRouterDatetimeServerToolConfig: + description: openrouter:datetime 서버 도구 구성 + properties: + timezone: + description: "IANA 시간대 이름(예: \"America/New_York\"). 기본값은 UTC입니다." + type: string + title: DatetimeServerToolConfig + type: object + OpenRouterDatetimeServerToolType: + enum: + - openrouter:datetime + title: DatetimeServerToolType + type: string + OpenRouterEndpointInfo: + properties: + model: + type: string + provider: + type: string + selected: + type: boolean + required: + - model + - provider + - selected + title: EndpointInfo + type: object + OpenRouterEndpointsMetadata: + properties: + available: + items: + $ref: "#/components/schemas/OpenRouterEndpointInfo" + type: array + total: + type: integer + required: + - available + - total + title: EndpointsMetadata + type: object + OpenRouterFormatJsonObjectConfigType: + enum: + - json_object + title: FormatJsonObjectConfigType + type: string + OpenRouterImageConfig: + oneOf: + - type: string + - format: double + type: number + - items: + description: 모든 유형 + type: array + title: ImageConfig + OpenRouterImageGenerationServerToolConfig: + description: "openrouter:image_generation 서버 도구 구성. 모든 image_config 매개변수(aspect_ratio, quality, size, background, output_format, output_compression, moderation 등)와 model 필드를 허용합니다." + properties: + model: + description: "사용할 이미지 생성 모델(예: \"openai/gpt-5-image\"). 기본값은 \"openai/gpt-5-image\"입니다." + type: string + title: ImageGenerationServerToolConfig + type: object + OpenRouterImageGenerationServerToolOpenRouterType: + enum: + - openrouter:image_generation + title: ImageGenerationServerToolOpenRouterType + type: string + OpenRouterLegacyChatContentVideoType: + enum: + - input_video + title: LegacyChatContentVideoType + type: string + OpenRouterMetadata: + properties: + attempt: + type: integer + attempts: + items: + $ref: "#/components/schemas/OpenRouterRouterAttempt" + type: array + endpoints: + $ref: "#/components/schemas/OpenRouterEndpointsMetadata" + is_byok: + type: boolean + params: + $ref: "#/components/schemas/OpenRouterRouterParams" + pipeline: + items: + $ref: "#/components/schemas/OpenRouterPipelineStage" + type: array + region: + nullable: true + type: string + requested: + type: string + strategy: + $ref: "#/components/schemas/OpenRouterRoutingStrategy" + summary: + type: string + required: + - attempt + - endpoints + - is_byok + - region + - requested + - strategy + - summary + title: OpenRouterMetadata + type: object + OpenRouterModelName: + description: 완성에 사용할 모델 + title: ModelName + type: string + OpenRouterPDFParserEngine: + description: "PDF 파일 파싱에 사용할 엔진입니다. \"pdf-text\"는 지원 중단되었으며 자동으로 \"cloudflare-ai\"로 리디렉션됩니다." + oneOf: + - $ref: "#/components/schemas/OpenRouterPdfParserEngine0" + - $ref: "#/components/schemas/OpenRouterPdfParserEngine1" + title: PDFParserEngine + OpenRouterPDFParserOptions: + description: PDF 파싱 옵션. + properties: + engine: + $ref: "#/components/schemas/OpenRouterPDFParserEngine" + title: PDFParserOptions + type: object + OpenRouterPdfParserEngine0: + enum: + - mistral-ocr + - native + - cloudflare-ai + title: PdfParserEngine0 + type: string + OpenRouterPdfParserEngine1: + enum: + - pdf-text + title: PdfParserEngine1 + type: string + OpenRouterPercentileLatencyCutoffs: + description: 백분위수 기반 지연 시간 컷오프입니다. 엔드포인트가 선호되려면 지정된 모든 컷오프를 충족해야 합니다. + properties: + p50: + description: 최대 p50 지연 시간(초) + format: double + nullable: true + type: number + p75: + description: 최대 p75 지연 시간(초) + format: double + nullable: true + type: number + p90: + description: 최대 p90 지연 시간(초) + format: double + nullable: true + type: number + p99: + description: 최대 p99 지연 시간(초) + format: double + nullable: true + type: number + title: PercentileLatencyCutoffs + type: object + OpenRouterPercentileThroughputCutoffs: + description: 백분위수 기반 처리량 컷오프입니다. 엔드포인트가 선호되려면 지정된 모든 컷오프를 충족해야 합니다. + properties: + p50: + description: 최소 p50 처리량(토큰/초) + format: double + nullable: true + type: number + p75: + description: 최소 p75 처리량(토큰/초) + format: double + nullable: true + type: number + p90: + description: 최소 p90 처리량(토큰/초) + format: double + nullable: true + type: number + p99: + description: 최소 p99 처리량(토큰/초) + format: double + nullable: true + type: number + title: PercentileThroughputCutoffs + type: object + OpenRouterPipelineStage: + properties: + cost_usd: + format: double + nullable: true + type: number + data: + additionalProperties: + description: 모든 유형 + type: object + guardrail_id: + type: string + guardrail_scope: + type: string + name: + type: string + summary: + type: string + type: + $ref: "#/components/schemas/OpenRouterPipelineStageType" + required: + - name + - type + title: PipelineStage + type: object + OpenRouterPipelineStageType: + description: "파이프라인 단계의 범주형 유형입니다. 여러 플러그인이 동일한 유형을 공유할 수 있습니다(예: 모든 가드레일 수준 플러그인은 `guardrail`을 내보냅니다). `name` 필드는 어떤 플러그인이 이를 내보냈는지 식별합니다." + enum: + - guardrail + - plugin + - server_tools + - response_healing + - context_compression + title: PipelineStageType + type: string + OpenRouterPreferredMaxLatency: + description: "선호되는 최대 지연 시간(초)입니다. 숫자(p50에 적용) 또는 백분위별 기준값이 있는 객체일 수 있습니다. 임계값을 초과하는 엔드포인트는 여전히 사용될 수 있지만, 라우팅에서 우선순위가 낮아집니다. 폴백 모델을 사용하는 경우, 기본 모델 대신 임계값을 충족하는 폴백 모델이 사용될 수 있습니다." + oneOf: + - format: double + type: number + - $ref: "#/components/schemas/OpenRouterPercentileLatencyCutoffs" + - description: 모든 유형 + title: PreferredMaxLatency + OpenRouterPreferredMinThroughput: + description: "선호되는 최소 처리량(초당 토큰 수)입니다. 숫자(p50에 적용) 또는 백분위별 기준값이 있는 객체일 수 있습니다. 임계값 미만의 엔드포인트는 여전히 사용될 수 있지만, 라우팅에서 우선순위가 낮아집니다. 폴백 모델을 사용하는 경우, 기본 모델 대신 임계값을 충족하는 폴백 모델이 사용될 수 있습니다." + oneOf: + - format: double + type: number + - $ref: "#/components/schemas/OpenRouterPercentileThroughputCutoffs" + - description: 모든 유형 + title: PreferredMinThroughput + OpenRouterProviderName: + enum: + - AkashML + - AI21 + - AionLabs + - Alibaba + - Ambient + - Baidu + - Amazon Bedrock + - Amazon Nova + - Anthropic + - Arcee AI + - AtlasCloud + - Avian + - Azure + - BaseTen + - BytePlus + - Black Forest Labs + - Cerebras + - Chutes + - Cirrascale + - Clarifai + - Cloudflare + - Cohere + - Crucible + - Crusoe + - DeepInfra + - DeepSeek + - DekaLLM + - Featherless + - Fireworks + - Friendli + - GMICloud + - Google + - Google AI Studio + - Groq + - Hyperbolic + - Inception + - Inceptron + - InferenceNet + - Ionstream + - Infermatic + - Io Net + - Inflection + - Liquid + - Mara + - Mancer 2 + - Minimax + - ModelRun + - Mistral + - Modular + - Moonshot AI + - Morph + - NCompass + - Nebius + - Nex AGI + - NextBit + - Novita + - Nvidia + - OpenAI + - OpenInference + - Parasail + - Poolside + - Perceptron + - Perplexity + - Phala + - Recraft + - Reka + - Relace + - SambaNova + - Seed + - SiliconFlow + - Sourceful + - StepFun + - Stealth + - StreamLake + - Switchpoint + - Together + - Upstage + - Venice + - WandB + - Xiaomi + - xAI + - Z.AI + - FakeProvider + title: ProviderName + type: string + OpenRouterProviderPreferences: + description: "여러 모델 공급자를 사용할 수 있는 경우, 선택적으로 라우팅 선호도를 지정하세요." + properties: + allow_fallbacks: + description: "백업 공급자가 요청을 처리하도록 허용할지 여부\n- true: (기본값) 기본 공급자(또는 \"order\"의 사용자 정의 공급자)를 사용할 수 없는 경우, 다음 최상의 공급자를 사용합니다.\n- false: 기본/사용자 정의 공급자만 사용하고, 사용할 수 없는 경우 업스트림 오류를 반환합니다.\n" + nullable: true + type: boolean + data_collection: + description: "데이터 수집 설정입니다. 요구 사항을 충족하는 모델 공급자가 없으면 요청이 오류를 반환합니다.\n- allow: (기본값) 사용자 데이터를 비일시적으로 저장하고 이를 학습에 사용할 수 있는 공급자를 허용합니다.\n- deny: 사용자 데이터를 수집하지 않는 공급자만 사용합니다." + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderPreferencesDataCollection" + enforce_distillable_text: + description: "텍스트 증류를 허용하는 모델로만 라우팅을 제한할지 여부입니다. true로 설정하면, 작성자가 증류를 허용한 모델만 사용됩니다." + nullable: true + type: boolean + ignore: + description: "무시할 공급자 슬러그 목록입니다. 제공된 경우, 이 목록은 이 요청에 대해 계정 전체에서 무시된 공급자 설정과 병합됩니다." + items: + $ref: "#/components/schemas/OpenRouterProviderPreferencesIgnoreItems" + nullable: true + type: array + max_price: + $ref: "#/components/schemas/OpenRouterProviderPreferencesMaxPrice" + only: + description: "허용할 공급자 슬러그 목록입니다. 제공된 경우, 이 목록은 이 요청에 대해 계정 전체에서 허용된 공급자 설정과 병합됩니다." + items: + $ref: "#/components/schemas/OpenRouterProviderPreferencesOnlyItems" + nullable: true + type: array + order: + description: "정렬된 공급자 슬러그 목록입니다. 라우터는 이 목록의 하위 집합에서 요청한 모델을 지원하는 첫 번째 공급자를 사용하려고 하며, 사용할 수 없으면 다음으로 폴백합니다. 사용 가능한 공급자가 없으면 요청은 오류 메시지와 함께 실패합니다." + items: + $ref: "#/components/schemas/OpenRouterProviderPreferencesOrderItems" + nullable: true + type: array + preferred_max_latency: + $ref: "#/components/schemas/OpenRouterPreferredMaxLatency" + preferred_min_throughput: + $ref: "#/components/schemas/OpenRouterPreferredMinThroughput" + quantizations: + description: 공급자를 필터링할 양자화 수준 목록입니다. + items: + $ref: "#/components/schemas/OpenRouterQuantization" + nullable: true + type: array + require_parameters: + description: "제공한 파라미터를 지원하는 공급자로만 필터링할지 여부입니다. 이 설정이 생략되거나 false로 설정되면, 공급자는 지원하는 파라미터만 수신하고 나머지는 무시합니다." + nullable: true + type: boolean + sort: + $ref: "#/components/schemas/OpenRouterProviderPreferencesSort" + zdr: + description: "ZDR(Zero Data Retention) 엔드포인트로만 라우팅을 제한할지 여부입니다. true로 설정하면, 프롬프트를 보존하지 않는 엔드포인트만 사용됩니다." + nullable: true + type: boolean + title: ProviderPreferences + type: object + OpenRouterProviderPreferencesDataCollection: + description: "데이터 수집 설정입니다. 요구 사항을 충족하는 모델 공급자가 없으면 요청이 오류를 반환합니다.\n- allow: (기본값) 사용자 데이터를 비일시적으로 저장하고 이를 학습에 사용할 수 있는 공급자를 허용합니다.\n- deny: 사용자 데이터를 수집하지 않는 공급자만 사용합니다." + enum: + - deny + - allow + title: ProviderPreferencesDataCollection + type: string + OpenRouterProviderPreferencesIgnoreItems: + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderName" + - type: string + title: ProviderPreferencesIgnoreItems + OpenRouterProviderPreferencesMaxPrice: + description: 이 요청에 대해 지불하려는 최대 가격을 지정하는 객체입니다. 프롬프트 및 완료에 대해 백만 토큰당 USD 가격입니다. + properties: + audio: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + completion: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + image: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + prompt: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + request: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + title: ProviderPreferencesMaxPrice + type: object + OpenRouterProviderPreferencesOnlyItems: + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderName" + - type: string + title: ProviderPreferencesOnlyItems + OpenRouterProviderPreferencesOrderItems: + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderName" + - type: string + title: ProviderPreferencesOrderItems + OpenRouterProviderPreferencesSort: + description: "이 요청에 사용할 정렬 전략입니다. \"order\"가 지정되지 않은 경우 사용됩니다. 설정된 경우 로드 밸런싱이 수행되지 않습니다." + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderSort" + - $ref: "#/components/schemas/OpenRouterProviderSortConfig" + - description: 모든 유형 + title: ProviderPreferencesSort + OpenRouterProviderSort: + description: "공급자 정렬 전략(가격, 처리량, 지연 시간)" + enum: + - price + - throughput + - latency + - exacto + title: ProviderSort + type: string + OpenRouterProviderSortConfig: + description: "공급자 정렬 전략(가격, 처리량, 지연 시간)" + properties: + by: + description: "공급자 정렬 전략(가격, 처리량, 지연 시간)" + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderSortConfigBy" + partition: + description: "정렬을 위한 파티션 전략: \"model\"(기본값)은 정렬 전에 엔드포인트를 모델별로 그룹화합니다(폴백 모델은 폴백으로 유지됨). \"none\"은 모델과 관계없이 모든 엔드포인트를 함께 정렬합니다." + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderSortConfigPartition" + title: ProviderSortConfig + type: object + OpenRouterProviderSortConfigBy: + description: "공급자 정렬 전략(가격, 처리량, 지연 시간)" + enum: + - price + - throughput + - latency + - exacto + title: ProviderSortConfigBy + type: string + OpenRouterProviderSortConfigPartition: + description: "정렬을 위한 파티션 전략: \"model\"(기본값)은 정렬 전에 엔드포인트를 모델별로 그룹화합니다(폴백 모델은 폴백으로 유지됨). \"none\"은 모델과 관계없이 모든 엔드포인트를 함께 정렬합니다." + enum: + - model + - none + title: ProviderSortConfigPartition + type: string + OpenRouterQuantization: + enum: + - int4 + - int8 + - fp4 + - fp6 + - fp8 + - fp16 + - bf16 + - fp32 + - unknown + title: Quantization + type: string + OpenRouterReasoningDetailUnion: + description: 추론 상세 정보 유니온 스키마 + oneOf: + - description: 추론 상세 정보 암호화 스키마 + properties: + data: + type: string + format: + $ref: "#/components/schemas/OpenRouterReasoningFormat" + id: + nullable: true + type: string + index: + type: integer + type: + description: "식별자 값: reasoning.encrypted" + type: string + required: + - type + - data + type: object + - description: 추론 상세 정보 요약 스키마 + properties: + format: + $ref: "#/components/schemas/OpenRouterReasoningFormat" + id: + nullable: true + type: string + index: + type: integer + summary: + type: string + type: + description: "식별자 값: reasoning.summary" + type: string + required: + - type + - summary + type: object + - description: 추론 상세 정보 텍스트 스키마 + properties: + format: + $ref: "#/components/schemas/OpenRouterReasoningFormat" + id: + nullable: true + type: string + index: + type: integer + signature: + nullable: true + type: string + text: + nullable: true + type: string + type: + description: "식별자 값: reasoning.text" + type: string + required: + - type + type: object + title: ReasoningDetailUnion + OpenRouterReasoningFormat: + enum: + - unknown + - openai-responses-v1 + - azure-openai-responses-v1 + - xai-responses-v1 + - anthropic-claude-v1 + - google-gemini-v1 + title: ReasoningFormat + type: string + OpenRouterRouterAttempt: + properties: + model: + type: string + provider: + type: string + status: + type: integer + required: + - model + - provider + - status + title: RouterAttempt + type: object + OpenRouterRouterParams: + properties: + quality_floor: + format: double + type: number + throughput_floor: + format: double + type: number + version_group: + type: string + title: RouterParams + type: object + OpenRouterRoutingStrategy: + enum: + - direct + - auto + - free + - latest + - alias + - fallback + - pareto + - bodybuilder + - fusion + title: RoutingStrategy + type: string + OpenRouterSearchModelsServerToolConfig: + description: openrouter:experimental__search_models 서버 도구에 대한 구성 + properties: + max_results: + description: "반환할 최대 모델 수. 기본값은 5, 최대 20개입니다." + type: integer + title: SearchModelsServerToolConfig + type: object + OpenRouterSearchQualityLevel: + description: "결과당 검색할 컨텍스트 양. Exa 및 Parallel 엔진에 적용됩니다. 네이티브 공급자 검색 및 Firecrawl에서는 무시됩니다. Exa의 경우 결과당 고정된 문자 제한을 설정합니다(low=5,000, medium=15,000, high=30,000). 설정하지 않으면 Exa가 쿼리 및 문서별로 적응형 크기를 선택합니다(일반적으로 결과당 약 2,000~4,000자). Parallel의 경우 모든 결과에 걸친 총 문자 수를 제어합니다. 설정하지 않으면 Parallel이 자체 기본 크기를 사용합니다." + enum: + - low + - medium + - high + title: SearchQualityLevel + type: string + OpenRouterStopServerToolsWhen: + description: "서버 도구 에이전트 루프의 중지 조건입니다. 조건이 트리거되면 루프가 중단됩니다(OR 로직). 설정하면 `max_tool_calls`를 재정의합니다." + items: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenCondition" + title: StopServerToolsWhen + type: array + OpenRouterStopServerToolsWhenCondition: + description: 조건이 충족되면 서버 도구 에이전트 루프를 중단하는 단일 조건입니다. + oneOf: + - description: "업스트림 모델이 이 완료 이유를 방출할 때 중지합니다(예: `length`)." + properties: + reason: + type: string + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenFinishReasonIsType" + required: + - type + - reason + type: object + - description: 이 이름의 도구가 호출된 이후 중지합니다. + properties: + tool_name: + type: string + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenHasToolCallType" + required: + - type + - tool_name + type: object + - description: 루프 전체의 누적 비용이 이 달러 임계값을 초과하면 중지합니다. + properties: + max_cost_in_dollars: + format: double + type: number + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenMaxCostType" + required: + - type + - max_cost_in_dollars + type: object + - description: 루프 전체의 누적 토큰 사용량이 이 임계값을 초과하면 중지합니다. + properties: + max_tokens: + type: integer + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenMaxTokensUsedType" + required: + - type + - max_tokens + type: object + - description: 에이전트 루프가 이만큼의 단계를 실행한 이후 중지합니다. + properties: + step_count: + type: integer + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenStepCountIsType" + required: + - type + - step_count + type: object + title: StopServerToolsWhenCondition + OpenRouterStopServerToolsWhenFinishReasonIsType: + enum: + - finish_reason_is + title: StopServerToolsWhenFinishReasonIsType + type: string + OpenRouterStopServerToolsWhenHasToolCallType: + enum: + - has_tool_call + title: StopServerToolsWhenHasToolCallType + type: string + OpenRouterStopServerToolsWhenMaxCostType: + enum: + - max_cost + title: StopServerToolsWhenMaxCostType + type: string + OpenRouterStopServerToolsWhenMaxTokensUsedType: + enum: + - max_tokens_used + title: StopServerToolsWhenMaxTokensUsedType + type: string + OpenRouterStopServerToolsWhenStepCountIsType: + enum: + - step_count_is + title: StopServerToolsWhenStepCountIsType + type: string + OpenRouterTraceConfig: + description: "관측 가능성 및 추적을 위한 메타데이터입니다. 알려진 키(trace_id, trace_name, span_name, generation_name, parent_span_id)는 특별히 처리됩니다. 추가 키는 구성된 브로드캐스트 대상에 사용자 지정 메타데이터로 전달됩니다." + properties: + generation_name: + type: string + parent_span_id: + type: string + span_name: + type: string + trace_id: + type: string + trace_name: + type: string + title: TraceConfig + type: object + OpenRouterWebFetchEngineEnum: + description: "사용할 가져오기 엔진입니다. \"auto\"(기본값)는 공급자가 지원하는 경우 네이티브를 사용하고, 그렇지 않으면 Exa를 사용합니다. \"native\"는 공급자의 내장 가져오기를 강제합니다. \"exa\"는 Exa Contents API를 사용합니다. \"openrouter\"는 직접 HTTP 가져오기를 사용합니다. \"firecrawl\"은 Firecrawl 스크래핑을 사용합니다(BYOK 필요)." + enum: + - auto + - native + - openrouter + - firecrawl + - exa + title: WebFetchEngineEnum + type: string + OpenRouterWebFetchPluginId: + enum: + - web-fetch + title: WebFetchPluginId + type: string + OpenRouterWebFetchServerTool: + description: "OpenRouter 내장 서버 도구: URL(웹 페이지 또는 PDF)에서 전체 콘텐츠를 가져옵니다." + properties: + parameters: + $ref: "#/components/schemas/OpenRouterWebFetchServerToolConfig" + type: + $ref: "#/components/schemas/OpenRouterWebFetchServerToolType" + required: + - type + title: WebFetchServerTool + type: object + OpenRouterWebFetchServerToolConfig: + description: openrouter:web_fetch 서버 도구에 대한 구성 + properties: + allowed_domains: + description: 이 도메인에서만 가져옵니다. + items: + type: string + type: array + blocked_domains: + description: 이 도메인에서는 절대 가져오지 않습니다. + items: + type: string + type: array + engine: + $ref: "#/components/schemas/OpenRouterWebFetchEngineEnum" + max_content_tokens: + description: 대략적인 토큰 단위의 최대 콘텐츠 길이입니다. 이 제한을 초과하는 콘텐츠는 잘립니다. + type: integer + max_uses: + description: 요청당 최대 웹 가져오기 횟수입니다. 초과하면 도구가 오류를 반환합니다. + type: integer + title: WebFetchServerToolConfig + type: object + OpenRouterWebFetchServerToolType: + enum: + - openrouter:web_fetch + title: WebFetchServerToolType + type: string + OpenRouterWebSearchConfig: + properties: + allowed_domains: + description: "검색 결과를 이러한 도메인으로 제한합니다. Exa, Firecrawl, Parallel 및 대부분의 기본 제공자(Anthropic, OpenAI, xAI)에서 지원됩니다. Perplexity에서는 지원되지 않습니다. excluded_domains와 함께 사용할 수 없습니다." + items: + type: string + type: array + engine: + $ref: "#/components/schemas/OpenRouterWebSearchEngineEnum" + excluded_domains: + description: "이러한 도메인의 검색 결과를 제외합니다. Exa, Firecrawl, Parallel, Anthropic 및 xAI에서 지원됩니다. OpenAI(무시됨) 또는 Perplexity에서는 지원되지 않습니다. allowed_domains와 함께 사용할 수 없습니다." + items: + type: string + type: array + max_results: + description: "검색 호출당 반환할 최대 검색 결과 수입니다. 기본값은 5입니다. Exa, Firecrawl 및 Parallel 엔진에 적용되며, 기본 제공자 검색에서는 무시됩니다." + type: integer + max_total_results: + description: 단일 요청의 모든 검색 호출에서의 최대 총 검색 결과 수입니다. 이 제한에 도달하면 도구가 새 결과 반환을 중지합니다. 에이전트 루프에서 비용과 컨텍스트 크기를 제어하는 데 유용합니다. 지정하지 않으면 기본값은 50입니다. + type: integer + search_context_size: + $ref: "#/components/schemas/OpenRouterSearchQualityLevel" + user_location: + $ref: "#/components/schemas/OpenRouterWebSearchUserLocationServerTool" + title: WebSearchConfig + type: object + OpenRouterWebSearchEngine: + description: 웹 검색에 사용할 검색 엔진입니다. + enum: + - native + - exa + - firecrawl + - parallel + title: WebSearchEngine + type: string + OpenRouterWebSearchEngineEnum: + description: "사용할 검색 엔진입니다. \"auto\"(기본값)는 공급자가 지원하는 경우 기본 검색을 사용하고, 그렇지 않으면 Exa를 사용합니다. \"native\"는 공급자의 내장 검색을 강제합니다. \"exa\"는 Exa 검색 API를 강제합니다. \"firecrawl\"은 Firecrawl을 사용합니다(BYOK 필요). \"parallel\"은 Parallel 검색 API를 사용합니다." + enum: + - auto + - native + - exa + - firecrawl + - parallel + title: WebSearchEngineEnum + type: string + OpenRouterWebSearchPluginId: + enum: + - web + title: WebSearchPluginId + type: string + OpenRouterWebSearchPluginUserLocation: + description: "위치 편향 검색 결과를 위한 대략적인 사용자 위치입니다. 지원하는 기본 제공자(예: Anthropic)에 전달됩니다." + properties: + city: + nullable: true + type: string + country: + nullable: true + type: string + region: + nullable: true + type: string + timezone: + nullable: true + type: string + type: + $ref: "#/components/schemas/OpenRouterWebSearchPluginUserLocationType" + required: + - type + title: WebSearchPluginUserLocation + type: object + OpenRouterWebSearchPluginUserLocationType: + enum: + - approximate + title: WebSearchPluginUserLocationType + type: string + OpenRouterWebSearchServerTool: + description: "OpenRouter 내장 서버 도구: 최신 정보를 위해 웹을 검색합니다." + properties: + parameters: + $ref: "#/components/schemas/OpenRouterWebSearchConfig" + type: + $ref: "#/components/schemas/OpenRouterWebSearchServerToolType" + required: + - type + title: OpenRouterWebSearchServerTool + type: object + OpenRouterWebSearchServerToolType: + enum: + - openrouter:web_search + title: OpenRouterWebSearchServerToolType + type: string + OpenRouterWebSearchUserLocationServerTool: + description: 위치 편향 결과를 위한 대략적인 사용자 위치입니다. + properties: + city: + nullable: true + type: string + country: + nullable: true + type: string + region: + nullable: true + type: string + timezone: + nullable: true + type: string + type: + $ref: "#/components/schemas/OpenRouterWebSearchUserLocationServerToolType" + title: WebSearchUserLocationServerTool + type: object + OpenRouterWebSearchUserLocationServerToolType: + enum: + - approximate + title: WebSearchUserLocationServerToolType + type: string + OutputAudioContent: + properties: + data: + description: Base64로 인코딩된 오디오 데이터 + type: string + transcript: + description: 오디오의 대본 + type: string + type: + description: 출력 콘텐츠의 유형 + enum: + - output_audio + type: string + required: + - type + - data + - transcript + type: object + OutputContent: + oneOf: + - $ref: "#/components/schemas/OutputTextContent" + - $ref: "#/components/schemas/OutputAudioContent" + OutputItem: + oneOf: + - $ref: "#/components/schemas/OutputMessage" + - $ref: "#/components/schemas/FileSearchToolCall" + - $ref: "#/components/schemas/FunctionToolCall" + - $ref: "#/components/schemas/WebSearchToolCall" + - $ref: "#/components/schemas/ComputerToolCall" + - $ref: "#/components/schemas/ReasoningItem" + OutputMessage: + properties: + content: + description: 메시지의 콘텐츠 + items: + $ref: "#/components/schemas/OutputContent" + type: array + role: + description: 메시지의 역할 + enum: + - assistant + type: string + type: + description: 출력 항목의 유형 + enum: + - message + type: string + required: + - type + - role + - content + type: object + OutputTextContent: + properties: + text: + description: 텍스트 콘텐츠 + type: string + type: + description: 출력 콘텐츠의 유형 + enum: + - output_text + type: string + required: + - type + - text + type: object + PersonalAccessToken: + properties: + createdAt: + description: "[출력 전용]토큰이 생성된 날짜와 시간입니다." + format: date-time + type: string + description: + description: 선택 사항. 토큰의 의도된 사용에 대한 더 자세한 설명입니다. + type: string + id: + description: GitCommit의 고유 식별자 + format: uuid + type: string + name: + description: 필수. 토큰의 이름입니다. 간단한 설명일 수 있습니다. + type: string + token: + description: "[출력 전용]. 개인 액세스 토큰입니다. 생성 중에만 반환됩니다." + type: string + type: object + PikaBody_generate_2_2_c2v_generate_2_2_pikascenes_post: + properties: + aspectRatio: + anyOf: + - maximum: 2.5 + minimum: 0.4 + type: number + description: 종횡비 (너비 / 높이) + title: Aspectratio + duration: + default: 5 + title: Duration + type: integer + images: + items: + format: binary + type: string + title: Images + type: array + ingredientsMode: + enum: + - creative + - precise + title: Ingredientsmode + type: string + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + promptText: + anyOf: + - type: string + title: Prompttext + resolution: + default: 1080p + title: Resolution + type: string + seed: + anyOf: + - type: integer + title: Seed + required: + - ingredientsMode + title: Body_generate_2_2_c2v_generate_2_2_pikascenes_post + type: object + PikaBody_generate_2_2_i2v_generate_2_2_i2v_post: + properties: + duration: + $ref: "#/components/schemas/PikaDurationEnum" + image: + format: binary + nullable: true + title: Image + type: string + negativePrompt: + nullable: true + title: Negativeprompt + type: string + promptText: + nullable: true + title: Prompttext + type: string + resolution: + $ref: "#/components/schemas/PikaResolutionEnum" + seed: + nullable: true + title: Seed + type: integer + title: Body_generate_2_2_i2v_generate_2_2_i2v_post + type: object + PikaBody_generate_2_2_keyframe_generate_2_2_pikaframes_post: + properties: + duration: + maximum: 10 + minimum: 5 + title: Duration + type: integer + keyFrames: + description: 키프레임 이미지 배열 + items: + format: binary + type: string + title: Keyframes + type: array + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + promptText: + title: Prompttext + type: string + resolution: + $ref: "#/components/schemas/PikaResolutionEnum" + seed: + anyOf: + - type: integer + title: Seed + required: + - promptText + title: Body_generate_2_2_keyframe_generate_2_2_pikaframes_post + type: object + PikaBody_generate_2_2_t2v_generate_2_2_t2v_post: + properties: + aspectRatio: + default: 1.7777777777777777 + description: 종횡비 (너비 / 높이) + format: float + maximum: 2.5 + minimum: 0.4 + title: Aspectratio + type: number + duration: + $ref: "#/components/schemas/PikaDurationEnum" + negativePrompt: + nullable: true + title: Negativeprompt + type: string + promptText: + title: Prompttext + type: string + resolution: + $ref: "#/components/schemas/PikaResolutionEnum" + seed: + nullable: true + title: Seed + type: integer + required: + - promptText + title: Body_generate_2_2_t2v_generate_2_2_t2v_post + type: object + PikaBody_generate_pikadditions_generate_pikadditions_post: + properties: + image: + format: binary + title: Image + type: string + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + promptText: + anyOf: + - type: string + title: Prompttext + seed: + anyOf: + - type: integer + title: Seed + video: + format: binary + title: Video + type: string + title: Body_generate_pikadditions_generate_pikadditions_post + type: object + PikaBody_generate_pikaffects_generate_pikaffects_post: + properties: + image: + format: binary + title: Image + type: string + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + pikaffect: + $ref: "#/components/schemas/Pikaffect" + promptText: + anyOf: + - type: string + title: Prompttext + seed: + anyOf: + - type: integer + title: Seed + title: Body_generate_pikaffects_generate_pikaffects_post + type: object + PikaBody_generate_pikaswaps_generate_pikaswaps_post: + properties: + image: + anyOf: + - format: binary + type: string + title: Image + modifyRegionMask: + anyOf: + - format: binary + type: string + description: "수정할 영역을 지정하는 마스크 이미지로, 마스크는 흰색이고 배경은 검정색입니다." + title: Modifyregionmask + modifyRegionRoi: + anyOf: + - type: string + description: 수정할 객체/영역에 대한 일반 텍스트 설명 + title: Modifyregionroi + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + promptText: + anyOf: + - type: string + title: Prompttext + seed: + anyOf: + - type: integer + title: Seed + video: + format: binary + title: Video + type: string + title: Body_generate_pikaswaps_generate_pikaswaps_post + type: object + PikaDurationEnum: + default: 5 + enum: + - 5 + - 10 + type: integer + PikaGenerateResponse: + properties: + video_id: + title: Video Id + type: string + required: + - video_id + title: GenerateResponse + type: object + PikaHTTPValidationError: + properties: + detail: + items: + $ref: "#/components/schemas/PikaValidationError" + title: Detail + type: array + title: HTTPValidationError + type: object + PikaResolutionEnum: + default: 1080p + enum: + - 1080p + - 720p + type: string + PikaStatusEnum: + enum: + - queued + - started + - finished + type: string + PikaValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + title: Location + type: array + msg: + title: Message + type: string + type: + title: Error Type + type: string + required: + - loc + - msg + - type + title: ValidationError + type: object + PikaVideoResponse: + properties: + id: + title: Id + type: string + progress: + nullable: true + title: Progress + type: integer + status: + $ref: "#/components/schemas/PikaStatusEnum" + url: + nullable: true + title: Url + type: string + required: + - id + - status + title: VideoResponse + type: object + Pikaffect: + enum: + - Cake-ify + - Crumble + - Crush + - Decapitate + - Deflate + - Dissolve + - Explode + - Eye-pop + - Inflate + - Levitate + - Melt + - Peel + - Poke + - Squish + - Ta-da + - Tear + type: string + PixverseImageUploadResponse: + properties: + ErrCode: + type: integer + ErrMsg: + type: string + Resp: + properties: + img_id: + type: integer + type: object + type: object + PixverseImageVideoRequest: + properties: + duration: + enum: + - 5 + - 8 + type: integer + img_id: + type: integer + model: + enum: + - v3.5 + type: string + motion_mode: + enum: + - normal + - fast + type: string + prompt: + type: string + quality: + enum: + - 360p + - 540p + - 720p + - 1080p + type: string + seed: + type: integer + style: + enum: + - anime + - 3d_animation + - clay + - comic + - cyberpunk + type: string + template_id: + type: integer + water_mark: + type: boolean + required: + - img_id + - model + - duration + - quality + - prompt + type: object + PixverseTextVideoRequest: + properties: + aspect_ratio: + enum: + - 16:9 + - 4:3 + - 1:1 + - 3:4 + - 9:16 + type: string + duration: + enum: + - 5 + - 8 + type: integer + model: + enum: + - v3.5 + type: string + motion_mode: + enum: + - normal + - fast + type: string + negative_prompt: + type: string + prompt: + type: string + quality: + enum: + - 360p + - 540p + - 720p + - 1080p + type: string + seed: + type: integer + style: + enum: + - anime + - 3d_animation + - clay + - comic + - cyberpunk + type: string + template_id: + type: integer + water_mark: + type: boolean + required: + - aspect_ratio + - duration + - model + - prompt + - quality + type: object + PixverseTransitionVideoRequest: + properties: + duration: + enum: + - 5 + - 8 + type: integer + first_frame_img: + type: integer + last_frame_img: + type: integer + model: + enum: + - v3.5 + type: string + motion_mode: + enum: + - normal + - fast + type: string + prompt: + type: string + quality: + enum: + - 360p + - 540p + - 720p + - 1080p + type: string + seed: + type: integer + style: + enum: + - anime + - 3d_animation + - clay + - comic + - cyberpunk + type: string + template_id: + type: integer + water_mark: + type: boolean + required: + - first_frame_img + - last_frame_img + - model + - duration + - quality + - prompt + - motion_mode + - seed + type: object + PixverseVideoResponse: + properties: + ErrCode: + type: integer + ErrMsg: + type: string + Resp: + properties: + video_id: + type: integer + type: object + type: object + PixverseVideoResultResponse: + properties: + ErrCode: + type: integer + ErrMsg: + type: string + Resp: + properties: + create_time: + type: string + id: + type: integer + modify_time: + type: string + negative_prompt: + type: string + outputHeight: + type: integer + outputWidth: + type: integer + prompt: + type: string + resolution_ratio: + type: integer + seed: + type: integer + size: + type: integer + status: + description: "비디오 생성 상태 코드:\n* 1 - Generation successful\n* 5 - Generating\n* 6 - Deleted\n* 7 - Contents moderation failed\n* 8 - Generation failed\n" + enum: + - 1 + - 5 + - 6 + - 7 + - 8 + type: integer + style: + type: string + url: + type: string + type: object + type: object + PromoCodeResponse: + properties: + active: + description: 프로모션 코드가 현재 활성 상태인지 여부 + type: boolean + code: + description: 생성된 프로모션 코드 + type: string + coupon_id: + description: 이 프로모션 코드와 연결된 Stripe 쿠폰 ID + type: string + expires_at: + description: 프로모션 코드가 만료되는 Unix 타임스탬프 + format: int64 + type: integer + id: + description: Stripe 프로모션 코드 ID + type: string + max_redemptions: + description: 이 코드를 사용할 수 있는 최대 횟수 + type: integer + metadata: + additionalProperties: + type: string + description: 추가 정보를 저장하기 위한 키-값 쌍의 집합 + type: object + times_redeemed: + description: 이 코드가 사용된 횟수 + type: integer + required: + - id + - code + - coupon_id + - active + type: object + Publisher: + properties: + createdAt: + description: 배포자가 생성된 날짜와 시간. + format: date-time + type: string + description: + type: string + id: + description: 배포자의 고유 식별자입니다. 사용자 이름과 유사합니다. 소문자여야 합니다. + type: string + logo: + description: 배포자 로고의 URL. + type: string + members: + description: 배포자 내 멤버 목록. + items: + $ref: "#/components/schemas/PublisherMember" + type: array + name: + type: string + source_code_repo: + type: string + status: + $ref: "#/components/schemas/PublisherStatus" + support: + type: string + website: + type: string + type: object + PublisherMember: + properties: + id: + description: 배포자 멤버의 고유 식별자. + type: string + role: + description: 배포자 내 사용자의 역할. + type: string + user: + $ref: "#/components/schemas/PublisherUser" + type: object + PublisherStatus: + enum: + - PublisherStatusActive + - PublisherStatusBanned + type: string + PublisherUser: + properties: + email: + description: 이 사용자의 이메일 주소. + type: string + id: + description: 이 사용자의 고유 ID. + type: string + name: + description: 이 사용자의 이름. + type: string + type: object + QuiverImageObject: + description: Quiver AI의 이미지 입력 (URL 또는 base64) + properties: + base64: + description: Base64로 인코딩된 이미지 페이로드 + maxLength: 16777216 + type: string + url: + description: 네트워크 이미지 URL. http/https URL만 허용됩니다. + format: uri + type: string + type: object + QuiverImageToSVGRequest: + description: Quiver AI 이미지를 SVG로 벡터화하기 위한 요청 본문 + properties: + auto_crop: + default: false + description: 벡터화 이전에 이미지를 주요 피사체로 자동 자르기 + type: boolean + image: + $ref: "#/components/schemas/QuiverImageObject" + max_output_tokens: + description: 최대 출력 토큰 수 + maximum: 131072 + minimum: 1 + type: integer + model: + description: SVG 벡터화를 위한 모델 식별자 + example: arrow-1.1 + type: string + presence_penalty: + default: 0 + description: 이전 출력에 이미 포함된 토큰에 대한 패널티 + maximum: 2 + minimum: -2 + nullable: true + type: number + stream: + default: false + description: 서버 전송 이벤트(SSE) 스트리밍 활성화 + type: boolean + target_size: + description: 픽셀 단위의 정사각형 크기 조정 대상 + maximum: 4096 + minimum: 128 + type: integer + temperature: + default: 1 + description: 샘플링 온도 + maximum: 2 + minimum: 0 + type: number + top_p: + default: 1 + description: 핵 샘플링 확률 + maximum: 1 + minimum: 0 + type: number + required: + - model + - image + type: object + QuiverSVGResponse: + description: Quiver AI SVG 생성/벡터화의 응답 + properties: + created: + description: 생성 Unix 타임스탬프 + type: integer + credits: + description: 이 요청의 크레딧 비용입니다. 사용 토큰 대신 청구에 사용하세요. + minimum: 0 + type: integer + data: + items: + properties: + mime_type: + description: 출력의 MIME 유형 + enum: + - image/svg+xml + type: string + svg: + description: 원시 SVG 마크업 + type: string + required: + - svg + - mime_type + type: object + minItems: 1 + type: array + id: + description: 생성에 대한 고유 식별자 + type: string + usage: + deprecated: true + description: 지원 중단됨. 청구 값에는 크레딧을 사용하세요. + properties: + input_tokens: + deprecated: true + description: 지원 중단됨. 호환성을 위해 토큰 수가 유지되며 0이 될 수 있습니다. + minimum: 0 + type: integer + output_tokens: + deprecated: true + description: 지원 중단됨. 호환성을 위해 토큰 수가 유지되며 0이 될 수 있습니다. + minimum: 0 + type: integer + total_tokens: + deprecated: true + description: 지원 중단됨. 호환성을 위해 토큰 수가 유지되며 0이 될 수 있습니다. + minimum: 0 + type: integer + type: object + required: + - id + - created + - data + type: object + QuiverTextToSVGRequest: + description: Quiver AI 텍스트-투-SVG 생성을 위한 요청 본문 + properties: + instructions: + description: 추가 스타일 또는 포맷 가이드 + type: string + max_output_tokens: + description: 최대 출력 토큰 수 + maximum: 131072 + minimum: 1 + type: integer + model: + description: SVG 생성을 위한 모델 식별자 + example: arrow-1.1 + type: string + "n": + default: 1 + description: 생성할 SVG 수 + maximum: 16 + minimum: 1 + type: integer + presence_penalty: + default: 0 + description: 이전 출력에 이미 포함된 토큰에 대한 패널티 + maximum: 2 + minimum: -2 + nullable: true + type: number + prompt: + description: 원하는 SVG 출력의 텍스트 설명 + type: string + references: + description: "스타일/구성을 안내하는 선택적 참조 이미지입니다. URL 객체, base64 객체 또는 URL 문자열 단축 표기를 허용합니다. 런타임 제한은 모델별로 다릅니다." + items: + oneOf: + - $ref: "#/components/schemas/QuiverImageObject" + - description: 참조 이미지의 URL 문자열 약어 + format: uri + type: string + maxItems: 16 + type: array + temperature: + default: 1 + description: 샘플링 온도 + maximum: 2 + minimum: 0 + type: number + top_p: + default: 1 + description: Nucleus 샘플링 확률 + maximum: 1 + minimum: 0 + type: number + required: + - model + - prompt + type: object + RGBColor: + description: RGB 색상 값 + example: + rgb: + - 255 + - 0 + - 0 + properties: + rgb: + items: + maximum: 255 + minimum: 0 + type: integer + maxItems: 3 + minItems: 3 + type: array + required: + - rgb + type: object + Reasoning: + description: "**o-시리즈 모델 전용**\n\n[추론 모델](https://platform.openai.com/docs/guides/reasoning)의 구성 옵션.\n" + properties: + effort: + $ref: "#/components/schemas/ReasoningEffort" + generate_summary: + deprecated: true + description: "**지원 중단됨:** 대신 `summary`를 사용하세요.\n\n모델이 수행한 추론의 요약입니다. 이는 모델의 추론 과정을 디버깅하고 이해하는 데 유용할 수 있습니다.\n`auto`, `concise`, `detailed` 중 하나입니다.\n" + enum: + - auto + - concise + - detailed + type: string + summary: + description: "모델이 수행한 추론의 요약입니다. 이는 모델의 추론 과정을 디버깅하고 이해하는 데 유용할 수 있습니다.\n`auto`, `concise`, `detailed` 중 하나입니다.\n" + enum: + - auto + - concise + - detailed + type: string + title: Reasoning + type: object + ReasoningEffort: + default: medium + description: "**o-시리즈 모델 전용**\n\n[추론 모델](https://platform.openai.com/docs/guides/reasoning)의 추론 노력을 제한합니다.\n현재 지원되는 값은 `low`, `medium`, `high`입니다. 추론 노력을 줄이면 응답 속도가 빨라지고 추론에 사용되는 토큰 수가 줄어듭니다.\n" + enum: + - low + - medium + - high + type: string + ReasoningItem: + description: "추론 모델이 응답을 생성할 때 사용한 사고 과정에 대한 설명.\n" + properties: + id: + description: "추론 콘텐츠의 고유 식별자.\n" + type: string + status: + description: "항목의 상태. `in_progress`, `completed`, `incomplete` 중 하나입니다. 항목이 API를 통해 반환될 때 채워집니다.\n" + enum: + - in_progress + - completed + - incomplete + type: string + summary: + description: "추론 텍스트 콘텐츠.\n" + items: + properties: + text: + description: "모델이 응답을 생성할 때 사용한 추론의 짧은 요약.\n" + type: string + type: + description: "객체의 유형. 항상 `summary_text`입니다.\n" + enum: + - summary_text + type: string + x-stainless-const: true + required: + - type + - text + type: object + type: array + type: + description: "객체의 유형. 항상 `reasoning`입니다.\n" + enum: + - reasoning + type: string + x-stainless-const: true + required: + - id + - summary + - type + title: Reasoning + type: object + RecraftCreateStyleRequest: + description: Recraft 스타일 참조를 생성하기 위한 요청 본문 + properties: + file1: + description: "첫 번째 이미지 파일 (PNG, JPG, WEBP)" + format: binary + type: string + file2: + description: "두 번째 이미지 파일 (PNG, JPG, WEBP)" + format: binary + type: string + file3: + description: "세 번째 이미지 파일 (PNG, JPG, WEBP)" + format: binary + type: string + file4: + description: "네 번째 이미지 파일 (PNG, JPG, WEBP)" + format: binary + type: string + file5: + description: "다섯 번째 이미지 파일 (PNG, JPG, WEBP)" + format: binary + type: string + style: + description: 생성된 이미지의 기본 스타일 + enum: + - realistic_image + - digital_illustration + - vector_illustration + - icon + type: string + required: + - style + - file1 + type: object + RecraftCreateStyleResponse: + description: 생성된 스타일 ID를 포함하는 응답 + properties: + id: + description: 생성된 스타일의 고유 식별자 + format: uuid + type: string + required: + - id + type: object + RecraftGenerateImageResponse: + properties: + created: + type: integer + credits: + type: integer + data: + items: + $ref: "#/components/schemas/RecraftImage" + type: array + required: + - created + - data + - credits + type: object + RecraftImage: + properties: + b64_json: + type: string + features: + $ref: "#/components/schemas/RecraftImageFeatures" + image_id: + format: uuid + type: string + revised_prompt: + type: string + url: + type: string + required: + - image_id + type: object + RecraftImageColor: + properties: + rgb: + items: + type: integer + type: array + std: + items: + type: number + type: array + weight: + type: number + type: object + RecraftImageFeatures: + properties: + nsfw_score: + type: number + type: object + RecraftImageFormat: + enum: + - webp + - png + type: string + RecraftImageGenerationRequest: + description: Recraft 이미지 생성 프록시 요청의 파라미터. + properties: + controls: + description: 생성된 이미지의 컨트롤 + properties: + artistic_level: + description: 이미지의 예술적 분위기를 정의합니다. 단순 레벨에서는 인물이 정적이고 깔끔한 스타일로 카메라를 직선으로 응시합니다. 다이내믹 및 이센트릭 레벨은 움직임과 창의성을 도입합니다. + maximum: 5 + minimum: 0 + nullable: true + type: integer + background_color: + $ref: "#/components/schemas/RGBColor" + colors: + description: 선호하는 색상 배열 + items: + $ref: "#/components/schemas/RGBColor" + type: array + no_text: + description: 텍스트 레이아웃을 포함하지 마십시오 + type: boolean + type: object + model: + description: "생성에 사용할 모델 (예: \"recraftv3\")" + type: string + "n": + description: 생성할 이미지 수 + maximum: 4 + minimum: 1 + type: integer + prompt: + description: 생성할 이미지를 설명하는 텍스트 프롬프트 + type: string + size: + description: "생성된 이미지의 크기 (예: \"1024x1024\")" + type: string + style: + description: "생성된 이미지에 적용할 스타일 (예: \"digital_illustration\")" + type: string + style_id: + description: "생성된 이미지에 적용할 스타일 ID (예: \"123e4567-e89b-12d3-a456-426614174000\"). style_id가 제공된 경우 style은 제공하지 않아야 합니다." + type: string + required: + - prompt + - model + - size + - "n" + type: object + RecraftImageGenerationResponse: + description: Recraft 이미지 생성 API의 응답. + properties: + created: + description: 생성된 시점의 Unix 타임스탬프 + type: integer + credits: + description: 생성에 사용된 크레딧 수 + type: integer + data: + description: 생성된 이미지 정보 배열 + items: + properties: + image_id: + description: 생성된 이미지의 고유 식별자 + type: string + url: + description: 생성된 이미지에 접근할 URL + type: string + type: object + type: array + required: + - created + - credits + - data + type: object + RecraftImageStyle: + enum: + - digital_illustration + - icon + - realistic_image + - vector_illustration + type: string + RecraftImageSubStyle: + enum: + - 2d_art_poster + - 3d + - 80s + - glow + - grain + - hand_drawn + - infantile_sketch + - kawaii + - pixel_art + - psychedelic + - seamless + - voxel + - watercolor + - broken_line + - colored_outline + - colored_shapes + - colored_shapes_gradient + - doodle_fill + - doodle_offset_fill + - offset_fill + - outline + - outline_gradient + - uneven_fill + - 70s + - cartoon + - doodle_line_art + - engraving + - flat_2 + - kawaii + - line_art + - linocut + - seamless + - b_and_w + - enterprise + - hard_flash + - hdr + - motion_blur + - natural_light + - studio_portrait + - line_circuit + - 2d_art_poster_2 + - engraving_color + - flat_air_art + - hand_drawn_outline + - handmade_3d + - stickers_drawings + - plastic + - pictogram + type: string + RecraftImageToImageRequest: + properties: + block_nsfw: + type: boolean + calculate_features: + type: boolean + controls: + $ref: "#/components/schemas/RecraftUserControls" + image: + format: binary + type: string + image_format: + $ref: "#/components/schemas/RecraftImageFormat" + model: + $ref: "#/components/schemas/RecraftTransformModel" + "n": + type: integer + negative_prompt: + type: string + prompt: + type: string + response_format: + $ref: "#/components/schemas/RecraftResponseFormat" + strength: + type: number + style: + $ref: "#/components/schemas/RecraftImageStyle" + style_id: + format: uuid + type: string + substyle: + $ref: "#/components/schemas/RecraftImageSubStyle" + text_layout: + $ref: "#/components/schemas/RecraftTextLayout" + required: + - prompt + - image + - strength + type: object + RecraftProcessImageRequest: + properties: + image: + format: binary + type: string + image_format: + $ref: "#/components/schemas/RecraftImageFormat" + response_format: + $ref: "#/components/schemas/RecraftResponseFormat" + required: + - image + type: object + RecraftProcessImageResponse: + properties: + created: + type: integer + credits: + type: integer + image: + $ref: "#/components/schemas/RecraftImage" + required: + - created + - image + - credits + type: object + RecraftResponseFormat: + enum: + - url + - b64_json + type: string + RecraftTextLayout: + items: + $ref: "#/components/schemas/RecraftTextLayoutItem" + type: array + RecraftTextLayoutItem: + properties: + bbox: + items: + items: + type: number + x-go-type: float32 + type: array + type: array + text: + type: string + required: + - text + - bbox + type: object + RecraftTransformImageWithMaskRequest: + properties: + block_nsfw: + type: boolean + calculate_features: + type: boolean + image: + format: binary + type: string + image_format: + $ref: "#/components/schemas/RecraftImageFormat" + mask: + format: binary + type: string + model: + $ref: "#/components/schemas/RecraftTransformModel" + "n": + type: integer + negative_prompt: + type: string + prompt: + type: string + response_format: + $ref: "#/components/schemas/RecraftResponseFormat" + style: + $ref: "#/components/schemas/RecraftImageStyle" + style_id: + format: uuid + type: string + substyle: + $ref: "#/components/schemas/RecraftImageSubStyle" + text_layout: + $ref: "#/components/schemas/RecraftTextLayout" + required: + - image + - mask + - prompt + type: object + RecraftTransformModel: + enum: + - refm1 + - recraft20b + - recraftv2 + - recraftv3 + - recraftv4 + - recraftv4_pro + - flux1_1pro + - flux1dev + - imagen3 + - hidream_i1_dev + type: string + RecraftUserControls: + properties: + artistic_level: + type: integer + background_color: + $ref: "#/components/schemas/RecraftImageColor" + colors: + items: + $ref: "#/components/schemas/RecraftImageColor" + type: array + no_text: + type: boolean + type: object + ReleaseNote: + properties: + attention: + description: 이 릴리스의 어텐션 수준 + enum: + - low + - medium + - high + type: string + content: + description: 마크다운 형식의 릴리스 노트 콘텐츠 + type: string + id: + description: 릴리스 노트의 고유 식별자 + type: integer + project: + description: 이 릴리스 노트가 속한 프로젝트 + enum: + - comfyui + - comfyui_frontend + - desktop + - cloud + type: string + published_at: + description: 릴리스 노트가 게시된 시점 + format: date-time + type: string + version: + description: 릴리스의 버전 + type: string + required: + - id + - project + - version + - attention + - content + - published_at + type: object + RenderingSpeed: + default: DEFAULT + description: 생성 속도와 품질 간의 균형을 제어하는 렌더링 속도 설정 + enum: + - DEFAULT + - TURBO + - QUALITY + type: string + ResponseCompletedEvent: + description: 모델 응답이 완료되면 발생합니다. + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "이벤트 유형. 항상 `response.completed`입니다." + enum: + - response.completed + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseContentPartAddedEvent: + description: 새 콘텐츠 파트가 추가될 때 발생합니다. + properties: + content_index: + description: 추가된 콘텐츠 파트의 인덱스입니다. + type: integer + item_id: + description: 콘텐츠 파트가 추가된 출력 항목의 ID입니다. + type: string + output_index: + description: 콘텐츠 파트가 추가된 출력 항목의 인덱스입니다. + type: integer + part: + $ref: "#/components/schemas/OutputContent" + type: + description: "이벤트 유형입니다. 항상 `response.content_part.added`입니다." + enum: + - response.content_part.added + type: string + x-stainless-const: true + required: + - type + - item_id + - output_index + - content_index + - part + type: object + ResponseContentPartDoneEvent: + description: 콘텐츠 파트가 완료될 때 발생합니다. + properties: + content_index: + description: 완료된 콘텐츠 파트의 인덱스입니다. + type: integer + item_id: + description: 콘텐츠 파트가 추가된 출력 항목의 ID입니다. + type: string + output_index: + description: 콘텐츠 파트가 추가된 출력 항목의 인덱스입니다. + type: integer + part: + $ref: "#/components/schemas/OutputContent" + type: + description: "이벤트 유형입니다. 항상 `response.content_part.done`입니다." + enum: + - response.content_part.done + type: string + x-stainless-const: true + required: + - type + - item_id + - output_index + - content_index + - part + type: object + ResponseCreatedEvent: + description: 응답이 생성될 때 발생하는 이벤트입니다. + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "이벤트 유형입니다. 항상 `response.created`입니다." + enum: + - response.created + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseError: + description: 모델이 응답 생성에 실패할 때 반환되는 오류 객체입니다. + properties: + code: + $ref: "#/components/schemas/ResponseErrorCode" + message: + description: 오류에 대한 사람이 읽을 수 있는 설명입니다. + type: string + required: + - code + - message + type: object + ResponseErrorCode: + description: 응답에 대한 오류 코드입니다. + enum: + - server_error + - rate_limit_exceeded + - invalid_prompt + - vector_store_timeout + - invalid_image + - invalid_image_format + - invalid_base64_image + - invalid_image_url + - image_too_large + - image_too_small + - image_parse_error + - image_content_policy_violation + - invalid_image_mode + - image_file_too_large + - unsupported_image_media_type + - empty_image_file + - failed_to_download_image + - image_file_not_found + type: string + ResponseErrorEvent: + description: 오류가 발생할 때 발생합니다. + properties: + code: + description: "오류 코드입니다.\n" + type: string + message: + description: "오류 메시지입니다.\n" + type: string + param: + description: "오류 매개변수입니다.\n" + type: string + type: + description: "이벤트 유형입니다. 항상 `error`입니다.\n" + enum: + - error + type: string + x-stainless-const: true + required: + - type + - code + - message + - param + type: object + ResponseFailedEvent: + description: "응답이 실패할 때 발생하는 이벤트입니다.\n" + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "이벤트 유형입니다. 항상 `response.failed`입니다.\n" + enum: + - response.failed + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseFormatJsonObject: + description: "JSON 객체 응답 형식입니다. JSON 응답을 생성하는 이전 방법입니다.\n`json_schema`를 지원하는 모델의 경우 `json_schema` 사용이 권장됩니다. \n시스템 또는 사용자 메시지가 지시하지 않으면 모델이 JSON을 생성하지 않습니다.\n" + properties: + type: + description: "정의 중인 응답 형식의 유형입니다. 항상 `json_object`입니다." + enum: + - json_object + type: string + x-stainless-const: true + required: + - type + title: JSON object + type: object + ResponseFormatJsonSchemaSchema: + additionalProperties: true + description: "JSON Schema 객체로 설명된 응답 형식의 스키마입니다.\nJSON 스키마를 작성하는 방법은 [여기](https://json-schema.org/)에서 알아보세요.\n" + title: JSON schema + type: object + ResponseFormatText: + description: "기본 응답 형식입니다. 텍스트 생성 응답에 사용됩니다.\n" + properties: + type: + description: "정의 중인 응답 형식의 유형입니다. 항상 `text`입니다." + enum: + - text + type: string + x-stainless-const: true + required: + - type + title: Text + type: object + ResponseInProgressEvent: + description: 응답이 진행 중일 때 발생합니다. + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "이벤트 유형입니다. 항상 `response.in_progress`입니다.\n" + enum: + - response.in_progress + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseIncompleteEvent: + description: "응답이 불완전하게 완료될 때 발생하는 이벤트입니다.\n" + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "이벤트 유형입니다. 항상 `response.incomplete`입니다.\n" + enum: + - response.incomplete + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseOutputItemAddedEvent: + description: 새로운 출력 항목이 추가될 때 발생합니다. + properties: + item: + $ref: "#/components/schemas/OutputItem" + output_index: + description: "추가된 출력 항목의 인덱스입니다.\n" + type: integer + type: + description: "이벤트 유형입니다. 항상 `response.output_item.added`입니다.\n" + enum: + - response.output_item.added + type: string + x-stainless-const: true + required: + - type + - output_index + - item + type: object + ResponseOutputItemDoneEvent: + description: 출력 항목이 완료로 표시될 때 발생합니다. + properties: + item: + $ref: "#/components/schemas/OutputItem" + output_index: + description: "완료로 표시된 출력 항목의 인덱스입니다.\n" + type: integer + type: + description: "이벤트 유형입니다. 항상 `response.output_item.done`입니다.\n" + enum: + - response.output_item.done + type: string + x-stainless-const: true + required: + - type + - output_index + - item + type: object + ResponseProperties: + properties: + instructions: + description: "모델 컨텍스트의 첫 번째 항목으로 시스템(또는 개발자) 메시지를 삽입합니다.\n\n`previous_response_id`와 함께 사용할 경우, 이전 응답의 지침은 다음 응답으로 전달되지 않습니다. 이렇게 하면 새 응답에서 시스템(또는 개발자) 메시지를 간단히 교체할 수 있습니다.\n" + type: string + max_output_tokens: + description: "응답에 대해 생성될 수 있는 토큰 수의 상한선입니다. 여기에는 표시 출력 토큰과 [추론 토큰](/docs/guides/reasoning)이 포함됩니다.\n" + type: integer + model: + $ref: "#/components/schemas/OpenAIModels" + previous_response_id: + description: "모델에 대한 이전 응답의 고유 ID입니다. 이를 사용하여 다중 턴 대화를 생성하세요. [대화 상태](/docs/guides/conversation-state)에 대해 더 알아보세요.\n" + type: string + reasoning: + $ref: "#/components/schemas/Reasoning" + text: + properties: + format: + $ref: "#/components/schemas/TextResponseFormatConfiguration" + type: object + tool_choice: + description: "모델이 응답을 생성할 때 사용할 도구(또는 도구들)를 선택하는 방법입니다. 모델이 호출할 수 있는 도구를 지정하는 방법은 `tools` 매개변수를 참조하세요.\n" + oneOf: + - $ref: "#/components/schemas/ToolChoiceOptions" + - $ref: "#/components/schemas/ToolChoiceTypes" + - $ref: "#/components/schemas/ToolChoiceFunction" + tools: + items: + $ref: "#/components/schemas/Tool" + type: array + truncation: + default: disabled + description: "모델 응답에 사용할 잘라내기 전략입니다.\n- `auto`: 이 응답과 이전 응답의 컨텍스트가 모델 컨텍스트 창 크기를 초과하면, 모델은 대화 중간의 입력 항목을 삭제하여 응답을 컨텍스트 창에 맞게 잘라냅니다.\n- `disabled` (기본값): 모델 응답이 모델의 컨텍스트 창 크기를 초과하면 요청은 400 오류와 함께 실패합니다.\n" + enum: + - auto + - disabled + type: string + type: object + ResponseUsage: + description: "입력 토큰, 출력 토큰, 출력 토큰 세부 분석 및 사용된 총 토큰을 포함한 토큰 사용량 세부 정보를 나타냅니다.\n" + properties: + input_tokens: + description: 입력 토큰 수입니다. + type: integer + input_tokens_details: + description: 입력 토큰의 세부 분석입니다. + properties: + cached_tokens: + description: "캐시에서 검색된 토큰 수입니다.\n[프롬프트 캐싱에 대한 추가 정보](/docs/guides/prompt-caching).\n" + type: integer + required: + - cached_tokens + type: object + output_tokens: + description: 출력 토큰 수입니다. + type: integer + output_tokens_details: + description: 출력 토큰의 세부 분석입니다. + properties: + reasoning_tokens: + description: 추론 토큰 수입니다. + type: integer + required: + - reasoning_tokens + type: object + total_tokens: + description: 사용된 총 토큰 수입니다. + type: integer + required: + - input_tokens + - input_tokens_details + - output_tokens + - output_tokens_details + - total_tokens + type: object + ReveImageCreateRequest: + description: Reve 이미지 생성을 위한 요청 본문입니다. + properties: + aspect_ratio: + default: 3:2 + description: 생성된 이미지의 원하는 가로세로 비율입니다. + enum: + - 16:9 + - 9:16 + - 3:2 + - 2:3 + - 4:3 + - 3:4 + - 1:1 + type: string + postprocessing: + description: 생성 후 적용할 선택적 후처리 연산입니다. 추가 비용이 발생할 수 있습니다. + items: + $ref: "#/components/schemas/RevePostprocessingOperation" + type: array + prompt: + description: 원하는 이미지에 대한 텍스트 설명입니다. 최대 길이는 2560자입니다. + maxLength: 2560 + type: string + test_time_scaling: + description: "포함된 경우, 모델이 더 나은 이미지를 만들기 위해 더 많은 노력을 기울입니다. 1에서 15 사이의 값이 허용됩니다. 추가 크레딧 비용이 발생합니다." + maximum: 15 + minimum: 1 + type: number + version: + default: latest + description: "사용할 모델 버전. 지원: latest, reve-create@20250915." + type: string + required: + - prompt + type: object + ReveImageEditRequest: + description: Reve 이미지 편집을 위한 요청 본문입니다. + properties: + aspect_ratio: + description: 원하는 가로세로 비율입니다. 제공되지 않으면 참조 이미지의 가로세로 비율이 기본값으로 사용됩니다. + enum: + - 16:9 + - 9:16 + - 3:2 + - 2:3 + - 4:3 + - 3:4 + - 1:1 + type: string + edit_instruction: + description: 제공된 이미지를 편집하는 방법에 대한 텍스트 설명입니다. 최대 길이는 2560자입니다. + maxLength: 2560 + type: string + postprocessing: + description: 생성 후 적용할 선택적 후처리 연산입니다. 추가 비용이 발생할 수 있습니다. + items: + $ref: "#/components/schemas/RevePostprocessingOperation" + type: array + reference_image: + description: 편집의 참조로 사용할 base64로 인코딩된 이미지입니다. + type: string + test_time_scaling: + description: "포함된 경우, 모델이 더 나은 이미지를 만들기 위해 더 많은 노력을 기울입니다. 1에서 15 사이의 값이 허용됩니다. 추가 크레딧 비용이 발생합니다." + maximum: 15 + minimum: 1 + type: number + version: + default: latest + description: "사용할 모델 버전. 지원: latest-fast, latest, reve-edit-fast@20251030, reve-edit@20250915." + type: string + required: + - edit_instruction + - reference_image + type: object + ReveImageRemixRequest: + description: Reve 이미지 리믹싱을 위한 요청 본문입니다. + properties: + aspect_ratio: + description: 원하는 가로세로 비율입니다. 제공되지 않으면 모델이 지능적으로 선택합니다. + enum: + - 16:9 + - 9:16 + - 3:2 + - 2:3 + - 4:3 + - 3:4 + - 1:1 + type: string + postprocessing: + description: 생성 후 적용할 선택적 후처리 연산입니다. 추가 비용이 발생할 수 있습니다. + items: + $ref: "#/components/schemas/RevePostprocessingOperation" + type: array + prompt: + description: 원하는 이미지에 대한 텍스트 설명입니다. 특정 참조 이미지를 인덱스로 참조하기 위해 xml img 태그를 포함할 수 있습니다. 최대 길이는 2560자입니다. + maxLength: 2560 + type: string + reference_images: + description: "1-6개의 base64로 인코딩된 참조 이미지 목록입니다. 각각은 10MB 미만이어야 합니다. 총 픽셀 수는 3,200만 픽셀을 초과할 수 없습니다." + items: + type: string + maxItems: 6 + minItems: 1 + type: array + test_time_scaling: + description: "포함된 경우, 모델이 더 나은 이미지를 만들기 위해 더 많은 노력을 기울입니다. 1에서 15 사이의 값이 허용됩니다. 추가 크레딧 비용이 발생합니다." + maximum: 15 + minimum: 1 + type: number + version: + default: latest + description: "사용할 모델 버전. 지원: latest-fast, latest, reve-remix-fast@20251030, reve-remix@20250915." + type: string + required: + - prompt + - reference_images + type: object + ReveImageResponse: + description: Reve 이미지 API의 응답입니다. + properties: + content_violation: + description: 생성된 이미지가 콘텐츠 정책을 위반하는지 여부를 나타냅니다. + type: boolean + credits_remaining: + description: 예산에 남은 크레딧 수입니다. + type: number + credits_used: + description: 이 요청에 사용된 크레딧 수입니다. + type: number + image: + description: base64로 인코딩된 이미지 데이터입니다. 요청이 성공하지 못한 경우 비어 있습니다. + type: string + request_id: + description: 요청에 대한 고유 ID입니다. + type: string + version: + description: 생성 과정에 사용된 특정 모델 버전입니다. + type: string + type: object + RevePostprocessingOperation: + description: 이미지 생성 이후 적용할 후처리 작업입니다. + properties: + effect_name: + description: 적용할 효과의 이름입니다. process가 effect인 경우에만 사용됩니다. + type: string + effect_parameters: + description: 기본 효과 설정을 재정의하는 선택적 파라미터입니다. + type: object + max_dim: + description: "fit_image의 최대 크기입니다. max_dim, max_width, max_height 중 최소 한 개는 설정되어야 합니다." + maximum: 1024 + type: integer + max_height: + description: fit_image의 최대 높이입니다. + maximum: 1024 + type: integer + max_width: + description: fit_image의 최대 너비입니다. + maximum: 1024 + type: integer + process: + description: "후처리 작업: upscale, remove_background, fit_image 또는 effect." + enum: + - upscale + - remove_background + - fit_image + - effect + type: string + upscale_factor: + description: "upscale 배율(2, 3 또는 4). process가 upscale인 경우에만 사용됩니다." + maximum: 4 + minimum: 2 + type: integer + required: + - process + type: object + Rodin3DCheckStatusRequest: + properties: + subscription_key: + description: 생성 엔드포인트의 구독 키입니다. + type: string + required: + - subscription_key + type: object + Rodin3DCheckStatusResponse: + properties: + jobs: + description: 생성 상태에 대한 세부 정보입니다. + items: + $ref: "#/components/schemas/RodinCheckStatusJobItem" + type: array + type: object + Rodin3DDownloadRequest: + properties: + task_uuid: + description: 작업 UUID + type: string + required: + - task_uuid + type: object + Rodin3DDownloadResponse: + properties: + list: + items: + $ref: "#/components/schemas/RodinResourceItem" + type: array + type: object + Rodin3DGenerateRequest: + properties: + TAPose: + description: "선택 사항입니다. 인간형 모델을 생성할 때 이 파라미터는 생성 결과를 T/A 포즈로 제어합니다. 참(true)인 경우, 모델은 T 포즈 또는 A 포즈가 됩니다.\n" + type: boolean + addons: + description: "선택 사항입니다. 기본값은 []입니다. 가능한 값은 `HighPack`입니다. HighPack을 선택하면 기본 2K 대신 4K 해상도 텍스처가 생성됩니다. Quad 모드의 경우 면의 개수는 `quality` 파라미터에서 선택된 면 개수의 약 16배가 됩니다.\n" + items: + $ref: "#/components/schemas/RodinAddonType" + type: array + bbox_condition: + description: "선택 사항입니다. 생성된 모델의 최대 크기를 제어하는 컨트롤넷입니다. 이 배열은 정확히 고정된 순서(y, z, x)로 너비(Y축), 높이(Z축), 길이(X축)의 3개 요소를 포함해야 합니다.\n" + items: + type: integer + type: array + condition_mode: + $ref: "#/components/schemas/RodinConditionModeType" + geometry_file_format: + $ref: "#/components/schemas/RodinGeometryFileFormatType" + geometry_instruct_mode: + $ref: "#/components/schemas/RodinGeometryInstructModeType" + hd_texture: + description: "선택 사항입니다. 기본값은 거짓(false)입니다. 참(true)인 경우 고품질 텍스처가 제공됩니다.\n" + type: boolean + images: + description: "생성에 사용할 이미지로, 최대 5개 이미지입니다. 폼 데이터 요청이 이미지 순서를 유지하므로 첫 번째 이미지는 재질 생성을 위한 이미지가 됩니다. 이미지 기반 3D 생성의 경우: 필수(하나 이상의 이미지 필요, 최대 5개). 텍스트 기반 3D 생성의 경우: null.\n" + type: string + is_micro: + description: "선택 사항입니다. 기본값은 거짓(false)입니다. 참(true)인 경우 마이크로 디테일 크기 조절이 적용됩니다. 이 파라미터는 Gen-2.5-Extreme-High 티어에서만 사용 가능합니다.\n" + type: boolean + is_symmetric: + description: "선택 사항입니다. 기본값은 거짓(false)입니다. 참(true)인 경우 이 파라미터는 생성된 모델이 대칭인지 여부를 결정합니다.\n" + type: boolean + material: + $ref: "#/components/schemas/RodinMaterialType" + mesh_mode: + $ref: "#/components/schemas/RodinMeshModeType" + mesh_simplify: + description: "선택 사항입니다. 기본값은 참(true)입니다. 참(true)인 경우 생성된 모델이 단순화됩니다. 이 파라미터는 mesh_mode가 Raw로 설정된 경우 적용됩니다.\n" + type: boolean + mesh_smooth: + description: "선택 사항입니다. 기본값은 거짓(false)입니다. 참(true)인 경우 생성된 모델이 부드럽게 처리됩니다(Rodin Gen-1과 유사). 이 파라미터는 mesh_mode가 Quad로 설정된 경우 적용됩니다.\n" + type: boolean + preview_render: + description: "선택 사항입니다. 기본값은 거짓(false)입니다. 참(true)인 경우 다운로드 목록에 추가 고품질 렌더 이미지가 제공됩니다.\n" + type: boolean + prompt: + description: "모델 생성을 안내하는 텍스트 프롬프트입니다. 이미지 기반 3D 생성의 경우: 선택 사항(제공되지 않으면 제공된 이미지 기반 AI 생성 프롬프트가 사용됩니다). 텍스트 기반 3D 생성의 경우: 필수.\n" + type: string + quality: + $ref: "#/components/schemas/RodinQualityType" + quality_override: + description: "선택 사항입니다. 생성 시 폴리곤 수를 사용자 정의하여 메시 면 개수를 더 정확하게 제어합니다. mesh_mode = Raw: 500~1,000,000 범위(기본값 500,000). mesh_mode = Quad: 1,000~200,000 범위(기본값 18,000). 이 파라미터가 호출되면 `quality` 파라미터는 적용되지 않습니다.\n" + type: integer + seed: + description: "선택 사항. 메시 생성 시 무작위화를 위한 시드 값으로, 0에서 65535까지의 범위(양쪽 포함)입니다. 제공되지 않으면 시드가 무작위로 생성됩니다.\n" + type: integer + texture_delight: + description: "선택 사항. 기본값은 거짓(false)입니다. 참(true)으로 설정하면 이 파라미터가 이미지 전처리를 적용하여 텍스처에서 조명 정보를 제거합니다.\n" + type: boolean + texture_mode: + $ref: "#/components/schemas/RodinTextureModeType" + tier: + $ref: "#/components/schemas/RodinTierType" + use_original_alpha: + description: "기본값은 거짓(false)입니다. 참(true)으로 설정하면 이미지 처리 시 이미지의 원본 투명도 채널이 사용됩니다.\n" + type: boolean + type: object + Rodin3DGenerateResponse: + properties: + error: + description: "오류 메시지(있는 경우). 가능한 값으로는 NO_ACTIVE_SUBSCRIPTION, SUBSCRIPTION_PLAN_TOO_LOW, INSUFFICIENT_FUND, INVALID_REQUEST, USER_NOT_FOUND, GROUP_NOT_FOUND, PERMISSION_DENIED, UNKNOWN 등이 있습니다.\n" + nullable: true + type: string + jobs: + $ref: "#/components/schemas/RodinGenerateJobsData" + message: + description: 성공 메시지 또는 상세 오류 정보. + type: string + prompt: + description: 에코된 프롬프트(해당하는 경우). + type: string + submit_time: + description: 제출 타임스탬프. + type: string + uuid: + description: 작업 UUID. 상태/다운로드 요청에 사용하세요. + type: string + type: object + RodinAddonType: + description: "가능한 값은 `HighPack`입니다. HighPack을 선택하면 기본 2K 대신 4K 해상도 텍스처를 생성합니다. Quad 모드인 경우 면의 수는 `quality` 매개변수에서 선택한 면 수의 약 16배가 됩니다. 생성당 추가 1크레딧이 소모됩니다.\n" + enum: + - HighPack + type: string + RodinCheckStatusJobItem: + properties: + status: + $ref: "#/components/schemas/RodinStatusOptions" + uuid: + description: 하위 UUID + type: string + type: object + RodinConditionModeType: + description: "다중 이미지 3D 생성에만 유용합니다. 선택 사항. 다중 이미지 생성의 모드를 선택합니다. 기본값은 concat입니다. `fuse` 모드(여러 객체의 이미지 업로드)의 경우, fuse 모드는 생성에 사용할 이미지에서 모든 객체의 모든 특징을 추출하여 융합합니다. `concat` 모드(단일 객체의 이미지 업로드)의 경우, concat 모드는 Rodin 모델이 이러한 이미지를 단일 객체의 다중 뷰 이미지로 인식하도록 안내합니다.\n" + enum: + - fuse + - concat + type: string + RodinGenerateJobsData: + properties: + subscription_key: + description: 구독 키. + type: string + uuids: + description: 하위 작업 UUID. + items: + type: string + type: array + type: object + RodinGeometryFileFormatType: + description: "선택 사항. 출력 지오메트리 파일의 형식입니다. 기본값은 glb입니다.\n" + enum: + - glb + - usdz + - fbx + - obj + - stl + type: string + RodinGeometryInstructModeType: + description: "선택 사항. 기본값은 `faithful`입니다. Creative 모드는 출력 일관성을 보장하면서 생성 견고성을 향상시켜, 출력 간 품질과 일관성을 유지하면서 더 유연하고 창의적인 생성을 가능하게 합니다. Gen-2.5-Medium 및 Gen-2.5-High 등급에서 사용 가능합니다.\n" + enum: + - faithful + - creative + type: string + RodinMaterialType: + description: "선택 사항. 재질 유형입니다. 기본값은 PBR입니다. PBR: 물리 기반 재질(Physically Based Materials)로, 기본 색상 텍스처, 금속성 텍스처, 노멀 텍스처 및 거칠기 텍스처를 포함하며 동적 조명에서 높은 사실성과 물리적으로 정확한 동작을 제공합니다. Shaded: 베이크된 조명이 포함된 기본 색상 텍스처만 제공하여 스타일화된 시각 효과를 제공합니다. All: PBR과 Shaded가 모두 제공됩니다. None: 재질이 없는 에셋입니다.\n" + enum: + - PBR + - Shaded + - All + - None + type: string + RodinMeshModeType: + description: "선택 사항. 생성된 모델의 면 유형을 제어합니다. 기본값은 Quad입니다. Raw 모드는 삼각형 면 모델을 생성합니다. Quad 모드는 사각형 면 모델을 생성합니다. 값이 Raw인 경우, `quality`는 medium으로 고정되고 `addons`는 []로 고정됩니다. Rodin Sketch 등급의 경우 삼각형 면만 생성할 수 있습니다.\n" + enum: + - Quad + - Raw + type: string + RodinQualityType: + description: "선택 사항. 생성된 모델의 면 수입니다. 기본값은 medium입니다.\n" + enum: + - extra-low + - low + - medium + - high + type: string + RodinResourceItem: + properties: + name: + description: 파일 이름 + type: string + url: + description: 다운로드 URL + type: string + type: object + RodinStatusOptions: + enum: + - Done + - Failed + - Generating + - Waiting + type: string + RodinTextureModeType: + description: "선택 사항. 값이 높을수록 더 많은 사고 노력을 투자하여 더 나은 결과를 생성하지만, 생성 시간이 더 오래 걸립니다.\n" + enum: + - legacy + - extreme-low + - low + - medium + - high + type: string + RodinTierType: + description: "생성 등급입니다. 기본값은 Regular입니다. Sketch: 기본 세부 정보가 포함된 빠른 생성, 초기 컨셉에 적합합니다. Regular: 균형 잡힌 품질과 속도, 일반 용도에 이상적입니다. Detail: Regular에 비해 향상된 세부 정보, 복잡한 결과에 권장(처리 시간이 더 오래 걸림). Smooth: Regular보다 선명하고 또렷한 출력, 처리 시간이 약간 더 오래 걸립니다. `Gen-2` 값을 설정하여 Gen-2 생성을 호출합니다. `Gen-2.5-*` 값을 사용하여 Gen-2.5 생성을 호출합니다: Gen-2.5-Extreme-Low (빠른 단순 에셋), Gen-2.5-Low (깔끔한 에셋 및 소형 하드서페이스 소품), Gen-2.5-Medium (중간 정도의 복잡한 모델), Gen-2.5-High (더 풍부한 구조 표현과 부드러운 표면을 갖춘 고품질 에셋), Gen-2.5-Extreme-High (고주파 세부 정보 재현).\n" + enum: + - Regular + - Sketch + - Detail + - Smooth + - Gen-2 + - Gen-2.5-Extreme-Low + - Gen-2.5-Low + - Gen-2.5-Medium + - Gen-2.5-High + - Gen-2.5-Extreme-High + type: string + RunwayAspectRatioEnum: + enum: + - 1280:720 + - 720:1280 + - 1104:832 + - 832:1104 + - 960:960 + - 1584:672 + - 1280:768 + - 768:1280 + type: string + RunwayContentModeration: + description: 콘텐츠 관리 시스템의 동작에 영향을 미치는 설정. + properties: + publicFigureThreshold: + description: "`low`로 설정하면 콘텐츠 관리 시스템이 인식 가능한 공인을 포함한 생성을 방지하는 데 덜 엄격해집니다." + enum: + - auto + - low + type: string + type: object + RunwayDurationEnum: + enum: + - 5 + - 10 + type: integer + RunwayImageToVideoRequest: + properties: + duration: + $ref: "#/components/schemas/RunwayDurationEnum" + model: + $ref: "#/components/schemas/RunwayModelEnum" + promptImage: + $ref: "#/components/schemas/RunwayPromptImageObject" + promptText: + description: 생성을 위한 텍스트 프롬프트 + maxLength: 1000 + type: string + ratio: + $ref: "#/components/schemas/RunwayAspectRatioEnum" + seed: + description: 생성을 위한 랜덤 시드 + format: int64 + maximum: 4294967295 + minimum: 0 + type: integer + required: + - promptImage + - seed + - model + - duration + - ratio + type: object + RunwayImageToVideoResponse: + properties: + id: + description: 작업 ID + type: string + type: object + RunwayModelEnum: + description: 생성에 사용 가능한 Runway 모델입니다. + enum: + - gen4_turbo + - gen3a_turbo + type: string + RunwayPromptImageDetailedObject: + description: 비디오 시퀀스에서 위치가 지정된 이미지를 나타냅니다. + properties: + position: + description: "출력 비디오에서 이미지의 위치입니다. 'last'는 현재 gen3a_turbo에서만 지원됩니다." + enum: + - first + - last + type: string + uri: + description: 인코딩된 이미지를 포함하는 HTTPS URL 또는 데이터 URI입니다. + type: string + required: + - uri + - position + type: object + RunwayPromptImageObject: + description: 비디오 생성에 사용할 이미지입니다. 단일 URI 또는 위치가 있는 이미지 객체 배열일 수 있습니다. + oneOf: + - description: 첫 번째 프레임 이미지를 위한 단일 HTTPS URL 또는 데이터 URI입니다. + type: string + - description: 위치가 있는 이미지 객체 배열입니다. 두 이미지가 동일한 위치를 가질 수 없습니다. + items: + $ref: "#/components/schemas/RunwayPromptImageDetailedObject" + type: array + RunwayTaskStatusEnum: + description: Runway 작업의 가능한 상태입니다. + enum: + - SUCCEEDED + - RUNNING + - FAILED + - PENDING + - CANCELLED + - THROTTLED + type: string + RunwayTaskStatusResponse: + properties: + createdAt: + description: 작업 생성 타임스탬프 + format: date-time + type: string + id: + description: 작업 ID + type: string + output: + description: 출력 비디오 URL 배열 + items: + type: string + type: array + progress: + description: 작업 진행률을 나타내는 0과 1 사이의 실수 값입니다. 상태가 RUNNING인 경우에만 사용 가능합니다. + format: float + maximum: 1 + minimum: 0 + type: number + status: + $ref: "#/components/schemas/RunwayTaskStatusEnum" + required: + - id + - status + - createdAt + type: object + RunwayTextToImageAspectRatioEnum: + enum: + - 1920:1080 + - 1080:1920 + - 1024:1024 + - 1360:768 + - 1080:1080 + - 1168:880 + - 1440:1080 + - 1080:1440 + - 1808:768 + - 2112:912 + type: string + RunwayTextToImageRequest: + properties: + model: + description: 생성에 사용할 모델 + enum: + - gen4_image + type: string + promptText: + description: 이미지 생성을 위한 텍스트 프롬프트 + maxLength: 1000 + type: string + ratio: + $ref: "#/components/schemas/RunwayTextToImageAspectRatioEnum" + referenceImages: + description: 생성을 가이드할 참조 이미지 배열 + items: + properties: + uri: + description: 인코딩된 이미지를 포함하는 HTTPS URL 또는 데이터 URI + type: string + type: object + type: array + required: + - promptText + - model + - ratio + type: object + RunwayTextToImageResponse: + properties: + id: + description: 작업 ID + type: string + type: object + RunwayVideoToVideoKeyframe: + description: 입력 비디오의 특정 지점에 배치되는 시간 가이드 이미지입니다. + oneOf: + - properties: + seconds: + description: 이 가이드 이미지가 적용되어야 하는 입력 비디오 시작부터의 절대 시간(초)입니다. + maximum: 30 + minimum: 0 + type: number + uri: + description: "인코딩된 이미지를 포함하는 HTTPS URL, Runway 또는 데이터 URI입니다." + type: string + required: + - uri + - seconds + type: object + - properties: + at: + description: "이 가이드 이미지가 적용되어야 하는 입력 비디오 길이의 분수 [0.0, 1.0]으로서의 위치입니다." + maximum: 1 + minimum: 0 + type: number + uri: + description: "인코딩된 이미지를 포함하는 HTTPS URL, Runway 또는 데이터 URI입니다." + type: string + required: + - uri + - at + type: object + RunwayVideoToVideoModelEnum: + description: 비디오 기반 비디오 생성에 사용 가능한 Runway 모델입니다. + enum: + - aleph2 + type: string + RunwayVideoToVideoPromptImage: + description: 비디오의 특정 지점에서 편집을 가이드하는 이미지 키프레임입니다. + properties: + position: + $ref: "#/components/schemas/RunwayVideoToVideoPromptImagePosition" + uri: + description: "인코딩된 이미지를 포함하는 HTTPS URL, Runway 또는 데이터 URI입니다." + type: string + required: + - uri + - position + type: object + RunwayVideoToVideoPromptImagePosition: + description: 이미지가 적용되어야 하는 출력 비디오의 위치입니다. + oneOf: + - description: "\"first\"는 이미지를 시작 부분(타임스탬프 0)에 배치하고, \"last\"는 끝 부분(타임스탬프 = duration)에 배치합니다." + enum: + - first + - last + type: string + - description: 이미지를 절대 타임스탬프에 배치합니다. + properties: + timestampSeconds: + description: 출력 비디오 시작부터의 초 단위 절대 타임스탬프입니다. + minimum: 0 + type: number + type: + enum: + - timestamp + type: string + required: + - type + - timestampSeconds + type: object + - description: 이미지를 상대적 위치에 배치합니다. + properties: + positionPercentage: + description: "전체 비디오 길이에 대한 분수 [0.0, 1.0]로 표시된 위치입니다." + maximum: 1 + minimum: 0 + type: number + type: + enum: + - position + type: string + required: + - type + - positionPercentage + type: object + RunwayVideoToVideoRequest: + description: Runway API를 사용하여 입력 비디오를 새 비디오로 편집하는 요청입니다. + properties: + contentModeration: + $ref: "#/components/schemas/RunwayContentModeration" + keyframes: + description: 입력 비디오의 특정 지점에 배치된 시간 지정 가이드 이미지입니다. 최대 5개의 키프레임. + items: + $ref: "#/components/schemas/RunwayVideoToVideoKeyframe" + maxItems: 5 + minItems: 1 + type: array + model: + $ref: "#/components/schemas/RunwayVideoToVideoModelEnum" + promptImage: + description: 비디오의 특정 지점에서 편집을 가이드하기 위한 최대 5개의 이미지 키프레임 목록입니다. + items: + $ref: "#/components/schemas/RunwayVideoToVideoPromptImage" + maxItems: 5 + minItems: 1 + type: array + promptText: + description: 출력에 나타나야 할 내용을 설명하는 최대 1000자의 비어 있지 않은 문자열입니다. + maxLength: 1000 + minLength: 1 + type: string + seed: + description: 생성을 위한 랜덤 시드입니다. + format: int64 + maximum: 4294967295 + minimum: 0 + type: integer + videoUri: + description: "편집할 입력 비디오입니다(HTTPS URL, Runway 업로드 URI 또는 데이터 URI). 30초 이하여야 합니다." + type: string + required: + - model + - promptText + - videoUri + type: object + RunwayVideoToVideoResponse: + properties: + id: + description: 작업 ID + type: string + type: object + SeedanceAssetError: + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + SeedanceAssetModeration: + properties: + strategy: + description: "콘텐츠 사전 필터 검토 전략입니다. \"Skip\"은 대부분의 비기준 정책을 우회합니다(계정에서 Secure Mode가 꺼져 있어야 함)." + enum: + - Default + - Skip + type: string + required: + - strategy + type: object + SeedanceCreateAssetRequest: + properties: + asset_type: + enum: + - Image + - Video + - Audio + type: string + group_id: + description: 자산이 속할 BytePlus Asset Group ID입니다. 호출자가 이 그룹을 소유해야 합니다. + type: string + moderation: + $ref: "#/components/schemas/SeedanceAssetModeration" + name: + description: 최대 64자의 선택적 자산 이름입니다. + type: string + project_name: + description: "BytePlus 프로젝트 이름입니다. \"default\"로 기본 설정됩니다. Asset Group의 프로젝트와 일치해야 합니다." + type: string + url: + description: 자산의 공개적으로 접근 가능한 URL입니다. + type: string + required: + - group_id + - url + - asset_type + type: object + SeedanceCreateAssetResponse: + properties: + asset_id: + description: BytePlus에서 발급한 자산 ID입니다. 클라이언트는 status == Active가 될 때까지 이 ID로 seedanceGetAsset을 폴링합니다. + type: string + required: + - asset_id + type: object + SeedanceCreateVisualValidateSessionRequest: + properties: + name: + description: "이 검증에 의해 생성될 자산 그룹의 선택적 사람이 읽을 수 있는 레이블입니다. 로컬에 저장되고 seedanceListVisualValidationGroups에 의해 반환되어 사용자가 선택기에서 자신의 그룹을 식별할 수 있습니다.\n" + maxLength: 64 + type: string + type: object + SeedanceCreateVisualValidateSessionResponse: + properties: + h5_link: + description: BytePlus에서 발급한 H5 liveness 링크입니다. 카메라 접근이 가능한 브라우저에서 엽니다. 약 120초 동안 유효합니다. + type: string + session_id: + description: 세션 식별자입니다. 클라이언트는 이 세션 식별자로 seedanceGetVisualValidateSession을 폴링합니다. + format: uuid + type: string + required: + - session_id + - h5_link + type: object + SeedanceGetAssetResponse: + properties: + asset_type: + enum: + - Image + - Video + - Audio + type: string + create_time: + format: date-time + nullable: true + type: string + error: + $ref: "#/components/schemas/SeedanceAssetError" + group_id: + type: string + id: + type: string + name: + nullable: true + type: string + project_name: + nullable: true + type: string + status: + enum: + - Active + - Processing + - Failed + type: string + update_time: + format: date-time + nullable: true + type: string + url: + description: 약 12시간 동안 유효한 접근 URL입니다. + nullable: true + type: string + required: + - id + - asset_type + - group_id + - status + type: object + SeedanceGetVisualValidateSessionResponse: + properties: + error_code: + nullable: true + type: string + error_message: + nullable: true + type: string + group_id: + description: 상태가 completed일 때만 채워집니다. 이는 사용자가 에셋을 업로드할 BytePlus 에셋 그룹 ID입니다. + nullable: true + type: string + name: + description: 세션이 생성될 때 제공되는 선택적 사람이 읽을 수 있는 레이블입니다. + nullable: true + type: string + session_id: + format: uuid + type: string + status: + enum: + - pending + - completed + - failed + type: string + required: + - session_id + - status + type: object + SeedanceListUserAssetsResponse: + properties: + assets: + items: + $ref: "#/components/schemas/SeedanceUserAsset" + type: array + truncated: + description: 전역 요청당 에셋 상한에 도달하여 이전 결과가 삭제된 경우 참입니다. + type: boolean + required: + - assets + - truncated + type: object + SeedanceListVisualValidationGroupsResponse: + properties: + groups: + items: + $ref: "#/components/schemas/SeedanceVisualValidationGroup" + type: array + required: + - groups + type: object + SeedanceUserAsset: + properties: + asset_id: + type: string + asset_type: + enum: + - Image + - Video + - Audio + type: string + create_time: + format: date-time + type: string + group_id: + type: string + group_name: + description: "소스 그룹의 표시 레이블로, 클라이언트 측 검색을 위해 비정규화되었습니다." + type: string + name: + nullable: true + type: string + status: + enum: + - Active + - Processing + - Failed + type: string + url: + description: BytePlus 액세스 URL(약 12시간 유효 기간). 각 목록 호출 시 갱신됩니다. + nullable: true + type: string + required: + - asset_id + - group_id + - group_name + - asset_type + - status + - create_time + type: object + SeedanceVirtualLibraryCreateAssetRequest: + properties: + asset_type: + default: Image + description: BytePlus 에셋 유형입니다. AIGC 가상 라이브러리는 Image와 Video를 모두 허용합니다. 기존 클라이언트와의 하위 호환성을 위해 기본값은 Image입니다. + enum: + - Image + - Video + type: string + hash: + description: "클라이언트가 제공한 콘텐츠 해시로, 고객별 중복 제거 키로 사용됩니다. 동일한 해시를 다시 제출하면 BytePlus에 재업로드하지 않고 기존 에셋 ID를 반환합니다." + type: string + url: + description: 호출자의 가상 초상화 라이브러리에 업로드할 에셋의 공개적으로 액세스 가능한 URL입니다. + type: string + required: + - url + - hash + type: object + SeedanceVirtualLibraryCreateAssetResponse: + properties: + asset_id: + description: BytePlus가 발급한 에셋 ID입니다. 클라이언트는 이 ID로 seedanceGetAsset을 폴링하여 status가 Active가 될 때까지 기다립니다. + type: string + required: + - asset_id + type: object + SeedanceVisualValidationGroup: + properties: + created_at: + format: date-time + type: string + group_id: + description: BytePlus가 발급한 에셋 그룹 ID입니다. + type: string + name: + description: "표시 레이블입니다. 가능한 경우 생성 시 호출자가 제공하며, 그렇지 않으면 생성 날짜에서 파생된 서버 생성 대체 값입니다.\n" + type: string + required: + - group_id + - name + - created_at + type: object + SoniloErrorResponse: + properties: + detail: + properties: + code: + description: 오류 코드 + type: string + message: + description: 사람이 읽을 수 있는 오류 메시지 + type: string + type: object + type: object + SoniloStreamEvent: + description: Sonilo 스트리밍 응답의 단일 NDJSON 이벤트입니다. 나열된 것 외에 추가 이벤트 유형이 나타날 수 있습니다. 알 수 없는 유형은 클라이언트에서 무시해야 합니다. + oneOf: + - properties: + copy_index: + minimum: 0 + type: integer + display_tags: + items: + type: string + type: array + prompt_index: + minimum: 0 + type: integer + stream_index: + minimum: 0 + type: integer + summary: + description: 생성된 트랙에 대한 짧은 자연어 설명입니다. + type: string + title: + type: string + type: + enum: + - title + type: string + required: + - type + - stream_index + - prompt_index + - copy_index + - title + - display_tags + type: object + - properties: + channels: + type: integer + data: + description: "Base64로 인코딩된 AAC를 fMP4 조각으로 제공하며, stream_index별로 연결합니다." + type: string + num_streams: + minimum: 1 + type: integer + sample_rate: + type: integer + stream_index: + minimum: 0 + type: integer + type: + enum: + - audio_chunk + type: string + required: + - type + - sample_rate + - channels + - stream_index + - num_streams + - data + type: object + - properties: + type: + enum: + - complete + type: string + required: + - type + type: object + - properties: + code: + type: string + message: + type: string + type: + enum: + - error + type: string + required: + - type + - message + type: object + SoniloTextToMusicRequest: + properties: + duration: + description: 출력 트랙의 원하는 지속 시간(초)입니다. + maximum: 360 + minimum: 1 + type: integer + prompt: + description: 원하는 음악을 설명하는 텍스트 프롬프트입니다. 최대 길이는 1000자입니다. + maxLength: 1000 + minLength: 1 + type: string + required: + - prompt + - duration + type: object + SoniloVideoToMusicRequest: + oneOf: + - properties: + prompt: + description: 음악 생성을 안내하는 선택적 텍스트 프롬프트입니다. + type: string + video: + description: "멀티파트 파일 부분입니다. 예: video/mp4. 최대 파일 크기는 300MB입니다." + format: binary + type: string + required: + - video + type: object + - properties: + prompt: + description: 음악 생성을 안내하는 선택적 텍스트 프롬프트입니다. + type: string + video_url: + description: 비디오의 공개 http:// 또는 https:// URL입니다. 비공개/내부 주소는 거부됩니다. + format: uri + type: string + required: + - video_url + type: object + StorageFile: + properties: + file_path: + description: 스토리지에 있는 파일의 경로 + type: string + id: + description: 스토리지 파일의 고유 식별자 + format: uuid + type: string + public_url: + description: 공개 URL + type: string + type: object + StripeEvent: + properties: + data: + properties: + object: + type: object + type: object + id: + type: string + object: + enum: + - event + type: string + type: + enum: + - invoice.paid + type: string + required: + - id + - object + - type + - data + type: object + SubscriptionDuration: + description: 구독 결제 기간 + enum: + - MONTHLY + - ANNUAL + type: string + SubscriptionTier: + description: 구독 등급 레벨 + enum: + - FREE + - STANDARD + - CREATOR + - PRO + - FOUNDERS_EDITION + type: string + TencentErrorResponse: + description: Tencent API의 오류 응답 + properties: + Response: + properties: + Error: + properties: + Code: + description: 오류 코드 + type: string + Message: + description: 오류 메시지 + type: string + type: object + RequestId: + description: 문제 해결을 위한 고유 요청 ID + type: string + type: object + type: object + TencentFile3D: + description: 3D 파일 정보 + properties: + PreviewImageUrl: + description: 이미지 미리보기 URL + format: uri + type: string + Type: + description: 3D 파일 형식 + enum: + - GLB + - OBJ + type: string + Url: + description: 파일 URL (24시간 유효) + format: uri + type: string + type: object + TencentHunyuan3DProRequest: + description: Tencent Hunyuan 3D Pro 생성 요청 본문 + properties: + EnablePBR: + default: false + description: PBR 재질 생성을 활성화할지 여부. + type: boolean + FaceCount: + default: 500000 + description: 3D 모델 생성을 위한 면 수. + maximum: 1500000 + minimum: 40000 + type: integer + GenerateType: + default: Normal + description: "생성 작업 유형:\n- Normal: 텍스처가 있는 기하학적 모델 생성(기본값)\n- LowPoly: 지능형 다각형 축소 후 생성된 모델\n- Geometry: 텍스처 없는 모델 생성(흰색 모델)\n- Sketch: 스케치 또는 선화에서 생성 모델\n" + enum: + - Normal + - LowPoly + - Geometry + - Sketch + type: string + ImageBase64: + description: "이미지 기반 3D 생성을 위한 Base64 인코딩 이미지.\n해상도: 최소 128px, 최대 5000px (한 면 기준).\n최대 크기: 8MB (인코딩 전 6MB 권장).\n지원 형식: jpg, png, jpeg, webp.\nImageBase64/ImageUrl 또는 Prompt 중 하나가 필수입니다.\n" + type: string + ImageUrl: + description: "이미지 기반 3D 생성을 위한 입력 이미지 URL.\n해상도: 최소 128px, 최대 5000px (한 면 기준).\n최대 크기: 8MB.\n지원 형식: jpg, png, jpeg, webp.\nImageBase64/ImageUrl 또는 Prompt 중 하나가 필수입니다.\n" + format: uri + type: string + Model: + default: "3.0" + description: "Tencent HY 3D 글로벌 모델 버전.\n기본값은 3.0이며, 선택 가능: 3.0, 3.1.\n버전 3.1 선택 시 LowPoly 파라미터를 사용할 수 없습니다.\n" + enum: + - "3.0" + - "3.1" + example: "3.0" + type: string + MultiViewImages: + description: "3D 생성을 위한 다중 원근 모델 이미지.\n각 원근은 이미지 하나로 제한됩니다.\n이미지 크기 제한: 인코딩 후 최대 8MB.\n이미지 해상도: 최소 128px, 최대 5000px (한 면 기준).\n지원 형식: JPG, PNG.\n" + items: + $ref: "#/components/schemas/TencentViewImage" + type: array + PolygonType: + default: triangle + description: "다각형 유형 (GenerateType이 LowPoly인 경우에만 유효).\n- triangle: 삼각형 면 (기본값)\n- quadrilateral: 사각형과 삼각형 면의 혼합\n" + enum: + - triangle + - quadrilateral + type: string + Prompt: + description: "3D 콘텐츠 생성을 위한 텍스트 설명.\n최대 1024자의 utf-8 문자 지원.\nPrompt 또는 ImageBase64/ImageUrl 중 하나가 필수이며, 둘 다는 안 됩니다.\n" + example: A cat + maxLength: 1024 + type: string + type: object + TencentHunyuan3DProResponse: + description: Tencent Hunyuan 3D Pro 제출 엔드포인트의 응답 + properties: + Response: + properties: + Error: + description: 오류 객체 (요청 실패 시 표시) + properties: + Code: + description: 오류 코드 + type: string + Message: + description: 오류 메시지 + type: string + type: object + JobId: + description: 작업 ID (24시간 유효) + example: "1375367755519696896" + type: string + RequestId: + description: 문제 해결을 위한 고유 요청 ID + example: 13f47dd0-1af9-4383-b401-dae18d6e99fc + type: string + type: object + type: object + TencentHunyuan3DQueryRequest: + properties: + JobId: + description: 제출 엔드포인트에서 반환된 JobId + example: "1375367755519696896" + type: string + required: + - JobId + type: object + TencentHunyuan3DQueryResponse: + description: Tencent Hunyuan 3D 쿼리 엔드포인트 응답 + properties: + Response: + properties: + ErrorCode: + description: 오류 코드 (오류가 없는 경우 빈 문자열) + type: string + ErrorMessage: + description: 작업이 실패한 경우의 오류 메시지 (오류가 없는 경우 빈 문자열) + type: string + RequestId: + description: 문제 해결을 위한 고유 요청 ID + type: string + ResultFile3Ds: + description: 생성된 3D 파일 배열 + items: + $ref: "#/components/schemas/TencentFile3D" + type: array + Status: + description: "작업 상태:\n- WAIT: 대기 중\n- RUN: 실행 중\n- FAIL: 실패\n- DONE: 성공\n" + enum: + - WAIT + - RUN + - FAIL + - DONE + type: string + type: object + type: object + TencentHunyuan3DSmartTopologyRequest: + description: Tencent Hunyuan 3D Smart Topology 요청 본문 (리토폴로지/폴리곤 감소) + properties: + FaceLevel: + description: 폴리곤 감소 수준. + enum: + - high + - medium + - low + example: medium + type: string + File3D: + $ref: "#/components/schemas/TencentInputFile3D" + PolygonType: + description: 출력 메시의 폴리곤 유형. 기본값은 삼각형. + enum: + - triangle + - quadrilateral + example: triangle + type: string + required: + - File3D + type: object + TencentHunyuan3DTextureEditRequest: + description: Tencent Hunyuan 3D 텍스처 편집 요청 본문 + properties: + EnablePBR: + description: PBR 텍스처 매개변수를 활성화할지 여부. Prompt 사용 시에만 지원. + example: true + type: boolean + File3D: + $ref: "#/components/schemas/TencentInputFile3D" + Image: + $ref: "#/components/schemas/TencentImageInfo" + Prompt: + description: "텍스처 편집을 설명합니다. Image 또는 Prompt 중 하나는 필수이며, 둘 다 동시에 사용할 수 없습니다." + example: a kitten + maxLength: 1024 + type: string + required: + - File3D + type: object + TencentHunyuan3DUVRequest: + description: Tencent Hunyuan 3D UV 언래핑 요청 본문 + properties: + File: + $ref: "#/components/schemas/TencentInputFile3D" + type: object + TencentHunyuan3DUVResponse: + description: Tencent Hunyuan 3D UV 제출 엔드포인트 응답 + properties: + Response: + properties: + Error: + description: 오류 객체 (요청이 실패할 때 존재) + properties: + Code: + description: 오류 코드 + type: string + Message: + description: 오류 메시지 + type: string + type: object + JobId: + description: UV 언래핑 작업의 작업 ID + example: "1384898587778465792" + type: string + RequestId: + description: 문제 해결을 위한 고유 요청 ID + example: 5265eb4a-0f4f-4cb1-9b3d-d9f1fb9347d2 + type: string + type: object + type: object + TencentImageInfo: + description: "참조 이미지: Base64 데이터 또는 이미지 URL" + properties: + ImageBase64: + description: "Base64로 인코딩된 이미지. 해상도 각 변 128~4096, 변환된 Base64가 10MB 미만. 형식: jpg, jpeg, png." + type: string + ImageUrl: + description: 이미지 URL. Base64와 Url이 모두 제공된 경우 Url이 우선합니다. + format: uri + type: string + type: object + TencentInputFile3D: + description: UV 언래핑용 3D 파일 입력 + properties: + Type: + description: 3D 파일 형식 유형 + enum: + - FBX + - OBJ + - GLB + example: GLB + type: string + Url: + description: UV 언래핑이 필요한 3D 파일의 URL + example: https://example.com/model.glb + format: uri + type: string + required: + - Type + - Url + type: object + TencentViewImage: + description: 다중 원근법 3D 생성을 위한 뷰 이미지 + properties: + ViewImageBase64: + description: "이 뷰의 Base64 인코딩 이미지.\n해상도: 최소 128px, 최대 5000px (한 변 기준).\n최대 크기: 8MB.\n지원 형식: JPG, PNG.\n" + type: string + ViewImageUrl: + description: "이 뷰의 이미지 URL.\n해상도: 최소 128px, 최대 5000px (한 변 기준).\n최대 크기: 8MB.\n지원 형식: JPG, PNG.\n" + format: uri + type: string + ViewType: + description: "이 이미지의 시야각 유형.\n- left: 왼쪽 뷰\n- right: 오른쪽 뷰\n- back: 후면 뷰\n- top: 상단 뷰 (Model 3.1에서만 지원)\n- bottom: 하단 뷰 (Model 3.1에서만 지원)\n- left_front: 왼쪽 전면 45도 뷰 (Model 3.1에서만 지원)\n- right_front: 오른쪽 전면 45도 뷰 (Model 3.1에서만 지원)\n" + enum: + - left + - right + - back + - top + - bottom + - left_front + - right_front + type: string + type: object + TextResponseFormatConfiguration: + description: "모델이 출력해야 하는 형식을 지정하는 객체.\n\n`{ \"type\": \"json_schema\" }`를 설정하면 구조화된 출력이 활성화되어\n모델이 제공된 JSON 스키마와 일치하도록 보장합니다. 더 알아보기:\n[Structured Outputs 가이드](/docs/guides/structured-outputs).\n\n기본 형식은 추가 옵션 없이 `{ \"type\": \"text\" }`입니다.\n\n**gpt-4o 및 최신 모델에는 권장되지 않음:**\n\n`{ \"type\": \"json_object\" }`로 설정하면 이전 JSON 모드가 활성화되어\n모델이 생성하는 메시지가 유효한 JSON임을 보장합니다. 지원되는 모델의 경우 `json_schema`를 사용하는 것이 좋습니다.\n" + oneOf: + - $ref: "#/components/schemas/ResponseFormatText" + - $ref: "#/components/schemas/TextResponseFormatJsonSchema" + - $ref: "#/components/schemas/ResponseFormatJsonObject" + TextResponseFormatJsonSchema: + description: "JSON Schema 응답 형식. 구조화된 JSON 응답을 생성하는 데 사용됩니다.\n[Structured Outputs](/docs/guides/structured-outputs)에 대해 더 알아보기.\n" + properties: + description: + description: "응답 형식의 용도에 대한 설명으로, 모델이 형식에 따라 응답하는 방법을 결정하는 데 사용됩니다.\n" + type: string + name: + description: "응답 형식의 이름. a-z, A-Z, 0-9 또는 밑줄과 대시를 포함할 수 있으며 최대 길이는 64자입니다.\n" + type: string + schema: + $ref: "#/components/schemas/ResponseFormatJsonSchemaSchema" + strict: + default: false + description: "출력 생성 시 엄격한 스키마 준수를 활성화할지 여부.\n참(true)으로 설정하면 모델이 항상 `schema` 필드에 정의된 정확한 스키마를 따릅니다.\n`strict`가 `true`일 때 지원되는 JSON Schema의 하위 집합만 사용됩니다.\n더 알아보려면 [Structured Outputs 가이드](/docs/guides/structured-outputs)를 읽어보세요.\n" + type: boolean + type: + description: "정의 중인 응답 형식의 유형. 항상 `json_schema`입니다." + enum: + - json_schema + type: string + x-stainless-const: true + required: + - type + - schema + - name + title: JSON schema + type: object + Tool: + discriminator: + propertyName: type + oneOf: + - $ref: "#/components/schemas/FileSearchTool" + - $ref: "#/components/schemas/FunctionTool" + - $ref: "#/components/schemas/WebSearchPreviewTool" + - $ref: "#/components/schemas/ComputerUsePreviewTool" + ToolChoiceFunction: + description: "이 옵션을 사용하여 모델이 특정 함수를 호출하도록 강제합니다.\n" + properties: + name: + description: 호출할 함수의 이름. + type: string + type: + description: "함수 호출의 경우 유형은 항상 `function`입니다." + enum: + - function + type: string + x-stainless-const: true + required: + - type + - name + title: Function tool + type: object + ToolChoiceOptions: + description: "모델이 호출할 도구를 제어합니다(호출하는 경우).\n\n`none`은 모델이 도구를 호출하지 않고 메시지를 생성함을 의미합니다.\n\n`auto`는 모델이 메시지 생성 또는 하나 이상의 도구 호출 중에서 선택할 수 있음을 의미합니다.\n\n`required`는 모델이 하나 이상의 도구를 호출해야 함을 의미합니다.\n" + enum: + - none + - auto + - required + title: Tool choice mode + type: string + ToolChoiceTypes: + description: "모델이 내장 도구를 사용하여 응답을 생성해야 함을 나타냅니다.\n[내장 도구에 대해 더 알아보기](/docs/guides/tools).\n" + properties: + type: + description: "모델이 사용해야 하는 호스팅 도구의 유형.\n[내장 도구](/docs/guides/tools)에 대해 더 알아보기.\n\n허용되는 값:\n- `file_search`\n- `web_search_preview`\n- `computer_use_preview`\n" + enum: + - file_search + - web_search_preview + - computer_use_preview + - web_search_preview_2025_03_11 + type: string + required: + - type + title: Hosted tool + type: object + TopazCombinedCreateRequest: + oneOf: + - $ref: "#/components/schemas/TopazCreateRequestVideoSchema" + - $ref: "#/components/schemas/TopazCreateRequestImageSequenceSchema" + TopazCreateRequestImageSequenceSchema: + properties: + destination: + properties: + external: + $ref: "#/components/schemas/TopazExternalStorage" + type: object + filters: + $ref: "#/components/schemas/TopazInputFilters" + output: + $ref: "#/components/schemas/TopazOutputInformationImageSequence" + source: + description: 비디오의 소스 세부 정보 + properties: + container: + description: 이미지 파일의 컨테이너 형식 + enum: + - DPX + - EXR + - JPEG + - PNG + - TIFF + example: TIFF + type: string + endNumber: + description: 이미지 시퀀스의 선택적 종료 프레임 번호 + example: 120 + type: integer + external: + $ref: "#/components/schemas/TopazExternalStorage" + frameCount: + description: 비디오의 총 프레임 수. 이 경우 이미지 파일 수와 동일합니다. + example: 18000 + type: number + frameRate: + description: 비디오의 프레임 속도 + example: 30 + type: number + resolution: + description: 이미지의 해상도 세부 정보 + properties: + height: + description: 이미지의 높이(픽셀 단위) + example: 1080 + type: integer + width: + description: 이미지의 너비(픽셀 단위) + example: 1920 + type: integer + required: + - width + - height + type: object + startNumber: + description: 이미지 시퀀스의 선택적 시작 프레임 번호 + example: 120 + type: integer + required: + - container + - frameCount + - frameRate + - resolution + - external + type: object + required: + - source + - filters + - output + - destination + title: Image Sequence + type: object + TopazCreateRequestVideoSchema: + properties: + destination: + properties: + external: + $ref: "#/components/schemas/TopazExternalStorage" + type: object + filters: + $ref: "#/components/schemas/TopazInputFilters" + output: + $ref: "#/components/schemas/TopazOutputInformationVideo" + overrides: + properties: + isPaidDiffusion: + type: boolean + type: object + source: + description: 비디오의 소스 세부 정보 + properties: + container: + description: 비디오 파일의 컨테이너 형식 + enum: + - mp4 + - mov + - mkv + example: mp4 + type: string + duration: + description: 비디오 파일의 길이(초) + example: 600 + type: number + external: + $ref: "#/components/schemas/TopazExternalStorage" + frameCount: + description: 비디오의 총 프레임 수 + example: 18000 + type: number + frameRate: + description: 비디오의 프레임 속도 + example: 30 + type: number + resolution: + description: 비디오의 해상도 세부 정보 + properties: + height: + description: 비디오의 높이(픽셀) + example: 1080 + type: integer + width: + description: 비디오의 너비(픽셀) + example: 1920 + type: integer + required: + - width + - height + type: object + size: + description: 비디오 파일의 크기(바이트) + example: 123456000 + type: integer + required: + - container + - size + - duration + - frameCount + - frameRate + - resolution + type: object + required: + - source + - filters + - output + title: Video AI + type: object + TopazCredentialsS3: + properties: + externalId: + description: 추가 보안 계층을 위한 일종의 비밀 문자열 + example: MSTnuGztXtTU25XKjVfMJCsujv6VtAGtv1TGSjtOL6M= + type: string + roleArn: + description: 수임할 역할의 AWS ARN + example: arn:aws:iam::123456789:role/topazlabs + type: string + required: + - roleArn + - externalId + type: object + TopazDownloadResponse: + properties: + download_url: + description: 이미지를 다운로드하기 위한 사전 서명된 URL + example: https://example.com/d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b?presigned_headers + type: string + expiry: + description: 사전 서명된 URL의 만료 시간(Unix 타임스탬프) + example: 1617220000 + type: integer + head_url: + description: 이미지 메타데이터를 가져오기 위한 사전 서명된 URL + example: https://example.com/d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b?presigned_headers + type: string + required: + - download_url + - expiry + type: object + TopazEnhanceGenRequest: + properties: + color_preservation: + default: "true" + description: "원본 색상을 유지하려면: Reimagine에서만 사용 가능(Topaz API 요구 사항으로 인해 문자열 \"true\" 또는 \"false\"여야 함)" + enum: + - "true" + - "false" + type: string + creativity: + default: 3 + description: "창의성 설정 범위는 1에서 9까지: Reimagine에서만 사용 가능" + maximum: 9 + minimum: 1 + type: integer + crop_to_fill: + default: false + description: 기본 동작은 다른 가로세로 비율이 선택된 경우 이미지를 레터박스 처리하는 것입니다. 대신 이미지를 자르기 위해 crop_to_fill을 true로 설정하여 이미지를 크기에 맞게 자르려면 이 옵션을 활성화하세요. + type: boolean + face_enhancement: + default: true + description: 기본적으로 이미지 처리 중에 얼굴(있는 경우)도 향상됩니다. 원하지 않으면 face_enhancement를 false로 설정하세요. + type: boolean + face_enhancement_creativity: + default: 0 + description: "얼굴 향상을 위한 창의성 수준을 0에서 1까지 선택합니다. 기본값은 0이며, face_enhancement가 false인 경우 무시됩니다." + maximum: 1 + minimum: 0 + type: number + face_enhancement_strength: + default: 0.8 + description: "향상된 얼굴이 배경에 비해 얼마나 선명한지 0에서 1까지 제어합니다. 기본값은 0.8이며, face_enhancement가 false인 경우 무시됩니다." + maximum: 1 + minimum: 0 + type: number + face_preservation: + default: "true" + description: "캐릭터의 정체성을 유지하려면: Reimagine에서만 사용 가능(Topaz API 요구 사항으로 인해 문자열 \"true\" 또는 \"false\"여야 함)" + enum: + - "true" + - "false" + type: string + image: + description: "처리할 이미지 파일. 지원 형식: jpeg(또는 jpg), png, tiff(또는 tif)" + format: binary + type: string + model: + default: Reimagine + description: 이미지 처리에 사용할 모델 (Bloom - Creative Upscale) + enum: + - Reimagine + type: string + output_format: + default: jpeg + description: 출력 이미지의 원하는 형식 + enum: + - jpeg + - jpg + - png + - tiff + - tif + type: string + output_height: + description: 출력 이미지의 원하는 높이(픽셀 단위) + maximum: 32000 + minimum: 1 + type: integer + output_width: + description: 출력 이미지의 원하는 너비(픽셀 단위) + maximum: 32000 + minimum: 1 + type: integer + prompt: + description: 창의적인 업스케일링 가이드를 위한 텍스트 프롬프트 - Reimagine에서만 사용 가능 + example: enter-your-prompt-here + type: string + source_id: + description: 소스 이미지의 고유 식별자 + example: d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b + type: string + source_url: + description: 소스 이미지의 URL + example: https://example.com/image.jpg + type: string + subject_detection: + default: All + description: "이미지에서 모든 피사체, 전경 피사체만, 또는 배경만 감지할지 여부를 지정합니다. AI 모델이 실행될 기준입니다." + enum: + - All + - Foreground + - Background + type: string + required: + - model + type: object + TopazEnhanceGenResponse: + properties: + eta: + description: 예상 완료 시간(Unix 타임스탬프) + example: 1617220000 + type: integer + process_id: + description: 처리 작업의 고유 식별자 + example: d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b + type: string + source_id: + description: 소스 이미지의 고유 식별자 + example: d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b + type: string + required: + - process_id + - eta + type: object + TopazExternalStorage: + properties: + bucketName: + example: galaxies + type: string + credentials: + $ref: "#/components/schemas/TopazCredentialsS3" + key: + description: "예시에는 선택적 디렉터리 경로가 포함된 이미지 시퀀스 요청의 표준 지정자가 포함되어 있습니다. \"%\"로 시작하고 정수 지정자 \"d\"로 끝나야 합니다. 예시의 \"0\"은 왼쪽에 0을 채우는 것을 나타내며, \"6\"은 파일 이름의 자릿수를 나타냅니다.\n비디오 요청의 키는 S3에서 지원하는 유효한 문자여야 합니다.\n" + example: milky_way/%06d.tiff + type: string + provider: + enum: + - s3 + example: s3 + type: string + required: + - provider + - credentials + - bucketName + - key + type: object + TopazInputFilters: + description: EnhancementFilter 또는 FrameInterpolationFilter 객체의 배열 + example: + - auto: Auto + blur: 0.6 + compression: 0.1 + details: 0.2 + fieldOrder: Auto + focusFixLevel: Normal + grain: 0.02 + grainSize: 1 + halo: 0.4 + model: prob-4 + noise: 0.3 + preblur: 0.5 + prenoise: 0.01 + recoverOriginalDetailValue: 0.7 + videoType: Progressive + - duplicate: true + duplicateThreshold: 0.01 + fps: 60 + model: apo-8 + slowmo: 2 + items: + anyOf: + - $ref: "#/components/schemas/TopazVideoEnhancementFilter" + - $ref: "#/components/schemas/TopazVideoFrameInterpolationFilter" + type: array + TopazOutputInformationImageSequence: + properties: + codecId: + description: 알려진 경우 비디오 코덱 ID입니다. 기본값은 videoEncoder입니다. + example: h265-main-win-nvidia + type: string + container: + description: "원하는 출력 컨테이너, 기본값은 입력 컨테이너" + enum: + - DPX + - EXR + - JPEG + - PNG + - TIFF + example: TIFF + type: string + cropToFit: + description: 출력 크기에 맞게 중앙 자르기 + example: true + type: boolean + frameRate: + description: 프레임 속도 + example: 30 + type: number + resolution: + description: 원하는 출력 해상도 + properties: + height: + description: 픽셀 단위의 높이. 최대 크기는 인코더에 따라 다르며 아래 표를 참조할 수 있습니다.
H264 H265 ProRes AV1 VP9
4096 8192 16386 8704 8192
+ example: 4320 + type: integer + width: + description: 픽셀 단위의 너비. 최대 크기는 인코더에 따라 다르며 아래 표를 참조할 수 있습니다.
H264 H265 ProRes AV1 VP9
4096 8192 16386 16384 8192
+ example: 7680 + type: integer + required: + - width + - height + type: object + videoEncoder: + enum: + - DPX + - EXR + - JPEG + - PNG + - TIFF + example: TIFF + type: string + videoProfile: + description: videoEncoder에 특화된 코덱 프로필 + example: Main + type: string + required: + - resolution + - frameRate + type: object + TopazOutputInformationVideo: + properties: + audioBitrate: + description: "오디오 비트레이트, audioTransfer가 Copy 또는 Convert인 경우. 제공되지 않으면 코덱의 기본값이 사용됩니다." + example: "320" + type: string + audioCodec: + description: __audioTransfer가 Copy 또는 Convert인 경우 필수입니다.__ + enum: + - AAC + - AC3 + - PCM + example: AAC + type: string + audioTransfer: + enum: + - Copy + - Convert + - None + example: Copy + type: string + codecId: + description: 알려진 경우 비디오 코덱 ID입니다. 기본값은 videoEncoder입니다. + example: h265-main-win-nvidia + type: string + container: + description: 원하는 출력 컨테이너 + enum: + - mp4 + - mov + - mkv + example: mp4 + type: string + cropToFit: + description: 출력 크기에 맞게 중앙 자르기 + example: true + type: boolean + dynamicCompressionLevel: + description: __videoBitrate가 제공되지 않은 경우 필수입니다.__ 자동 CQP 선택. + enum: + - Low + - Mid + - High + example: Mid + type: string + frameRate: + description: 프레임 레이트 + example: 30 + type: number + resolution: + description: 원하는 출력 해상도 + properties: + height: + description: 픽셀 단위의 높이. 최대 크기는 인코더에 따라 다르며 아래 표를 참조할 수 있습니다
H264 H265 ProRes AV1 VP9
4096 8192 16386 8704 8192
+ example: 4320 + type: integer + width: + description: 픽셀 단위의 너비. 최대 크기는 인코더에 따라 다르며 아래 표를 참조할 수 있습니다
H264 H265 ProRes AV1 VP9
4096 8192 16386 16384 8192
+ example: 7680 + type: integer + required: + - width + - height + type: object + videoBitrate: + description: "__dynamicCompressionLevel이 제공되지 않은 경우 필수입니다.__ 초당 킬로비트는 \"k\", 메가비트는 \"m\" 접미사가 붙은 고정 비트레이트." + example: 1k + type: string + videoEncoder: + enum: + - AV1 + - FFV1 + - H264 + - H265 + - ProRes + - QuickTime Animation + - QuickTime R210 + - QuickTime V210 + - VP9 + example: H265 + type: string + videoProfile: + description: "videoEncoder에 특화된 코덱 프로필. 'videoEncoder' 선택에 따른 사용 가능한 프로필 조합은 다음과 같습니다
H264 H265 ProRes AV1 VP9
High Main, Main10 422 Proxy, 422 LT, 422 Std, 422 HQ 8-bit, 10-bit Good, Best
" + example: Main + type: string + required: + - resolution + - frameRate + - audioCodec + - audioTransfer + type: object + TopazStatusResponse: + properties: + category: + description: "처리 카테고리 (예: \"Enhance\")" + type: string + creation_time: + description: Unix 타임스탬프의 생성 시간 + type: integer + credits: + description: 이 작업에 사용된 크레딧 + type: integer + crop_to_fill: + description: crop to fill 활성화 여부 + type: boolean + eta: + description: Unix 타임스탬프의 예상 완료 시간 + type: integer + face_enhancement: + description: 얼굴 향상 활성화 여부 + type: boolean + face_enhancement_creativity: + description: 얼굴 향상 창의성 수준 + type: number + face_enhancement_strength: + description: 얼굴 향상 강도 수준 + type: number + filename: + description: 확장자 없는 원본 파일 이름 + type: string + input_format: + description: 입력 이미지의 형식 + type: string + input_height: + description: 픽셀 단위의 입력 이미지 높이 + type: integer + input_width: + description: 픽셀 단위의 입력 이미지 너비 + type: integer + model: + description: "사용된 특정 모델 (예: \"Reimagine\")" + type: string + model_type: + description: "사용된 모델 유형 (예: \"Generative\")" + type: string + modification_time: + description: Unix 타임스탬프의 마지막 수정 시간 + type: integer + options_json: + description: 추가 옵션이 포함된 JSON 문자열 + type: string + output_format: + description: 출력 이미지의 형식 + type: string + output_height: + description: 픽셀 단위의 출력 이미지 높이 + type: integer + output_width: + description: 출력 이미지의 너비(픽셀 단위) + type: integer + process_id: + description: 처리 작업의 고유 식별자 + type: string + progress: + description: 진행률 백분율 (0-100) + maximum: 100 + minimum: 0 + type: number + source_id: + description: 소스 이미지의 고유 식별자 + type: string + status: + description: 처리 작업의 현재 상태 + enum: + - Pending + - Processing + - Completed + - Failed + - Cancelled + type: string + subject_detection: + description: 피사체 감지 설정 + type: string + sync: + description: 동기 요청 여부 + type: boolean + required: + - process_id + - status + - credits + type: object + TopazVideoAcceptResponse: + properties: + message: + description: 응답 메시지 + example: Accepted + type: string + uploadId: + description: 멀티 파트 업로드를 완료하기 위한 업로드 ID + example: GDlWC7qIaE6okS41Xf/ktpuS5XzTRabg + type: string + urls: + description: 파트를 PUT할 URL들 + example: + - https://videocloud.s3.amazonaws.com/source.mp4?uploadPart1 + - https://videocloud.s3.amazonaws.com/source.mp4?uploadPart2 + items: + type: string + type: array + required: + - uploadId + - urls + type: object + TopazVideoCompleteUploadRequest: + properties: + md5Hash: + description: 소스 비디오 파일의 MD5 해시 (16진수) + example: 4d186321c1a7f0f354b297e8914ab240 + type: string + uploadResults: + description: 업로드된 파트의 파트 번호와 ETag 쌍의 배열입니다. ETag는 파트 업로드 시 S3에서 반환됩니다. + items: + properties: + eTag: + description: 파트 업로드 시 S3에서 반환되는 eTag 값 + example: d41d8cd98f00b204e9800998ecf8427e + type: string + partNum: + description: "업로드된 파트의 파트 번호, 1부터 시작" + example: 1 + type: integer + required: + - partNum + - eTag + type: object + type: array + required: + - uploadResults + type: object + TopazVideoCompleteUploadResponse: + properties: + message: + description: 확인 메시지 + example: Processing has been queued + type: string + required: + - message + type: object + TopazVideoCreateRequest: + oneOf: + - $ref: "#/components/schemas/TopazCreateRequestVideoSchema" + - $ref: "#/components/schemas/TopazCreateRequestImageSequenceSchema" + TopazVideoCreateResponse: + properties: + estimates: + $ref: "#/components/schemas/TopazVideoRequestEstimates" + requestId: + description: 비디오 처리 요청의 고유 식별자 + example: c1f96dc2-c448-00e6-82ed-14ecb6403c62 + format: uuid + type: string + required: + - requestId + - estimates + type: object + TopazVideoEnhancedDownload: + description: 향상된 비디오 파일의 서명된 다운로드 URL + properties: + expiresAt: + description: UTC epoch 이후의 시간(밀리초) + example: 1727213400000 + type: integer + expiresIn: + description: TTL(밀리초) + example: 86400000 + type: integer + url: + example: https://videocloud.r2.cloudflarestorage.com/enhanced.mp4 + type: string + type: object + TopazVideoEnhancementFilter: + properties: + auto: + description: 선택된 모델의 매개변수 모드 + enum: + - Auto + - Manual + - Relative + example: Auto + type: string + blur: + description: 적용된 선명도의 수량 + example: 0.6 + maximum: 1 + minimum: -1 + type: number + compression: + description: 압축 복구 강도 조정 + example: 0.1 + maximum: 1 + minimum: -1 + type: number + creativity: + description: Starlight Creative(slc-1) 전용 창의성 수준 + enum: + - low + - high + type: string + details: + description: 디테일 재구성 수량 + example: 0.2 + maximum: 1 + minimum: -1 + type: number + fieldOrder: + description: 인터레이스 입력 비디오의 필드 순서 선택적 지정 + enum: + - TopFirst + - BottomFirst + - Auto + example: Auto + type: string + focusFixLevel: + description: 흐릿한 피사체를 강하게 보정하기 위해 비디오 입력을 다운스케일합니다. + enum: + - None + - Normal + - Strong + example: Normal + type: string + grain: + description: AI 모델 처리 이후에 그레인을 추가합니다. + example: 0.02 + maximum: 0.1 + minimum: 0 + type: number + grainSize: + description: 생성된 그레인의 크기입니다. + example: 1 + maximum: 5 + minimum: 0 + type: number + halo: + description: 헤일로 감소 수량입니다. + example: 0.4 + maximum: 1 + minimum: -1 + type: number + isOptimizedMode: + description: Starlight Creative (slc-1) 전용으로 참으로 설정합니다. + type: boolean + model: + description: AI 모델의 짧은 코드 이름입니다. + enum: + - aaa-9 + - ahq-12 + - alq-13 + - alqs-2 + - amq-13 + - amqs-2 + - ddv-3 + - dtd-4 + - dtds-2 + - dtv-4 + - dtvs-2 + - gcg-5 + - ghq-5 + - iris-2 + - iris-3 + - nxf-1 + - nyx-3 + - prob-4 + - rhea-1 + - rxl-1 + - thd-3 + - thf-4 + - thm-2 + - slf-1 + - slc-1 + example: prob-4 + type: string + noise: + description: 노이즈 감소 수량입니다. + example: 0.3 + maximum: 1 + minimum: -1 + type: number + preblur: + description: 안티앨리어싱 및 디블러링 강도를 조정합니다. + example: 0.5 + maximum: 1 + minimum: -1 + type: number + prenoise: + description: 과도한 스무딩을 줄이기 위해 입력에 노이즈를 추가합니다. + example: 0.01 + maximum: 0.1 + minimum: 0 + type: number + recoverOriginalDetailValue: + description: 출력 비디오에 소스 세부 정보를 다시 도입합니다. + example: 0.7 + maximum: 1 + minimum: 0 + type: number + videoType: + description: 비디오의 프레임/필드 유형입니다. + enum: + - Progressive + - Interlaced + - ProgressiveInterlaced + example: Progressive + type: string + required: + - model + type: object + TopazVideoFrameInterpolationFilter: + properties: + duplicate: + description: 입력에서 복제 프레임을 분석하고 제거합니다. + example: true + type: boolean + duplicateThreshold: + description: 복제 프레임 감지의 민감도입니다. + example: 0.01 + maximum: 0.1 + minimum: 0.001 + type: number + fps: + description: "출력 프레임 속도, 지속 시간을 증가시키지 않습니다." + example: 60 + maximum: 240 + minimum: 15 + type: number + model: + description: AI 모델의 짧은 코드 이름입니다. + enum: + - aion-1 + - apf-2 + - apo-8 + - chf-3 + - chr-2 + example: apo-8 + type: string + slowmo: + description: 입력 비디오에 적용되는 슬로우 모션 계수입니다. + example: 2 + maximum: 16 + minimum: 1 + type: number + required: + - model + type: object + TopazVideoRequestEstimates: + description: 하한 및 상한 추정치입니다. + properties: + cost: + description: 크레딧 단위의 비용 범위입니다. + example: + - 10 + - 12 + items: + type: integer + type: array + time: + description: 초 단위의 시간 범위입니다. + example: + - 600 + - 700 + items: + type: integer + type: array + type: object + TopazVideoStatusResponse: + properties: + averageFps: + description: 각 노드의 평균 처리 속도입니다. + example: 1.23 + type: number + combinedFps: + description: 모든 노드의 결합 처리 속도입니다. + example: 12.34 + type: number + download: + $ref: "#/components/schemas/TopazVideoEnhancedDownload" + estimates: + $ref: "#/components/schemas/TopazVideoRequestEstimates" + message: + example: Processing + type: string + outputSize: + description: 출력 비디오의 크기입니다. + example: 10 GB + type: string + progress: + description: 총 진행률 백분율입니다. + example: 82 + maximum: 100 + minimum: 0 + type: number + status: + description: 비디오 처리의 현재 상태입니다. + enum: + - requested + - accepted + - initializing + - preprocessing + - processing + - postprocessing + - complete + - canceling + - canceled + - failed + example: processing + type: string + required: + - status + type: object + TripoAnimation: + enum: + - preset:idle + - preset:walk + - preset:climb + - preset:jump + - preset:run + - preset:slash + - preset:shoot + - preset:hurt + - preset:fall + - preset:turn + type: string + TripoBalance: + properties: + balance: + type: number + frozen: + type: number + required: + - balance + - frozen + type: object + TripoConvertFormat: + enum: + - GLTF + - USDZ + - FBX + - OBJ + - STL + - 3MF + type: string + TripoErrorResponse: + properties: + code: + enum: + - 1001 + - 2000 + - 2001 + - 2002 + - 2003 + - 2004 + - 2006 + - 2007 + - 2008 + - 2010 + type: integer + message: + type: string + suggestion: + type: string + required: + - code + - message + - suggestion + type: object + TripoGeometryQuality: + enum: + - standard + - detailed + type: string + TripoImageToModel: + description: Tripo 이미지 기반 3D 모델 생성 작업 유형입니다. + enum: + - image_to_model + example: image_to_model + type: string + TripoModelStyle: + description: Tripo 모델 생성 스타일입니다. + enum: + - person:person2cartoon + - animal:venom + - object:clay + - object:steampunk + - object:christmas + - object:barbie + - gold + - ancient_bronze + example: object:clay + type: string + TripoModelVersion: + description: Tripo 모델의 버전입니다. + enum: + - v2.5-20250123 + - v2.0-20240919 + - v1.4-20240625 + example: v2.5-20250123 + type: string + TripoMultiviewMode: + description: "멀티뷰 생성 모드로, 뷰 방향을 지정합니다." + enum: + - LEFT + - RIGHT + example: LEFT + type: string + TripoMultiviewToModel: + description: Tripo 멀티뷰 기반 3D 모델 생성을 위한 작업 유형입니다. + enum: + - multiview_to_model + example: multiview_to_model + type: string + TripoOrientation: + default: default + enum: + - align_image + - default + type: string + TripoResponseSuccessCode: + description: Tripo API 응답의 표준 성공 코드입니다. 일반적으로 성공 시 0입니다. + example: 0 + type: integer + TripoSpec: + enum: + - mixamo + - tripo + type: string + TripoStandardFormat: + enum: + - glb + - fbx + type: string + TripoStylizeOptions: + enum: + - lego + - voxel + - voronoi + - minecraft + type: string + TripoSuccessTask: + properties: + code: + enum: + - 0 + type: integer + data: + properties: + task_id: + description: getTask에 사용됩니다. + type: string + required: + - task_id + type: object + required: + - code + - data + type: object + TripoTask: + properties: + consumed_credit: + description: "작업에서 실제로 소비된 크레딧입니다. 상태가 확정되면 표시되며, 실패한 작업의 경우 0입니다." + type: integer + create_time: + type: integer + input: + type: object + output: + properties: + base_model: + type: string + model: + type: string + pbr_model: + type: string + rendered_image: + type: string + riggable: + type: boolean + topology: + enum: + - bip + - quad + type: string + type: object + progress: + maximum: 100 + minimum: 0 + type: integer + status: + enum: + - queued + - running + - success + - failed + - cancelled + - unknown + - banned + - expired + type: string + task_id: + type: string + type: + type: string + required: + - task_id + - type + - status + - input + - output + - progress + - create_time + type: object + TripoTextToModel: + description: "Tripo 작업 유형으로, 특히 텍스트 기반 3D 모델 생성 작업입니다." + enum: + - text_to_model + example: text_to_model + type: string + TripoTextureAlignment: + enum: + - original_image + - geometry + type: string + TripoTextureFormat: + enum: + - BMP + - DPX + - HDR + - JPEG + - OPEN_EXR + - PNG + - TARGA + - TIFF + - WEBP + type: string + TripoTextureQuality: + enum: + - standard + - detailed + type: string + TripoTopology: + enum: + - bip + - quad + type: string + TripoTypeAnimatePrerigcheck: + enum: + - animate_prerigcheck + type: string + TripoTypeAnimateRetarget: + enum: + - animate_retarget + type: string + TripoTypeAnimateRig: + enum: + - animate_rig + type: string + TripoTypeConvertModel: + enum: + - convert_model + type: string + TripoTypeRefineModel: + enum: + - refine_model + type: string + TripoTypeStylizeModel: + enum: + - stylize_model + type: string + TripoTypeTextureModel: + enum: + - texture_model + type: string + UpdateCouponRequest: + properties: + metadata: + additionalProperties: + type: string + description: 추가 정보를 저장하기 위한 키-값 쌍 + type: object + name: + description: 고객에게 표시되는 쿠폰 이름 + type: string + type: object + UpdatePromoCodeRequest: + properties: + active: + description: 프로모션 코드가 활성 상태인지 여부 + type: boolean + metadata: + additionalProperties: + type: string + description: 추가 정보를 저장하기 위한 키-값 쌍 + type: object + type: object + UsageBalance: + description: "현재 남은 잔액으로, /customers/balance를 반영합니다." + properties: + amount_micros: + format: double + type: number + cloud_credit_balance_micros: + format: double + type: number + currency: + type: string + prepaid_balance_micros: + format: double + type: number + type: object + UsageBreakdownRow: + properties: + cost_micros: + description: 해당 기간 동안 이 그룹의 총 총 지출(마이크로 단위)입니다. + format: double + type: number + group_key: + type: string + share: + description: 이 그룹에 귀속되는 총 지출의 비율(0-1)입니다. + format: double + type: number + required: + - group_key + - cost_micros + - share + type: object + UsageBucket: + properties: + cost_micros: + description: "이 기간 동안 이 그룹의 총 지출(마이크로 단위, 1/1,000,000 USD)입니다." + format: double + type: number + group_key: + description: "이 버킷이 속한 그룹 값(예: 모델 이름)입니다." + type: string + period_end: + description: 이 버킷이 속한 청구 기간의 종료일입니다. + format: date-time + type: string + period_start: + description: 이 버킷이 속한 청구 기간의 시작일입니다. + format: date-time + type: string + required: + - period_start + - period_end + - group_key + - cost_micros + type: object + UsageSummary: + properties: + balance: + $ref: "#/components/schemas/UsageBalance" + spend_micros: + description: 해당 기간 동안의 총 총 지출(마이크로 단위)입니다. + format: double + type: number + required: + - spend_micros + type: object + User: + properties: + email: + description: 해당 사용자의 이메일 주소입니다. + type: string + id: + description: 이 사용자의 고유 ID입니다. + type: string + isAdmin: + description: 사용자에게 관리자 권한이 있는지 여부를 나타냅니다. + type: boolean + isApproved: + description: 사용자가 승인되었는지 여부를 나타냅니다. + type: boolean + name: + description: 이 사용자의 이름입니다. + type: string + type: object + Veo2GenVidPollRequest: + properties: + operationName: + description: 전체 작업 이름 (예측 응답에서 가져옴) + example: projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID + type: string + required: + - operationName + type: object + Veo2GenVidPollResponse: + properties: + done: + type: boolean + error: + description: 작업 실패 시 오류 세부 정보 + properties: + code: + description: 오류 코드 + type: integer + message: + description: 오류 메시지 + type: string + type: object + name: + type: string + response: + description: done이 참인 경우 실제 예측 응답 + properties: + "@type": + example: type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse + type: string + raiMediaFilteredCount: + description: 책임 있는 AI 정책에 의해 필터링된 미디어 수 + type: integer + raiMediaFilteredReasons: + description: 책임 있는 AI 정책에 의해 미디어가 필터링된 이유 + items: + type: string + type: array + videos: + items: + properties: + bytesBase64Encoded: + description: Base64 인코딩된 비디오 콘텐츠 + type: string + gcsUri: + description: 비디오의 클라우드 스토리지 URI + type: string + mimeType: + description: 비디오 MIME 타입 + type: string + type: object + type: array + type: object + type: object + Veo2GenVidRequest: + properties: + instances: + items: + properties: + image: + description: 비디오 생성을 안내하는 선택적 이미지 + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + format: byte + type: string + gcsUri: + type: string + mimeType: + type: string + type: object + prompt: + description: 비디오의 텍스트 설명 + type: string + required: + - prompt + type: object + type: array + parameters: + properties: + aspectRatio: + example: 16:9 + type: string + durationSeconds: + type: integer + enhancePrompt: + type: boolean + negativePrompt: + type: string + personGeneration: + enum: + - ALLOW + - BLOCK + type: string + sampleCount: + type: integer + seed: + format: uint32 + type: integer + storageUri: + description: 비디오 업로드를 위한 선택적 클라우드 스토리지 URI + type: string + type: object + type: object + Veo2GenVidResponse: + properties: + name: + description: 작업 리소스 이름 + example: projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8 + type: string + required: + - name + type: object + VeoGenVidPollRequest: + properties: + operationName: + description: 생성 응답에서 반환된 전체 작업 이름 + example: projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID + type: string + required: + - operationName + type: object + VeoGenVidPollResponse: + description: Veo 비디오 생성 작업 폴링 응답 + properties: + done: + description: 작업 완료 여부 + type: boolean + error: + description: 작업 실패 시 표시되는 오류 세부 정보 + properties: + code: + description: gRPC 오류 코드 + type: integer + message: + description: 오류 메시지 + type: string + type: object + name: + description: 작업 리소스 이름 + type: string + response: + description: done이 참일 때 표시되는 예측 응답 + properties: + "@type": + example: type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse + type: string + raiMediaFilteredCount: + description: 책임 있는 AI 정책에 의해 필터링된 비디오 수 + type: integer + raiMediaFilteredReasons: + description: 책임 있는 AI 정책에 의해 비디오가 필터링된 이유 + items: + type: string + type: array + videos: + items: + properties: + bytesBase64Encoded: + description: Base64 인코딩된 비디오 콘텐츠 + type: string + gcsUri: + description: 생성된 비디오의 Cloud Storage URI + type: string + mimeType: + description: 비디오 MIME 유형 (video/mp4) + type: string + type: object + type: array + type: object + type: object + VeoGenVidRequest: + properties: + instances: + items: + properties: + cameraControl: + description: 카메라 움직임 유형. 이미지가 제공되어야 합니다. + enum: + - fixed + - pan_left + - pan_right + - tilt_up + - tilt_down + - truck_left + - truck_right + - pedestal_up + - pedestal_down + - push_in + - pull_out + type: string + image: + description: 비디오 생성을 안내하는 선택적 첫 프레임 이미지 + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64로 인코딩된 이미지 데이터 + format: byte + type: string + gcsUri: + description: 이미지의 Cloud Storage URI + type: string + mimeType: + description: 이미지의 MIME 유형 (image/jpeg 또는 image/png) + enum: + - image/jpeg + - image/png + type: string + type: object + lastFrame: + description: 선택적 마지막 프레임 이미지. 이미지와 함께 사용하여 첫 프레임과 마지막 프레임 사이의 비디오를 생성합니다. Veo 3.0+ 모델에서 지원됩니다. + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64로 인코딩된 이미지 데이터 + format: byte + type: string + gcsUri: + description: 이미지의 Cloud Storage URI + type: string + mimeType: + description: 이미지의 MIME 유형 (image/jpeg 또는 image/png) + enum: + - image/jpeg + - image/png + type: string + type: object + mask: + description: 비디오 편집을 위한 선택적 마스크. 입력 비디오에 적용됩니다. + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64로 인코딩된 마스크 바이트 + format: byte + type: string + gcsUri: + description: 마스크 파일의 Cloud Storage URI + type: string + maskMode: + description: 마스크가 적용되는 방식 + enum: + - insert + - remove + - remove_static + - outpaint + type: string + mimeType: + description: "마스크의 MIME 유형 (image/png, image/jpeg, image/webp 또는 비디오 형식)" + type: string + type: object + prompt: + description: 생성할 비디오의 텍스트 설명 + type: string + referenceImages: + description: 비디오 생성을 안내하는 선택적 참조 이미지. 최대 3개의 에셋 이미지 또는 1개의 스타일 이미지를 지원합니다. Veo 3.1 모델(미리보기)에서 지원됩니다. + items: + properties: + image: + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64로 인코딩된 이미지 데이터 + format: byte + type: string + gcsUri: + description: 이미지의 Cloud Storage URI + type: string + mimeType: + description: 이미지의 MIME 유형 (image/jpeg 또는 image/png) + enum: + - image/jpeg + - image/png + type: string + type: object + referenceId: + description: 참조 이미지의 선택적 식별자 + type: string + referenceType: + description: 참조 이미지 유형 + enum: + - asset + - style + type: string + required: + - image + - referenceType + type: object + type: array + video: + description: 비디오 확장 또는 편집을 위한 선택적 입력 비디오. 이미지 및 referenceImages와 호환되지 않습니다. + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64로 인코딩된 비디오 바이트 + format: byte + type: string + gcsUri: + description: 입력 비디오의 Cloud Storage URI + type: string + mimeType: + description: 비디오의 MIME 타입 + enum: + - video/mov + - video/mpeg + - video/mp4 + - video/mpg + - video/avi + - video/wmv + - video/mpegps + - video/x-flv + type: string + type: object + required: + - prompt + type: object + type: array + parameters: + properties: + aspectRatio: + description: "생성된 비디오의 가로세로 비율. 기본값: 16:9" + enum: + - 16:9 + - 9:16 + example: 16:9 + type: string + compressionQuality: + description: "비디오 압축 품질. 기본값: 최적화됨" + enum: + - optimized + - lossless + type: string + durationSeconds: + description: "생성된 비디오의 목표 지속 시간(초). Veo 2: 5-8. Veo 3/3.1: 4, 6, 또는 8. 기본값: 8" + type: number + enhancePrompt: + description: "더 높은 품질을 위해 프롬프트를 자동으로 개선합니다. 기본값: 참." + type: boolean + fps: + description: 생성된 비디오의 초당 프레임 수 + type: integer + generateAudio: + description: "비디오와 함께 오디오를 생성할지 여부입니다. 기본값: 참. Veo 3.0+ 모델에서 지원됩니다." + type: boolean + negativePrompt: + description: 생성된 비디오에서 피해야 할 내용을 설명하는 텍스트 + type: string + personGeneration: + description: "생성된 비디오에서 사람을 제어합니다. 기본값: allow_adult" + enum: + - dont_allow + - allow_adult + - allowAll + type: string + pubsubTopic: + description: "진행 업데이트를 위한 Cloud Pub/Sub 주제 (projects/{project}/topics/{topic})" + type: string + resizeMode: + description: "입력 이미지의 크기 조정 방식. 기본값: pad" + enum: + - pad + - crop + type: string + resolution: + description: "출력 비디오 해상도. Veo 3.0+ 모델에서 지원됩니다. 기본값: 720p" + enum: + - 720p + - 1080p + - 4k + type: string + sampleCount: + description: 생성할 비디오 수. 지정하지 않으면 비디오 1개가 생성됩니다. + maximum: 4 + minimum: 1 + type: integer + seed: + description: 결정적 출력을 위한 무작위 시드. sampleCount > 1이면 비디오마다 다른 시드가 사용됩니다. + format: uint32 + type: integer + storageUri: + description: 생성된 비디오 저장을 위한 Cloud Storage URI (gs://) + type: string + task: + description: 비디오 생성 요청의 작업 유형 + enum: + - textToVideo + - imageToVideo + - referenceToVideo + - edit + - extend + - upscale + type: string + type: object + type: object + VeoGenVidResponse: + description: Veo 비디오 생성 요청에 대한 응답입니다. 폴링을 위한 작업 이름이 포함되어 있습니다. + properties: + name: + description: fetchPredictOperation을 통해 결과를 폴링하는 데 사용되는 작업 리소스 이름 + example: projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8 + type: string + required: + - name + type: object + ViduCreation: + properties: + cover_url: + type: string + id: + type: string + moderation_url: + items: + type: string + type: array + url: + type: string + watermarked_url: + type: string + type: object + ViduExtendReply: + properties: + created_at: + format: date-time + type: string + credits: + format: int32 + type: integer + duration: + format: int32 + type: integer + images: + items: + type: string + type: array + model: + type: string + payload: + type: string + prompt: + type: string + resolution: + type: string + state: + $ref: "#/components/schemas/ViduState" + task_id: + type: string + video_creation_id: + type: string + video_url: + type: string + required: + - task_id + - state + - credits + type: object + ViduExtendRequest: + properties: + callback_url: + description: 작업 상태 업데이트를 위한 콜백 URL + type: string + duration: + description: "연장된 지속 시간(초) (1-7, 기본값 5)" + format: int32 + type: integer + images: + description: 종료 프레임에 대한 연장된 참조 이미지 (이미지 1개만 허용) + items: + type: string + type: array + model: + description: 모델 이름 (viduq2-pro 또는 viduq2-turbo) + type: string + payload: + description: 투명 전송 파라미터 (최대 1048576자) + type: string + prompt: + description: 비디오 생성을 위한 텍스트 프롬프트 (최대 2000자) + type: string + resolution: + description: "해상도 (540p, 720p, 1080p)" + type: string + video_creation_id: + description: "Vidu video_creation_id, video_url과 함께 필수" + type: string + video_url: + description: "모든 비디오 URL, video_creation_id와 함께 필수" + type: string + required: + - model + type: object + ViduGetCreationsReply: + properties: + creations: + items: + $ref: "#/components/schemas/ViduCreation" + type: array + err_code: + type: string + id: + type: string + state: + $ref: "#/components/schemas/ViduState" + type: object + ViduImageSetting: + properties: + duration: + description: "키 프레임 간 지속 시간(초) (2-7, 기본값 5)" + format: int32 + type: integer + key_image: + description: 각 키 프레임의 참조 이미지 + type: string + prompt: + description: 이전 프레임을 확장하기 위한 프롬프트 + type: string + required: + - key_image + type: object + ViduMultiframeReply: + properties: + created_at: + format: date-time + type: string + credits: + format: int32 + type: integer + image_settings: + items: + $ref: "#/components/schemas/ViduImageSetting" + type: array + model: + type: string + payload: + type: string + resolution: + type: string + start_image: + type: string + state: + $ref: "#/components/schemas/ViduState" + task_id: + type: string + required: + - task_id + - state + - credits + type: object + ViduMultiframeRequest: + properties: + callback_url: + description: 작업 상태 업데이트를 위한 콜백 URL + type: string + image_settings: + description: 지능형 멀티 프레임 생성 설정 (2-9 프레임) + items: + $ref: "#/components/schemas/ViduImageSetting" + type: array + model: + description: 모델 이름 (viduq2-pro 또는 viduq2-turbo) + type: string + payload: + description: 투명 전송 파라미터 (최대 1048576자) + type: string + resolution: + description: "비디오 해상도 (540p, 720p, 1080p)" + type: string + start_image: + description: 첫 번째 프레임 이미지 (Base64 또는 URL) + type: string + required: + - model + - start_image + - image_settings + type: object + ViduState: + enum: + - created + - processing + - queueing + - success + - failed + type: string + ViduTaskReply: + properties: + aspect_ratio: + type: string + bgm: + description: 배경 음악 추가 여부 + type: boolean + created_at: + format: date-time + type: string + credits: + format: int32 + type: integer + duration: + format: int32 + type: integer + images: + items: + type: string + type: array + model: + type: string + movement_amplitude: + enum: + - auto + - small + - medium + - large + type: string + off_peak: + description: 비수 모드 상태 + type: boolean + payload: + description: 투명 전송 파라미터 + type: string + prompt: + type: string + resolution: + type: string + seed: + format: int32 + type: integer + state: + $ref: "#/components/schemas/ViduState" + style: + enum: + - general + - anime + type: string + task_id: + type: string + watermark: + description: 워터마크 추가 여부 + type: boolean + required: + - task_id + - state + - credits + type: object + ViduTaskRequest: + properties: + aspect_ratio: + type: string + audio: + description: 직접 오디오-비디오 생성 기능 활성화 (q3 모델의 기본값은 참) + type: boolean + audio_type: + description: "오디오가 참일 때 오디오 유형: all (음향 효과 + 보컬), speech_only, sound_effect_only. q3 모델에는 효과 없음" + enum: + - all + - speech_only + - sound_effect_only + type: string + bgm: + description: 생성된 비디오에 배경 음악 추가 (q3 모델에는 효과 없음) + type: boolean + callback_url: + description: 작업 상태 업데이트를 위한 콜백 URL + type: string + duration: + description: "비디오 지속 시간(초). viduq3-pro: 1-16, viduq2-pro-fast: 1-10, viduq2-pro/turbo: 1-8" + format: int32 + type: integer + enhance: + type: boolean + images: + description: img2video용 이미지 (시작 프레임으로 1개 이미지 허용) + items: + type: string + type: array + is_rec: + description: 권장 프롬프트 사용 (추가 10 크레딧 소모) + type: boolean + meta_data: + description: "메타데이터 식별, 사용자 정의 메타데이터를 위한 JSON 형식 문자열" + type: string + model: + description: "모델 이름: viduq3-pro, viduq2-pro-fast, viduq2-pro, viduq2-turbo, viduq1, viduq1-classic, vidu2.0" + type: string + movement_amplitude: + description: "프레임 내 객체의 이동 진폭 (q2, q3 모델에는 효과 없음)" + enum: + - auto + - small + - medium + - large + type: string + off_peak: + description: "오프 피크 모드 (저렴한 비용, 48시간 내 작업 생성)" + type: boolean + payload: + description: 투명 전송 파라미터 (최대 1048576자) + type: string + priority: + format: int32 + type: integer + prompt: + description: 비디오 생성을 위한 텍스트 프롬프트 (최대 2000자) + type: string + resolution: + description: "해상도: 360p, 540p, 720p, 1080p, 2K (사용 가능 여부는 모델 및 기간에 따라 다름)" + type: string + seed: + description: 랜덤 시드 (지정하지 않으면 랜덤 기본값) + format: int32 + type: integer + style: + enum: + - general + - anime + type: string + voice_id: + description: 오디오용 음성 ID (q3 모델에는 효과 없음) + type: string + watermark: + description: 비디오에 워터마크 추가 (기본값 거짓) + type: boolean + wm_position: + description: "워터마크 위치: 1 (좌측 상단), 2 (우측 상단), 3 (우측 하단, 기본값), 4 (좌측 하단)" + format: int32 + type: integer + wm_url: + description: 워터마크 이미지 URL (제공되지 않으면 기본 워터마크 사용) + type: string + type: object + WanImage2ImageGenerationRequest: + properties: + input: + description: "기본 정보 입력 (프롬프트 단어, 이미지 등)" + properties: + images: + description: 이미지 기반 이미지 생성용 이미지 URL 배열 + items: + description: "이미지 URL. 지원 형식: JPEG, JPG, PNG, BMP, WEBP. 해상도 너비와 높이는 384~5000 픽셀이어야 합니다. 파일 크기는 10MB를 초과할 수 없습니다." + type: string + maxItems: 2 + minItems: 1 + type: array + negative_prompt: + description: 이미지에서 보고 싶지 않은 콘텐츠를 설명하는 역방향 프롬프트 단어 + maxLength: 500 + type: string + prompt: + description: "예상 이미지 요소 및 시각적 특징을 설명하는 긍정 프롬프트 단어. 중국어 및 영어 지원, 길이 2000자 이하" + maxLength: 2000 + type: string + required: + - prompt + - images + type: object + model: + description: 이미지 기반 이미지 생성에 호출할 모델의 ID + enum: + - wan2.5-i2i-preview + type: string + parameters: + description: 이미지 처리 파라미터 + properties: + "n": + default: 1 + description: "생성된 이미지 수. 범위 1-4, 기본값은 1" + maximum: 4 + minimum: 1 + type: integer + seed: + description: "무작위성을 제어하는 랜덤 숫자 시드. 범위 [0, 2147483647]" + maximum: 2147483647 + minimum: 0 + type: integer + size: + default: 1280*1280 + description: 출력 이미지 해상도. 기본값은 1280*1280입니다. 너비와 높이는 384~5000 픽셀이어야 합니다. + type: string + watermark: + default: false + description: 우측 하단에 워터마크 로고를 추가할지 여부 + type: boolean + type: object + required: + - model + - input + type: object + WanImage2ImageGenerationResponse: + properties: + code: + description: 실패한 요청의 오류 코드 (요청이 성공하면 반환되지 않음) + type: string + message: + description: 실패한 요청에 대한 상세 정보 (요청이 성공하면 반환되지 않음) + type: string + output: + properties: + task_id: + description: 작업 ID + type: string + task_status: + description: 작업 상태 + enum: + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + - CANCELED + - UNKNOWN + type: string + required: + - task_id + - task_status + type: object + request_id: + description: 고유 요청 식별자 + type: string + required: + - request_id + - output + type: object + WanImageGenerationRequest: + properties: + input: + description: 프롬프트 단어 등 기본 정보를 입력합니다. + properties: + negative_prompt: + description: 이미지에서 보고 싶지 않은 콘텐츠를 설명하는 반전 프롬프트 단어 + type: string + prompt: + description: "예상되는 이미지 요소와 시각적 특징을 설명하는 긍정 프롬프트 단어. 중국어와 영어를 지원하며, 길이는 800자를 초과하지 않습니다." + type: string + required: + - prompt + type: object + model: + description: 텍스트 기반 이미지 생성을 위해 호출할 모델의 ID + enum: + - wan2.5-t2i-preview + type: string + parameters: + description: 이미지 처리 파라미터 + properties: + "n": + default: 4 + description: "생성된 이미지 수. 범위 1-4, 기본값은 4" + maximum: 4 + minimum: 1 + type: integer + prompt_extend: + default: true + description: 프롬프트 지능형 재작성 활성화. 기본값은 참 + type: boolean + seed: + description: "무작위성을 제어하는 난수 시드. 범위 [0, 2147483647]" + maximum: 2147483647 + minimum: 0 + type: integer + size: + default: 1024*1024 + description: "출력 이미지 해상도. 기본값은 1024*1024. 픽셀 범위 [512, 1440], 최대 200메가픽셀" + type: string + watermark: + default: false + description: 오른쪽 하단에 워터마크 로고를 추가할지 여부 + type: boolean + type: object + required: + - model + - input + type: object + WanImageGenerationResponse: + properties: + code: + description: 실패한 요청의 오류 코드 (요청이 성공한 경우 반환되지 않음) + type: string + message: + description: 실패한 요청에 대한 자세한 정보 (요청이 성공한 경우 반환되지 않음) + type: string + output: + properties: + task_id: + description: 작업 ID + type: string + task_status: + description: 작업 상태 + enum: + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + - CANCELED + - UNKNOWN + type: string + required: + - task_id + - task_status + type: object + request_id: + description: 고유 요청 식별자 + type: string + required: + - request_id + - output + type: object + WanTaskQueryResponse: + properties: + output: + properties: + actual_prompt: + description: 지능형 재작성 후 실제 프롬프트 (비디오 작업의 경우) + type: string + check_audio: + description: 오디오 생성이 있는 I2V 작업의 오디오 URL + type: string + code: + description: 실패한 요청의 오류 코드 (요청이 성공한 경우 반환되지 않음) + type: string + end_time: + description: 작업 완료 시간 + type: string + message: + description: 실패한 요청에 대한 자세한 정보 (요청이 성공한 경우 반환되지 않음) + type: string + orig_prompt: + description: 원본 입력 프롬프트 (비디오 작업의 경우) + type: string + results: + description: 이미지 생성 작업의 결과 목록 + items: + properties: + actual_prompt: + description: 지능형 재작성 후 실제 프롬프트 (활성화된 경우) + type: string + code: + description: 이미지 오류 코드 (일부 작업이 실패한 경우 반환됨) + type: string + message: + description: 이미지 오류 정보(일부 작업이 실패할 때 반환됨) + type: string + orig_prompt: + description: 원본 입력 프롬프트 + type: string + url: + description: 생성된 이미지 URL 주소 + type: string + type: object + type: array + scheduled_time: + description: 작업 실행 시간 + type: string + submit_time: + description: 작업 제출 시간 + type: string + task_id: + description: 작업 ID + type: string + task_metrics: + description: 이미지 생성 작업에 대한 작업 결과 통계 + properties: + FAILED: + description: 실패한 작업 수 + type: integer + SUCCEEDED: + description: 성공한 작업 수 + type: integer + TOTAL: + description: 전체 작업 수 + type: integer + type: object + task_status: + description: 작업 상태 + enum: + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + - CANCELED + - UNKNOWN + type: string + video_url: + description: 완료된 비디오 생성 작업의 비디오 URL. 링크 유효 기간 24시간 + type: string + required: + - task_id + - task_status + type: object + request_id: + description: 고유 요청 식별자 + type: string + usage: + description: 출력 정보 통계. 성공한 결과만 집계됩니다. + properties: + SR: + description: 비디오 해상도 수준 (I2V 작업) + type: integer + duration: + description: 생성된 비디오의 길이(초) (I2V 작업) + type: number + image_count: + description: 생성된 이미지 수 (T2I 작업) + type: integer + size: + description: 이미지 해상도 (T2I 작업) + type: string + video_count: + description: 생성된 비디오 수 (T2V 작업) + type: integer + video_duration: + description: 생성된 비디오의 길이(초) (T2V 작업) + type: number + video_ratio: + description: 비디오 해상도 비율 (T2V 작업) + type: string + type: object + required: + - request_id + - output + type: object + WanVideoGenerationRequest: + properties: + input: + description: 프롬프트 단어 등 기본 정보를 입력합니다. + properties: + audio_url: + description: "오디오 파일 다운로드 URL. 지원 형식: mp3 및 wav. reference_video_urls와 함께 사용할 수 없습니다." + type: string + img_url: + description: "첫 번째 프레임 이미지 URL 또는 Base64 인코딩 데이터. I2V 모델에 필수입니다. 이미지 형식: JPEG, JPG, PNG, BMP, WEBP. 해상도: 360-2000 픽셀. 파일 크기: 최대 10MB." + type: string + media: + description: "wan2.7 모델의 미디어 에셋 목록. 비디오 생성을 위한 참조 자료(이미지, 오디오, 비디오)를 지정합니다.\n각 요소는 type 및 url 필드를 포함합니다.\n지원되는 type 값은 모델에 따라 다릅니다:\n- wan2.7-i2v: first_frame, last_frame, driving_audio, first_clip\n- wan2.7-r2v: reference_image, reference_video\n- wan2.7-videoedit: video, reference_image\n" + items: + properties: + type: + description: 미디어 자산 유형 + enum: + - first_frame + - last_frame + - driving_audio + - first_clip + - reference_image + - reference_video + - video + type: string + url: + description: 미디어 파일의 URL (공개 HTTP/HTTPS URL 또는 OSS 임시 URL) + type: string + required: + - type + - url + type: object + type: array + negative_prompt: + description: 역방향 프롬프트 단어는 비디오 화면에서 보고 싶지 않은 콘텐츠를 설명하는 데 사용됩니다. + maxLength: 500 + type: string + prompt: + description: "텍스트 프롬프트 단어. 중국어와 영어를 지원하며 길이는 800자를 초과하지 않습니다.\nwan2.6-r2v에서 여러 참조 비디오를 사용하는 경우 참조 비디오 순서대로 'character1', 'character2' 등을 사용하여 주제를 참조합니다.\n예: \"Character1이 길가에서 노래하고, Character2가 그 옆에서 춤을 춥니다\"\n" + maxLength: 800 + type: string + reference_video_urls: + description: "wan2.6-r2v 모델 전용 참조 비디오 URL입니다. 1-3개의 비디오 URL 배열입니다.\n입력 제한 사항:\n- 형식: mp4, mov\n- 수량: 1-3개 비디오\n- 단일 비디오 길이: 2-30초\n- 단일 파일 크기: 최대 30MB\n- audio_url과 함께 사용할 수 없음\n참조 기간: 단일 비디오 최대 5초, 두 개 비디오 각각 최대 2.5초, 세 개 비디오는 비례적으로 더 짧음.\n결제: 실제 사용된 참조 기간 기준.\n" + items: + type: string + maxItems: 3 + minItems: 1 + type: array + template: + description: "비디오 효과 템플릿 이름입니다. 선택 사항. 현재 지원: squish, flying, carousel. 사용 시 프롬프트 파라미터는 무시됩니다." + type: string + type: object + model: + description: 호출할 모델의 ID + enum: + - wan2.5-t2v-preview + - wan2.5-i2v-preview + - wan2.6-t2v + - wan2.6-i2v + - wan2.6-r2v + - wan2.7-i2v + - wan2.7-t2v + - wan2.7-r2v + - wan2.7-videoedit + - happyhorse-1.0-t2v + - happyhorse-1.0-i2v + - happyhorse-1.0-r2v + - happyhorse-1.0-video-edit + - happyhorse-1.1-t2v + - happyhorse-1.1-i2v + - happyhorse-1.1-r2v + type: string + parameters: + description: 비디오 처리 파라미터 + properties: + audio: + default: true + description: 비디오에 오디오를 추가할지 여부 + type: boolean + audio_setting: + default: auto + description: "wan2.7-videoedit 모델의 비디오 오디오 설정입니다.\n- auto (기본값): 모델이 프롬프트 콘텐츠를 기반으로 지능적으로 판단합니다.\n- origin: 입력 비디오의 원본 오디오를 강제로 유지합니다.\n" + enum: + - auto + - origin + type: string + duration: + default: 5 + description: "생성된 비디오의 길이(초):\n- wan2.5 모델: 5초 또는 10초\n- wan2.6-t2v, wan2.6-i2v: 5초, 10초 또는 15초\n- wan2.6-r2v: 5초 또는 10초만 (15초 지원 안 함)\n- wan2.7-i2v, wan2.7-t2v: [2, 15] 범위의 정수\n- wan2.7-r2v, wan2.7-videoedit: [2, 10] 범위의 정수\n" + maximum: 15 + minimum: 2 + type: integer + prompt_extend: + default: true + description: 프롬프트 지능형 재작성을 활성화할지 여부입니다. 기본값은 참입니다. + type: boolean + ratio: + description: "생성된 비디오의 화면 비율입니다. wan2.7 모델 전용입니다.\n제공되지 않으면 해상도 계층을 기준으로 기본값이 사용됩니다.\n" + enum: + - 16:9 + - 9:16 + - 1:1 + - 4:3 + - 3:4 + type: string + resolution: + description: "해상도 레벨입니다. 지원되는 값은 모델에 따라 다릅니다:\n- wan2.5-i2v-preview: 480P, 720P, 1080P\n- wan2.6-i2v: 720P, 1080P만 (480P 지원 안 함)\n- wan2.7 모델 (i2v, t2v, r2v, videoedit): 720P, 1080P (기본값 1080P)\n" + enum: + - 480P + - 720P + - 1080P + type: string + seed: + description: "난수 시드, 모델 생성 콘텐츠의 무작위성을 제어하는 데 사용됩니다." + maximum: 2147483647 + minimum: 0 + type: integer + shot_type: + default: single + description: "지능형 멀티 렌즈 제어입니다. prompt_extend가 활성화된 경우에만 작동합니다.\nwan2.6 및 wan2.7-r2v 모델용입니다.\n- single: 단일 샷 비디오 (기본값)\n- multi: 멀티 샷 비디오\n" + enum: + - multi + - single + type: string + size: + description: "비디오 해상도(너비*높이 형식). 지원되는 해상도는 모델에 따라 다릅니다:\nwan2.5 T2V: 480P (480*832, 832*480, 624*624), 720P, 1080P 크기\nwan2.6 T2V/R2V (480P 없음):\n 720P: 1280*720, 720*1280, 960*960, 1088*832, 832*1088\n 1080P: 1920*1080, 1080*1920, 1440*1440, 1632*1248, 1248*1632\n" + type: string + watermark: + default: false + description: 워터마크 로고를 추가할지 여부입니다. 워터마크는 오른쪽 하단에 위치합니다. + type: boolean + type: object + required: + - model + - input + type: object + WanVideoGenerationResponse: + properties: + code: + description: 실패한 요청의 오류 코드입니다 (요청이 성공하면 반환되지 않음) + type: string + message: + description: 실패한 요청에 대한 상세 정보입니다 (요청이 성공하면 반환되지 않음) + type: string + output: + properties: + task_id: + description: 작업 ID + type: string + task_status: + description: 작업 상태 + enum: + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + - CANCELED + - UNKNOWN + type: string + required: + - task_id + - task_status + type: object + request_id: + description: 고유 요청 식별자 + type: string + required: + - output + - request_id + type: object + WavespeedFlashVSRRequest: + description: WavespeedAI FlashVSR 비디오 업스케일링 요청 본문 + properties: + duration: + description: "비디오 길이(초)\n" + type: number + target_resolution: + default: 1080p + description: 업스케일할 대상 해상도입니다. + enum: + - 720p + - 1080p + - 2k + - 4k + type: string + video: + description: "업스케일할 비디오입니다. 비디오 파일의 URL 또는 base64로 인코딩된 비디오일 수 있습니다.\n" + type: string + required: + - video + - duration + type: object + WavespeedSeedVR2ImageRequest: + description: WavespeedAI SeedVR2 이미지 업스케일링을 위한 요청 본문 + properties: + enable_base64_output: + default: false + description: 활성화하면 출력이 URL 대신 BASE64 문자열로 인코딩됩니다. + type: boolean + image: + description: 업스케일할 이미지의 URL입니다. + type: string + output_format: + default: jpeg + description: 출력 이미지의 형식입니다. + enum: + - jpeg + - png + - webp + type: string + target_resolution: + default: 4k + description: 출력 이미지의 대상 해상도입니다. + enum: + - 2k + - 4k + - 8k + type: string + required: + - image + type: object + WavespeedTaskResponse: + description: WavespeedAI 작업 제출의 응답 + properties: + code: + description: "HTTP 상태 코드 (예: 성공 시 200)" + type: integer + data: + properties: + created_at: + description: 요청이 생성된 ISO 타임스탬프 + type: string + error: + description: 오류 메시지 (오류가 발생하지 않은 경우 비어 있음) + type: string + has_nsfw_contents: + description: 각 출력에 대한 NSFW 감지 여부를 나타내는 논리값 배열 + items: + type: boolean + type: array + id: + description: 예측/작업의 고유 식별자 + type: string + model: + description: 예측에 사용된 모델 ID + type: string + outputs: + description: 생성된 콘텐츠의 URL 배열 (상태가 완료됨이 아닐 경우 비어 있음) + items: + type: string + type: array + status: + description: 작업의 상태 + enum: + - created + - processing + - completed + - failed + type: string + timings: + properties: + inference: + description: 밀리초 단위의 추론 시간 + type: integer + type: object + urls: + properties: + get: + description: 예측 결과를 검색할 URL + type: string + type: object + type: object + message: + description: "상태 메시지 (예: \"성공\")" + type: string + type: object + WavespeedTaskResultResponse: + description: WavespeedAI 작업 결과 조회의 응답 + properties: + code: + description: "HTTP 상태 코드 (예: 성공 시 200)" + type: integer + data: + properties: + created_at: + description: 요청이 생성된 ISO 타임스탬프 + type: string + error: + description: 오류 메시지 (오류가 발생하지 않은 경우 비어 있음) + type: string + id: + description: 예측/작업의 고유 식별자 + type: string + model: + description: 예측에 사용된 모델 ID + type: string + outputs: + description: 생성된 콘텐츠의 URL 배열 (상태가 완료됨이 아닐 경우 비어 있음) + items: + type: string + type: array + status: + description: 작업 상태 + enum: + - created + - processing + - completed + - failed + type: string + timings: + properties: + inference: + description: 추론 시간 (밀리초) + type: integer + type: object + urls: + properties: + get: + description: 예측 결과를 가져오는 URL + type: string + type: object + type: object + message: + description: "상태 메시지 (예: \"성공\")" + type: string + type: object + WebSearchPreviewTool: + description: "이 도구는 웹에서 관련 결과를 검색하여 응답에 사용합니다. [웹 검색 도구](https://platform.openai.com/docs/guides/tools-web-search)에 대해 더 알아보세요." + properties: + search_context_size: + description: "검색에 사용할 컨텍스트 창 공간 수량에 대한 높은 수준의 가이드. `low`, `medium`, `high` 중 하나. 기본값은 `medium`입니다." + enum: + - low + - medium + - high + type: string + type: + default: web_search_preview + description: "웹 검색 도구의 유형. `web_search_preview` 또는 `web_search_preview_2025_03_11` 중 하나." + enum: + - web_search_preview + - web_search_preview_2025_03_11 + type: string + x-stainless-const: true + required: + - type + title: Web search preview + type: object + WebSearchToolCall: + description: "웹 검색 도구 호출의 결과. 자세한 내용은\n[웹 검색 가이드](/docs/guides/tools-web-search)를 참조하세요.\n" + properties: + id: + description: "웹 검색 도구 호출의 고유 ID.\n" + type: string + status: + description: "웹 검색 도구 호출의 상태.\n" + enum: + - in_progress + - searching + - completed + - failed + type: string + type: + description: "웹 검색 도구 호출의 유형. 항상 `web_search_call`입니다.\n" + enum: + - web_search_call + type: string + x-stainless-const: true + required: + - id + - type + - status + title: Web search tool call + type: object + WorkflowRunStatus: + enum: + - WorkflowRunStatusStarted + - WorkflowRunStatusFailed + - WorkflowRunStatusCompleted + type: string + XAIGeneratedImage: + description: xAI에서 생성된 이미지 + properties: + b64_json: + description: "생성된 이미지의 base64로 인코딩된 문자열 표현 (jpeg 인코딩, response_format이 b64_json인 경우)" + type: string + mime_type: + description: "생성된 이미지의 MIME 유형 (예: image/png, image/jpeg, image/webp)." + type: string + url: + description: 생성된 이미지의 URL (response_format이 url인 경우) + type: string + type: object + XAIGeneratedVideo: + description: xAI에서 생성된 비디오 + properties: + duration: + description: 생성된 비디오의 길이 (초) + type: integer + respect_moderation: + description: 모델이 생성한 비디오가 중재 규칙을 준수하는지 여부 + type: boolean + url: + description: 생성된 비디오의 URL + nullable: true + type: string + type: object + XAIImageEditRequest: + description: xAI Grok Imagine 이미지 편집을 위한 요청 본문 + properties: + aspect_ratio: + description: 여러 이미지로 이미지 편집 시 출력 이미지의 가로세로 비율. 단일 이미지 편집의 경우 설정하지 마세요. + enum: + - 1:1 + - 3:4 + - 4:3 + - 9:16 + - 16:9 + - 2:3 + - 3:2 + - 9:19.5 + - 19.5:9 + - 9:20 + - 20:9 + - 1:2 + - 2:1 + - auto + type: string + image: + $ref: "#/components/schemas/XAIImageObject" + images: + description: "다중 참조 편집을 위한 입력 이미지 목록. image와 상호 배타적입니다. 여러 이미지가 제공된 경우 프롬프트에서 , 등으로 참조하세요." + items: + $ref: "#/components/schemas/XAIImageObject" + type: array + mask: + $ref: "#/components/schemas/XAIImageObject" + model: + default: grok-imagine-image + description: 사용할 모델 + type: string + "n": + description: 생성할 이미지 편집 수 + type: integer + prompt: + description: 이미지 편집을 위한 프롬프트 + type: string + quality: + description: "출력 이미지의 품질. 현재는 아무 작업도 하지 않으며, 향후 사용을 위해 예약되어 있습니다." + enum: + - low + - medium + - high + type: string + resolution: + default: 1k + description: 생성된 이미지의 해상도. 기본값은 1k입니다. + enum: + - 1k + - 2k + type: string + response_format: + default: url + description: 이미지를 반환할 응답 형식. url 또는 b64_json일 수 있습니다. + enum: + - url + - b64_json + type: string + size: + description: 이미지 크기 (지원되지 않음) + type: string + style: + description: 이미지 스타일 (지원되지 않음) + type: string + user: + description: "최종 사용자를 나타내는 고유 식별자로, xAI가 남용을 모니터링하고 탐지하는 데 도움이 될 수 있습니다." + type: string + required: + - prompt + type: object + XAIImageGenerationRequest: + description: xAI Grok Imagine 이미지 생성을 위한 요청 본문 + properties: + aspect_ratio: + default: auto + description: 생성된 이미지의 종횡비. 프롬프트에 가장 적합한 비율을 자동으로 선택하기 위해 기본값은 auto입니다. + enum: + - 1:1 + - 3:4 + - 4:3 + - 9:16 + - 16:9 + - 2:3 + - 3:2 + - 9:19.5 + - 19.5:9 + - 9:20 + - 20:9 + - 1:2 + - 2:1 + - auto + type: string + model: + default: grok-imagine-image + description: 사용할 모델 + type: string + "n": + default: 1 + description: 생성할 이미지 수 + maximum: 10 + minimum: 1 + type: integer + prompt: + description: 이미지 생성을 위한 프롬프트 + type: string + quality: + description: "출력 이미지의 품질. 현재는 아무 작업도 하지 않으며, 향후 사용을 위해 예약되어 있습니다." + enum: + - low + - medium + - high + type: string + resolution: + default: 1k + description: 생성된 이미지의 해상도. 기본값은 1k입니다. + enum: + - 1k + - 2k + type: string + response_format: + default: url + description: 이미지를 반환할 응답 형식. url 또는 b64_json일 수 있습니다. + enum: + - url + - b64_json + type: string + size: + description: 이미지 크기 (지원되지 않음) + type: string + style: + description: 이미지 스타일 (지원되지 않음) + type: string + user: + description: "최종 사용자를 나타내는 고유 식별자로, xAI가 남용을 모니터링하고 탐지하는 데 도움이 될 수 있습니다." + type: string + required: + - prompt + type: object + XAIImageGenerationResponse: + description: xAI 이미지 생성 또는 편집의 응답 + properties: + block_reason: + description: "요청이 입력 검열에 의해 차단된 경우, 차단 이유를 포함합니다." + type: string + data: + description: 생성된 이미지 객체 목록 + items: + $ref: "#/components/schemas/XAIGeneratedImage" + type: array + usage: + $ref: "#/components/schemas/XAIImageUsage" + type: object + XAIImageObject: + description: xAI 엔드포인트를 위한 입력 이미지 객체 + properties: + type: + description: 이미지 입력 유형 + enum: + - image_url + type: string + url: + description: 입력 이미지의 URL (공개 URL 또는 base64로 인코딩된 데이터 URI) + type: string + required: + - url + type: object + XAIImageUsage: + description: 이미지 생성 요청에 대한 사용 정보 + properties: + cost_in_usd_ticks: + description: "이 요청의 USD 틱 단위 정확한 비용 (10,000,000,000 틱 = 1 USD)" + type: integer + type: object + XAIReferenceImageObject: + description: R2V 모드에서 비디오 생성을 안내하는 데 사용되는 레퍼런스 이미지 + properties: + url: + description: "레퍼런스 이미지의 URL. HTTPS URL(공개) 또는 base64로 인코딩된 데이터 URL(예: data:image/jpeg;base64,...)을 지원합니다." + type: string + required: + - url + type: object + XAIVideoAsyncResponse: + description: xAI 비디오 생성 또는 편집의 응답 (비동기 작업) + properties: + request_id: + description: 완료된 비디오를 폴링하기 위한 고유 식별자 + type: string + type: object + XAIVideoEditRequest: + description: xAI Grok Imagine 비디오 편집을 위한 요청 본문 + properties: + model: + description: 사용할 모델 + nullable: true + type: string + output: + description: 생성된 비디오의 선택적 출력 대상 + nullable: true + type: object + prompt: + description: 비디오 편집을 위한 프롬프트 + type: string + user: + description: 최종 사용자를 나타내는 고유 식별자 + nullable: true + type: string + video: + $ref: "#/components/schemas/XAIVideoObject" + required: + - prompt + - video + type: object + XAIVideoExtensionRequest: + description: xAI Grok Imagine 비디오 확장을 위한 요청 본문 + properties: + duration: + default: 6 + description: "확장의 길이(초). 범위 [2, 10]. 기본값 6." + maximum: 10 + minimum: 2 + nullable: true + type: integer + model: + description: 사용할 모델 + nullable: true + type: string + prompt: + description: 비디오에서 다음에 발생해야 하는 상황에 대한 텍스트 설명 + type: string + video: + $ref: "#/components/schemas/XAIVideoObject" + required: + - prompt + - video + type: object + XAIVideoGenerationRequest: + description: "xAI Grok Imagine 비디오 생성을 위한 요청 본문.\n세 가지 모드를 지원합니다: 텍스트 기반 비디오 생성(프롬프트만), 이미지 기반 비디오 생성(프롬프트 + 이미지),\n그리고 레퍼런스 기반 비디오 생성(프롬프트 + reference_images).\n필드 image, reference_images 및 video는 상호 배타적입니다.\n" + properties: + aspect_ratio: + default: 16:9 + description: 생성된 비디오의 종횡비 + enum: + - 1:1 + - 16:9 + - 9:16 + - 4:3 + - 3:4 + - 3:2 + - 2:3 + type: string + duration: + default: 8 + description: "비디오 길이(초). 범위 [1, 15]. 기본값 8." + maximum: 15 + minimum: 1 + nullable: true + type: integer + image: + $ref: "#/components/schemas/XAIImageObject" + model: + description: 사용할 모델 + type: string + output: + description: 생성된 비디오의 선택적 출력 대상 + nullable: true + type: object + prompt: + description: "비디오 생성용 프롬프트. 최대 4,096자." + type: string + reference_images: + description: 비디오 생성을 안내하는 하나 이상의 레퍼런스 이미지 (레퍼런스 기반 비디오 생성 모드). image 및 video와 상호 배타적입니다. + items: + $ref: "#/components/schemas/XAIReferenceImageObject" + type: array + resolution: + description: 출력 비디오의 해상도 + nullable: true + type: string + size: + description: 출력 비디오의 크기 + nullable: true + type: string + user: + description: 최종 사용자를 나타내는 고유 식별자 + nullable: true + type: string + required: + - prompt + type: object + XAIVideoObject: + description: xAI 엔드포인트를 위한 입력 비디오 객체 + properties: + url: + description: "비디오의 URL (공개 URL 또는 base64로 인코딩된 데이터 URL). 비디오는 .mp4 파일 확장자를 가져야 하며 H.265, H.264, AV1 등과 같은 .mp4 지원 코덱으로 인코딩되어야 합니다." + type: string + required: + - url + type: object + XAIVideoResultResponse: + description: 비디오 생성 결과 응답 + properties: + block_reason: + description: 요청이 입력 모더레이션에 의해 차단된 경우 차단 이유를 포함합니다. + nullable: true + type: string + model: + description: 비디오를 생성하는 데 사용된 모델 + type: string + status: + description: "지연된 요청의 상태: \"pending\" 또는 \"done\"" + enum: + - pending + - done + type: string + usage: + $ref: "#/components/schemas/XAIVideoUsage" + video: + $ref: "#/components/schemas/XAIGeneratedVideo" + type: object + XAIVideoUsage: + description: 비디오 생성 요청에 대한 사용 정보 + properties: + cost_in_usd_ticks: + description: "이 요청의 비용은 USD 틱으로 표시됩니다. 1 USD 센트는 100,000,000 틱에 해당하며, 따라서 1 미국 달러는 10,000,000,000 틱에 해당합니다.\n" + type: integer + type: object + securitySchemes: + BearerAuth: + bearerFormat: JWT + scheme: bearer + type: http +info: + title: Comfy API + version: "1.0" +openapi: 3.0.2 +paths: + "/admin/customers/{customer_id}/archive-metronome-data": + post: + description: Metronome 데이터를 보관합니다. https://docs.metronome.com/api-reference/customers/archive-a-customer를 참조하세요. + operationId: PostAdminArchiveMetronomeData + parameters: + - description: Metronome 데이터를 보관할 고객의 ID + in: path + name: customer_id + required: true + schema: + type: string + - description: 이 요청을 승인하는 데 사용되는 관리자 API 시크릿 + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + description: 성공 메시지 + type: string + type: object + description: Metronome 데이터가 성공적으로 보관됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 - 필수 매개변수 누락됨 + "401": + description: 인증되지 않음 또는 관리자 API 시크릿 누락됨 + "404": + description: 고객을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 고객 Metronome 데이터 보관 + tags: + - Admin + x-excluded: true + "/admin/customers/{customer_id}/balance": + get: + description: 지정된 고객의 현재 남은 잔액을 microamount와 통화로 반환합니다. + operationId: GetAdminCustomerBalance + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + amount_micros: + format: double + type: number + cloud_credit_balance_micros: + format: double + type: number + currency: + type: string + effective_balance_micros: + format: double + type: number + pending_charges_micros: + format: double + type: number + prepaid_balance_micros: + format: double + type: number + required: + - amount_micros + - currency + type: object + description: 고객 잔액을 성공적으로 검색함 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 인증되지 않음 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 고객을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 관리자가 고객의 남은 잔액 조회 + tags: + - Admin + x-excluded: true + "/admin/customers/{customer_id}/cloud-subscription-status": + get: + description: 관리자가 특정 고객의 클라우드 구독 상태를 확인할 수 있습니다. + operationId: GetAdminCustomerCloudSubscriptionStatus + parameters: + - description: 구독 상태를 검색할 고객의 ID + in: path + name: customer_id + required: true + schema: + type: string + - description: 이 요청을 승인하는 데 사용되는 관리자 API 시크릿 + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + end_date: + description: 구독 종료 예정 날짜 (ISO 8601 형식) + format: date-time + nullable: true + type: string + has_fund: + description: 고객이 사용 가능한 자금/크레딧을 보유하고 있는지 여부 + type: boolean + is_active: + description: 고객이 활성 클라우드 구독을 보유하고 있는지 여부 + type: boolean + renewal_date: + description: 구독의 다음 갱신 날짜 (ISO 8601 형식) + format: date-time + nullable: true + type: string + subscription_duration: + allOf: + - $ref: "#/components/schemas/SubscriptionDuration" + nullable: true + subscription_id: + description: 존재하는 경우 활성 구독 ID + nullable: true + type: string + subscription_tier: + allOf: + - $ref: "#/components/schemas/SubscriptionTier" + nullable: true + type: object + description: 클라우드 구독 상태를 성공적으로 검색했습니다 + "401": + description: 인증되지 않음 또는 관리자 API 시크릿 누락 + "404": + description: 고객을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 관리자가 클라우드 구독 상태 확인 + tags: + - Admin + x-excluded: true + "/admin/customers/{customer_id}/partner-node-concurrency-override": + delete: + description: "재정의를 지웁니다(NULL로 설정). 그러면 고객의 제한이 지출 엔진으로 되돌아갑니다.\n" + operationId: ClearAdminCustomerConcurrencyOverride + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: 재정의가 성공적으로 지워졌습니다 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 인증되지 않음 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 고객을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 관리자가 고객의 파트너-노드 동시성 재정의를 지움 + tags: + - Admin + x-excluded: true + get: + description: "고객의 현재 파트너-노드 동시성 재정의(원시 열 값), 게이트가 현재 적용하는 제한, 그리고 재정의가 지워질 경우 지출 엔진이 적용할 제한을 반환합니다.\n" + operationId: GetAdminCustomerConcurrencyOverride + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + customer_id: + type: string + effective_limit: + description: 게이트가 현재 적용하는 제한입니다. + type: integer + effective_reason: + type: string + engine_limit: + description: 재정의가 지워질 경우 지출 엔진이 적용할 제한입니다. + type: integer + engine_reason: + type: string + lifetime_paid_spend_cents: + description: 수명 기간 동안의 유료 지출(센트 단위). 지출 쿼리가 실패한 경우 null입니다. + format: int64 + nullable: true + type: integer + override: + description: 원시 재정의 열 값. 설정되지 않은 경우 null입니다. + nullable: true + type: integer + required: + - customer_id + - effective_limit + - effective_reason + - engine_limit + - engine_reason + type: object + description: 재정의 및 확인된 제한을 성공적으로 검색했습니다 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 인증되지 않음 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 고객을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 관리자 고객 파트너 노드 동시 실행 오버라이드 조회 + tags: + - Admin + x-excluded: true + put: + description: "고객의 파트너 노드 동시 실행 오버라이드를 고정합니다. 의미: 0 = 차단, -1 = 무제한, 양수 = 하드 한도. 허용 값: -1, 0, 1..200.\n" + operationId: SetAdminCustomerConcurrencyOverride + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + override: + description: "-1: 무제한, 0: 차단, 1..200: 하드 한도. 값은 반드시 존재하고 null이 아니어야 함; 누락되거나 null 값은 400 오류로 거부됨 (오버라이드를 지우려면 DELETE 사용).\n" + nullable: true + type: integer + required: + - override + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: 오버라이드 설정 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 오버라이드 값 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 인증되지 않음 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 고객을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 관리자 고객 파트너 노드 동시 실행 오버라이드 설정 + tags: + - Admin + x-excluded: true + "/admin/customers/{customer_id}/stripe-data": + delete: + description: 지정된 고객 ID와 연결된 Stripe 고객 데이터를 삭제합니다. + operationId: DeleteAdminCustomerStripeData + parameters: + - description: Stripe 데이터를 삭제할 고객의 ID + in: path + name: customer_id + required: true + schema: + type: string + - description: 이 요청을 승인하는 데 사용되는 관리자 API 시크릿 + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + description: 성공 메시지 + type: string + type: object + description: Stripe 데이터가 성공적으로 삭제됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 - 필수 매개변수 누락 + "401": + description: 인증되지 않음 또는 관리자 API 시크릿 누락 + "404": + description: 고객을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 고객 Stripe 데이터 삭제 + tags: + - Admin + x-excluded: true + /admin/generate-token: + post: + description: "브라우저 기반 관리자 연산을 위한 단기 JWT 관리자 토큰을 생성합니다.\n사용자는 이미 Firebase로 인증되어 있고 관리자 권한이 있어야 합니다.\n생성된 토큰은 1시간 후에 만료됩니다.\n" + operationId: GenerateAdminToken + responses: + "200": + content: + application/json: + schema: + properties: + expires_at: + description: 토큰이 만료되는 시간 + format: date-time + type: string + token: + description: JWT 관리자 토큰 + type: string + required: + - token + - expires_at + type: object + description: JWT 토큰이 성공적으로 생성됨 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 인증되지 않았거나 사용자가 관리자가 아닙니다 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 단기 JWT 관리자 토큰 생성 + tags: + - Admin + /admin/nodes: + post: + operationId: AdminCreateNode + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: 노드 생성 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터입니다." + "401": + description: 권한 없음 + "409": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 복제 오류. + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 관리자 권한을 사용하여 새 커스텀 노드 생성 + tags: + - Registry + x-excluded: true + "/admin/nodes/{nodeId}": + put: + description: 관리자만 관리자 권한으로 노드를 업데이트할 수 있습니다. + operationId: AdminUpdateNode + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: 노드 업데이트 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터입니다." + "401": + description: 권한 없음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 노드를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 관리자 노드 업데이트 + tags: + - Registry + x-excluded: true + "/admin/nodes/{nodeId}/versions/{versionNumber}": + put: + description: 관리자만 노드 버전을 승인할 수 있습니다. + operationId: AdminUpdateNodeVersion + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: versionNumber + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + status: + $ref: "#/components/schemas/NodeVersionStatus" + status_reason: + description: 상태 변경 이유. + type: string + supported_accelerators: + description: "이 노드가 지원하는 가속기 목록 (예: CUDA, DirectML, ROCm)" + items: + type: string + type: array + supported_comfyui_frontend_version: + description: 지원되는 ComfyUI 프론트엔드 버전 + type: string + supported_comfyui_version: + description: 지원되는 ComfyUI 버전 + type: string + supported_os: + description: 이 노드가 지원하는 운영 체제 목록 + items: + type: string + type: array + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersion" + description: 버전 업데이트 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터입니다." + "401": + description: 권한 없음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 버전을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 관리자 노드 버전 상태 업데이트 + tags: + - Registry + x-excluded: true + /admin/nodeversions: + get: + description: "관리자 전용 엔드포인트로, 삭제된 버전을 포함하여 모든 노드 버전을 나열합니다. 관리자만 접근할 수 있습니다." + operationId: AdminListAllNodeVersions + parameters: + - in: query + name: nodeId + schema: + type: string + - explode: true + in: query + name: statuses + schema: + items: + $ref: "#/components/schemas/NodeVersionStatus" + type: array + style: form + - in: query + name: include_status_reason + schema: + default: false + type: boolean + - description: 검색할 페이지 번호입니다. + in: query + name: page + schema: + default: 1 + type: integer + - description: 페이지당 포함할 항목 수입니다. + in: query + name: pageSize + schema: + default: 10 + type: integer + - description: "status_reason 검색, 대소문자 구분 없음" + in: query + name: status_reason + schema: + type: string + - description: 결과에 소프트 삭제된 노드 버전 포함 + in: query + name: include_deleted + schema: + default: false + type: boolean + responses: + "200": + content: + application/json: + schema: + properties: + page: + description: 현재 페이지 번호 + type: integer + pageSize: + description: 페이지당 최대 노드 버전 수입니다. 최대값은 100입니다. + type: integer + total: + description: 사용 가능한 노드 버전의 총 개수 + type: integer + totalPages: + description: 사용 가능한 총 페이지 수 + type: integer + versions: + items: + $ref: "#/components/schemas/NodeVersion" + type: array + type: object + description: 모든 노드 버전 목록 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 입력, 객체가 잘못됨" + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 선택적 필터를 포함한 모든 노드 버전 관리자 목록 + tags: + - Registry + x-excluded: true + /admin/partner-node-model-overrides: + get: + description: "레이트 카드 또는 재정의 테이블에 알려진 모든 모델의 유효 티어 분류를 반환합니다. (재정의 인식, 대부분의 행에 재정의 없음).\n" + operationId: ListAdminModelOverrides + parameters: + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + models: + items: + $ref: "#/components/schemas/ModelClassification" + type: array + required: + - models + type: object + description: 분류가 성공적으로 검색되었습니다. + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 인증되지 않음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 관리자 파트너 노드 모델 티어 분류 목록 + tags: + - Admin + x-excluded: true + "/admin/partner-node-model-overrides/{model}": + delete: + description: "재정의를 제거하여 모델이 비용 기반 분류로 되돌아갑니다. 멱등적(재정의가 없어도 200을 반환).\n" + operationId: DeleteAdminModelOverride + parameters: + - in: path + name: model + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: 재정의가 성공적으로 지워졌습니다 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 인증되지 않음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 관리자가 모델 계층 재정의를 지웁니다 + tags: + - Admin + x-excluded: true + get: + description: "모델의 유효 계층을 반환합니다. 재정의가 설정된 경우 해당 재정의를, 그렇지 않으면 비용 기반 분류를 반환합니다. 항상 200을 반환합니다. 알 수 없는 모델은 기본값(제한 없음)으로 처리됩니다. 참고: {model}은 단일 URL 경로 세그먼트이므로 슬래시가 포함된 모델 ID는 이 경로로 주소를 지정할 수 없습니다. 분류를 보려면 목록 엔드포인트(GET /admin/partner-node-model-overrides)를 사용하십시오. 파트너 노드 모델 ID는 현재 평면적이므로 현재 제한 사항이 아닙니다.\n" + operationId: GetAdminModelOverride + parameters: + - in: path + name: model + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ModelClassification" + description: 분류를 성공적으로 검색했습니다 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 인증되지 않음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 관리자가 모델의 유효 계층을 가져옵니다 + tags: + - Admin + x-excluded: true + put: + description: "모델을 계층에 고정하는 재정의를 업서트합니다. 계층은 'expensive' 또는 'exempt'여야 합니다. 처리하는 포드에서 즉시 적용되며 다른 포드에는 MODEL_OVERRIDE_REFRESH 내에 적용됩니다.\n" + operationId: SetAdminModelOverride + parameters: + - in: path + name: model + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + tier: + description: "'expensive' 또는 'exempt'." + type: string + required: + - tier + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: 재정의가 성공적으로 설정되었습니다 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 계층 또는 모델 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 인증되지 않음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 관리자가 모델 계층 재정의를 설정합니다 + tags: + - Admin + x-excluded: true + /admin/sync-api-key-deletion: + post: + description: "역방향 삭제 동기화(클라우드 → comfy-api 레지스트리, BE-1542). 워크스페이스 API 키가 클라우드(새로운 진실의 소스)에서 삭제되면 클라우드는 이 엔드포인트를 호출하여 comfy-api 레지스트리의 api_keys 행도 제거되어 두 저장소가 수렴되도록 합니다. 멱등성: 알 수 없는 해시를 삭제하면 no_op입니다. M2M/관리자 전용입니다. 키 해시를 전달하며 평문은 절대 전달하지 않습니다.\n" + operationId: SyncApiKeyDeletion + parameters: + - description: 이 요청을 인증하는 데 사용되는 관리자 API 시크릿 + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + customer_id: + description: "키 소유자의 Firebase UID, 불일치 감지용. 삭제는 해시를 통해 진행됩니다(클라우드의 인바운드 RevokeByHash 의미 체계를 반영).\n" + type: string + event: + description: "동기화 이벤트 유형; \"delete\"만 지원됩니다." + enum: + - delete + example: delete + type: string + key_hash: + description: 해지할 API 키의 SHA-256 16진수 해시. + maxLength: 64 + minLength: 64 + pattern: "^[A-Fa-f0-9]{64}$" + type: string + required: + - event + - key_hash + - customer_id + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + result: + description: "일치하는 키가 삭제된 경우 revoked; 해시와 일치하는 키가 없는 경우 no_op (이미 삭제되었거나 존재하지 않음).\n" + type: string + required: + - result + type: object + description: 삭제 동기화가 처리되었습니다 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 (필드 누락 또는 지원되지 않는 이벤트) + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 인증되지 않음 또는 관리자 API 시크릿 누락됨 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 해시로 레지스트리 API 키를 취소 (역 삭제 동기화) + tags: + - Admin + x-excluded: true + /admin/verify-api-key: + post: + description: "ComfyUI API 키를 검증하고 관련 고객 정보를 반환합니다.\n이 엔드포인트는 cloud.comfy.org에서 Firebase 토큰 대신 API 키를 통해 사용자를 인증하는 데 사용됩니다.\n" + operationId: VerifyApiKey + parameters: + - description: 이 요청을 승인하는 데 사용되는 관리자 API 시크릿 + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + api_key: + description: "검증할 ComfyUI API 키 (예: comfy_xxx...)" + type: string + include_customer_keys: + description: "true인 경우, 응답에 customer_api_keys도 포함됩니다: 고객의 모든 API 키(hash + prefix + name + description)의 전체 집합으로, 클라우드의 migrate-on-miss가 고객의 모든 키를 workspace_api_keys에 seed할 수 있습니다(검증 중인 키뿐만 아니라). M2M/관리자 전용; 해시를 포함하며, 평문은 절대 포함하지 않습니다.\n" + type: boolean + required: + - api_key + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + customer_api_keys: + description: "고객의 모든 API 키: 요청에서 include_customer_keys=true로 설정된 경우에만 반환됩니다. 클라우드의 migrate-on-miss가 모든 키를 workspace_api_keys(해시 기준)에 seed할 수 있게 하여, 클라우드 키 목록이 고객의 전체 집합과 일치하도록 합니다(검증된 키뿐만 아니라). M2M/관리자 전용; 해시 포함, 평문 없음.\n" + items: + $ref: "#/components/schemas/MigrationAPIKey" + type: array + email: + description: 고객의 이메일 주소 + type: string + firebase_uid: + description: 사용자의 Firebase UID + type: string + is_admin: + description: 고객이 관리자인지 여부 + type: boolean + key_description: + description: "api_keys 행 자체의 설명입니다. 클라우드의 migrate-on-miss 경로가 캐시된 workspace_api_keys 행에 자리 표시자를 작성하는 대신 이를 보존할 수 있도록 반환됩니다.\n" + type: string + key_name: + description: "api_keys 행 자체의 이름(표시 레이블)입니다. 클라우드의 migrate-on-miss 경로가 캐시된 workspace_api_keys 행에 자리 표시자를 작성하는 대신 이를 보존할 수 있도록 반환됩니다.\n" + type: string + name: + description: 고객의 이름 + type: string + valid: + description: API 키가 유효한지 여부 + type: boolean + required: + - valid + - firebase_uid + type: object + description: API 키가 유효함 + "401": + description: 인증되지 않음 또는 관리자 API 시크릿 누락됨 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "이 계정에 API 키 인증이 허용되지 않음 (예: 무료 티어)" + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: API 키를 찾을 수 없거나 유효하지 않음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: ComfyUI API 키를 확인하고 고객 세부 정보 반환 + tags: + - Admin + x-excluded: true + /branch: + get: + description: 주어진 저장소의 모든 브랜치를 반환합니다. + operationId: GetBranch + parameters: + - description: 필터 기준이 되는 저장소. + in: query + name: repo_name + required: true + schema: + default: comfyanonymous/ComfyUI + type: string + responses: + "200": + content: + application/json: + schema: + properties: + branches: + items: + type: string + type: array + type: object + description: 브랜치의 배열 + "404": + description: 저장소를 찾을 수 없음 + "500": + description: 내부 서버 오류 + summary: 주어진 저장소의 모든 고유 브랜치 검색 + tags: + - ComfyUI CI + x-excluded: true + /bulk/nodes/versions: + post: + operationId: GetBulkNodeVersions + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BulkNodeVersionsRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BulkNodeVersionsResponse" + description: 노드 버전을 성공적으로 검색했습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 단일 요청으로 여러 노드 버전 검색 + tags: + - Registry + /comfy-nodes: + get: + operationId: ListAllComfyNodes + parameters: + - in: query + name: pageSize + schema: + default: 100 + type: integer + - description: 페이지 번호 (1부터 시작하는 인덱스) + in: query + name: page + schema: + default: 1 + type: integer + - description: 노드 ID로 필터 + in: query + name: node_id + schema: + type: string + - description: 노드 버전으로 필터 + in: query + name: node_version + schema: + type: string + - description: ComfyUI 노드 이름으로 필터 + in: query + name: comfy_node_name + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + comfy_nodes: + items: + $ref: "#/components/schemas/ComfyNode" + type: array + total: + description: Comfy 노드의 총 개수 + type: integer + type: object + description: 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터." + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 모든 Comfy 노드 나열 + tags: + - Registry + /comfy-nodes/backfill: + post: + operationId: ComfyNodesBackfill + parameters: + - in: query + name: max_node + schema: + default: 10 + type: integer + responses: + "204": + description: 백필이 트리거됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터." + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: Comfy 노드 백필 트리거 + tags: + - Registry + x-excluded: true + "/comfy-nodes/{comfyNodeName}/node": + get: + description: 지정된 이름의 ComfyUI 노드를 포함하는 노드를 반환합니다. + operationId: GetNodeByComfyNodeName + parameters: + - description: ComfyUI 노드의 이름 + in: path + name: comfyNodeName + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: 노드 세부 정보 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 지정된 ComfyUI 노드 이름을 포함하는 노드를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: ComfyUI 노드 이름으로 노드 검색 + tags: + - Registry + /customers: + get: + description: "이메일, 이름, Stripe ID 또는 Metronome ID로 고객을 검색합니다." + operationId: SearchCustomers + parameters: + - description: 검색할 이메일 주소 + in: query + name: email + schema: + type: string + - description: 검색할 고객 이름 + in: query + name: name + schema: + type: string + - description: 검색할 Stripe 고객 ID + in: query + name: stripe_id + schema: + type: string + - description: 검색할 Metronome 고객 ID + in: query + name: metronome_id + schema: + type: string + - description: 검색할 페이지 번호 + in: query + name: page + schema: + default: 1 + type: integer + - description: 페이지당 반환할 고객 수 + in: query + name: limit + schema: + default: 10 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + customers: + items: + $ref: "#/components/schemas/Customer" + type: array + limit: + description: 페이지당 고객 수 + type: integer + page: + description: 현재 페이지 번호 + type: integer + total: + description: 일치하는 총 고객 수 + type: integer + totalPages: + description: 사용 가능한 총 페이지 수 + type: integer + type: object + description: 검색 조건과 일치하는 고객 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 파라미터 + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 - 권한 부족 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 고객 검색 + tags: + - API Nodes + - Admin + x-excluded: true + post: + description: "새 고객을 생성합니다. 사용자 ID는 Bearer 토큰에서 가져오며, 선택적 요청 본문에는 가입 시 서버 측 봇 확인(Cloudflare Turnstile)을 위한 토큰이 포함됩니다(BE-1490). 본문은 선택 사항이며, Turnstile 위젯을 실행하지 않는 클라이언트(예: 로컬 OSS 빌드)는 생략할 수 있습니다." + operationId: CreateCustomer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreateCustomerRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Customer" + description: 고객이 이미 존재함 + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Customer" + description: 고객이 성공적으로 생성됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 새 고객 생성 + tags: + - API Nodes + x-excluded: true + /customers/admin/coupons: + get: + description: Stripe에서 모든 쿠폰 목록을 조회합니다. 관리자만 쿠폰을 조회할 수 있습니다. + operationId: ListCoupons + parameters: + - description: 반환할 쿠폰 수 + in: query + name: limit + schema: + default: 10 + maximum: 100 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + coupons: + items: + $ref: "#/components/schemas/CouponResponse" + type: array + has_more: + description: 더 많은 결과가 있는지 여부 + type: boolean + required: + - coupons + type: object + description: 쿠폰 목록이 성공적으로 조회되었습니다 + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "금지됨: 관리자 접근 권한 필요" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 모든 쿠폰 목록 조회 + tags: + - Admin + - API Nodes + x-excluded: true + post: + description: Stripe에서 새 쿠폰을 생성합니다. 관리자만 쿠폰을 생성할 수 있습니다. + operationId: CreateCoupon + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreateCouponRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/CouponResponse" + description: 쿠폰이 성공적으로 생성되었습니다 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "금지됨: 관리자 접근 권한 필요" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 새 Stripe 쿠폰 생성 + tags: + - Admin + - API Nodes + x-excluded: true + "/customers/admin/coupons/{coupon_id}": + delete: + description: Stripe에서 쿠폰을 삭제합니다. 관리자만 쿠폰을 삭제할 수 있습니다. + operationId: DeleteCoupon + parameters: + - description: Stripe 쿠폰 ID + in: path + name: coupon_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + coupon_id: + description: 삭제된 쿠폰 ID + type: string + message: + description: 성공 메시지 + type: string + required: + - message + - coupon_id + type: object + description: 쿠폰이 성공적으로 삭제되었습니다 + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "금지됨: 관리자 접근 권한 필요" + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 쿠폰을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 쿠폰 삭제 + tags: + - Admin + - API Nodes + x-excluded: true + get: + description: Stripe에서 특정 쿠폰의 세부 정보를 검색합니다. 관리자만 쿠폰을 볼 수 있습니다. + operationId: GetCoupon + parameters: + - description: Stripe 쿠폰 ID + in: path + name: coupon_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CouponResponse" + description: 쿠폰이 성공적으로 검색됨 + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "금지됨: 관리자 접근 권한 필요" + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 쿠폰을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 특정 쿠폰 가져오기 + tags: + - Admin + - API Nodes + x-excluded: true + patch: + description: Stripe에서 쿠폰을 업데이트합니다. 관리자만 쿠폰을 업데이트할 수 있습니다. + operationId: UpdateCoupon + parameters: + - description: Stripe 쿠폰 ID + in: path + name: coupon_id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateCouponRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CouponResponse" + description: 쿠폰이 성공적으로 업데이트됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "금지됨: 관리자 접근 권한 필요" + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 쿠폰을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 쿠폰 업데이트 + tags: + - Admin + - API Nodes + x-excluded: true + /customers/admin/promo-codes: + get: + description: Stripe에서 모든 프로모션 코드 목록을 검색합니다. 관리자만 프로모션 코드를 나열할 수 있습니다. + operationId: ListPromoCodes + parameters: + - description: 활성 상태별 필터 + in: query + name: active + schema: + type: boolean + - description: 반환할 프로모션 코드 수 + in: query + name: limit + schema: + default: 10 + maximum: 100 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + has_more: + description: 더 많은 결과가 있는지 여부 + type: boolean + promo_codes: + items: + $ref: "#/components/schemas/PromoCodeResponse" + type: array + required: + - promo_codes + type: object + description: 프로모션 코드 목록을 성공적으로 가져왔습니다. + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "금지됨: 관리자 접근 권한 필요" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 모든 프로모션 코드 나열 + tags: + - Admin + - API Nodes + x-excluded: true + post: + description: 지정된 쿠폰에 대해 Stripe에 새로운 고유 프로모션 코드를 생성합니다. 관리자만 프로모션 코드를 생성할 수 있습니다. + operationId: CreatePromoCode + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreatePromoCodeRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/PromoCodeResponse" + description: 프로모션 코드 생성 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "금지됨: 관리자 접근 권한 필요" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 새로운 Stripe 프로모션 코드 생성 + tags: + - Admin + - API Nodes + x-excluded: true + "/customers/admin/promo-codes/{promo_code_id}": + delete: + description: Stripe에서 프로모션 코드를 비활성화합니다. 관리자만 프로모션 코드를 비활성화할 수 있습니다. + operationId: DeletePromoCode + parameters: + - description: Stripe 프로모션 코드 ID + in: path + name: promo_code_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + description: 성공 메시지 + type: string + promo_code_id: + description: 비활성화된 프로모션 코드 ID + type: string + required: + - message + - promo_code_id + type: object + description: 프로모션 코드 비활성화 성공 + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "금지됨: 관리자 접근 권한 필요" + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 프로모션 코드를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 프로모션 코드 비활성화 + tags: + - Admin + - API Nodes + x-excluded: true + get: + description: Stripe에서 특정 프로모션 코드의 세부 정보를 가져옵니다. 관리자만 프로모션 코드를 조회할 수 있습니다. + operationId: GetPromoCode + parameters: + - description: Stripe 프로모션 코드 ID + in: path + name: promo_code_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PromoCodeResponse" + description: 프로모션 코드 조회 성공 + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "금지됨: 관리자 접근 권한 필요" + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 프로모션 코드를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 특정 프로모션 코드 가져오기 + tags: + - Admin + - API Nodes + x-excluded: true + patch: + description: Stripe에서 프로모션 코드를 업데이트합니다. 관리자만 프로모션 코드를 업데이트할 수 있습니다. + operationId: UpdatePromoCode + parameters: + - description: Stripe 프로모션 코드 ID + in: path + name: promo_code_id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UpdatePromoCodeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PromoCodeResponse" + description: 프로모션 코드가 성공적으로 업데이트됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "금지됨: 관리자 접근 권한 필요" + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 프로모션 코드를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 프로모션 코드 업데이트 + tags: + - Admin + - API Nodes + x-excluded: true + /customers/api-keys: + get: + operationId: ListCustomerAPIKeys + responses: + "200": + content: + application/json: + schema: + properties: + api_keys: + items: + $ref: "#/components/schemas/APIKey" + type: array + type: object + description: API 키 목록 + "401": + description: 인증되지 않음 + "404": + description: 고객을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 고객의 모든 API 키 목록 + x-excluded: true + post: + operationId: CreateCustomerAPIKey + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreateAPIKeyRequest" + required: true + responses: + "201": + content: + application/json: + schema: + properties: + api_key: + $ref: "#/components/schemas/APIKeyWithPlaintext" + type: object + description: API 키 생성됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "404": + description: 고객 또는 API 키를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 고객을 위한 새 API 키 생성 + x-excluded: true + "/customers/api-keys/{api_key_id}": + delete: + operationId: DeleteCustomerAPIKey + parameters: + - in: path + name: api_key_id + required: true + schema: + type: string + responses: + "204": + description: API 키 삭제됨 + "401": + description: 인증되지 않음 + "404": + description: 고객 또는 API 키를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 고객의 API 키 삭제 + x-excluded: true + /customers/balance: + get: + description: "고객의 현재 남은 잔액을 마이크로 금액과 통화로 반환하며, 선불 커밋과 클라우드 크레딧에 대한 별도 항목을 제공합니다." + operationId: GetCustomerBalance + responses: + "200": + content: + application/json: + schema: + properties: + amount_micros: + description: "마이크로 금액으로 표시된 총 남은 잔액 (통화 단위의 1/1,000,000)" + format: double + type: number + cloud_credit_balance_micros: + description: 클라우드 크레딧에서의 남은 잔액 (마이크로 금액) + format: double + type: number + currency: + description: "통화 코드 (예: \"usd\")" + type: string + effective_balance_micros: + description: 유효 잔액 (총 잔액에서 대기 중인 요금 차감). 대기 중인 요금이 잔액을 초과하면 네거티브가 될 수 있습니다. show_negative_balances 기능 플래그가 활성화된 경우에만 포함됩니다. + format: double + type: number + pending_charges_micros: + description: 초안 인보이스의 대기 중인/청구되지 않은 요금의 총액 (마이크로 금액). show_negative_balances 기능 플래그가 활성화된 경우에만 포함됩니다. + format: double + type: number + prepaid_balance_micros: + description: 선불 커밋에서의 남은 잔액 (마이크로 금액) + format: double + type: number + required: + - amount_micros + - currency + type: object + description: 고객 잔액을 성공적으로 조회했습니다. + "401": + description: 인증되지 않음 또는 유효하지 않은 토큰 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 고객을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 고객의 남은 잔액 조회 + tags: + - API Nodes + x-excluded: true + /customers/billing: + post: + description: "고객이 결제 포털에 액세스하여 구독, 결제 방법을 관리하고 인보이스를 볼 수 있는 세션을 생성합니다." + operationId: AccessBillingPortal + requestBody: + content: + application/json: + schema: + properties: + return_url: + description: 결제 포털 사용 이후 고객을 리디렉션할 선택적 URL + type: string + target_tier: + description: "선택적 대상 구독 티어. 제공된 경우, 이 티어가 사전 선택된 상태로 구독 업데이트 확인 화면으로 바로 연결되는 딥 링크를 생성합니다." + enum: + - standard + - creator + - pro + - standard-yearly + - creator-yearly + - pro-yearly + type: string + type: object + responses: + "200": + content: + application/json: + schema: + properties: + billing_portal_url: + description: 고객을 결제 포털로 리디렉션할 URL + type: string + type: object + description: 결제 포털 세션이 성공적으로 생성되었습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력" + "401": + description: 인증되지 않음 또는 유효하지 않은 토큰 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 고객 청구 포털에 액세스 + tags: + - API Nodes + - Released + x-excluded: true + /customers/cloud-subscription-checkout: + post: + description: 월 $20에 자동 청구되는 클라우드 구독 체크아웃 세션을 생성합니다. + operationId: CreateCloudSubscriptionCheckout + requestBody: + content: + application/json: + schema: + properties: + ga_client_id: + description: Google Analytics 클라이언트 ID (_ga 쿠키에서) + type: string + ga_session_id: + description: Google Analytics 세션 ID + type: string + ga_session_number: + description: Google Analytics 세션 번호 + type: string + gbraid: + description: Google Ads iOS 기여도 매개변수 + type: string + gclid: + description: Google Ads 클릭 ID + type: string + im_ref: + description: Impact.com 제휴 전환 추적용 클릭 ID + type: string + rewardful_referral: + description: "Rewardful 리퍼럴 UUID (window.Rewardful.referral), 제휴 전환 추적을 위해 Stripe에 client_reference_id로 전달됩니다." + type: string + utm_campaign: + description: UTM 캠페인 매개변수 + type: string + utm_content: + description: UTM 콘텐츠 매개변수 + type: string + utm_medium: + description: UTM 매체 매개변수 + type: string + utm_source: + description: UTM 소스 매개변수 + type: string + utm_term: + description: UTM 검색어 매개변수 + type: string + wbraid: + description: Google Ads 웹-투-앱 기여도 매개변수 + type: string + type: object + responses: + "201": + content: + application/json: + schema: + properties: + checkout_url: + description: 고객이 구독을 완료하기 위해 리디렉션할 URL + type: string + type: object + description: 구독 체크아웃 세션이 성공적으로 생성되었습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력" + "401": + description: 인증되지 않음 또는 잘못된 토큰 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 클라우드 구독 체크아웃 세션 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/customers/cloud-subscription-checkout/{tier}": + post: + description: "특정 구독 등급(standard, creator, pro)에 대해 자동 청구가 포함된 클라우드 구독 체크아웃 세션을 생성합니다." + operationId: CreateCloudSubscriptionCheckoutTier + parameters: + - description: "구독 등급(standard, creator, pro)과 선택적 연간 청구(standard-yearly, creator-yearly, pro-yearly)" + in: path + name: tier + required: true + schema: + enum: + - standard + - creator + - pro + - standard-yearly + - creator-yearly + - pro-yearly + type: string + requestBody: + content: + application/json: + schema: + properties: + ga_client_id: + description: Google Analytics 클라이언트 ID (_ga 쿠키에서) + type: string + ga_session_id: + description: Google Analytics 세션 ID + type: string + ga_session_number: + description: Google Analytics 세션 번호 + type: string + gbraid: + description: Google Ads iOS 기여도 파라미터 + type: string + gclid: + description: Google Ads 클릭 ID + type: string + im_ref: + description: 제휴 전환 추적을 위한 Impact.com 클릭 ID + type: string + rewardful_referral: + description: "Rewardful 추천 UUID (window.Rewardful.referral), 제휴 전환 추적을 위해 Stripe에 client_reference_id로 전달됩니다." + type: string + utm_campaign: + description: UTM 캠페인 파라미터 + type: string + utm_content: + description: UTM 콘텐츠 파라미터 + type: string + utm_medium: + description: UTM 매체 파라미터 + type: string + utm_source: + description: UTM 소스 파라미터 + type: string + utm_term: + description: UTM 용어 파라미터 + type: string + wbraid: + description: Google Ads 웹-앱 기여도 파라미터 + type: string + type: object + responses: + "201": + content: + application/json: + schema: + properties: + checkout_url: + description: 고객이 구독을 완료하도록 리디렉션할 URL + type: string + type: object + description: 구독 체크아웃 세션이 성공적으로 생성되었습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 또는 티어" + "401": + description: 인증되지 않았거나 유효하지 않은 토큰 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 특정 티어에 대한 클라우드 구독 체크아웃 세션 생성 + tags: + - API Nodes + - Released + x-excluded: true + /customers/cloud-subscription-status: + get: + description: 고객이 활성 클라우드 구독을 보유하고 있는지 확인 + operationId: GetCloudSubscriptionStatus + responses: + "200": + content: + application/json: + schema: + properties: + end_date: + description: 구독이 종료되도록 설정된 날짜 (ISO 8601 형식) + format: date-time + nullable: true + type: string + free_tier_grant_state: + allOf: + - $ref: "#/components/schemas/FreeTierGrantState" + nullable: true + has_fund: + description: 고객이 사용 가능한 자금/크레딧을 보유하고 있는지 여부 + type: boolean + is_active: + description: 고객이 활성 클라우드 구독을 보유하고 있는지 여부 + type: boolean + renewal_date: + description: 구독의 다음 갱신 날짜 (ISO 8601 형식) + format: date-time + nullable: true + type: string + subscription_duration: + allOf: + - $ref: "#/components/schemas/SubscriptionDuration" + nullable: true + subscription_id: + description: 활성 구독 ID가 존재하는 경우 해당 ID + nullable: true + type: string + subscription_tier: + allOf: + - $ref: "#/components/schemas/SubscriptionTier" + nullable: true + type: object + description: 클라우드 구독 상태가 성공적으로 검색되었습니다. + "401": + description: 인증되지 않았거나 유효하지 않은 토큰 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 클라우드 구독 상태 확인 + tags: + - API Nodes + - Released + x-excluded: true + /customers/credit: + post: + operationId: InitiateCreditPurchase + requestBody: + content: + application/json: + schema: + properties: + amount_micros: + description: 마이크로 값으로 표시된 체크아웃 거래 수량 + format: int64 + type: integer + currency: + description: 체크아웃 거래에 사용된 통화 + type: string + required: + - amount_micros + - currency + type: object + required: true + responses: + "201": + content: + application/json: + schema: + properties: + checkout_url: + description: 고객을 리디렉션할 URL + type: string + type: object + description: 고객 체크아웃이 성공적으로 생성되었습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 유효하지 않은 토큰 또는 사용자가 이미 존재합니다." + "401": + description: 권한이 없거나 유효하지 않은 토큰 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 크레딧 구매를 시작합니다. + tags: + - API Nodes + - Released + x-excluded: true + /customers/events: + get: + operationId: GetCustomerEvents + parameters: + - description: 노드 목록의 페이지 번호 + in: query + name: page + schema: + default: 1 + type: integer + - description: 페이지당 반환할 노드 수 + in: query + name: limit + schema: + default: 10 + type: integer + - description: 필터링할 이벤트 유형 + in: query + name: filter + schema: + type: string + - description: "이벤트 필터링 시작 날짜 (RFC3339 형식, 예: 2025-01-01T00:00:00Z)" + in: query + name: start_date + schema: + format: date-time + type: string + - description: "이벤트 필터링 종료 날짜 (RFC3339 형식, 예: 2025-01-31T23:59:59Z)" + in: query + name: end_date + schema: + format: date-time + type: string + responses: + "200": + content: + application/json: + schema: + properties: + events: + items: + $ref: "#/components/schemas/AuditLog" + type: array + limit: + description: 페이지당 최대 노드 수 + type: integer + page: + description: 현재 페이지 번호 + type: integer + total: + description: 사용 가능한 총 이벤트 수 + type: integer + totalPages: + description: 사용 가능한 총 페이지 수 + type: integer + type: object + description: 페이지별로 나뉜 노드 목록 + "400": + description: "잘못된 입력, 객체가 유효하지 않음" + "404": + description: 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 고객 관련 이벤트 가져오기 + tags: + - API Nodes + x-excluded: true + /customers/me: + get: + description: JWT 토큰을 기반으로 현재 인증된 고객의 세부 정보를 반환합니다. + operationId: GetAuthenticatedCustomer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Customer" + description: 고객 세부 정보를 성공적으로 검색했습니다. + "401": + description: 인증되지 않음 또는 유효하지 않은 토큰 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 고객을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 인증된 고객 세부 정보 가져오기 + tags: + - API Nodes + x-excluded: true + /customers/storage: + post: + description: 고객의 리소스를 저장합니다. 리소스는 24시간 후에 만료됩니다. 서명된 URL이 지정된 파일 경로에 대해 생성됩니다. + operationId: CreateCustomerStorageResource + requestBody: + content: + application/json: + schema: + properties: + content_type: + description: "파일의 콘텐츠 유형 (예: 'image/png')" + type: string + file_hash: + description: 파일의 해시입니다. 제공된 경우 동일한 해시를 가진 기존 파일이 반환될 수 있습니다. + type: string + file_name: + description: "원하는 파일 이름 (예: 'profile.jpg')" + type: string + required: + - file_name + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CustomerStorageResourceResponse" + description: 서명된 URL이 성공적으로 생성됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 고객의 리소스 저장 + tags: + - API Nodes + x-excluded: true + /customers/usage: + post: + description: 고객의 사용량을 대시보드 URL로 반환합니다. + operationId: GetCustomerUsage + requestBody: + content: + application/json: + schema: + properties: + color_overrides: + description: 브랜딩을 위해 재정의할 색상의 선택적 목록 + items: + properties: + name: + description: 재정의할 색상 속성 + enum: + - Gray_dark + - Gray_medium + - Gray_light + - Gray_extralight + - White + - Primary_medium + - Primary_light + - UsageLine_0 + - UsageLine_1 + - UsageLine_2 + - UsageLine_3 + - UsageLine_4 + - UsageLine_5 + - UsageLine_6 + - UsageLine_7 + - UsageLine_8 + - UsageLine_9 + - Primary_green + - Primary_red + - Progress_bar + - Progress_bar_background + type: string + value: + description: "16진수 색상 코드 (예: \"#FF5733\")" + pattern: "^#[0-9A-Fa-f]{6}$" + type: string + required: + - name + - value + type: object + type: array + dashboard_type: + default: usage + description: 검색할 대시보드 유형 + enum: + - invoices + - usage + - credits + - commits_and_credits + type: string + type: object + responses: + "200": + content: + application/json: + schema: + properties: + url: + description: 고객 사용량에 대한 대시보드 URL + type: string + type: object + description: 성공적인 응답 + "401": + description: 인증되지 않음 또는 유효하지 않은 토큰 + "404": + description: 고객을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 고객 사용량 가져오기 + tags: + - API Nodes + x-excluded: true + /customers/usage/timeseries: + get: + description: "인증된 고객의 총 사용량 지출을 모델, 엔드포인트 또는 제품별로 그룹화하고, 각 결제 기간마다 하나의 누적 데이터 포인트와 그룹별 분석 및 요약을 제공하여 맞춤 사용량 대시보드를 렌더링합니다. 인보이스 라인 항목(실제 USD)에서 가져옵니다. 임베디드 iframe을 대체합니다." + operationId: GetCustomerUsageTimeSeries + parameters: + - description: 지출을 그룹화할 차원입니다. 선택한 키가 라인 항목에 없으면 제품 이름으로 전환됩니다. + in: query + name: group_by + schema: + default: model + enum: + - model + - endpoint + - product + type: string + - description: "시계열의 버킷 크기입니다. \"month\"는 월간 인보이스 라인 항목을 사용하고, \"day\" 및 \"hour\"는 인보이스 세부 내역을 사용합니다(starting_on/ending_before 제공)." + in: query + name: granularity + schema: + default: month + enum: + - hour + - day + - month + type: string + - description: 범위의 RFC 3339 시작(포함). 기본값은 ending_before 이전의 월입니다. + in: query + name: starting_on + schema: + format: date-time + type: string + - description: 범위의 RFC 3339 끝(제외). 기본값은 현재입니다. + in: query + name: ending_before + schema: + format: date-time + type: string + - description: 시작_on이 생략된 경우 사용되는 월 단위 조회 창입니다. + in: query + name: months + schema: + default: 6 + maximum: 24 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CustomerUsageTimeSeries" + description: 고객 사용량 시계열을 성공적으로 검색했습니다. + "401": + description: 인증되지 않음 또는 유효하지 않은 토큰 + "404": + description: 고객을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 고객 사용량 시계열 가져오기 + tags: + - API Nodes + x-excluded: true + "/customers/{customer_id}": + get: + description: ID로 고객에 대한 세부 정보를 반환합니다. + operationId: GetCustomerById + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + customer: + $ref: "#/components/schemas/CustomerAdmin" + type: object + description: 고객 세부 정보를 성공적으로 검색했습니다. + "401": + description: 인증되지 않음 또는 유효하지 않은 토큰 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 고객을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: ID로 고객 가져오기 + tags: + - API Nodes + - Admin + x-excluded: true + "/customers/{customer_id}/balance": + get: + description: "지정된 고객의 현재 남은 잔액을 마이크로 금액 및 통화 단위로 반환하며, 선불 커밋 및 클라우드 크레딧에 대한 별도 분석을 제공합니다." + operationId: GetCustomerBalanceById + parameters: + - description: 잔액을 검색할 고객의 ID + in: path + name: customer_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + amount_micros: + description: "마이크로 금액의 총 남은 잔액(통화 단위의 1/1,000,000)" + format: double + type: number + cloud_credit_balance_micros: + description: 클라우드 크레딧의 남은 잔액(마이크로 금액) + format: double + type: number + currency: + description: "통화 코드(예: \"usd\")" + type: string + effective_balance_micros: + description: 유효 잔액(총 잔액에서 대기 중인 요금을 뺀 값). 대기 중인 요금이 잔액을 초과하면 네거티브가 될 수 있습니다. show_negative_balances 기능 플래그가 활성화된 경우에만 포함됩니다. + format: double + type: number + pending_charges_micros: + description: 초안 인보이스의 대기 중/미청구 요금 총액(마이크로 금액). show_negative_balances 기능 플래그가 활성화된 경우에만 포함됩니다. + format: double + type: number + prepaid_balance_micros: + description: 선불 커밋의 남은 잔액(마이크로 금액) + format: double + type: number + required: + - amount_micros + - currency + type: object + description: 고객 잔액이 성공적으로 조회되었습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않았거나 유효하지 않은 토큰입니다. + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 고객을 찾을 수 없습니다. + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: ID로 고객의 남은 잔액 조회 + tags: + - API Nodes + - Admin + x-excluded: true + "/customers/{customer_id}/events": + get: + operationId: GetCustomerEventsById + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - description: 노드 목록의 페이지 번호 + in: query + name: page + schema: + default: 1 + type: integer + - description: 페이지당 반환할 노드 수 + in: query + name: limit + schema: + default: 10 + type: integer + - description: 필터링할 이벤트 유형 + in: query + name: filter + schema: + type: string + - description: "이벤트 필터링 시작 날짜 (RFC3339 형식, 예: 2025-01-01T00:00:00Z)" + in: query + name: start_date + schema: + format: date-time + type: string + - description: "이벤트 필터링 종료 날짜 (RFC3339 형식, 예: 2025-01-31T23:59:59Z)" + in: query + name: end_date + schema: + format: date-time + type: string + responses: + "200": + content: + application/json: + schema: + properties: + events: + items: + $ref: "#/components/schemas/AuditLog" + type: array + limit: + description: 페이지당 최대 노드 수 + type: integer + page: + description: 현재 페이지 번호 + type: integer + total: + description: 사용 가능한 총 이벤트 수 + type: integer + totalPages: + description: 사용 가능한 총 페이지 수 + type: integer + type: object + description: 페이지로 구분된 노드 목록 + "400": + description: "잘못된 입력, 객체가 유효하지 않습니다." + "404": + description: 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 고객 관련 이벤트 조회 + tags: + - API Nodes + x-excluded: true + "/customers/{customer_id}/usage": + post: + description: Metronome에서 고객의 사용량을 수동으로 추적합니다. 이 엔드포인트는 관리자가 사용량 이벤트를 기록하기 위한 것입니다. + operationId: TrackCustomerUsage + parameters: + - description: 사용량을 추적할 고객의 ID + in: path + name: customer_id + required: true + schema: + type: string + - description: 이 요청을 인증하는 데 사용되는 관리자 API 시크릿 + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + params: + additionalProperties: true + description: 사용량 이벤트의 커스텀 파라미터 + type: object + timestamp: + description: 사용량 이벤트의 타임스탬프 (RFC3339 형식) + format: date-time + type: string + transaction_id: + description: 이 사용 이벤트의 고유 트랜잭션 ID + format: uuid + type: string + required: + - transaction_id + - params + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + message: + description: 성공 메시지 + type: string + type: object + description: 사용량이 성공적으로 추적됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않았거나 잘못된 토큰 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 고객을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 고객의 사용량 추적 (관리자 전용) + tags: + - API Nodes + - Admin + x-excluded: true + /features: + get: + description: 서버의 기능 목록을 반환합니다 + operationId: GetFeatures + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FeaturesResponse" + description: 성공 + summary: 서버 기능 플래그 가져오기 + tags: + - Registry + /gitcommit: + get: + description: "주어진 커밋과 관련된 모든 실행, 작업, 작업 결과 및 저장소 파일을 반환합니다." + operationId: GetGitcommit + parameters: + - description: 데이터를 가져올 커밋의 ID입니다. + in: query + name: commitId + schema: + type: string + - description: CI 데이터를 필터링할 운영 체제입니다. + in: query + name: operatingSystem + schema: + type: string + - description: CI 데이터를 필터링할 워크플로의 이름입니다. + in: query + name: workflowName + schema: + type: string + - description: CI 데이터를 필터링할 gitcommit의 브랜치입니다. + in: query + name: branch + schema: + type: string + - description: 검색할 페이지 번호입니다. + in: query + name: page + schema: + default: 1 + type: integer + - description: 페이지당 포함할 항목 수입니다. + in: query + name: pageSize + schema: + default: 10 + type: integer + - description: 필터 기준 저장소입니다. + in: query + name: repoName + schema: + default: comfyanonymous/ComfyUI + type: string + responses: + "200": + content: + application/json: + schema: + properties: + jobResults: + items: + $ref: "#/components/schemas/ActionJobResult" + type: array + totalNumberOfPages: + type: integer + type: object + description: "실행, 작업, 작업 결과 및 저장소 파일을 포함하는 객체" + "404": + description: 커밋을 찾을 수 없음 + "500": + description: 내부 서버 오류 + summary: 주어진 커밋의 CI 데이터 검색 + tags: + - ComfyUI CI + x-excluded: true + /gitcommitsummary: + get: + description: "상태, 시작 시간 및 종료 시간을 포함한 git 커밋 요약을 반환합니다." + operationId: GetGitcommitsummary + parameters: + - description: git 커밋을 필터링할 저장소 이름입니다. + in: query + name: repoName + schema: + default: comfyanonymous/ComfyUI + type: string + - description: Git 커밋을 필터링할 브랜치 이름입니다. + in: query + name: branchName + schema: + type: string + - description: 검색할 페이지 번호입니다. + in: query + name: page + schema: + default: 1 + type: integer + - description: 페이지당 포함할 항목 수입니다. + in: query + name: pageSize + schema: + default: 10 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + commitSummaries: + items: + $ref: "#/components/schemas/GitCommitSummary" + type: array + totalNumberOfPages: + type: integer + type: object + description: Git 커밋 요약을 성공적으로 검색했습니다. + "500": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: 내부 서버 오류 + summary: Git 커밋 요약 검색 + tags: + - ComfyUI CI + x-excluded: true + /nodes: + get: + description: 모든 게시자의 노드 목록을 페이지별로 반환합니다. + operationId: ListAllNodes + parameters: + - description: 노드 목록의 페이지 번호 + in: query + name: page + schema: + default: 1 + type: integer + - description: 페이지당 반환할 노드 수 + in: query + name: limit + schema: + default: 10 + type: integer + - description: 지원되는 운영 체제로 노드 필터링 + examples: + linux: + value: "POSIX :: Linux" + macos: + value: MacOS + macosx: + value: "MacOS :: MacOS X" + osIndependent: + value: OS Independent + ubuntu: + value: "POSIX :: Linux :: Ubuntu" + windows: + value: "Microsoft :: Windows" + windows10: + value: "Microsoft :: Windows :: Windows 10" + in: query + name: supported_os + schema: + type: string + - description: 지원되는 가속기로 노드 필터링 + in: query + name: supported_accelerator + schema: + type: string + - description: 페이지당 반환할 노드 수 + in: query + name: include_banned + schema: + type: boolean + - description: 이 타임스탬프 이후에 생성 또는 업데이트된 노드 검색 (ISO 8601 형식) + in: query + name: timestamp + schema: + format: date-time + type: string + - description: "데이터베이스에서 새 결과를 가져올지, 거짓이면 캐시된 결과를 사용할지 여부" + in: query + name: latest + schema: + type: boolean + - description: "오름차순 정렬에 사용할 데이터베이스 열입니다. 내림차순 정렬을 위해 각 열에 `;desc`를 접미사로 추가하세요." + in: query + name: sort + schema: + items: + type: string + type: array + - description: 필터로 사용할 node_id + in: query + name: node_id + schema: + items: + type: string + type: array + - description: Comfy UI 버전 + in: query + name: comfyui_version + schema: + type: string + - description: 노드를 요청하는 플랫폼 + in: query + name: form_factor + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + limit: + description: Maximum number of nodes per page + type: integer + nodes: + items: + $ref: "#/components/schemas/Node" + type: array + page: + description: Current page number + type: integer + total: + description: Total number of nodes available + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: 페이지별 노드 목록 + "400": + description: "잘못된 입력, 객체가 유효하지 않음" + "404": + description: 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 노드 목록을 조회합니다 + tags: + - Registry + /nodes/reindex: + post: + operationId: ReindexNodes + parameters: + - description: 한 번에 algolia에 보낼 최대 노드 수 + in: query + name: max_batch + schema: + type: integer + responses: + "200": + description: 재색인이 완료되었습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청입니다. + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 검색을 위해 모든 노드를 재색인합니다. + tags: + - Registry + x-excluded: true + /nodes/search: + get: + description: 모든 게시자의 노드에 대한 페이지네이션된 목록을 반환합니다. + operationId: SearchNodes + parameters: + - description: 노드 목록의 페이지 번호 + in: query + name: page + schema: + default: 1 + type: integer + - description: 페이지당 반환할 노드 수 + in: query + name: limit + schema: + default: 10 + type: integer + - description: 노드를 검색할 키워드 + in: query + name: search + schema: + type: string + - description: 저장소 URL로 노드를 검색할 키워드 + in: query + name: repository_url_search + schema: + type: string + - description: comfy 노드 이름으로 노드를 검색할 키워드 + in: query + name: comfy_node_search + schema: + type: string + - description: 지원되는 운영 체제별로 노드 필터링 + examples: + linux: + value: "POSIX :: Linux" + macos: + value: MacOS + macosx: + value: "MacOS :: MacOS X" + osIndependent: + value: OS Independent + ubuntu: + value: "POSIX :: Linux :: Ubuntu" + windows: + value: "Microsoft :: Windows" + windows10: + value: "Microsoft :: Windows :: Windows 10" + in: query + name: supported_os + schema: + type: string + - description: 지원되는 가속기별로 노드 필터링 + in: query + name: supported_accelerator + schema: + type: string + - description: 페이지당 반환할 노드 수 + in: query + name: include_banned + schema: + type: boolean + responses: + "200": + content: + application/json: + schema: + properties: + limit: + description: 페이지당 최대 노드 수 + type: integer + nodes: + items: + $ref: "#/components/schemas/Node" + type: array + page: + description: 현재 페이지 번호 + type: integer + total: + description: 사용 가능한 총 노드 수 + type: integer + totalPages: + description: 사용 가능한 총 페이지 수 + type: integer + type: object + description: 페이지네이션된 노드 목록 + "400": + description: "잘못된 입력, 객체가 유효하지 않음" + "404": + description: 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 노드 목록을 조회합니다 + tags: + - Registry + /nodes/update-github-stars: + post: + operationId: UpdateGithubStars + parameters: + - description: 한 배치에서 업데이트할 최대 노드 수 + in: query + name: max_batch + schema: + default: 100 + type: integer + responses: + "200": + description: GithubStars 업데이트 요청이 성공적으로 실행되었습니다 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청입니다. + "401": + description: 권한 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 노드의 GitHub 별 업데이트 + tags: + - Registry + x-excluded: true + "/nodes/{nodeId}": + get: + description: 특정 노드의 세부 정보를 반환합니다. + operationId: GetNode + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - description: 번역 포함 여부 + in: query + name: include_translations + schema: + type: boolean + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: 노드 세부 정보 + "302": + description: 정규화된 이름이 일치하는 노드로 리디렉션 + headers: + Location: + description: 올바른 ID를 가진 노드의 URL + schema: + type: string + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 노드를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: ID로 특정 노드 검색 + tags: + - Registry + "/nodes/{nodeId}/install": + get: + description: 설치를 위한 노드 데이터를 검색합니다. 최신 버전 또는 특정 버전 중 하나입니다. + operationId: InstallNode + parameters: + - description: 노드의 고유 식별자입니다. + in: path + name: nodeId + required: true + schema: + type: string + - description: 검색할 노드의 특정 버전입니다. 생략하면 최신 버전이 반환됩니다. + in: query + name: version + schema: + pattern: ^\d+\.\d+\.\d+$ + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersion" + description: 노드 데이터가 성공적으로 반환되었습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 입력입니다. 예를 들어 잘못된 버전 형식입니다. + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 노드를 찾을 수 없습니다. + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 설치할 노드 버전을 반환합니다. + tags: + - Registry + "/nodes/{nodeId}/reviews": + post: + operationId: PostNodeReview + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - description: 노드 버전에 부여된 별의 개수 + in: query + name: star + required: true + schema: + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: 특정 노드에 대한 상세 정보 + "400": + description: 잘못된 요청 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 노드 버전을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 노드의 특정 버전에 리뷰 추가 + tags: + - Registry + "/nodes/{nodeId}/translations": + post: + operationId: CreateNodeTranslations + parameters: + - description: 노드의 고유 식별자입니다. + in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + data: + additionalProperties: + additionalProperties: true + type: object + type: object + type: object + required: true + responses: + "201": + description: 특정 노드에 대한 상세 정보 + "400": + description: 잘못된 요청 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 노드 버전을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 노드 번역 생성 + tags: + - Registry + "/nodes/{nodeId}/versions": + get: + operationId: ListNodeVersions + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: query + name: statuses + schema: + items: + $ref: "#/components/schemas/NodeVersionStatus" + type: array + - in: query + name: include_status_reason + schema: + default: false + type: boolean + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/NodeVersion" + type: array + description: 모든 노드 버전 목록 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 노드 차단됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 노드를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 노드의 모든 버전 나열 + tags: + - Registry + "/nodes/{nodeId}/versions/{versionId}": + get: + operationId: GetNodeVersion + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - description: 노드의 버전입니다. (UUID가 아닙니다.) + in: path + name: versionId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersion" + description: 특정 노드 버전에 대한 상세 정보 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 노드 버전을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 노드의 특정 버전 검색 + tags: + - Registry + "/nodes/{nodeId}/versions/{version}/comfy-nodes": + get: + operationId: ListComfyNodes + parameters: + - description: 검색할 페이지 번호입니다. + in: query + name: page + schema: + default: 1 + type: integer + - description: 페이지당 포함할 항목 수입니다. + in: query + name: limit + schema: + default: 10 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + comfy_nodes: + items: + $ref: "#/components/schemas/ComfyNode" + type: array + totalNumberOfPages: + type: integer + type: object + description: Comfy Nodes 획득 성공 + "401": + description: 권한 없음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 버전을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 노드 버전에 대한 Comfy 노드 목록 + tags: + - Registry + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: version + required: true + schema: + type: string + post: + operationId: CreateComfyNodes + requestBody: + content: + application/json: + schema: + properties: + cloud_build_info: + $ref: "#/components/schemas/ComfyNodeCloudBuildInfo" + nodes: + additionalProperties: + $ref: "#/components/schemas/ComfyNode" + reason: + type: string + status: + type: string + success: + type: boolean + type: object + required: true + responses: + "204": + description: Comfy 노드 생성 성공 + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 버전을 찾을 수 없음 + "409": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Comfy 노드가 이미 존재함 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 특정 노드에 대한 Comfy 노드 생성 + tags: + - Registry + "/nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}": + get: + operationId: GetComfyNode + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: version + required: true + schema: + type: string + - in: path + name: comfyNodeName + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ComfyNode" + description: Comfy 노드 생성 성공 + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 버전을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: ID를 기반으로 특정 Comfy 노드 가져오기 + tags: + - Registry + put: + operationId: UpdateComfyNode + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: version + required: true + schema: + type: string + - in: path + name: comfyNodeName + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ComfyNodeUpdateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ComfyNode" + description: Comfy 노드 업데이트 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터" + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Comfy 노드를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 특정 Comfy 노드 업데이트 + tags: + - Registry + /proxy/anthropic/v1/messages: + post: + description: "Messages API 요청을 Anthropic의 `/v1/messages` 엔드포인트로 전달하고\n모델의 응답을 반환합니다. JSON 응답과\n서버 전송 이벤트 스트리밍을 모두 지원합니다(본문에서 `stream: true`를 통해 선택됨).\n" + operationId: AnthropicCreateMessage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/AnthropicCreateMessageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/AnthropicCreateMessageResponse" + text/event-stream: + schema: + description: Anthropic 메시지 이벤트의 Server-Sent Events 스트림 + type: string + description: "Anthropic Messages API의 성공 응답. `stream`이 생략되거나 거짓(false)인 경우 JSON 형태; 그 외에는 메시지 이벤트의 `text/event-stream`." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 - 크레딧 부족 + "429": + description: 너무 많은 요청 - 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Anthropic Claude를 통해 메시지 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/beeble/v1/switchx/generations: + post: + description: SwitchX 합성 작업 시작 + operationId: BeebleCreateSwitchXJob + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleCreateSwitchXRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleSwitchXStatusResponse" + description: "결과 작업 데이터입니다. 이 데이터는 작업이 완료될 때까지 대기 상태로 반환됩니다. 결과를 확인하려면 /v1/switchx/generations/{job_id}를 참조하십시오." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 - 크레딧 부족 + "429": + description: 너무 많은 요청 - 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: SwitchX 생성 시작 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/beeble/v1/switchx/generations/{job_id}": + get: + description: SwitchX 작업의 상태를 조회합니다. + operationId: BeebleGetSwitchXStatus + parameters: + - description: 작업 식별자(swx_...) + in: path + name: job_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleSwitchXStatusResponse" + description: 작업의 최신 상태입니다. status 필드를 확인하여 완료 여부를 결정하십시오. 출력 URL은 서명되며 72시간 후에 만료됩니다. 각 호출은 새로 서명된 URL을 반환합니다. + "401": + description: 인증되지 않음 + "404": + description: 작업을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: SwitchX 작업 상태 가져오기 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/beeble/v1/uploads: + post: + description: "미디어 파일에 대한 사전 서명된 업로드 URL을 생성합니다. 반환된 beeble_uri는 SwitchX 생성 호출에서 source_uri, reference_image_uri 또는 alpha_uri로 사용할 수 있습니다." + operationId: BeebleCreateUpload + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleUploadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleUploadResponse" + description: 사전 서명된 업로드 URL 및 beeble:// URI. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Beeble 업로드 URL 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-2-max/generate: + post: + description: BFL의 Flux 2 Max API로 이미지 생성 요청을 전달하고 결과를 반환합니다. 최대 8개의 입력 이미지를 사용한 이미지 기반 이미지 생성을 지원합니다. + operationId: BflFlux2MaxGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFlux2ProGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: BFL Flux 2 Max 프록시로부터의 성공적인 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 (프록시에 대한 잘못된 입력) + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 속도 제한 초과 (프록시 또는 BFL로부터) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 업스트림 문제) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 게이트웨이 (BFL 통신 오류) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 게이트웨이 시간 초과 (BFL 응답 시간 초과) + security: + - BearerAuth: + [] + summary: BFL Flux 2 Max로의 이미지 생성 프록시 요청 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-2-pro/generate: + post: + description: BFL의 Flux 2 Pro API로 이미지 생성 요청을 전달하고 결과를 반환합니다. 최대 5개의 입력 이미지를 사용한 이미지 기반 이미지 생성을 지원합니다. + operationId: BflFlux2ProGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFlux2ProGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: BFL Flux 2 Pro 프록시로부터의 성공적인 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 (프록시에 대한 잘못된 입력) + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 속도 제한 초과 (프록시 또는 BFL로부터) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 업스트림 문제) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 게이트웨이 (BFL 통신 오류) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 게이트웨이 시간 초과 (BFL 응답 시간 초과) + security: + - BearerAuth: + [] + summary: BFL Flux 2 Pro로의 이미지 생성 프록시 요청 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-kontext-max/generate: + post: + description: BFL의 Flux Kontext Max API로 이미지 편집 요청을 전달하고 결과를 반환합니다. + operationId: BflFluxKontextMaxGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxKontextMaxGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxKontextMaxGenerateResponse" + description: BFL Flux Kontext Max 프록시로부터의 성공적인 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 (프록시에 대한 잘못된 입력) + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 요청 속도 제한 초과 (프록시 또는 BFL로부터) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 업스트림 문제) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 게이트웨이 (BFL과 통신 중 오류) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 게이트웨이 시간 초과 (BFL이 응답하는 데 너무 오래 걸림) + security: + - BearerAuth: + [] + summary: 이미지 편집을 위한 BFL Flux Kontext Max 프록시 요청 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-kontext-pro/generate: + post: + description: 이미지 편집 요청을 BFL의 Flux Kontext Pro API로 전달하고 결과를 반환합니다. + operationId: BflFluxKontextProGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxKontextProGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxKontextProGenerateResponse" + description: BFL Flux Kontext Pro 프록시로부터의 성공적인 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 (프록시에 대한 잘못된 입력) + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 요청 속도 제한 초과 (프록시 또는 BFL로부터) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 업스트림 문제) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 게이트웨이 (BFL과 통신 중 오류) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 게이트웨이 시간 초과 (BFL이 응답하는 데 너무 오래 걸림) + security: + - BearerAuth: + [] + summary: 이미지 편집을 위한 BFL Flux Kontext Pro 프록시 요청 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.0-canny/generate: + post: + description: "Submits an image generation task with FLUX.1 Canny [pro]." + operationId: BFLProCannyV1FluxPro10CannyPost + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLCannyInputs" + required: true + responses: + "200": + content: + application/json: + schema: + anyOf: + - $ref: "#/components/schemas/BFLAsyncResponse" + - $ref: "#/components/schemas/BFLAsyncWebhookResponse" + title: Response Pro Canny V1 Flux Pro 1 0 Canny Post + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLHTTPValidationError" + description: Validation Error + summary: "Generate an image with FLUX.1 Canny [pro] using a control image." + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.0-depth/generate: + post: + description: "Submits an image generation task with FLUX.1 Depth [pro]." + operationId: BFLProDepthV1FluxPro10DepthPost + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLDepthInputs" + required: true + responses: + "200": + content: + application/json: + schema: + anyOf: + - $ref: "#/components/schemas/BFLAsyncResponse" + - $ref: "#/components/schemas/BFLAsyncWebhookResponse" + title: Response Pro Depth V1 Flux Pro 1 0 Depth Post + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLHTTPValidationError" + description: Validation Error + summary: "Generate an image with FLUX.1 Depth [pro] using a control image." + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.0-expand/generate: + post: + description: "Submits an image expansion task that adds the specified number of pixels to any combination of sides (top, bottom, left, right) while maintaining context." + operationId: BFLExpandV1FluxPro10ExpandPost + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProExpandInputs" + required: true + responses: + "200": + content: + application/json: + schema: + anyOf: + - $ref: "#/components/schemas/BFLAsyncResponse" + - $ref: "#/components/schemas/BFLAsyncWebhookResponse" + title: Response Expand V1 Flux Pro 1 0 Expand Post + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLHTTPValidationError" + description: Validation Error + summary: Expand an image by adding pixels on any side. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.0-fill/generate: + post: + description: "Submits an image generation task with the FLUX.1 Fill [pro] model using an input image and mask. Mask can be applied to alpha channel or submitted as a separate image." + operationId: BFLFillV1FluxPro10FillPost + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProFillInputs" + required: true + responses: + "200": + content: + application/json: + schema: + anyOf: + - $ref: "#/components/schemas/BFLAsyncResponse" + - $ref: "#/components/schemas/BFLAsyncWebhookResponse" + title: Response Fill V1 Flux Pro 1 0 Fill Post + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLHTTPValidationError" + description: Validation Error + summary: "Generate an image with FLUX.1 Fill [pro] using an input image and mask." + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.1-ultra/generate: + post: + description: "Forwards image generation requests to BFL's Flux Pro 1.1 Ultra API and returns the results." + operationId: BflFluxProGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: Successful response from BFL Flux Pro proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Pro 1.1 Ultra for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.1/generate: + post: + description: "Forwards image generation requests to BFL's Flux Pro 1.1 API and returns the results." + operationId: BflFluxPro11Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxPro1_1GenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxPro1_1GenerateResponse" + description: Successful response from BFL Flux Pro proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Pro 1.1 for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/v1/flux-tools/erase-v1: + post: + description: BFL의 Flux Tools Erase v1 API로 제거 요청을 전달하고 결과를 반환합니다. 입력 이미지와 제거할 객체 또는 영역을 식별하는 마스크를 사용합니다. + operationId: BflEraseV1Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLEraseV1Request" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: BFL Flux Tools Erase v1 프록시의 성공적인 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (프록시에 대한 잘못된 입력) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit 초과 (프록시 또는 BFL에서 발생) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 업스트림 문제) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (BFL 통신 오류) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL 응답 시간 초과) + security: + - BearerAuth: + [] + summary: BFL Flux Tools Erase v1에 대한 객체 제거 프록시 요청 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/v1/flux-tools/vto-v1: + post: + description: BFL의 Flux Tools VTO v1 API로 가상 착용 요청을 전달하고 결과를 반환합니다. 인물 및 의류 이미지는 기본 입력 이미지 슬롯에 매핑됩니다. + operationId: BflVtoV1Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLVtoV1Request" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: BFL Flux Tools VTO v1 프록시의 성공적인 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (프록시에 대한 잘못된 입력) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit 초과 (프록시 또는 BFL에서 발생) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 업스트림 문제) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (BFL 통신 오류) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL 응답 시간 초과) + security: + - BearerAuth: + [] + summary: BFL Flux Tools VTO v1에 대한 가상 착용 프록시 요청 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/image/edit: + post: + description: "Bria의 FIBO Edit API를 사용하여 기존 이미지를 편집합니다. 다음을 제공할 수 있습니다:\n1. 소스 이미지 및 텍스트 기반 명령어(프롬프트)\n2. 소스 이미지 및 structured_instruction\n3. 소스 이미지, 마스크 및 텍스트 기반 명령어\n4. 소스 이미지, 마스크 및 structured_instruction\n\n이 엔드포인트는 항상 비동기 모드(sync: false)를 사용하며 결과를 폴링할 status_url을 반환합니다.\n" + operationId: BriaFiboEdit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaFiboEditRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: 요청이 수락되어 비동기적으로 처리 중입니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: 콘텐츠 검열 실패 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Bria FIBO를 사용하여 이미지 편집 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/image/edit/remove_background: + post: + description: "Bria의 RMBG 2.0 모델을 사용하여 이미지의 배경을 제거합니다.\n\n비동기(기본값)인 경우 HTTP 202와 함께 request_id 및 status_url을 반환합니다.\nsync가 true인 경우 결과와 함께 200을 직접 반환할 수 있습니다.\n\n허용되는 이미지 형식: JPEG, JPG, PNG, WEBP.\n" + operationId: BriaImageRemoveBackground + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaImageRemoveBackgroundRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: 요청이 수락되어 비동기적으로 처리 중입니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: 콘텐츠 검열 실패 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Bria를 사용하여 이미지에서 배경 제거 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/bria/v2/status/{request_id}": + get: + description: "비동기 Bria 요청의 현재 상태를 검색합니다.\n\n상태가 COMPLETED 또는 ERROR가 될 때까지 이 엔드포인트를 폴링합니다.\n\n상태 값:\n- `IN_PROGRESS`: 요청이 처리 중입니다. 계속 폴링하세요.\n- `COMPLETED`: 성공. 이미지의 경우 `result.image_url`, 비디오의 경우 `result.video_url`, 구조화된 프롬프트 생성의 경우 `result.structured_prompt`를 응답에 포함합니다. 추가 선택적 필드(seed, prompt, refined_prompt)가 포함될 수 있습니다.\n- `ERROR`: 처리 실패. 자세한 내용은 error 객체를 확인하세요.\n- `UNKNOWN`: 예기치 않은 내부 오류.\n" + operationId: BriaGetStatus + parameters: + - description: "요청의 고유 식별자(edit, generate 또는 remove_background 엔드포인트에서 반환됨)" + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaStatusResponse" + description: 상태를 성공적으로 검색함 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaStatusNotFoundResponse" + description: 요청 ID를 찾을 수 없거나 만료됨 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Bria 요청 상태 가져오기 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/structured_instruction/generate: + post: + description: "사용자의 텍스트 기반 편집 명령어와 소스 이미지/마스크를 상세하고 기계가 읽을 수 있는 구조화된 편집 명령어(JSON 형식)로 변환합니다.\n\n이 엔드포인트는 Gemini 2.5 Flash VLM을 사용하여 편집 컨텍스트를 이해하고 이미지를 생성하지 않고 JSON 문자열만 반환합니다.\n\n결과 structured_instruction은 /proxy/bria/v2/image/edit 엔드포인트의 입력으로 사용할 수 있습니다.\n\n이 엔드포인트는 항상 비동기 모드(sync: false)를 사용하며 결과를 폴링할 status_url을 반환합니다.\n" + operationId: BriaStructuredInstructionGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaStructuredInstructionRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: 요청이 수락되어 비동기적으로 처리 중입니다 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: 콘텐츠 검수 실패 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 텍스트로 구조화된 지침 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/video/edit/green_screen: + post: + description: "Bria의 API를 사용하여 비디오에 대한 비동기 초록색 스크린(크로마 키) 작업을 시작합니다.\n원본 배경은 합성에 적합한 단색 방송용 초록색, 크로마 초록색 또는 파란색 스크린으로 교체됩니다.\n\nHTTP 202와 request_id 및 status_url을 반환합니다. 결과를 보려면 상태 엔드포인트를 폴링하세요.\n\n지원되는 입력 컨테이너: .mp4, .mov, .webm, .avi, .gif\n지원되는 입력 코덱: H.264, H.265 (HEVC), VP9, AV1, PhotoJPEG\n최대 입력 시간: 60초. 최대 입력 해상도: 16000x16000.\n" + operationId: BriaVideoGreenScreen + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaVideoGreenScreenRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: 요청이 수락되어 비동기적으로 처리 중입니다 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: 처리할 수 없는 엔터티 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Bria를 사용하여 비디오에 초록색 스크린 적용 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/video/edit/remove_background: + post: + description: "Bria의 API를 사용하여 비디오에 대한 비동기 배경 제거 작업을 시작합니다.\n\nHTTP 202와 request_id 및 status_url을 반환합니다. 결과를 보려면 상태 엔드포인트를 폴링하세요.\n\n지원되는 입력 컨테이너: .mp4, .mov, .webm, .avi, .gif\n지원되는 입력 코덱: H.264, H.265 (HEVC), VP9, AV1, PhotoJPEG\n최대 입력 시간: 60초. 최대 입력 해상도: 16000x16000.\n" + operationId: BriaVideoRemoveBackground + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaVideoRemoveBackgroundRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: 요청이 수락되어 비동기적으로 처리 중입니다 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: 처리할 수 없는 엔터티 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Bria를 사용하여 비디오에서 배경 제거 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/video/edit/replace_background: + post: + description: "Bria의 API를 사용하여 비디오에 대한 비동기 배경 교체 작업을 시작합니다.\n원본 배경은 합성되어 제거되고 제공된 배경 이미지 또는 비디오로 교체됩니다.\n\nHTTP 202와 request_id 및 status_url을 반환합니다. 결과를 보려면 상태 엔드포인트를 폴링하세요.\n\n지원되는 입력 컨테이너: .mp4, .mov, .webm, .avi, .gif\n지원되는 입력 코덱: H.264, H.265 (HEVC), VP9, AV1, PhotoJPEG\n최대 입력 시간: 60초. 최대 입력 해상도: 16000x16000.\n배경 자산은 전경 종횡비와 일치해야 합니다.\n" + operationId: BriaVideoReplaceBackground + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaVideoReplaceBackgroundRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: 요청이 수락되어 비동기적으로 처리 중입니다 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: 처리할 수 없는 엔터티 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Bria를 사용하여 비디오의 배경 교체 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/byteplus-seedance2/api/v3/contents/generations/tasks/{task_id}": + get: + operationId: ByteplusSeedance2VideoGenerationQuery + parameters: + - description: 조회할 Seedance 2.0 비디오 생성 작업의 ID + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusVideoGenerationQueryResponse" + description: 비디오 생성 작업 정보를 성공적으로 조회했습니다. + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 4xx/5xx 오류 + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/contents/generations/tasks: + post: + operationId: ByteplusVideoGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusVideoGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusVideoGenerationResponse" + description: 비디오 생성 작업이 성공적으로 생성되었습니다. + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 4xx/5xx 오류 + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/byteplus/api/v3/contents/generations/tasks/{task_id}": + get: + operationId: ByteplusVideoGenerationQuery + parameters: + - description: 조회할 비디오 생성 작업의 ID + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusVideoGenerationQueryResponse" + description: 비디오 생성 작업 정보를 성공적으로 조회했습니다. + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 4xx/5xx 오류 + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/files: + post: + description: "Proxies POST https://ark.ap-southeast.bytepluses.com/api/v3/files. Uploads a binary file to ModelArk for later use (e.g. video understanding). See https://docs.byteplus.com/en/docs/ModelArk/1870405 for upstream details.\n" + operationId: ByteplusFileUpload + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/BytePlusFileUploadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusFile" + description: 파일이 성공적으로 업로드되었습니다. + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 4xx/5xx 오류 + security: + - BearerAuth: + [] + summary: BytePlus ModelArk에 파일 업로드 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/byteplus/api/v3/files/{id}": + get: + description: "Proxies GET https://ark.ap-southeast.bytepluses.com/api/v3/files/{id}. See https://docs.byteplus.com/en/docs/ModelArk/1870406 for upstream details.\n" + operationId: ByteplusFileGet + parameters: + - description: 조회할 파일의 ID. + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusFile" + description: 파일 정보를 성공적으로 조회했습니다. + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 4xx/5xx 오류 + security: + - BearerAuth: + [] + summary: BytePlus ModelArk 파일 정보 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/images/generations: + post: + operationId: ByteplusImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusImageGenerationResponse" + description: 이미지 생성이 성공적으로 완료되었습니다. + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 4xx/5xx 오류 + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/responses: + post: + description: "프록시로 POST https://ark.ap-southeast.bytepluses.com/api/v3/responses를 전달합니다. 텍스트, 이미지, 비디오, 파일 입력, 도구 호출, 구조적 출력 및 심층 추론을 지원하는 모델 응답을 생성합니다. 업스트림 튜토리얼 및 요청 참조는 https://docs.byteplus.com/en/docs/ModelArk/1585128을 참조하세요; 응답 객체는 https://docs.byteplus.com/en/docs/ModelArk/1783703에 문서화되어 있습니다.\n" + operationId: ByteplusResponseCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusResponseCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusResponseObject" + description: 모델 응답 본문 (BytePlusResponseObject). + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + summary: BytePlus ModelArk 모델 응답 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/tts/create: + post: + description: "프록시로 POST https://voice.ap-southeast-1.bytepluses.com/api/v3/tts/create를 전달합니다. 텍스트 프롬프트에서 Seed Audio 1.0 모델을 사용하여 오디오 (음성, 음악 및 음향 효과)를 동기적으로 생성하며, 선택적으로 ReferenceTimbreAudio 또는 참조 이미지로 안내합니다. 생성된 오디오는 요청당 120초로 제한됩니다. 업스트림 세부 정보는 https://docs.byteplus.com/en/docs/byteplusvoice/seedaudio-01을 참조하세요.\n" + operationId: ByteplusTTSCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusTTSCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusTTSCreateResponse" + description: 오디오 생성이 성공적으로 완료됨 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + summary: BytePlus Seed Audio 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/dummy: + post: + description: 단순 문자열을 반환하는 더미 프록시 엔드포인트 + operationId: DummyProxy + requestBody: + content: + application/json: + schema: + properties: + message: + type: string + type: object + responses: + "200": + description: 재인덱싱이 성공적으로 완료됨. + summary: 더미 프록시 + tags: + - API Nodes + x-excluded: true + /proxy/elevenlabs/v1/audio-isolation: + post: + description: "오디오에서 배경 노이즈를 제거합니다. 배경 소리에서 보컬/음성을 분리합니다.\n" + operationId: ElevenLabsAudioIsolation + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/ElevenLabsAudioIsolationRequest" + required: true + responses: + "200": + content: + application/octet-stream: + schema: + format: binary + type: string + audio/mpeg: + schema: + format: binary + type: string + description: 분리된 오디오 파일 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: 검증 오류 + security: + - BearerAuth: + [] + summary: 오디오 분리 + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/shared-voices: + get: + description: "ElevenLabs 음성 라이브러리에서 공유 음성 목록을 검색합니다.\n" + operationId: ElevenLabsGetSharedVoices + parameters: + - description: "최대 반환할 공유 음성 수입니다. 100을 초과할 수 없으며, 기본값은 30입니다." + in: query + name: page_size + schema: + default: 30 + type: integer + - description: "필터링에 사용되는 음성 카테고리. 다음 중 하나: professional, famous, high_quality." + in: query + name: category + schema: + type: string + - description: 필터링에 사용되는 성별 + in: query + name: gender + schema: + type: string + - description: 필터링에 사용되는 연령 + in: query + name: age + schema: + type: string + - description: 필터링에 사용되는 억양 + in: query + name: accent + schema: + type: string + - description: 필터링에 사용되는 언어 + in: query + name: language + schema: + type: string + - description: 필터링에 사용되는 언어 설정 + in: query + name: locale + schema: + type: string + - description: 필터링에 사용되는 검색어 + in: query + name: search + schema: + type: string + - description: 필터링에 사용되는 사용 사례 + in: query + name: use_cases + schema: + items: + type: string + type: array + - description: 필터링에 사용되는 설명 + in: query + name: descriptives + schema: + items: + type: string + type: array + - description: 추천 음성 필터 + in: query + name: featured + schema: + default: false + type: boolean + - description: 지정된 일 수의 최소 통지 기간이 있는 음성을 필터링합니다. + in: query + name: min_notice_period_days + schema: + type: integer + - description: 사용자 정의 요금이 있는 음성 포함/제외 + in: query + name: include_custom_rates + schema: + type: boolean + - description: 실시간으로 조정되는 음성 포함/제외 + in: query + name: include_live_moderated + schema: + type: boolean + - description: 리더 앱에 활성화된 음성 필터 + in: query + name: reader_app_enabled + schema: + default: false + type: boolean + - description: 공개 소유자 ID로 음성 필터링 + in: query + name: owner_id + schema: + type: string + - description: 정렬 기준 + in: query + name: sort + schema: + type: string + - description: 페이지 번호 + in: query + name: page + schema: + default: 0 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsSharedVoicesPaginatedResponse" + description: 공유 음성을 성공적으로 불러왔습니다 + "401": + description: 권한 없음 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: 검증 오류 + security: + - BearerAuth: + [] + summary: 공유 음성 목록 + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/sound-generation: + post: + description: "텍스트를 비디오, 음성 해설 또는 비디오 게임의 음향 효과로 변환합니다. 세계에서 가장 고급 음향 효과 모델을 사용합니다.\n" + operationId: ElevenLabsSoundGeneration + parameters: + - description: "생성된 오디오의 출력 형식. codec_sample_rate_bitrate 형식으로 지정됩니다.\n예시: mp3_22050_32, mp3_44100_128, pcm_16000, ulaw_8000\n" + in: query + name: output_format + schema: + default: mp3_44100_128 + enum: + - mp3_22050_32 + - mp3_24000_48 + - mp3_44100_32 + - mp3_44100_64 + - mp3_44100_96 + - mp3_44100_128 + - mp3_44100_192 + - pcm_8000 + - pcm_16000 + - pcm_22050 + - pcm_24000 + - pcm_32000 + - pcm_44100 + - pcm_48000 + - ulaw_8000 + - alaw_8000 + - opus_48000_32 + - opus_48000_64 + - opus_48000_96 + - opus_48000_128 + - opus_48000_192 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsSoundGenerationRequest" + required: true + responses: + "200": + content: + application/octet-stream: + schema: + format: binary + type: string + audio/mpeg: + schema: + format: binary + type: string + description: 생성된 음향 효과 오디오 파일 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 잘못된 요청 + "401": + description: 권한 없음 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: 검증 오류 + security: + - BearerAuth: + [] + summary: 음향 효과 생성 + tags: + - API Nodes + - ElevenLabs + x-excluded: true + "/proxy/elevenlabs/v1/speech-to-speech/{voice_id}": + post: + description: "오디오를 한 음성에서 다른 음성으로 변환합니다. 감정, 타이밍 및 전달에 대한 완전한 제어를 유지합니다.\n" + operationId: ElevenLabsSpeechToSpeech + parameters: + - description: 사용할 음성의 ID입니다. 사용 가능한 모든 음성을 나열하려면 Get voices 엔드포인트를 사용하세요. + in: path + name: voice_id + required: true + schema: + type: string + - description: "enable_logging이 거짓으로 설정된 경우 요청에 대해 제로 보존 모드가 사용됩니다.\n이는 요청 스티칭을 포함하여 이 요청에 대한 기록 기능을 사용할 수 없음을 의미합니다.\n제로 보존 모드는 엔터프라이즈 고객만 사용할 수 있습니다.\n" + in: query + name: enable_logging + schema: + default: true + type: boolean + - description: "지연 시간 최적화 수준 (0-4):\n0 - 기본 모드 (지연 시간 최적화 없음)\n1 - 노멀(normal) 지연 시간 최적화 (~50% 개선)\n2 - 강력한 지연 시간 최적화 (~75% 개선)\n3 - 최대 지연 시간 최적화\n4 - 텍스트 정규화기 끄기로 최대 지연 시간 (최고의 지연 시간이지만 발음이 잘못될 수 있음)\n" + in: query + name: optimize_streaming_latency + schema: + nullable: true + type: integer + - description: "생성된 오디오의 출력 형식입니다. codec_sample_rate_bitrate 형식으로 표시됩니다.\n예시: mp3_22050_32, mp3_44100_128, pcm_16000, ulaw_8000\n" + in: query + name: output_format + schema: + default: mp3_44100_128 + enum: + - mp3_22050_32 + - mp3_24000_48 + - mp3_44100_32 + - mp3_44100_64 + - mp3_44100_96 + - mp3_44100_128 + - mp3_44100_192 + - pcm_8000 + - pcm_16000 + - pcm_22050 + - pcm_24000 + - pcm_32000 + - pcm_44100 + - pcm_48000 + - ulaw_8000 + - alaw_8000 + - opus_48000_32 + - opus_48000_64 + - opus_48000_96 + - opus_48000_128 + - opus_48000_192 + type: string + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/ElevenLabsSpeechToSpeechRequest" + required: true + responses: + "200": + content: + application/octet-stream: + schema: + format: binary + type: string + audio/mpeg: + schema: + format: binary + type: string + audio/ogg: + schema: + format: binary + type: string + audio/wav: + schema: + format: binary + type: string + description: 생성된 오디오 파일 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: 검증 오류 + security: + - BearerAuth: + [] + summary: 음성 변환기 (Speech-to-Speech) + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/speech-to-text: + post: + description: "오디오 또는 비디오 파일을 텍스트로 변환합니다. webhook이 참으로 설정되면 요청이 비동기적으로 처리되고\n결과가 구성된 webhook으로 전송됩니다. use_multi_channel이 참이고\n제공된 오디오에 여러 채널이 있는 경우 각 채널에 대한 개별 텍스트가 포함된 'transcripts' 객체가 반환됩니다.\n그렇지 않으면 단일 텍스트가 반환됩니다. 선택적 webhook_metadata 매개변수를 사용하면\n요청 상관관계 및 추적을 위해 웹훅 응답에 포함될 사용자 지정 데이터를 첨부할 수 있습니다.\n" + operationId: ElevenLabsSpeechToText + parameters: + - description: "enable_logging이 거짓으로 설정되면 요청에 대해 제로 보존 모드가 사용됩니다.\n즉, 이 요청에 대해 로그 및 텍스트 저장 기능을 사용할 수 없습니다.\n제로 보존 모드는 엔터프라이즈 고객만 사용할 수 있습니다.\n" + in: query + name: enable_logging + schema: + default: true + type: boolean + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/ElevenLabsSTTRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsSTTResponse" + description: 동기식 변환 결과 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: 검증 오류 + security: + - BearerAuth: + [] + summary: 텍스트 생성 (Speech-to-Text) + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/text-to-dialogue: + post: + description: "텍스트와 음성 ID 쌍 목록을 음성(대화)으로 변환하고 오디오를 반환합니다.\n여러 캐릭터 간의 대화를 생성하는 데 유용합니다.\n" + operationId: ElevenLabsTextToDialogue + parameters: + - description: "생성된 오디오의 출력 형식입니다. codec_sample_rate_bitrate 형식으로 표시됩니다.\n예시: mp3_22050_32, mp3_44100_128, pcm_16000, ulaw_8000\n" + in: query + name: output_format + schema: + default: mp3_44100_128 + enum: + - mp3_22050_32 + - mp3_24000_48 + - mp3_44100_32 + - mp3_44100_64 + - mp3_44100_96 + - mp3_44100_128 + - mp3_44100_192 + - pcm_8000 + - pcm_16000 + - pcm_22050 + - pcm_24000 + - pcm_32000 + - pcm_44100 + - pcm_48000 + - ulaw_8000 + - alaw_8000 + - opus_48000_32 + - opus_48000_64 + - opus_48000_96 + - opus_48000_128 + - opus_48000_192 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsTextToDialogueRequest" + required: true + responses: + "200": + content: + application/octet-stream: + schema: + format: binary + type: string + audio/mpeg: + schema: + format: binary + type: string + audio/ogg: + schema: + format: binary + type: string + audio/wav: + schema: + format: binary + type: string + description: 생성된 오디오 파일 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: 검증 오류 + security: + - BearerAuth: + [] + summary: 대화 생성 (Multi-voice TTS) + tags: + - API Nodes + - ElevenLabs + x-excluded: true + "/proxy/elevenlabs/v1/text-to-speech/{voice_id}": + post: + description: "지정된 음성을 사용하여 텍스트를 음성으로 변환하고 오디오를 반환합니다.\n\n출력 형식은 output_format 쿼리 매개변수를 통해 지정할 수 있습니다.\n지원되는 형식으로 다양한 샘플레이트와 비트레이트의 MP3, PCM, μ-law, Opus가 포함됩니다.\n" + operationId: ElevenLabsTextToSpeech + parameters: + - description: 사용할 음성의 ID입니다. Get voices 엔드포인트를 사용하여 사용 가능한 모든 음성을 나열하세요. + in: path + name: voice_id + required: true + schema: + type: string + - description: 거짓으로 설정하면 제로 보존 모드가 활성화됩니다(엔터프라이즈 전용). 히스토리 기능을 사용할 수 없습니다. + in: query + name: enable_logging + schema: + default: true + type: boolean + - description: "지원 중단됨. 지연 시간 최적화 수준 (0-4):\n0 - 기본 모드 (지연 시간 최적화 없음)\n1 - 노멀(normal) 지연 시간 최적화 (~50% 개선)\n2 - 강력한 지연 시간 최적화 (~75% 개선)\n3 - 최대 지연 시간 최적화\n4 - 텍스트 정규화기 끄기로 최대 지연 시간 (최고의 지연 시간이지만 발음이 잘못될 수 있음)\n" + in: query + name: optimize_streaming_latency + schema: + maximum: 4 + minimum: 0 + type: integer + - description: "생성된 오디오의 출력 형식. codec_sample_rate_bitrate 형식으로 지정됩니다.\n예시: mp3_22050_32, mp3_44100_128, pcm_16000, pcm_22050, ulaw_8000\n" + in: query + name: output_format + schema: + default: mp3_44100_128 + enum: + - mp3_22050_32 + - mp3_44100_32 + - mp3_44100_64 + - mp3_44100_96 + - mp3_44100_128 + - mp3_44100_192 + - pcm_8000 + - pcm_16000 + - pcm_22050 + - pcm_24000 + - pcm_32000 + - pcm_44100 + - pcm_48000 + - ulaw_8000 + - alaw_8000 + - opus_48000_32 + - opus_48000_64 + - opus_48000_96 + - opus_48000_128 + - opus_48000_192 + - wav_8000 + - wav_16000 + - wav_22050 + - wav_24000 + - wav_32000 + - wav_44100 + - wav_48000 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsTTSRequest" + required: true + responses: + "200": + content: + audio/mpeg: + schema: + format: binary + type: string + audio/ogg: + schema: + format: binary + type: string + audio/wav: + schema: + format: binary + type: string + description: 생성된 오디오 파일 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: 검증 오류 + security: + - BearerAuth: + [] + summary: ElevenLabs 텍스트 음성 변환 + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/voices/add: + post: + description: "즉시 음성 복제를 생성하고 Voices에 추가합니다.\n" + operationId: ElevenLabsCreateVoice + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/ElevenLabsCreateVoiceRequest" + required: true + responses: + "200": + content: + application/json: + schema: + properties: + requires_verification: + type: boolean + voice_id: + type: string + type: object + description: 음성이 성공적으로 생성됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: 검증 오류 + security: + - BearerAuth: + [] + summary: 음성 복제 생성 + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v2/voices: + get: + description: "ElevenLabs `GET /v2/voices`(페이지네이션된 음성 검색 엔드포인트)를 프록시하며,\n`category` 쿼리 파라미터가 `premade`로 고정되어 ElevenLabs 음성 라이브러리의 프리메이드 음성만 반환됩니다.\n" + operationId: ElevenLabsGetVoices + parameters: + - description: 이름이나 설명으로 음성을 필터링하는 검색어입니다. + in: query + name: search + schema: + type: string + - description: "페이지당 반환할 음성 수입니다. 최대 100, 기본값 10." + in: query + name: page_size + schema: + type: integer + - description: 이전 호출에서 반환된 페이지네이션 커서입니다. + in: query + name: next_page_token + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsVoicesPaginatedResponse" + description: 음성을 성공적으로 가져옴 + "401": + description: 인증되지 않음 + security: + - BearerAuth: + [] + summary: 음성 목록 + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/fal/fal-ai/patina: + post: + description: "비동기 실행 대기열 API를 통해 fal의 PATINA 모델(fal-ai/patina)에 이미지를 제출하고 request_id를 반환합니다. 단일 입력 이미지에서 PBR 재질 맵(basecolor, normal, roughness, metalness, height)을 예측합니다. 상태 엔드포인트를 폴링한 후 결과를 가져오세요." + operationId: FalPatina + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FalPatinaRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalQueueStatus" + description: 요청이 fal에 의해 수락되고 대기 중입니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 서버 내부 오류 + security: + - BearerAuth: + [] + summary: PBR 소재 예측을 fal PATINA에 제출 (이미지 기반 이미지 생성) + tags: + - API Nodes + - Released + x-excluded: true + /proxy/fal/fal-ai/patina/material: + post: + description: "fal의 비동기 실행 대기열 API를 통해 fal의 PATINA 모델(fal-ai/patina/material)에 소재 생성 요청을 제출하고 request_id를 반환합니다. PATINA 생성(특히 8K / 4x 업스케일링)은 몇 분 정도 소요될 수 있으므로 작업은 동기적으로 실행되지 않고 대기열에 추가됩니다: 상태 엔드포인트를 폴링한 후 결과를 가져옵니다. 베이스 텍스처와 요청된 PBR 맵(basecolor, normal, roughness, metalness, height)은 상태가 COMPLETED가 되면 결과 엔드포인트에 의해 반환됩니다." + operationId: FalPatinaMaterialSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FalPatinaMaterialRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalQueueStatus" + description: 요청이 fal에 의해 수락 및 대기 중 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 서버 내부 오류 + security: + - BearerAuth: + [] + summary: PBR 소재 생성을 fal PATINA에 제출 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/fal/fal-ai/patina/material/extract: + post: + description: 비동기 실행 대기열 API를 통해 프롬프트와 입력 이미지를 fal의 PATINA 모델(fal-ai/patina/material/extract)에 제출하고 request_id를 반환합니다. 이미지에서 텍스처를 추출하고 완전한 타일링 PBR 소재를 생성합니다. 상태 엔드포인트를 폴링한 후 결과를 가져옵니다. + operationId: FalPatinaMaterialExtract + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FalPatinaMaterialExtractRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalQueueStatus" + description: 요청이 fal에 의해 수락 및 대기 중 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 서버 내부 오류 + security: + - BearerAuth: + [] + summary: 텍스처 추출 및 PBR 소재 생성을 fal PATINA에 제출 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/fal/fal-ai/patina/requests/{request_id}": + get: + description: "주어진 request_id에 대해 fal의 실행 대기열 결과 엔드포인트로 전달하고, 요청이 COMPLETED되면 생성된 소재(베이스 텍스처 이미지와 요청된 PBR 맵)를 반환합니다." + operationId: FalPatinaMaterialResult + parameters: + - description: 제출 시 반환된 fal 실행 대기열 요청 ID + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalPatinaMaterialResponse" + description: 완료된 PATINA 소재 결과 + "401": + description: 인증되지 않음 + "404": + description: 요청을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 서버 내부 오류 + security: + - BearerAuth: + [] + summary: 완료된 fal PATINA 요청의 결과를 가져옴 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/fal/fal-ai/patina/requests/{request_id}/status": + get: + description: "주어진 request_id에 대해 fal의 실행 대기열 상태 엔드포인트로 전달합니다. 실행 대기열 상태(IN_QUEUE, IN_PROGRESS 또는 COMPLETED)를 반환합니다. COMPLETED 상태가 되면 요청 엔드포인트에서 결과를 가져옵니다." + operationId: FalPatinaMaterialStatus + parameters: + - description: 제출 시 반환된 fal 실행 대기열 요청 ID입니다. + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalQueueStatus" + description: 요청의 현재 실행 대기열 상태 + "401": + description: 인증되지 않음 + "404": + description: 요청을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: fal PATINA 요청의 상태를 폴링합니다 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/freepik/v1/ai/image-relight: + post: + description: "AI를 사용하여 이미지에 재조명을 적용합니다. 이 엔드포인트는 생성된 이미지를 사용자 정의하기 위한 다양한 파라미터를 허용합니다.\n" + operationId: FreepikMagnificRelight + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikMagnificRelightRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - 재조명 프로세스가 시작되었습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 잘못된 요청 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 이미지 재조명 + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/image-relight/{task_id}": + get: + description: 재조명 작업의 상태를 가져옵니다. + operationId: FreepikMagnificRelightGetStatus + parameters: + - description: 작업의 ID + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - 작업 상태가 반환됩니다. + "404": + description: 작업을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 재조명 작업의 상태 가져오기 + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/image-style-transfer: + post: + description: AI를 사용하여 이미지에 스타일 전송을 적용합니다. + operationId: FreepikMagnificStyleTransfer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikMagnificStyleTransferRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskData" + description: OK - 스타일 전송 프로세스가 시작되었습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 잘못된 요청 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 이미지 스타일 전송 + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/image-style-transfer/{task_id}": + get: + description: 스타일 전송 작업의 상태를 가져옵니다. + operationId: FreepikMagnificStyleTransferGetStatus + parameters: + - description: 작업의 ID + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - 작업 상태가 반환됩니다. + "404": + description: 작업을 찾을 수 없습니다. + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 스타일 변환 작업 상태 가져오기 + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/image-upscaler: + post: + description: "이 비동기 엔드포인트는 고급 AI 알고리즘을 사용하여 이미지 업스케일링을 가능하게 합니다.\n제출 시 고유한 task_id를 반환하며, 이를 통해 진행 상황을 추적할 수 있습니다.\n실시간 프로덕션 사용을 위해 선택적 webhook_url 매개변수를 포함하면 작업이 완료된 후 자동 알림을 받을 수 있습니다.\n" + operationId: FreepikMagnificUpscalerCreative + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikMagnificUpscalerCreativeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - 업스케일링 프로세스가 시작되었습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 잘못된 요청 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Magnific으로 이미지 업스케일링 + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/image-upscaler-precision-v2: + post: + description: "이미지를 업스케일링하고 동시에 새로운 시각적 요소 또는 세부 정보를 추가합니다(V2).\n이 엔드포인트는 프롬프트와 추론된 컨텍스트에 따라 원본 이미지 콘텐츠를 수정할 수 있습니다.\n제출 시 고유한 task_id를 반환하며, 이를 통해 진행 상황을 추적할 수 있습니다.\n" + operationId: FreepikMagnificUpscalerPrecisionV2 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikMagnificUpscalerPrecisionV2Request" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - 업스케일링 프로세스가 시작되었습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 잘못된 요청 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Precision V2로 이미지 업스케일링 + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}": + get: + description: 특정 Precision V2 업스케일러 작업의 현재 상태와 출력 URL을 반환합니다. + operationId: FreepikMagnificUpscalerPrecisionV2GetStatus + parameters: + - description: 작업의 ID + in: path + name: task_id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - 작업 상태가 반환됩니다. + "404": + description: 작업을 찾을 수 없습니다. + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Precision V2 업스케일링 작업 상태 가져오기 + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/image-upscaler/{task_id}": + get: + description: 업스케일링 작업 상태 가져오기 + operationId: FreepikMagnificUpscalerCreativeGetStatus + parameters: + - description: 작업의 ID + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - 작업 상태가 반환됩니다. + "404": + description: 작업을 찾을 수 없습니다. + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 업스케일링 작업 상태 가져오기 + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/skin-enhancer/creative: + post: + description: Creative 모드로 AI를 사용하여 이미지의 피부를 개선합니다. 이 모드는 더 예술적이고 세련된 개선을 제공합니다. + operationId: FreepikSkinEnhancerCreative + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikSkinEnhancerCreativeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - 피부 개선 프로세스가 시작되었습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 잘못된 요청 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: AI를 사용한 피부 개선 (Creative) + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/skin-enhancer/faithful: + post: + description: Faithful 모드로 AI를 사용하여 이미지의 피부를 개선합니다. 이 모드는 피부 품질을 향상시키면서 원본 모양을 유지합니다. + operationId: FreepikSkinEnhancerFaithful + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikSkinEnhancerFaithfulRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - 피부 개선 프로세스가 시작되었습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 잘못된 요청 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: AI를 사용한 피부 개선 (Faithful) + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/skin-enhancer/flexible: + post: + description: Flexible 모드로 AI를 사용하여 이미지의 피부를 개선합니다. 이 모드는 개선을 위한 최적화 대상을 선택할 수 있습니다. + operationId: FreepikSkinEnhancerFlexible + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikSkinEnhancerFlexibleRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - 피부 개선 프로세스가 시작되었습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 잘못된 요청 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: AI를 사용한 피부 개선 (Flexible) + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/skin-enhancer/{task_id}": + get: + description: 피부 개선 작업의 상태를 가져옵니다 (Creative 및 Faithful 모드 모두에 적용됩니다.) + operationId: FreepikSkinEnhancerGetStatus + parameters: + - description: 작업 ID + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - 작업 상태가 반환됩니다. + "404": + description: 작업을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 하나의 피부 개선 작업 상태 가져오기 + tags: + - Freepik + - Proxy + /proxy/hitpaw/api/photo-enhancer: + post: + description: "HitPaw Photo Enhancement API를 사용하여 이미지 처리 작업을 제출합니다.\n이미지 초해상도 처리를 위한 여러 개선 모델을 지원합니다.\n\n반환된 job_id는 task-status 엔드포인트와 함께 사용하여 처리 결과를 확인할 수 있습니다.\n\n**사용 가능한 모델:**\n- 개선 및 노이즈 제거 모델 (face_2x/4x, face_v2_2x/4x, general_2x/4x, high_fidelity_2x/4x, sharpen_denoise, detail_denoise):\n - 최대 입력: 67 MP, 최대 출력: 600 MP\n - 지원 형식: bmp, jpeg, jpg, png, jfif, tga, tiff, webp, heif\n- 생성 모델 (generative_portrait, generative):\n - 입력 제한 없음, 최대 출력: 8K (33 MP)\n - 지원 형식: bmp, jpeg, jpg, png, jfif, tga, tiff, webp, heif\n" + operationId: HitpawPhotoEnhancer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawPhotoEnhancerRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawJobResponse" + description: 작업이 성공적으로 제출되었습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: HitPaw 이미지 향상 작업 제출 + tags: + - API Nodes + - HitPaw + x-excluded: true + /proxy/hitpaw/api/task-status: + post: + description: "이전에 제출한 이미지 또는 비디오 향상 작업의 상태 및 결과를 조회합니다.\n작업 상태가 완료됨(COMPLETED)을 나타낼 때까지 이 엔드포인트를 폴링합니다.\n\n**상태 코드:**\n- CONVERTING: 작업이 현재 처리 중입니다.\n- COMPLETED: 작업이 성공적으로 완료됨, 결과를 사용할 수 있습니다.\n- ERROR: 오류로 인해 작업이 실패했습니다.\n" + operationId: HitpawTaskStatus + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawTaskStatusRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawTaskStatusResponse" + description: 작업 상태 조회 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: HitPaw 작업 상태 조회 + tags: + - API Nodes + - HitPaw + x-excluded: true + /proxy/hitpaw/api/video-enhancer: + post: + description: "HitPaw 비디오 향상 API를 사용하여 비디오 처리 작업을 제출합니다.\nAI 기술을 사용하여 저해상도 비디오를 고해상도로 업스케일하고, 아티팩트와 노이즈를 제거하며, 선명도와 세부 정보를 개선합니다.\n\n반환된 job_id는 task-status 엔드포인트와 함께 사용하여 처리 결과를 확인할 수 있습니다.\n\n**비디오 제약 사항:**\n- 지속 시간: 0.5초 ~ 1시간\n- 최대 출력 해상도: 36 MP (총 픽셀 수)\n- 지원 입력 형식: dv, mlv, m2ts, m2t, m2v, nut, ser, 3g2, 3gp, asf, divx, f4v, h261, h263, m4v, mkv, mov, mp4, mpeg, mpeg4, mpg, mxf, ogv, rm, rmvb, webm, wmv, dmsm, dvdmedia, dvr-ms, mts, trp, ts, vob, vro, gif, xvid\n- 지원 출력 형식: mp4, mov, mkv, m4v, avi, gif\n" + operationId: HitpawVideoEnhancer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawVideoEnhancerRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawJobResponse" + description: 작업 제출 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: 결제 필요 - 크레딧 부족 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: HitPaw 비디오 향상 작업 제출 + tags: + - API Nodes + - HitPaw + x-excluded: true + /proxy/ideogram/generate: + post: + description: Ideogram의 API로 이미지 생성 요청을 전달하고 결과를 반환합니다. + operationId: IdeogramGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Ideogram 프록시로부터 성공적인 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 (프록시에 잘못된 입력) + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 속도 제한 초과 (프록시 또는 Ideogram에서) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 업스트림 문제) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 게이트웨이 (Ideogram과 통신 오류) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 게이트웨이 시간 초과 (Ideogram이 응답하는 데 너무 오래 걸림) + security: + - BearerAuth: + [] + summary: Ideogram에 이미지 생성을 위한 프록시 요청 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/edit: + post: + description: Ideogram API로 이미지 편집 요청을 전달하고 결과를 반환합니다. + operationId: IdeogramV3Edit + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/IdeogramV3EditRequest" + description: Ideogram V3 이미지 편집 파라미터 + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Ideogram 프록시로부터의 성공적인 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 (프록시에 잘못된 입력) + "401": + description: 인증되지 않음 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 프롬프트 또는 초기 이미지가 안전 검사를 실패했습니다. + "429": + description: 속도 제한 초과 (프록시 또는 Ideogram으로 인해) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 상위 서버 문제) + summary: Ideogram에 이미지 편집을 위한 프록시 요청 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/generate: + post: + description: Ideogram API로 이미지 생성 요청을 전달하고 결과를 반환합니다. + operationId: IdeogramV3Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV3Request" + description: Ideogram V3 이미지 생성 파라미터 + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Ideogram 프록시로부터의 성공적인 응답 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 상위 서버 문제) + summary: Ideogram에 이미지 생성을 위한 프록시 요청 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/reframe: + post: + operationId: IdeogramV3Reframe + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/IdeogramV3ReframeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV3IdeogramResponse" + description: 리프레임된 이미지가 성공적으로 반환됨 + "400": + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "422": + description: 처리할 수 없는 개체 + "429": + description: 요청이 너무 많음 + summary: 이미지를 선택한 해상도로 리프레임 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/remix: + post: + operationId: IdeogramV3Remix + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/IdeogramV3RemixRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV3IdeogramResponse" + description: 리믹스가 성공적으로 생성됨 + "400": + description: 잘못된 요청 + "403": + description: 금지됨 + "422": + description: 처리할 수 없는 엔터티 + "429": + description: 요청이 너무 많음 + summary: 프롬프트를 사용하여 이미지 리믹스 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/replace-background: + post: + operationId: IdeogramV3ReplaceBackground + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/IdeogramV3ReplaceBackgroundRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV3IdeogramResponse" + description: 배경이 성공적으로 교체됨 + "400": + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "422": + description: 처리할 수 없는 엔터티 + "429": + description: 요청이 너무 많음 + summary: 프롬프트를 사용하여 이미지의 배경 교체 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v4/generate: + post: + description: 텍스트 기반 이미지 생성 요청을 Ideogram 4.0 API로 전달하고 결과를 반환합니다. + operationId: IdeogramV4Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV4Request" + description: Ideogram 4.0 이미지 생성 파라미터 + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Ideogram 프록시로부터의 성공적인 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 (프록시에 대한 잘못된 입력) + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 속도 제한 초과 (프록시 또는 Ideogram에서) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 업스트림 문제) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 게이트웨이 (Ideogram과 통신 중 오류) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 게이트웨이 시간 초과 (Ideogram이 응답하는 데 너무 오래 걸림) + summary: 이미지 생성을 위한 Ideogram 4.0 프록시 요청 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/image-to-video/kling-3.0-turbo: + post: + operationId: KlingV2CreateVideoFromImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2Image2VideoRequest" + description: Create a Kling 3.0 Turbo image-to-video task + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2CreateTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + summary: KlingAI 3.0 Turbo Create Video from Image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/tasks: + get: + operationId: KlingV2QueryTask + parameters: + - description: "조회할 시스템 작업 ID입니다. \",\"로 구분된 배치 조회를 지원합니다. external_task_ids와 상호 배타적입니다." + in: query + name: task_ids + schema: + type: string + - description: "조회할 사용자 정의 작업 ID입니다. \",\"로 구분된 배치 조회를 지원합니다. task_ids와 상호 배타적입니다." + in: query + name: external_task_ids + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2QueryTaskResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + summary: KlingAI 3.0 Turbo ID로 작업 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/text-to-video/kling-3.0-turbo: + post: + operationId: KlingV2CreateVideoFromText + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2Text2VideoRequest" + description: Create a Kling 3.0 Turbo text-to-video task + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2CreateTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + summary: KlingAI 3.0 Turbo Create Video from Text + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/account/costs: + get: + operationId: KlingQueryResourcePackages + parameters: + - in: query + name: start_time + required: true + schema: + description: "쿼리의 시작 시간, Unix 타임스탬프(밀리초)" + type: integer + - in: query + name: end_time + required: true + schema: + description: "쿼리의 종료 시간, Unix 타임스탬프(밀리초)" + type: integer + - in: query + name: resource_pack_name + schema: + description: 특정 패키지를 정확히 조회하기 위한 리소스 패키지 이름 + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingResourcePackageResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 권한 없음 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 리소스 패키지 정보 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/general/advanced-presets-elements: + get: + description: "Kling AI에서 고급 사전 설정 요소 목록을 검색합니다.\n" + operationId: KlingGetPresetsElements + parameters: + - description: "페이지 번호. 값 범위: [1, 1000]." + in: query + name: pageNum + schema: + default: 1 + type: integer + - description: "페이지당 데이터 볼륨. 값 범위: [1, 500]." + in: query + name: pageSize + schema: + default: 30 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingPresetsElementsResponse" + description: 사전 설정 요소를 성공적으로 검색함 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: KlingAI 사전 설정 요소 조회 + tags: + - API Nodes + - Kling + x-excluded: true + /proxy/kling/v1/images/generations: + get: + operationId: KlingImageGenerationsQueryTaskList + parameters: + - description: 페이지 번호 + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: 페이지당 데이터 볼륨 + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImageGenerationsResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 권한 없음 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 이미지 생성 작업 목록 조회 + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingCreateImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImageGenerationsRequest" + description: 이미지 생성을 위한 작업 생성 + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImageGenerationsResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 이미지 생성 작업 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/images/generations/{id}": + get: + operationId: KlingImageGenerationsQuerySingleTask + parameters: + - description: 작업 ID + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImageGenerationsResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 단일 이미지 생성 작업 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/images/kolors-virtual-try-on: + get: + operationId: KlingVirtualTryOnQueryTaskList + parameters: + - description: 페이지 번호 + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: 페이지당 데이터 볼륨 + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVirtualTryOnResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 권한 없음 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 가상 피팅 작업 목록 조회 + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingCreateVirtualTryOn + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVirtualTryOnRequest" + description: 인물 이미지에 대한 의류 가상 피팅 작업 생성 + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVirtualTryOnResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 권한 없음 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 가상 피팅 작업 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/images/kolors-virtual-try-on/{id}": + get: + operationId: KlingVirtualTryOnQuerySingleTask + parameters: + - description: 작업 ID + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVirtualTryOnResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 타임아웃 + summary: KlingAI 단일 가상 피팅 작업 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/images/omni-image: + post: + operationId: KlingCreateOmniImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingOmniImageRequest" + description: omni-image 생성을 위한 작업 생성 + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingOmniImageResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 타임아웃 + summary: KlingAI Omni-Image 작업 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/images/omni-image/{id}": + get: + operationId: KlingOmniImageQuerySingleTask + parameters: + - description: 작업 ID 또는 외부 작업 ID. task_id(시스템에 의해 생성됨) 또는 external_task_id(사용자 지정 작업 ID)로 조회할 수 있습니다. + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingOmniImageResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 단일 Omni-Image 작업 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/avatar/image2video: + post: + operationId: KlingCreateAvatarVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingAvatarRequest" + description: 이미지와 오디오로 아바타 비디오를 생성하는 작업 만들기 + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingAvatarResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 아바타 비디오 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/avatar/image2video/{id}": + get: + operationId: KlingAvatarQueryTask + parameters: + - description: 작업 ID 또는 external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingAvatarResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 아바타 작업 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/effects: + get: + operationId: KlingVideoEffectsQueryTaskList + parameters: + - description: 페이지 번호 + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: 페이지당 데이터 볼륨 + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoEffectsResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 비디오 효과 작업 목록 조회 + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingCreateVideoEffects + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoEffectsRequest" + description: 효과가 있는 비디오 생성을 위한 작업 생성 + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoEffectsResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 비디오 효과 작업 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/effects/{id}": + get: + operationId: KlingVideoEffectsQuerySingleTask + parameters: + - description: 작업 ID 또는 external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoEffectsResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 액세스 권한 없음 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 단일 비디오 효과 작업 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/image2video: + post: + operationId: KlingCreateVideoFromImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImage2VideoRequest" + description: 이미지에서 비디오를 생성하는 작업 생성 + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 액세스 권한 없음 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 이미지에서 비디오 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/image2video/{id}": + get: + operationId: KlingImage2VideoQuerySingleTask + parameters: + - description: 작업 ID 또는 external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 단일 Image2Video 작업 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/lip-sync: + get: + operationId: KlingLipSyncQueryTaskList + parameters: + - description: 페이지 번호 + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: 페이지당 데이터 볼륨 + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingLipSyncResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 립싱크 작업 목록 조회 + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingCreateLipSyncVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingLipSyncRequest" + description: 립싱크 비디오 생성을 위한 작업 생성 + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingLipSyncResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 립싱크 비디오 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/lip-sync/{id}": + get: + operationId: KlingLipSyncQuerySingleTask + parameters: + - description: 작업 ID 또는 external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingLipSyncResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 단일 립싱크 작업 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/motion-control: + post: + operationId: KlingCreateMotionControl + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingMotionControlRequest" + description: 모션 컨트롤 비디오 생성을 위한 작업 생성 + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingMotionControlResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 요금 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 동작 제어 작업 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/motion-control/{id}": + get: + operationId: KlingMotionControlQuerySingleTask + parameters: + - description: 작업 ID 또는 external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingMotionControlResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청된 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 요금 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 단일 동작 제어 작업 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/omni-video: + post: + operationId: KlingCreateOmniVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingOmniVideoRequest" + description: 옴니 비디오 생성을 위한 작업 생성 + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청된 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 요금 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI Omni-Video 작업 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/omni-video/{id}": + get: + operationId: KlingOmniVideoQuerySingleTask + parameters: + - description: 작업 ID 또는 외부 작업 ID. task_id (시스템에 의해 생성됨) 또는 external_task_id (사용자 정의 작업 ID)로 조회할 수 있습니다. + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 단일 Omni-Video 작업 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/text2video: + post: + operationId: KlingCreateVideoFromText + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingText2VideoRequest" + description: 텍스트에서 비디오를 생성하기 위한 작업 생성 + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: 성공 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 텍스트로 비디오 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/text2video/{id}": + get: + operationId: KlingText2VideoQuerySingleTask + parameters: + - description: 작업 ID 또는 external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: 성공적인 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 권한 없음 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 단일 작업 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/video-extend: + get: + operationId: KlingVideoExtendQueryTaskList + parameters: + - description: 페이지 번호 + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: 페이지당 데이터 볼륨 + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoExtendResponse" + description: 성공적인 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 권한 없음 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 비디오 확장 작업 목록 조회 + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingExtendVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoExtendRequest" + description: 비디오 길이 확장을 위한 작업 생성 + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoExtendResponse" + description: 성공적인 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 비디오 지속 시간 연장 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/video-extend/{id}": + get: + operationId: KlingVideoExtendQuerySingleTask + parameters: + - description: 작업 ID + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoExtendResponse" + description: 성공적인 응답 (요청 성공) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 요청한 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 계정 예외 또는 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: 서버 시간 초과 + summary: KlingAI 단일 비디오 확장 작업 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/krea/assets: + post: + description: 에셋 업로드 + operationId: KreaUploadAsset + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/KreaAssetUploadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaAsset" + description: 업로드된 에셋. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 파일 유형/크기 + "401": + description: 권한 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 에셋 업로드 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/krea/generate/image/krea/krea-2/large: + post: + description: 표현적인 사실주의에 가장 적합합니다. + operationId: KreaGenerateImageLarge + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KreaGenerateImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaJob" + description: "결과 작업 데이터입니다. 작업이 완료될 때까지 대기 중 상태로 반환됩니다. 결과를 검색하려면 /jobs/{id}를 참조하십시오." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 - 크레딧 부족 + "429": + description: 요청이 너무 많음 - 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Krea 2 Large + tags: + - API Nodes + - Released + x-excluded: true + /proxy/krea/generate/image/krea/krea-2/medium: + post: + description: 표현적인 일러스트레이션에 가장 적합합니다. + operationId: KreaGenerateImageMedium + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KreaGenerateImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaJob" + description: "결과 작업 데이터입니다. 작업이 완료될 때까지 대기 중 상태로 반환됩니다. 결과를 검색하려면 /jobs/{id}를 참조하십시오." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 - 크레딧 부족 + "429": + description: 요청이 너무 많음 - 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Krea 2 Medium + tags: + - API Nodes + - Released + x-excluded: true + /proxy/krea/generate/image/krea/krea-2/medium-turbo: + post: + description: Krea 2 Medium의 더 빠르고 저렴한 변형입니다. + operationId: KreaGenerateImageMediumTurbo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KreaGenerateImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaJob" + description: "결과 작업 데이터입니다. 작업이 완료될 때까지 대기 중 상태로 반환됩니다. 결과를 검색하려면 /jobs/{id}를 참조하십시오." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 - 크레딧 부족 + "429": + description: 요청이 너무 많음 - 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Krea 2 Medium Turbo + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/krea/jobs/{job_id}": + get: + description: ID로 작업 가져오기 + operationId: KreaGetJob + parameters: + - description: 작업의 고유 식별자 + in: path + name: job_id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaJob" + description: 작업의 최신 상태. status 필드를 확인하여 작업이 완료되었는지 확인할 수 있습니다. 완료된 loraTraining 작업의 경우 결과에 style_id 필드가 포함됩니다. + "401": + description: 인증되지 않음 + "404": + description: 작업을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: ID로 작업 가져오기 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ltx/v1/image-to-video: + post: + description: LTX Video AI 모델을 사용하여 정적 이미지를 동적 비디오로 변환 + operationId: LtxCreateVideoFromImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LTXImage2VideoRequest" + description: 이미지에서 비디오 생성 + required: true + responses: + "200": + content: + video/mp4: + schema: + format: binary + type: string + description: 비디오가 성공적으로 생성됨 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 오류 4xx/5xx + summary: "LTX Video: 이미지에서 비디오 생성" + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ltx/v1/text-to-video: + post: + description: LTX Video AI 모델을 사용하여 텍스트 프롬프트에서 비디오 생성 + operationId: LtxCreateVideoFromText + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LTXText2VideoRequest" + description: 텍스트 프롬프트에서 비디오 생성 + required: true + responses: + "200": + content: + video/mp4: + schema: + format: binary + type: string + description: 비디오가 성공적으로 생성됨 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 오류 4xx/5xx + summary: "LTX Video: 텍스트에서 비디오 생성" + tags: + - API Nodes + - Released + x-excluded: true + /proxy/luma/generations: + post: + description: 제공된 프롬프트로 새 생성 시작 + operationId: LumaCreateGeneration + requestBody: + content: + application/json: + examples: + default: + value: + aspect_ratio: 16:9 + keyframes: + frame0: + type: image + url: https://example.com/image.jpg + frame1: + id: 123e4567-e89b-12d3-a456-426614174000 + type: generation + loop: true + prompt: A serene lake surrounded by mountains at sunset + schema: + $ref: "#/components/schemas/LumaGenerationRequest" + description: 생성 요청 객체 + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaGeneration" + description: 생성 완료 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaError" + description: 오류 + summary: 생성 시작 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/luma/generations/image: + post: + description: 제공된 프롬프트로 이미지 생성 + operationId: LumaGenerateImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaImageGenerationRequest" + description: 이미지 생성 요청 객체 + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaGeneration" + description: 이미지 생성됨 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaError" + description: 오류 + summary: 이미지 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/luma/generations/{id}": + get: + description: 특정 생성의 세부 정보를 ID로 검색합니다. + operationId: LumaGetGeneration + parameters: + - description: 생성의 ID + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaGeneration" + description: 생성 발견 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaError" + description: 오류 + summary: 생성 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/luma_2/generations: + post: + description: "이미지 생성 또는 편집 작업을 제출합니다. 불투명한 작업 ID를 즉시 반환하며, GET /proxy/luma_2/generations/{id}로 폴링합니다." + operationId: LumaAgentsCreateGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsGenerationRequest" + description: 생성 요청 객체 + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsGeneration" + description: 생성 수락됨 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsError" + description: 오류 + summary: Luma Agents 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/luma_2/generations/{generation_id}": + get: + description: 생성 상태 및 출력을 폴링합니다. 완료 시 응답에는 생성된 이미지를 다운로드하기 위한 사전 서명된 URL이 포함됩니다. + operationId: LumaAgentsGetGeneration + parameters: + - description: 생성의 ID + in: path + name: generation_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsGeneration" + description: 생성 발견 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsError" + description: 오류 + summary: Luma Agents 생성 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/animations: + post: + description: "이전에 리깅된 캐릭터에 특정 애니메이션 동작을 적용하는 새 작업을 생성합니다. 후처리 옵션이 포함됩니다.\n" + operationId: MeshyAnimationCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyAnimationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyAnimationCreateResponse" + description: 작업 생성 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 인증 실패 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + summary: 애니메이션 작업 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/animations/{task_id}": + get: + description: 애니메이션 작업의 상태와 결과를 검색합니다. + operationId: MeshyAnimationGetTask + parameters: + - description: 작업의 고유 식별자 + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyAnimationTask" + description: 작업 검색 성공 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 작업을 찾을 수 없음 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + summary: 애니메이션 작업 상태 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/image-to-3d: + post: + description: "새로운 Image to 3D 작업을 생성합니다. 이 작업은 이미지 입력에서 3D 모델을 생성합니다.\n" + operationId: MeshyImageTo3DCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyImageTo3DRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyImageTo3DCreateResponse" + description: 작업이 성공적으로 생성됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 인증 실패 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + summary: Image to 3D 작업 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/image-to-3d/{task_id}": + get: + description: Image to 3D 작업의 상태와 결과를 검색합니다. + operationId: MeshyImageTo3DGetTask + parameters: + - description: 작업의 고유 식별자 + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyImageTo3DTask" + description: 작업을 성공적으로 검색함 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 작업을 찾을 수 없음 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + summary: Image to 3D 작업 상태 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/multi-image-to-3d: + post: + description: "새로운 Multi-Image to 3D 작업을 생성합니다. 이 작업은 동일한 객체를 다양한 각도에서 촬영한 1~4개의 이미지로 3D 모델을 생성합니다.\n메시 생성은 Meshy-5 모델을 사용하고, 텍스처 생성은 Meshy-6-미리보기 모델을 지원합니다.\n" + operationId: MeshyMultiImageTo3DCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyMultiImageTo3DRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyMultiImageTo3DCreateResponse" + description: 작업이 성공적으로 생성됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 인증 실패 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + summary: Multi-Image to 3D 작업 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}": + get: + description: Multi-Image to 3D 작업의 상태와 결과를 검색합니다. + operationId: MeshyMultiImageTo3DGetTask + parameters: + - description: 작업의 고유 식별자 + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyMultiImageTo3DTask" + description: 작업을 성공적으로 검색함 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 작업을 찾을 수 없음 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + summary: 다중 이미지를 3D로 변환하는 작업 상태 가져오기 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/remesh: + post: + description: "새 리메시 작업을 생성하여 기존 3D 모델을 리메시하고 다양한 형식으로 내보냅니다.\n" + operationId: MeshyRemeshCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRemeshRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRemeshCreateResponse" + description: 작업이 성공적으로 생성됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 인증 실패 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + summary: Remesh 작업 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/remesh/{task_id}": + get: + description: Remesh 작업의 상태와 결과를 검색합니다. + operationId: MeshyRemeshGetTask + parameters: + - description: 작업의 고유 식별자 + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRemeshTask" + description: 작업이 성공적으로 검색됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 작업을 찾을 수 없음 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + summary: Remesh 작업 상태 가져오기 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/retexture: + post: + description: "텍스트 또는 이미지 입력에서 3D 텍스처를 생성하는 새 Retexture 작업을 생성합니다.\n" + operationId: MeshyRetextureCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRetextureRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRetextureCreateResponse" + description: 작업이 성공적으로 생성됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 인증 실패 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + summary: Retexture 작업 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/retexture/{task_id}": + get: + description: Retexture 작업의 상태와 결과를 검색합니다. + operationId: MeshyRetextureGetTask + parameters: + - description: 작업의 고유 식별자 + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRetextureTask" + description: 작업이 성공적으로 검색됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 작업을 찾을 수 없음 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + summary: Retexture 작업 상태 가져오기 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/rigging: + post: + description: "주어진 3D 모델에 대한 새로운 리깅 작업을 생성합니다. 성공적으로 완료되면 표준 형식의 리깅된 캐릭터와 선택적으로 기본 걷기/달리기 애니메이션을 제공합니다.\n" + operationId: MeshyRiggingCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRiggingRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRiggingCreateResponse" + description: 작업 생성 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 인증 실패 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 4xx/5xx 오류 + security: + - BearerAuth: + [] + summary: 리깅 작업 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/rigging/{task_id}": + get: + description: 리깅 작업의 상태와 결과를 조회합니다. + operationId: MeshyRiggingGetTask + parameters: + - description: 작업의 고유 식별자 + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRiggingTask" + description: 작업 조회 성공 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 작업을 찾을 수 없음 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 4xx/5xx 오류 + security: + - BearerAuth: + [] + summary: 리깅 작업 상태 가져오기 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v2/text-to-3d: + post: + description: "새로운 텍스트-3D 미리보기 작업을 생성합니다. 이 작업은 Meshy-6 모델의 경우 20 크레딧, 다른 모델의 경우 5 크레딧이 소모됩니다.\n" + operationId: MeshyTextTo3DCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyTextTo3DRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyTextTo3DCreateResponse" + description: 작업 생성 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 인증 실패 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 4xx/5xx 오류 + security: + - BearerAuth: + [] + summary: 텍스트-3D 미리보기 작업 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v2/text-to-3d/{task_id}": + get: + description: 텍스트-3D 작업의 상태와 결과를 조회합니다. + operationId: MeshyTextTo3DGetTask + parameters: + - description: 작업의 고유 식별자 + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyTextTo3DTask" + description: 작업 조회 성공 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 작업을 찾을 수 없음 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 4xx/5xx 오류 + security: + - BearerAuth: + [] + summary: 텍스트-3D 작업 상태 가져오기 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/minimax/files/retrieve: + post: + description: Minimax에 요청을 프록시하여 파일의 다운로드 URL을 가져옵니다 + operationId: RetrieveMinimaxFile + parameters: + - description: 생성 응답에서 얻은 파일의 고유 식별자 + in: query + name: file_id + required: true + schema: + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MinimaxFileRetrieveResponse" + description: 파일 다운로드 URL과 함께 성공적인 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청(프록시에 잘못된 입력) + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 속도 제한 초과(프록시 또는 Minimax로부터) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류(프록시 또는 업스트림 문제) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 게이트웨이(Minimax와 통신 오류) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 게이트웨이 시간 초과(Minimax가 응답하는 데 너무 오래 걸림) + security: + - BearerAuth: + [] + summary: Minimax 파일의 다운로드 URL 검색 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/minimax/query/video_generation: + get: + description: Minimax에 요청을 프록시하여 비디오 생성 작업의 상태를 확인합니다 + operationId: GetMinimaxVideoGeneration + parameters: + - description: 쿼리할 작업 ID + in: query + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MinimaxTaskResultResponse" + description: 작업 상태와 함께 성공적인 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청(프록시에 잘못된 입력) + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 속도 제한 초과(프록시 또는 Minimax로부터) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류(프록시 또는 업스트림 문제) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 게이트웨이(Minimax와 통신 오류) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 게이트웨이 시간 초과(Minimax가 응답하는 데 너무 오래 걸림) + security: + - BearerAuth: + [] + summary: Minimax 비디오 생성 작업의 상태 쿼리 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/minimax/video_generation: + post: + description: 비디오 생성 요청을 Minimax의 API로 전달하고 비동기 처리를 위해 작업 ID를 반환합니다. + operationId: MinimaxVideoGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MinimaxVideoGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MinimaxVideoGenerationResponse" + description: Minimax 프록시로부터의 성공적인 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청(프록시에 잘못된 입력) + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 속도 제한 초과 (프록시 또는 Minimax로 인한) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 업스트림 문제) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 게이트웨이 (Minimax 통신 오류) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 게이트웨이 시간 초과 (Minimax 응답 시간 초과) + security: + - BearerAuth: + [] + summary: 비디오 생성을 위한 Minimax 프록시 요청 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/moonvalley/prompts/image-to-video: + post: + operationId: MoonvalleyImageToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyImageToVideoRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: 프롬프트 생성됨 + summary: 이미지 기반 비디오 생성 프롬프트 생성 + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/prompts/text-to-image: + post: + operationId: MoonvalleyTextToImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyTextToImageRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: 프롬프트 생성됨 + summary: 텍스트 기반 이미지 생성 프롬프트 생성 + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/prompts/text-to-video: + post: + operationId: MoonvalleyTextToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyTextToVideoRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: 프롬프트 생성됨 + summary: 텍스트 기반 비디오 생성 프롬프트 생성 + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/prompts/video-to-video: + post: + operationId: MoonvalleyVideoToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyVideoToVideoRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: 프롬프트 생성됨 + summary: 비디오 기반 비디오 생성 프롬프트 생성 + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/prompts/video-to-video/resize: + post: + operationId: MoonvalleyVideoToVideoResize + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyResizeVideoRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: 프롬프트 생성됨 + summary: 비디오 크기 조정 + tags: + - API Nodes + x-excluded: true + "/proxy/moonvalley/prompts/{prompt_id}": + get: + operationId: MoonvalleyGetPrompt + parameters: + - in: path + name: prompt_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: 프롬프트 세부 정보 검색됨 + summary: 프롬프트 세부 정보 가져오기 + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/uploads: + post: + operationId: MoonvalleyUpload + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/MoonvalleyUploadFileRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyUploadFileResponse" + description: 파일 업로드 성공 + summary: 파일 업로드 + tags: + - API Nodes + x-excluded: true + /proxy/openai/images/edits: + post: + operationId: OpenAIEditImage + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/OpenAIImageEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIImageGenerationResponse" + description: 이미지 편집 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: OpenAI의 DALL-E 모델을 사용하여 이미지 편집 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/openai/images/generations: + post: + operationId: OpenAIGenerateImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIImageGenerationResponse" + description: 이미지 생성 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: OpenAI의 모델을 사용하여 이미지 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/openai/v1/responses: + post: + operationId: CreateOpenAIResponse + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAICreateResponse" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIResponse" + text/event-stream: + schema: + $ref: "#/components/schemas/OpenAIResponseStreamEvent" + description: OK + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/openai/v1/responses/{id}": + get: + operationId: GetOpenAIResponse + parameters: + - description: 검색할 응답의 ID입니다. + in: path + name: id + required: true + schema: + example: resp_677efb5139a88190b512bc3fef8e535d + type: string + - description: "응답에 포함할 추가 필드입니다. 자세한 내용은 위의 응답 생성에 대한 `include`\n매개변수를 참조하세요.\n" + in: query + name: include + schema: + items: + $ref: "#/components/schemas/Includable" + type: array + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIResponse" + description: OK + summary: "지정된 ID로 모델 응답을 검색합니다.\n" + tags: + - API Nodes + - Released + x-excluded: true + /proxy/openai/v1/videos: + post: + operationId: OpenAICreateVideo + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/OpenAIVideoCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIVideoJob" + description: 비디오 생성 작업 생성 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: OpenAI의 Sora 모델을 사용하여 비디오 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/openai/v1/videos/{video_id}": + get: + operationId: OpenAIGetVideo + parameters: + - description: 검색할 비디오의 식별자 + in: path + name: video_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIVideoJob" + description: 비디오 작업 세부 정보 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "404": + description: 비디오를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 비디오 조회 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/openai/v1/videos/{video_id}/content": + get: + operationId: OpenAIDownloadVideoContent + parameters: + - description: 미디어를 다운로드할 비디오의 식별자 + in: path + name: video_id + required: true + schema: + type: string + - description: 반환할 다운로드 가능한 에셋 + in: query + name: variant + schema: + type: string + responses: + "200": + content: + video/mp4: + schema: + format: binary + type: string + description: 비디오 콘텐츠 스트림 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "404": + description: 비디오를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 비디오 콘텐츠 다운로드 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/openrouter/api/v1/chat/completions: + post: + description: "Chat Completions 요청을 OpenRouter의 `/api/v1/chat/completions` 엔드포인트로 전달하고 모델의 응답을 반환합니다. 스트리밍(`stream: true`)은 거부됩니다: 청구는 OpenRouter가 반환하는 `usage.cost` 값에 의존하며, 이 값은 모든 SSE 스트림에서 보장되지 않습니다. 청구는 응답 본문의 `usage.cost` 필드를 기반으로 합니다.\n" + operationId: OpenrouterCreateChatCompletion + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpenRouterChatRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenRouterChatResult" + description: OpenRouter Chat Completions API의 성공적인 응답입니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 - 크레딧 부족 + "429": + description: 요청이 너무 많음 - 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: OpenRouter를 통해 채팅 완료 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/2.2/i2v: + post: + operationId: PikaGenerate22I2vGenerate22I2vPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_2_2_i2v_generate_2_2_i2v_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate 2 2 I2V + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/2.2/pikaframes: + post: + operationId: PikaGenerate22KeyframeGenerate22PikaframesPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_2_2_keyframe_generate_2_2_pikaframes_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate 2 2 Keyframe + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/2.2/pikascenes: + post: + operationId: PikaGenerate22C2vGenerate22PikascenesPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_2_2_c2v_generate_2_2_pikascenes_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate 2 2 C2V + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/2.2/t2v: + post: + operationId: PikaGenerate22T2vGenerate22T2vPost + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PikaBody_generate_2_2_t2v_generate_2_2_t2v_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate 2 2 T2V + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/pikadditions: + post: + operationId: PikaGeneratePikadditionsGeneratePikadditionsPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_pikadditions_generate_pikadditions_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: 성공 응답 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: 검증 오류 + summary: Pikadditions 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/pikaffects: + post: + description: "특정 Pikaffect로 비디오를 생성합니다. 지원되는 Pikaffects: Cake-ify, Crumble, Crush, Decapitate, Deflate, Dissolve, Explode, Eye-pop, Inflate, Levitate, Melt, Peel, Poke, Squish, Ta-da, Tear" + operationId: PikaGeneratePikaffectsGeneratePikaffectsPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_pikaffects_generate_pikaffects_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: 성공 응답 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: 검증 오류 + summary: Pikaffects 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/pikaswaps: + post: + description: "`modifyRegionMask`와 `modifyRegionRoi` 중 정확히 하나를 제공해야 합니다." + operationId: PikaGeneratePikaswapsGeneratePikaswapsPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_pikaswaps_generate_pikaswaps_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: 성공 응답 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: 검증 오류 + summary: Pikaswaps 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/pika/videos/{video_id}": + get: + operationId: PikaGetVideoVideosVideoIdGet + parameters: + - in: path + name: video_id + required: true + schema: + title: Video Id + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaVideoResponse" + description: 성공 응답 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: 검증 오류 + summary: 비디오 가져오기 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pixverse/image/upload: + post: + operationId: PixverseUploadImage + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + requestBody: + content: + multipart/form-data: + schema: + properties: + image: + format: binary + type: string + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseImageUploadResponse" + description: 이미지 업로드됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청(프록시에 대한 잘못된 입력) + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류(프록시 또는 업스트림 문제) + summary: 서버에 이미지 업로드 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pixverse/video/img/generate: + post: + operationId: PixverseGenerateImageVideo + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseImageVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseVideoResponse" + description: 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 (프록시에 잘못된 입력) + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 업스트림 문제) + summary: 이미지에서 비디오를 생성합니다. + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/pixverse/video/result/{id}": + get: + operationId: PixverseGetVideoResult + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + - in: path + name: id + required: true + schema: + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseVideoResultResponse" + description: 결과를 가져왔습니다. + summary: 비디오 생성 결과를 가져옵니다. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pixverse/video/text/generate: + post: + operationId: PixverseGenerateTextVideo + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseTextVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseVideoResponse" + description: 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 (프록시에 잘못된 입력) + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 업스트림 문제) + summary: 텍스트 프롬프트에서 비디오를 생성합니다. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pixverse/video/transition/generate: + post: + operationId: PixverseGenerateTransitionVideo + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseTransitionVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseVideoResponse" + description: 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 (프록시에 잘못된 입력) + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 업스트림 문제) + summary: 두 이미지 간 전환 비디오를 생성합니다. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/quiver/v1/svgs/generations: + post: + description: Quiver AI Arrow 모델을 사용하여 텍스트 프롬프트에서 하나 이상의 SVG를 생성합니다. + operationId: QuiverTextToSVG + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/QuiverTextToSVGRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/QuiverSVGResponse" + description: SVG가 성공적으로 생성되었습니다. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 - 크레딧 부족 + "429": + description: 요청 과다 - 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Quiver AI를 사용하여 텍스트에서 SVG 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/quiver/v1/svgs/vectorizations: + post: + description: Quiver AI Arrow 모델을 사용하여 이미지를 하나 이상의 SVG로 벡터화합니다. + operationId: QuiverImageToSVG + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/QuiverImageToSVGRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/QuiverSVGResponse" + description: SVG 벡터화 성공적으로 완료됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 - 크레딧 부족 + "429": + description: 요청 과다 - 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Quiver AI를 사용하여 이미지를 SVG로 변환 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/image_generation: + post: + description: 이미지 생성 요청을 Recraft의 API로 전달하고 생성된 이미지를 반환합니다. + operationId: RecraftImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftImageGenerationResponse" + description: Recraft 프록시로부터의 성공적인 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 (프록시에 대한 잘못된 입력) + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 업스트림 문제) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 게이트웨이 (Recraft와 통신 오류) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 게이트웨이 시간 초과 (Recraft 응답 시간 초과) + security: + - BearerAuth: + [] + summary: 이미지 생성을 위해 Recraft에 프록시 요청 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/creativeUpscale: + post: + operationId: RecraftCreativeUpscale + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftProcessImageRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftProcessImageResponse" + description: 성공 + summary: 크리에이티브 업스케일 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/crispUpscale: + post: + operationId: RecraftCrispUpscale + requestBody: + content: + multipart/form-data: + schema: + properties: + file: + description: 처리할 이미지 파일 + format: binary + type: string + required: + - file + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftImageGenerationResponse" + description: 배경이 성공적으로 제거되었습니다. + "400": + description: 잘못된 요청 - 유효하지 않은 파라미터 또는 파일 + "401": + description: 권한 없음 - 유효하지 않거나 누락된 API 토큰 + security: + [] + summary: 이미지 업스케일 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/imageToImage: + post: + operationId: RecraftImageToImage + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftImageToImageRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftGenerateImageResponse" + description: OK + summary: 이미지와 프롬프트로 이미지 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/inpaint: + post: + operationId: RecraftInpaintImage + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftTransformImageWithMaskRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftGenerateImageResponse" + description: OK + summary: 이미지 인페인팅 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/removeBackground: + post: + operationId: RecraftRemoveBackground + requestBody: + content: + multipart/form-data: + schema: + properties: + file: + description: 처리할 이미지 파일 + format: binary + type: string + required: + - file + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + image: + properties: + url: + description: 처리된 이미지의 URL + format: uri + type: string + type: object + type: object + description: 배경이 성공적으로 제거되었습니다. + "400": + description: 잘못된 요청 - 유효하지 않은 파라미터 또는 파일 + "401": + description: 권한 없음 - 유효하지 않거나 누락된 API 토큰 + security: + [] + summary: 이미지에서 배경 제거 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/replaceBackground: + post: + operationId: RecraftReplaceBackground + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftTransformImageWithMaskRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftGenerateImageResponse" + description: OK + summary: 배경 교체 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/vectorize: + post: + operationId: RecraftVectorize + requestBody: + content: + multipart/form-data: + schema: + properties: + file: + description: 처리할 이미지 파일 + format: binary + type: string + required: + - file + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftImageGenerationResponse" + description: 배경이 성공적으로 제거되었습니다. + "400": + description: 잘못된 요청 - 유효하지 않은 파라미터 또는 파일 + "401": + description: 권한 없음 - 유효하지 않거나 누락된 API 토큰 + security: + [] + summary: 이미지 벡터화하기 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/styles: + post: + description: 스타일 참조 생성용 이미지 세트를 업로드합니다. + operationId: RecraftCreateStyle + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftCreateStyleRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftCreateStyleResponse" + description: OK + summary: 스타일 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/reve/v1/image/create: + post: + description: 이미지 생성 요청을 Reve API로 전달하고 생성된 이미지를 반환합니다. + operationId: ReveImageCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageResponse" + description: Reve 프록시로부터의 성공 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Reve를 사용하여 이미지 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/reve/v1/image/edit: + post: + description: 이미지 편집 요청을 편집 지침 및 참조 이미지와 함께 Reve API로 전달합니다. + operationId: ReveImageEdit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageResponse" + description: Reve 프록시로부터의 성공 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Reve를 사용하여 이미지 편집 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/reve/v1/image/remix: + post: + description: 이미지 리믹스 요청을 참조 이미지 및 텍스트 프롬프트와 함께 Reve API로 전달합니다. + operationId: ReveImageRemix + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageRemixRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageResponse" + description: Reve 프록시로부터의 성공 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 요청 한도 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Reve를 사용하여 이미지 리믹스 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/rodin/api/v2/download: + post: + operationId: RodinDownload + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/Rodin3DDownloadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Rodin3DDownloadResponse" + description: Rodin 3D 에셋의 다운로드 목록을 가져옵니다. + "400": + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "403": + description: 금지됨 + "404": + description: 찾을 수 없음 + "500": + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Rodin 3D 에셋 다운로드 목록을 가져옵니다. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/rodin/api/v2/rodin: + post: + operationId: RodinGenerate3DAsset + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/Rodin3DGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Rodin3DGenerateResponse" + description: 3D 생성 작업이 성공적으로 제출되었습니다. + "400": + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "403": + description: 금지됨 + "404": + description: 찾을 수 없음 + "500": + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Rodin API를 사용하여 3D 생성 작업을 만듭니다. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/rodin/api/v2/status: + post: + operationId: RodinCheckStatus + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/Rodin3DCheckStatusRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Rodin3DCheckStatusResponse" + description: 3D 에셋 생성의 상태를 가져옵니다. + "400": + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "403": + description: 금지됨 + "404": + description: 찾을 수 없음 + "500": + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Rodin 3D 생성 상태를 확인합니다. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/runway/image_to_video: + post: + description: Runway의 API를 사용하여 이미지를 비디오로 변환합니다. + operationId: RunwayImageToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayImageToVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayImageToVideoResponse" + description: 성공적인 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필수 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: Runway 이미지 기반 비디오 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/runway/tasks/{task_id}": + get: + description: Runway 작업의 상태 및 출력을 가져옵니다 + operationId: RunwayGetTaskStatus + parameters: + - description: 확인할 작업의 ID + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayTaskStatusResponse" + description: 성공 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필수 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 작업을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: Runway 작업 상태 가져오기 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/runway/text_to_image: + post: + description: Runway의 API를 사용하여 텍스트에서 이미지를 생성합니다 + operationId: RunwayTextToImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayTextToImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayTextToImageResponse" + description: 성공 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필수 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: Runway 텍스트 기반 이미지 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/runway/video_to_video: + post: + description: Runway의 API를 사용하여 비디오를 새 비디오로 편집합니다 + operationId: RunwayVideoToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayVideoToVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayVideoToVideoResponse" + description: 성공 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필수 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: Runway 비디오-비디오 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/seedance/assets: + get: + description: "호출자의 완료된 검증 그룹 전체로 BytePlus ListAssets를 팬 아웃하며, 그룹 레이블을 각 행에 비정규화하고 단일 플랫 리스트를 반환합니다. 결과는 asset_type으로 사후 필터링됩니다. 선택적 group_id는 하나의 그룹으로 범위를 좁힙니다. 하드 제한: 그룹당 5페이지 × 100개 에셋, 총 1000개 에셋.\n" + operationId: SeedanceListUserAssets + parameters: + - description: 반환할 에셋 유형. + in: query + name: asset_type + required: true + schema: + enum: + - Image + - Video + type: string + - description: 목록을 하나의 그룹으로 좁힙니다. 호출자가 그룹을 소유해야 합니다. + in: query + name: group_id + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceListUserAssetsResponse" + description: 호출자가 소유한 에셋 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + summary: 호출자가 소유한 모든 그룹의 에셋 목록 + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: SeedanceCreateAsset + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceCreateAssetRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceCreateAssetResponse" + description: "에셋 생성이 수락되었습니다 (비동기: seedanceGetAsset 폴링)" + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/seedance/assets/{asset_id}": + get: + operationId: SeedanceGetAsset + parameters: + - description: seedanceCreateAsset이 반환한 BytePlus 발행 에셋 ID + in: path + name: asset_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceGetAssetResponse" + description: 에셋 상태 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/seedance/virtual-library/assets: + post: + operationId: SeedanceVirtualLibraryCreateAsset + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceVirtualLibraryCreateAssetRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceVirtualLibraryCreateAssetResponse" + description: "에셋 생성이 수락되었습니다 (비동기: seedanceGetAsset 폴링)" + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/seedance/visual-validate/groups: + get: + description: "호출자의 완료된 시각적 검증 그룹(실제 인물 H5 검증)을 반환합니다. 클라이언트 UI에서 그룹 선택기를 지원하는 데 사용됩니다. 공개 API 표면의 일부가 아닌 가상 라이브러리(AIGC) 그룹은 제외됩니다.\n" + operationId: SeedanceListVisualValidationGroups + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceListVisualValidationGroupsResponse" + description: 호출자가 소유한 시각적 검증 그룹 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + summary: 호출자의 완료된 시각적 검증 그룹 목록 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/seedance/visual-validate/sessions: + post: + operationId: SeedanceCreateVisualValidateSession + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceCreateVisualValidateSessionRequest" + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceCreateVisualValidateSessionResponse" + description: 검증 세션이 생성됨 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/seedance/visual-validate/sessions/{session_id}": + get: + operationId: SeedanceGetVisualValidateSession + parameters: + - description: seedanceCreateVisualValidateSession이 반환한 세션 ID + in: path + name: session_id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceGetVisualValidateSessionResponse" + description: 세션 상태 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/sonilo/t2m/generate: + post: + description: "Sonilo 텍스트-음악 AI를 사용하여 텍스트 프롬프트로 음악을 생성합니다.\n원하는 음악을 설명하는 프롬프트와 호출자가 지정한 길이가 필요합니다.\n제목, 오디오 청크 및 완료 이벤트가 포함된 스트리밍 NDJSON 응답을 반환합니다.\n" + operationId: SoniloTextToMusicGenerate + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/SoniloTextToMusicRequest" + required: true + responses: + "200": + content: + application/x-ndjson: + schema: + $ref: "#/components/schemas/SoniloStreamEvent" + description: OK - 오디오 생성 이벤트가 포함된 스트리밍 NDJSON 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: 잘못된 요청 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: 인증되지 않음 - 유효하지 않거나 누락된 API 키 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: 결제 필요 - 잔액 부족 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: 처리할 수 없는 엔티티 - 검증 오류 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: 너무 많은 요청 - 속도 제한됨 + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: 잘못된 게이트웨이 - 업스트림 생성 오류 + security: + - BearerAuth: + [] + summary: 텍스트 프롬프트에서 음악 생성 + tags: + - Sonilo + - Proxy + /proxy/sonilo/v2m/generate: + post: + description: "Sonilo 비디오-음악 AI를 사용하여 비디오에서 음악을 생성합니다.\n비디오 파일 업로드 또는 비디오 URL을 선택적으로 프롬프트와 함께 허용합니다.\n하나 이상의 병렬 오디오 스트림(제목, 오디오 청크 및 완료 이벤트)을 포함하는 스트리밍 NDJSON 응답을 반환합니다.\n최대 비디오 길이: 6분. 최대 업로드 크기: 300MB.\n" + operationId: SoniloVideoToMusicGenerate + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/SoniloVideoToMusicRequest" + required: true + responses: + "200": + content: + application/x-ndjson: + schema: + $ref: "#/components/schemas/SoniloStreamEvent" + description: 성공 - 오디오 생성 이벤트가 포함된 스트리밍 NDJSON 응답 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: 잘못된 요청 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: 인증되지 않음 - 유효하지 않거나 누락된 API 키 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: 결제 필요 - 잔액 부족 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: 처리할 수 없는 엔티티 - 검증 오류 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: 너무 많은 요청 - 속도 제한됨 + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: 잘못된 게이트웨이 - 업스트림 생성 오류 + security: + - BearerAuth: + [] + summary: 비디오에서 음악 생성 + tags: + - Sonilo + - Proxy + /proxy/tencent/hunyuan/3d-part: + post: + description: "Tencent Hunyuan을 사용하여 구성 요소 식별 및 생성 작업을 제출합니다.\n3D 모델 파일 입력 후 모델 구조를 기반으로 자동으로 구성 요소 분할을 수행합니다.\nAIGC로 생성된 3D 모델을 입력할 것을 권장합니다. 파일 크기는 100MB 이하, 면 수는 30,000 이하. FBX 형식만 지원합니다.\n\n반환된 JobId는 쿼리 엔드포인트와 함께 사용하여 작업 상태를 확인할 수 있습니다.\n" + operationId: TencentHunyuan3DPartSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVResponse" + description: 작업이 성공적으로 제출됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Tencent Hunyuan 3D 파트(구성 요소 분할) 작업 제출 + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-part/query: + post: + description: "이전에 제출된 3D 파트(구성 요소 분할) 작업의 상태 및 결과를 조회합니다.\n\n작업 상태가 완료를 나타낼 때까지 이 엔드포인트를 폴링합니다.\n" + operationId: TencentHunyuan3DPartQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: 작업 상태를 성공적으로 조회함 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Tencent Hunyuan 3D 파트 작업 상태 조회 + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-pro: + post: + description: "Tencent HunYuan 대형 모델을 사용하여 3D 콘텐츠를 생성하는 작업을 제출합니다.\n텍스트 기반 3D 생성 및 이미지 기반 3D 생성을 지원합니다.\n\n이 API는 기본적으로 3개의 동시 작업을 제공합니다. 새 작업은 이전 작업이 완료된 후에만 처리될 수 있습니다.\n\n반환된 JobId는 상태 확인 엔드포인트에서 작업 상태를 확인하는 데 사용할 수 있습니다.\n" + operationId: TencentHunyuan3DProSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DProRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DProResponse" + description: 작업이 성공적으로 제출됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Tencent Hunyuan 3D Pro 생성 작업 제출 + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-pro/query: + post: + description: "이전에 제출한 3D 생성 작업의 상태와 결과를 조회합니다.\n\n작업 상태가 완료됨을 나타낼 때까지 이 엔드포인트를 폴링합니다.\n" + operationId: TencentHunyuan3DProQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: 작업 상태가 성공적으로 조회됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Tencent Hunyuan 3D Pro 작업 상태 조회 + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-smart-topology: + post: + description: "Tencent Hunyuan을 사용하여 3D 스마트 토폴로지(재토폴로지/폴리곤 감소) 작업을 제출합니다.\n입력 3D 모델을 받아 지능형 토폴로지 최적화를 수행합니다.\n지원되는 입력 형식: GLB, OBJ. 파일 크기 최대 200MB.\n\n반환된 JobId는 상태 확인 엔드포인트에서 작업 상태를 확인하는 데 사용할 수 있습니다.\n" + operationId: TencentHunyuan3DSmartTopologySubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DSmartTopologyRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVResponse" + description: 작업이 성공적으로 제출됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Tencent Hunyuan 3D 스마트 토폴로지 작업 제출 + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-smart-topology/query: + post: + description: "이전에 제출한 3D 스마트 토폴로지 작업의 상태와 결과를 조회합니다.\n\n작업 상태가 완료됨을 나타낼 때까지 이 엔드포인트를 폴링합니다.\n" + operationId: TencentHunyuan3DSmartTopologyQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: 작업 상태 조회 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Tencent Hunyuan 3D Smart Topology 작업 상태 조회 + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-texture-edit: + post: + description: "Tencent Hunyuan을 사용하여 3D 모델 텍스처 다시 그리기 작업을 제출합니다.\n3D 모델을 입력한 후, 의미 또는 이미지를 기반으로 3D 모델 텍스처 다시 그리기를 수행합니다.\n지원 형식: FBX. 3D 모델 제한: 100,000개 미만의 면.\n이미지 또는 프롬프트 중 하나가 필수이며, 동시에 사용할 수 없습니다. EnablePBR은 프롬프트를 사용할 때만 활성화를 지원합니다.\n\n반환된 JobId는 쿼리 엔드포인트와 함께 사용하여 작업 상태를 확인할 수 있습니다.\n" + operationId: TencentHunyuan3DTextureEditSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DTextureEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVResponse" + description: 작업 제출 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Tencent Hunyuan 3D 텍스처 편집 작업 제출 + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-texture-edit/query: + post: + description: "이전에 제출한 3D 텍스처 편집 작업의 상태 및 결과를 조회합니다.\n\n작업 상태가 완료를 나타낼 때까지 이 엔드포인트를 폴링합니다.\n" + operationId: TencentHunyuan3DTextureEditQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: 작업 상태 조회 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Tencent Hunyuan 3D 텍스처 편집 작업 상태 조회 + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-uv: + post: + description: "Tencent Hunyuan을 사용하여 3D 모델의 UV 펼치기 작업을 제출합니다.\n모델을 입력한 후, 모델 텍스처를 기반으로 UV 펼치기를 수행하여 해당 UV 맵을 출력할 수 있습니다.\n\n반환된 JobId는 쿼리 엔드포인트와 함께 사용하여 작업 상태를 확인할 수 있습니다.\n" + operationId: TencentHunyuan3DUVSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVResponse" + description: 작업 제출 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Tencent Hunyuan 3D UV 펼치기 작업 제출 + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-uv/query: + post: + description: "이전에 제출된 UV 언래핑 작업의 상태와 결과를 조회합니다.\n\n작업 상태가 완료됨을 나타낼 때까지 이 엔드포인트를 폴링하세요.\n" + operationId: TencentHunyuan3DUVQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: 작업 상태 조회 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Tencent Hunyuan 3D UV 언래핑 작업 상태 조회 + tags: + - API Nodes + - Tencent + x-excluded: true + "/proxy/topaz/image/v1/download/{process_id}": + get: + operationId: TopazDownloadResult + parameters: + - description: enhance-gen 요청에서 반환된 프로세스 ID + in: path + name: process_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazDownloadResponse" + description: 처리된 이미지에 대한 사전 서명된 다운로드 URL + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/topaz/image/v1/enhance-gen/async: + post: + operationId: TopazEnhanceGenAsync + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/TopazEnhanceGenRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazEnhanceGenResponse" + description: 이미지 처리 요청이 성공적으로 생성되었습니다. + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/topaz/image/v1/status/{process_id}": + get: + operationId: TopazGetStatus + parameters: + - description: enhance-gen 요청에서 반환된 프로세스 ID + in: path + name: process_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazStatusResponse" + description: 상태 조회 성공 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/topaz/video/: + post: + operationId: TopazVideoCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoCreateResponse" + description: 비디오 향상 요청이 성공적으로 생성되었습니다. + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/topaz/video/{request_id}/accept": + patch: + operationId: TopazVideoAccept + parameters: + - description: 비디오 생성 요청에서 반환된 요청 ID + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoAcceptResponse" + description: 비디오 요청이 성공적으로 수락되었습니다. + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/topaz/video/{request_id}/complete-upload": + patch: + description: "멀티파트 업로드의 메타데이터를 보내어 업로드를 완료하고 비디오 처리를 시작합니다.\n\n선택적으로 처리 전 소스 비디오 파일의 MD5 해시를 포함하여 업로드 성공을 검증할 수 있습니다.\n" + operationId: TopazVideoCompleteUpload + parameters: + - description: 비디오 생성 요청에서 반환된 요청 ID + in: path + name: request_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoCompleteUploadRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoCompleteUploadResponse" + description: 비디오 업로드가 성공적으로 완료되었습니다. + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + summary: 비디오 업로드 완료 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/topaz/video/{request_id}/status": + get: + operationId: TopazVideoGetStatus + parameters: + - description: 비디오 생성 요청에서 반환된 요청 ID + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoStatusResponse" + description: 비디오 상태를 성공적으로 가져왔습니다 + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/tripo/v2/openapi/import: + post: + description: "Tripo 모델 가져오기(PN-328)를 위한 복합 엔드포인트입니다. 클라이언트는 먼저 모델 파일을 ComfyUI API 스토리지(POST /customers/storage)에 업로드한 다음 결과 다운로드 URL로 이 엔드포인트를 호출합니다. 백엔드는 서버 측에서 전체 Tripo 가져오기 흐름을 수행합니다: 스토리지에서 파일을 다운로드하고, Tripo로부터 단기 STS 업로드 자격 증명을 얻고, 파일을 Tripo의 객체 스토리지(SigV4)에 업로드하고, 업로드된 객체를 참조하는 import_model 작업을 생성합니다. Tripo의 create-task 응답을 반환하며, 완료를 위해 /proxy/tripo/v2/openapi/task/{task_id}를 폴링합니다. 결과 작업 ID는 Tripo 후처리 작업(texture_model, animate_rig, convert_model, ...)에 사용할 수 있습니다.\n\n이는 합성 comfy-api 경로입니다(Tripo에는 단일 호출에 해당하는 것이 없음). 이는 Tripo의 임시 스토리지 자격 증명이 백엔드를 절대 떠나지 않고 이 요청 내에서 모델 바이너리가 전송되지 않도록 하기 위해 존재합니다.\n\nurl 호스트는 ComfyUI API 스토리지(storage.googleapis.com)여야 합니다.\n지원되는 형식: glb, fbx, obj, stl. 최대 파일 크기: 150MB.\n" + operationId: TripoImportModel + requestBody: + content: + application/json: + schema: + properties: + format: + description: "파일 형식(\"glb\", \"fbx\", \"obj\", \"stl\"). 선택 사항; 생략 시 URL 경로 확장자에서 파생됩니다." + type: string + url: + description: 이전에 ComfyUI API 스토리지에 업로드된 모델 파일의 다운로드 URL입니다. + type: string + required: + - url + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoSuccessTask" + description: 가져오기 작업이 생성됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 요청된 리소스에 대한 무단 액세스 + "413": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 파일이 150MB 제한을 초과했습니다 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 내부 서버 오류 + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 업스트림 업로드 또는 작업 생성 실패 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 서버 시간 초과 + summary: 외부 3D 모델을 Tripo로 가져오기 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/tripo/v2/openapi/task: + post: + operationId: TripoCreateTask + requestBody: + content: + application/json: + schema: + oneOf: + - properties: + auto_size: + default: false + type: boolean + face_limit: + type: integer + geometry_quality: + $ref: "#/components/schemas/TripoGeometryQuality" + model_seed: + type: integer + model_version: + $ref: "#/components/schemas/TripoModelVersion" + negative_prompt: + maxLength: 1024 + type: string + pbr: + default: true + type: boolean + prompt: + maxLength: 1024 + type: string + quad: + default: false + type: boolean + style: + $ref: "#/components/schemas/TripoModelStyle" + text_seed: + type: integer + texture: + default: true + type: boolean + texture_quality: + $ref: "#/components/schemas/TripoTextureQuality" + texture_seed: + type: integer + type: + $ref: "#/components/schemas/TripoTextToModel" + required: + - type + - prompt + type: object + - properties: + auto_size: + default: false + type: boolean + face_limit: + type: integer + file: + properties: + file_token: + type: string + type: + type: string + required: + - type + - file_token + type: object + geometry_quality: + $ref: "#/components/schemas/TripoGeometryQuality" + model_seed: + type: integer + model_version: + $ref: "#/components/schemas/TripoModelVersion" + orientation: + $ref: "#/components/schemas/TripoOrientation" + pbr: + default: true + type: boolean + quad: + default: false + type: boolean + style: + $ref: "#/components/schemas/TripoModelStyle" + texture: + default: true + type: boolean + texture_alignment: + $ref: "#/components/schemas/TripoTextureAlignment" + texture_quality: + $ref: "#/components/schemas/TripoTextureQuality" + texture_seed: + type: integer + type: + $ref: "#/components/schemas/TripoImageToModel" + required: + - type + - file + type: object + - properties: + auto_size: + default: false + type: boolean + face_limit: + type: integer + files: + items: + properties: + file_token: + type: string + type: + type: string + required: + - type + - file_token + type: object + type: array + geometry_quality: + $ref: "#/components/schemas/TripoGeometryQuality" + mode: + $ref: "#/components/schemas/TripoMultiviewMode" + model_seed: + type: integer + model_version: + $ref: "#/components/schemas/TripoModelVersion" + orientation: + $ref: "#/components/schemas/TripoOrientation" + orthographic_projection: + default: false + type: boolean + pbr: + default: true + type: boolean + quad: + default: false + type: boolean + texture: + default: true + type: boolean + texture_alignment: + $ref: "#/components/schemas/TripoTextureAlignment" + texture_quality: + $ref: "#/components/schemas/TripoTextureQuality" + texture_seed: + type: integer + type: + $ref: "#/components/schemas/TripoMultiviewToModel" + required: + - type + - files + type: object + - properties: + model_seed: + type: integer + original_model_task_id: + type: string + pbr: + default: true + type: boolean + texture: + default: true + type: boolean + texture_alignment: + $ref: "#/components/schemas/TripoTextureAlignment" + texture_quality: + $ref: "#/components/schemas/TripoTextureQuality" + texture_seed: + type: integer + type: + $ref: "#/components/schemas/TripoTypeTextureModel" + required: + - type + - original_model_task_id + type: object + - properties: + draft_model_task_id: + type: string + type: + $ref: "#/components/schemas/TripoTypeRefineModel" + required: + - type + - draft_model_task_id + type: object + - properties: + original_model_task_id: + type: string + type: + $ref: "#/components/schemas/TripoTypeAnimatePrerigcheck" + required: + - type + - original_model_task_id + type: object + - properties: + original_model_task_id: + type: string + out_format: + $ref: "#/components/schemas/TripoStandardFormat" + spec: + $ref: "#/components/schemas/TripoSpec" + topology: + $ref: "#/components/schemas/TripoTopology" + type: + $ref: "#/components/schemas/TripoTypeAnimateRig" + required: + - type + - original_model_task_id + type: object + - properties: + animation: + $ref: "#/components/schemas/TripoAnimation" + bake_animation: + default: true + type: boolean + original_model_task_id: + type: string + out_format: + $ref: "#/components/schemas/TripoStandardFormat" + type: + $ref: "#/components/schemas/TripoTypeAnimateRetarget" + required: + - type + - original_model_task_id + - animation + type: object + - properties: + block_size: + default: 80 + type: integer + original_model_task_id: + type: string + style: + $ref: "#/components/schemas/TripoStylizeOptions" + type: + $ref: "#/components/schemas/TripoTypeStylizeModel" + required: + - type + - style + - original_model_task_id + type: object + - properties: + face_limit: + default: 10000 + type: integer + flatten_bottom: + default: false + type: boolean + flatten_bottom_threshold: + default: 0.01 + type: number + force_symmetry: + default: false + type: boolean + format: + $ref: "#/components/schemas/TripoConvertFormat" + original_model_task_id: + type: string + pivot_to_center_bottom: + default: false + type: boolean + quad: + default: false + type: boolean + texture_format: + $ref: "#/components/schemas/TripoTextureFormat" + texture_size: + default: 4096 + type: integer + type: + $ref: "#/components/schemas/TripoTypeConvertModel" + required: + - type + - format + - original_model_task_id + type: object + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoSuccessTask" + description: 요청 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 요청된 리소스에 대한 무단 액세스 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 서버 시간 초과 + summary: 3D 생성 작업 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/tripo/v2/openapi/task/{task_id}": + get: + operationId: TripoGetTask + parameters: + - in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + code: + $ref: "#/components/schemas/TripoResponseSuccessCode" + data: + $ref: "#/components/schemas/TripoTask" + required: + - code + - data + type: object + description: 요청 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 요청한 리소스에 대한 권한 없음 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 서버 시간 초과 + summary: 작업 상태 가져오기 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/tripo/v2/openapi/upload: + post: + operationId: TripoUploadFile + requestBody: + content: + multipart/form-data: + encoding: + profileImage: + contentType: "image/png, image/jpeg" + schema: + properties: + file: + format: binary + type: string + required: + - file + type: object + responses: + "200": + content: + application/json: + schema: + properties: + code: + $ref: "#/components/schemas/TripoResponseSuccessCode" + data: + properties: + image_token: + type: string + required: + - image_token + type: object + required: + - code + - data + type: object + description: 요청 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 요청한 리소스에 대한 권한 없음 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 서버 시간 초과 + summary: 3D 생성을 위한 파일 업로드 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/tripo/v2/openapi/user/balance: + get: + operationId: TripoGetBalance + responses: + "200": + content: + application/json: + schema: + properties: + code: + $ref: "#/components/schemas/TripoResponseSuccessCode" + data: + $ref: "#/components/schemas/TripoBalance" + required: + - code + - data + type: object + description: 요청 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 잘못된 요청 파라미터 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 인증 실패 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 요청한 리소스에 대한 권한 없음 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 리소스를 찾을 수 없음 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 계정 예외 또는 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 서비스를 일시적으로 사용할 수 없음 + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: 서버 시간 초과 + summary: 계정 잔액 조회 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/veo/generate: + post: + operationId: VeoGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Veo2GenVidRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Veo2GenVidResponse" + description: 비디오 생성 성공 + "400": + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "403": + description: 금지됨 + "500": + description: 내부 서버 오류 + summary: "텍스트 프롬프트와 선택적 이미지에서 비디오를 생성합니다. 지원 중단됨. 대신 /proxy/veo/{modelId}/generate를 사용하세요." + tags: + - API Nodes + - Released + x-excluded: true + /proxy/veo/poll: + post: + operationId: VeoPoll + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Veo2GenVidPollRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Veo2GenVidPollResponse" + description: 작업 상태 및 결과 + "400": + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "404": + description: 작업을 찾을 수 없음 + "500": + description: 내부 오류 + summary: "Veo 예측 작업의 상태를 폴링합니다. 지원 중단됨. 대신 /proxy/veo/{modelId}/poll를 사용하세요." + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/veo/{modelId}/generate": + post: + operationId: VeoGenerateNew + parameters: + - description: 생성에 사용할 Veo 모델 ID + in: path + name: modelId + required: true + schema: + enum: + - veo-2.0-generate-001 + - veo-3.0-generate-001 + - veo-3.0-fast-generate-001 + - veo-3.1-generate-001 + - veo-3.1-fast-generate-001 + - veo-3.1-lite-generate-001 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VeoGenVidRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/VeoGenVidResponse" + description: 비디오 생성 성공 + "400": + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "403": + description: 금지됨 + "500": + description: 내부 서버 오류 + summary: 텍스트 프롬프트와 선택적 이미지에서 비디오를 생성합니다. + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/veo/{modelId}/poll": + post: + operationId: VeoPollNew + parameters: + - description: Veo 모델 ID + in: path + name: modelId + required: true + schema: + enum: + - veo-2.0-generate-001 + - veo-3.0-generate-001 + - veo-3.0-fast-generate-001 + - veo-3.1-generate-001 + - veo-3.1-fast-generate-001 + - veo-3.1-lite-generate-001 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VeoGenVidPollRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/VeoGenVidPollResponse" + description: 작업 상태 및 결과 + "400": + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "404": + description: 작업을 찾을 수 없음 + "500": + description: 내부 오류 + summary: Veo 예측 작업의 상태를 폴링합니다 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/vertexai/gemini/{model}": + post: + operationId: GeminiGenerateContent + parameters: + - description: 모델의 전체 리소스 이름. + in: path + name: model + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/GeminiGenerateContentRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/GeminiGenerateContentResponse" + description: 생성된 콘텐츠 응답. + "400": + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "403": + description: 금지됨 + "404": + description: 찾을 수 없음 + "500": + description: 내부 서버 오류 + summary: 지정된 모델을 사용하여 콘텐츠 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/vertexai/imagen/{model}": + parameters: + - description: 이미지 생성 모델 + in: path + name: model + required: true + schema: + enum: + - imagen-3.0-generate-002 + - imagen-3.0-generate-001 + - imagen-3.0-fast-generate-001 + - imagegeneration@006 + - imagegeneration@005 + - imagegeneration@002 + type: string + post: + operationId: ImagenGenerateImages + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ImagenGenerateImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ImagenGenerateImageResponse" + description: 성공적인 이미지 생성 + 4XX: + description: 클라이언트 오류 + 5XX: + description: 서버 오류 + summary: 텍스트 프롬프트에서 이미지 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/vidu/extend: + post: + operationId: ViduExtend + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduExtendRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduExtendReply" + description: 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/img2video: + post: + operationId: ViduImg2Video + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskReply" + description: 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/multiframe: + post: + operationId: ViduMultiframe + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduMultiframeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduMultiframeReply" + description: 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/reference2video: + post: + operationId: ViduReference2Video + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskReply" + description: 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/start-end2video: + post: + operationId: ViduStartEnd2Video + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskReply" + description: 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + tags: + - API Nodes + - Released + "/proxy/vidu/tasks/{id}/creations": + get: + operationId: ViduGetCreations + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduGetCreationsReply" + description: 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/text2video: + post: + operationId: ViduText2Video + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskReply" + description: 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 오류 4xx/5xx + tags: + - API Nodes + - Released + /proxy/wan/api/v1/services/aigc/image2image/image-synthesis: + post: + operationId: WanImage2ImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WanImage2ImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WanImage2ImageGenerationResponse" + description: 이미지 기반 이미지 생성 작업이 성공적으로 생성되었습니다. + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wan/api/v1/services/aigc/text2image/image-synthesis: + post: + operationId: WanImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WanImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WanImageGenerationResponse" + description: 이미지 생성 작업이 성공적으로 생성되었습니다. + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wan/api/v1/services/aigc/video-generation/video-synthesis: + post: + operationId: WanVideoGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WanVideoGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WanVideoGenerationResponse" + description: 비디오 생성 작업이 성공적으로 생성되었습니다. + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/wan/api/v1/tasks/{task_id}": + get: + operationId: WanTaskQueryProxy + parameters: + - description: 조회할 생성 작업의 ID + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WanTaskQueryResponse" + description: 생성 작업 정보가 성공적으로 조회되었습니다. + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 오류 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/wavespeed/api/v3/predictions/{prediction_id}/result": + get: + description: "FlashVSR 비디오 업스케일링 작업의 상태 및 결과를 검색합니다.\n\n상태가 \"completed\" 또는 \"failed\"가 될 때까지 이 엔드포인트를 폴링합니다.\n\n상태 값:\n- `created` - 작업이 생성됨\n- `processing` - 작업이 처리 중\n- `completed` - 작업이 성공적으로 완료됨, outputs 배열에 결과 URL 포함\n- `failed` - 작업 실패, 세부 정보는 error 필드 확인\n" + operationId: WavespeedFlashVSRGetResult + parameters: + - description: 예측/작업의 고유 식별자 + in: path + name: prediction_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedTaskResultResponse" + description: 작업 결과를 성공적으로 검색함 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 작업을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: FlashVSR 작업 결과 가져오기 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wavespeed/api/v3/wavespeed-ai/flashvsr: + post: + description: "WavespeedAI의 FlashVSR 모델을 사용하여 업스케일링할 비디오를 제출합니다.\nFlashVSR은 저해상도 또는 흐릿한 영상의 해상도를 높이고 선명도를 복원하는 빠르고 고품질의 비디오 업스케일러입니다.\n\n지원 대상 해상도: 720p, 1080p, 2k, 4k\n\n최대 클립 길이: 최대 10분\n처리 속도: 비디오 1초를 처리하는 데 약 3-20초의 실제 시간 소요\n\n결과를 폴링하는 데 사용할 수 있는 작업 ID를 반환합니다.\n" + operationId: WavespeedFlashVSRSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedFlashVSRRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedTaskResponse" + description: 작업이 성공적으로 제출됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: FlashVSR 비디오 업스케일링 작업 제출 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image: + post: + description: "WavespeedAI의 SeedVR2 Image Upscaler를 사용하여 이미지를 업스케일링합니다.\nSeedVR2는 이미지 해상도와 품질을 높여 사진을 2K, 4K 또는 8K로 업스케일링하여 선명하고 상세한 결과를 제공합니다.\n" + operationId: WavespeedSeedVR2ImageSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedSeedVR2ImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedTaskResponse" + description: 작업이 성공적으로 제출됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: SeedVR2 이미지 업스케일링 작업 제출 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler: + post: + description: "WavespeedAI의 Ultimate Image Upscaler를 사용하여 이미지를 업스케일링합니다.\n이미지를 2K, 4K 또는 8K로 업스케일링하면서 세부 디테일을 재구성하는 가장 고급 AI 인핸서입니다.\n" + operationId: WavespeedUltimateImageUpscalerSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedSeedVR2ImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedTaskResponse" + description: 작업이 성공적으로 제출됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: Ultimate Image Upscaler 작업 제출 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/images/edits: + post: + description: Grok Imagine API를 사용하여 텍스트 프롬프트를 기반으로 기존 이미지를 수정합니다. + operationId: XaiImageEdit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIImageEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIImageGenerationResponse" + description: 이미지 수정 완료 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: xAI Grok Imagine을 사용한 이미지 수정 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/images/generations: + post: + description: Grok Imagine API를 사용하여 텍스트 프롬프트에서 하나 이상의 이미지를 생성합니다. + operationId: XaiImageGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIImageGenerationResponse" + description: 이미지 생성 완료 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: xAI Grok Imagine을 사용한 이미지 생성 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/videos/edits: + post: + description: "텍스트 프롬프트를 기반으로 기존 비디오를 수정합니다(비디오 기반 비디오 편집).\n비디오 편집은 비동기식입니다. 완료된 비디오를 폴링하기 위한 request_id를 반환합니다.\n입력 비디오 제한은 8초입니다. 오디오는 수정되지 않습니다.\n" + operationId: XaiVideoEdit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoAsyncResponse" + description: 비디오 편집 작업 생성 완료 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: xAI Grok Imagine을 사용한 비디오 편집 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/videos/extensions: + post: + description: "기존 비디오의 매끄러운 연속을 생성합니다. 소스 비디오와 다음에 어떤 일이 일어나야 하는지 설명하는 텍스트 프롬프트를 제공합니다. API는 입력 비디오의 끝에서 자연스럽게 확장되는 새 비디오를 생성합니다.\n비디오 확장은 비동기식입니다. 완료된 비디오를 폴링하기 위한 request_id를 반환합니다.\n" + operationId: XaiVideoExtension + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoExtensionRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoAsyncResponse" + description: 비디오 확장 작업이 성공적으로 생성됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: xAI Grok Imagine을 사용하여 비디오 확장 + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/videos/generations: + post: + description: "텍스트 프롬프트에서 비디오 생성 (텍스트 기반 비디오 생성), 선택적 텍스트가 포함된 이미지에서 비디오 생성 (이미지 기반 비디오 생성), 또는 텍스트가 포함된 레퍼런스 이미지에서 비디오 생성 (레퍼런스 기반 비디오 생성). 모드는 제공되는 선택적 필드에 따라 결정됩니다. 비디오 생성은 비동기식입니다. 완료된 비디오를 폴링하기 위한 request_id를 반환합니다.\n\n충돌 규칙: image + reference_images, video + reference_images, image + video는 결합할 수 없습니다.\n" + operationId: XaiVideoGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoAsyncResponse" + description: 비디오 생성 작업이 성공적으로 생성됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: xAI Grok Imagine을 사용하여 비디오 생성 + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/xai/v1/videos/{request_id}": + get: + description: "비디오 생성 또는 편집 요청의 결과를 검색합니다.\n응답에 완료된 비디오 URL이 포함된 비디오 객체가 포함될 때까지 이 엔드포인트를 폴링합니다.\n" + operationId: XaiVideoGetResult + parameters: + - description: 비디오 생성 또는 편집 엔드포인트에서 반환된 요청 ID + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoResultResponse" + description: 비디오 생성 결과 + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoResultResponse" + description: 비디오 생성이 아직 대기 중 + "401": + description: 인증되지 않음 + "402": + description: 결제 필요 + "404": + description: 요청 ID를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: xAI 비디오 생성 결과 가져오기 + tags: + - API Nodes + - Released + x-excluded: true + /publishers: + get: + operationId: ListPublishers + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Publisher" + type: array + description: 게시자 목록 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 모든 배포자 검색 + tags: + - Registry + post: + operationId: CreatePublisher + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + description: 배포자 생성 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터" + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 새 배포자 생성 + tags: + - Registry + /publishers/validate: + get: + description: 배포자 사용자 이름이 이미 사용 중인지 확인합니다. + operationId: ValidatePublisher + parameters: + - description: 검증할 배포자 사용자 이름. + in: query + name: username + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + isAvailable: + description: "사용자 이름을 사용할 수 있으면 참, 그렇지 않으면 거짓." + type: boolean + type: object + description: 사용자 이름 검증 결과 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 입력(예: 쿼리에 사용자 이름 누락됨)." + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 배포자 사용자 이름 사용 가능 여부 검증 + tags: + - Registry + "/publishers/{publisherId}": + delete: + operationId: DeletePublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "204": + description: 배포자 삭제 성공 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 배포자를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 배포자 삭제 + tags: + - Registry + get: + operationId: GetPublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + description: 배포자 검색 성공 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 배포자를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: ID로 배포자 검색 + tags: + - Registry + put: + operationId: UpdatePublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + description: 배포자 업데이트 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터" + "401": + description: 인증되지 않음 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 배포자를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 배포자 업데이트 + tags: + - Registry + "/publishers/{publisherId}/ban": + post: + operationId: BanPublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "204": + description: 배포자 차단 성공 + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 배포자를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 배포자 차단 + tags: + - Registry + x-excluded: true + "/publishers/{publisherId}/nodes": + get: + operationId: ListNodesForPublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - description: 페이지당 반환할 노드 수 + in: query + name: include_banned + schema: + type: boolean + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Node" + type: array + description: 모든 노드 목록 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터." + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 모든 노드 검색 + tags: + - Registry + post: + operationId: CreateNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: 노드 생성 성공 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터." + "401": + description: 인증되지 않음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 새 커스텀 노드 생성 + tags: + - Registry + "/publishers/{publisherId}/nodes/v2": + get: + operationId: ListNodesForPublisherV2 + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - description: 페이지당 반환할 노드 수 + in: query + name: include_banned + schema: + type: boolean + - description: 노드 목록의 페이지 번호 + in: query + name: page + schema: + default: 1 + type: integer + - description: 페이지당 반환할 노드 수 + in: query + name: limit + schema: + default: 10 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + limit: + description: 페이지당 최대 노드 수 + type: integer + nodes: + items: + $ref: "#/components/schemas/Node" + type: array + page: + description: 현재 페이지 번호 + type: integer + total: + description: 사용 가능한 총 노드 수 + type: integer + totalPages: + description: 사용 가능한 총 페이지 수 + type: integer + type: object + description: 모든 노드 목록 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터." + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 모든 노드 검색 + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}": + delete: + operationId: DeleteNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + responses: + "204": + description: 노드가 성공적으로 삭제됨 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 노드를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 특정 노드 삭제 + tags: + - Registry + put: + operationId: UpdateNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: 노드가 성공적으로 업데이트됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터" + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 노드를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 특정 노드 업데이트 + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}/ban": + post: + operationId: BanPublisherNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + responses: + "204": + description: 노드가 성공적으로 차단됨 + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 배포자 또는 노드를 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 배포자의 노드 차단 + tags: + - Registry + x-excluded: true + "/publishers/{publisherId}/nodes/{nodeId}/claim-my-node": + post: + description: "이 엔드포인트를 통해 배포자는 자신이 저장소를 소유하고 있는 nodeId로 식별되는 클레임되지 않은 노드를 클레임할 수 있습니다. 클레임되지 않은 노드의 저장소는 인증된 사용자가 소유해야 합니다.\n" + operationId: ClaimMyNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ClaimMyNodeRequest" + required: true + responses: + "204": + description: 노드가 성공적으로 요청되었습니다 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터" + "401": + description: 권한이 없음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "금지됨 - 다양한 인증 및 권한 문제\n포함:\n- 인증된 사용자에게 노드를 요청할 권한이 없음\n- 다른 배포자가 이미 노드를 요청함\n- GH_TOKEN이 유효하지 않음\n- 저장소가 인증된 GitHub 사용자의 소유가 아님\n" + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 너무 많은 요청 - GitHub API 속도 제한 초과 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 서비스를 사용할 수 없음 - GitHub API를 현재 사용할 수 없음 + security: + - BearerAuth: + [] + summary: 인증된 배포자의 publisherId에 nodeId 요청 + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}/permissions": + get: + operationId: GetPermissionOnPublisherNodes + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + canEdit: + type: boolean + type: object + description: 권한 목록 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 지정된 배포자에 대해 사용자가 가진 권한 검색 + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}/versions": + post: + operationId: PublishNodeVersion + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + node: + $ref: "#/components/schemas/Node" + node_version: + $ref: "#/components/schemas/NodeVersion" + personal_access_token: + type: string + required: + - node + - node_version + - personal_access_token + type: object + required: true + responses: + "201": + content: + application/json: + schema: + properties: + node_version: + $ref: "#/components/schemas/NodeVersion" + signedUrl: + description: 노드 버전 토큰을 업로드할 서명된 URL + type: string + type: object + description: 새 버전이 성공적으로 게시됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터." + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 노드의 새 버전 게시 + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}": + delete: + operationId: DeleteNodeVersion + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: versionId + required: true + schema: + type: string + responses: + "204": + description: 버전이 성공적으로 게시 취소(삭제)됨 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 버전이 배포자의 것이 아님 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: 버전을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 버전을 찾을 수 없음 + security: + - BearerAuth: + [] + summary: 노드의 특정 버전 게시 취소(삭제) + tags: + - Registry + put: + description: 노드의 특정 버전의 변경 로그와 지원 중단 상태만 업데이트 + operationId: UpdateNodeVersion + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: versionId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersionUpdateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersion" + description: 버전이 성공적으로 업데이트됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터." + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 버전을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 노드 버전의 변경 로그 및 사용 중단 상태 업데이트 + tags: + - Registry + "/publishers/{publisherId}/permissions": + get: + operationId: GetPermissionOnPublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + canEdit: + type: boolean + type: object + description: 권한 목록 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 주어진 배포자에 대해 사용자가 가진 권한 검색 + tags: + - Registry + "/publishers/{publisherId}/tokens": + get: + operationId: ListPersonalAccessTokens + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PersonalAccessToken" + type: array + description: 모든 개인 액세스 토큰 목록 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 토큰을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 배포자의 모든 개인 액세스 토큰 검색 + tags: + - Registry + x-excluded: true + post: + operationId: CreatePersonalAccessToken + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PersonalAccessToken" + required: true + responses: + "201": + content: + application/json: + schema: + properties: + token: + description: 새로 생성된 개인 액세스 토큰. + type: string + type: object + description: 토큰이 성공적으로 생성됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터." + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 새 개인 액세스 토큰 생성 + tags: + - Registry + "/publishers/{publisherId}/tokens/{tokenId}": + delete: + operationId: DeletePersonalAccessToken + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: tokenId + required: true + schema: + type: string + responses: + "204": + description: 토큰이 성공적으로 삭제됨 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 토큰을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + security: + - BearerAuth: + [] + summary: 특정 개인 액세스 토큰 삭제 + tags: + - Registry + /releases: + get: + description: 캐싱을 사용하여 Strapi에서 릴리스 노트 가져오기 + operationId: GetReleaseNotes + parameters: + - description: 릴리스 노트를 가져올 프로젝트 + in: query + name: project + required: true + schema: + enum: + - comfyui + - comfyui_frontend + - desktop + - cloud + type: string + - description: 릴리스 노트를 필터링할 현재 버전 + in: query + name: current_version + schema: + type: string + - description: 릴리스 노트의 언어 설정 + in: query + name: locale + schema: + default: en + enum: + - en + - es + - fr + - ja + - ko + - ru + - zh + type: string + - description: 릴리스 노트를 요청하는 플랫폼 + in: query + name: form_factor + schema: + type: string + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/ReleaseNote" + type: array + description: 릴리스 노트가 성공적으로 검색됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 릴리스 노트 가져오기 + tags: + - Releases + post: + description: GitHub 릴리스 이벤트를 처리하고 릴리스 노트를 생성하는 웹훅 엔드포인트 + operationId: ProcessReleaseWebhook + parameters: + - description: 전달을 트리거한 이벤트의 이름 + in: header + name: X-GitHub-Event + required: true + schema: + enum: + - release + type: string + - description: 이벤트를 식별하기 위한 전역 고유 식별자(GUID) + in: header + name: X-GitHub-Delivery + required: true + schema: + format: uuid + type: string + - description: 웹훅의 고유 식별자 + in: header + name: X-GitHub-Hook-ID + required: true + schema: + type: string + - description: SHA-256 해시 함수를 사용한 요청 본문의 HMAC 16진수 요약 + in: header + name: X-Hub-Signature-256 + schema: + type: string + - description: 웹훅이 생성된 리소스 유형 + in: header + name: X-GitHub-Hook-Installation-Target-Type + schema: + type: string + - description: 웹훅이 생성된 리소스의 고유 식별자 + in: header + name: X-GitHub-Hook-Installation-Target-ID + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/GithubReleaseWebhook" + required: true + responses: + "200": + description: 웹훅이 성공적으로 처리됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 유효성 검사 실패 또는 엔드포인트 스팸 발생 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: GitHub 릴리스 웹훅 처리 + tags: + - Releases + x-excluded: true + /security-scan: + get: + description: 대기 중인 모든 노드 버전을 가져와 보안 스캔을 수행합니다. + operationId: SecurityScan + parameters: + - in: query + name: minAge + schema: + type: string + x-go-type: time.Duration + - in: query + name: minSecurityScanAge + schema: + type: string + x-go-type: time.Duration + - in: query + name: maxNodes + schema: + type: integer + responses: + "200": + description: 스캔이 성공적으로 완료됨 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터입니다." + "401": + description: 인증되지 않음 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 금지됨 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 보안 스캔 + tags: + - Registry + x-excluded: true + /seedance/complete: + get: + description: "BytePlus가 H5 라이브니스 완료 후 최종 사용자를 리디렉션하는 브라우저용 랜딩 페이지입니다. 콜백 파라미터를 기록하고 사용자가 브라우저에서 보는 일반 HTML을 반환합니다. 클라이언트는 seedanceGetVisualValidateSession을 폴링하여 실제 결과를 확인합니다.\n" + operationId: SeedanceVisualValidateCallback + parameters: + - in: query + name: bytedToken + required: true + schema: + type: string + - in: query + name: resultCode + required: true + schema: + type: string + - in: query + name: algorithmBaseRespCode + schema: + type: string + - in: query + name: reqMeasureInfoValue + schema: + type: string + - in: query + name: verify_type + schema: + type: string + responses: + "200": + content: + text/html: + schema: + type: string + description: 사용자의 브라우저에 표시되는 랜딩 페이지 + security: + [] + summary: BytePlus 실사 인증 콜백 랜딩 페이지 + tags: + - API Nodes + - Released + x-excluded: true + /upload-artifact: + post: + description: ComfyUI GitHub Action에서 아티팩트(출력 파일)를 수신합니다. + operationId: PostUploadArtifact + requestBody: + content: + application/json: + schema: + properties: + author: + description: 커밋의 작성자 + type: string + avg_vram: + description: 실행에서 사용된 평균 VRAM 수량입니다. + type: integer + branch_name: + type: string + bucket_name: + description: 출력 파일이 저장된 버킷의 이름입니다. + type: string + comfy_logs_gcs_path: + description: "ComfyUI 로그의 경로입니다. 예: gs://bucket-name/logs" + type: string + comfy_run_flags: + description: comfy 실행에 사용된 플래그 + type: string + commit_hash: + type: string + commit_message: + description: 커밋 메시지 + type: string + commit_time: + description: "커밋 시간은 \"YYYY-MM-DDTHH:MM:SSZ\" 형식입니다. (2016-10-10T00:00:00Z)" + type: string + cuda_version: + description: Cuda 버전. + type: string + end_time: + description: 작업 종료 시간(Unix 타임스탬프)입니다. + format: int64 + type: integer + job_id: + description: 작업의 고유 식별자 + type: string + job_trigger_user: + description: 작업을 트리거한 사용자 + type: string + machine_stats: + $ref: "#/components/schemas/MachineStats" + os: + description: 실행에 사용된 운영 체제 + type: string + output_files_gcs_paths: + description: "출력 파일의 GCS 경로를 포함하는 쉼표로 구분된 문자열입니다. 예: gs://bucket-name/output, gs://bucket-name/output2" + type: string + peak_vram: + description: 실행에서 사용된 최대 VRAM 수량입니다. + type: integer + pr_number: + description: 풀 리퀘스트 번호 + type: string + python_version: + description: 실행에 사용된 Python 버전 + type: string + pytorch_version: + description: 실행에 사용된 PyTorch 버전 + type: string + repo: + description: 저장소 이름 + type: string + run_id: + description: 실행의 고유 식별자 + type: string + start_time: + description: 작업의 시작 시간(Unix 타임스탬프) + format: int64 + type: integer + status: + $ref: "#/components/schemas/WorkflowRunStatus" + workflow_name: + description: 워크플로 이름 + type: string + required: + - repo + - job_id + - run_id + - os + - commit_hash + - commit_time + - commit_message + - branch_name + - workflow_name + - start_time + - end_time + - pr_number + - python_version + - job_trigger_user + - author + - status + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: 아티팩트 세부 정보를 성공적으로 수신함 + "400": + description: 잘못된 요청 + "500": + description: 내부 서버 오류 + summary: ComfyUI GitHub Action에서 아티팩트(출력 파일) 수신 + tags: + - ComfyUI CI + x-excluded: true + /users: + get: + operationId: GetUser + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/User" + description: OK + "401": + description: 인증되지 않음 + "404": + description: 찾을 수 없음 + security: + - BearerAuth: + [] + summary: 호출 사용자에 대한 정보 가져오기 + tags: + - Registry + /users/publishers/: + get: + operationId: ListPublishersForUser + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Publisher" + type: array + description: 게시자 목록 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 요청, 잘못된 입력 데이터" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 주어진 사용자에 대한 모든 게시자 조회 + tags: + - Registry + /versions: + get: + operationId: ListAllNodeVersions + parameters: + - in: query + name: nodeId + schema: + type: string + - explode: true + in: query + name: statuses + schema: + items: + $ref: "#/components/schemas/NodeVersionStatus" + type: array + style: form + - in: query + name: include_status_reason + schema: + default: false + type: boolean + - description: 조회할 페이지 번호 + in: query + name: page + schema: + default: 1 + type: integer + - description: 페이지당 포함할 항목 수 + in: query + name: pageSize + schema: + default: 10 + type: integer + - description: "status_reason 검색, 대소문자 구분 없음" + in: query + name: status_reason + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + page: + description: 현재 페이지 번호 + type: integer + pageSize: + description: 페이지당 최대 노드 버전 수. 최대 100개 + type: integer + total: + description: 사용 가능한 총 노드 버전 수 + type: integer + totalPages: + description: 사용 가능한 총 페이지 수 + type: integer + versions: + items: + $ref: "#/components/schemas/NodeVersion" + type: array + type: object + description: 모든 노드 버전 목록 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "잘못된 입력, 개체가 유효하지 않음" + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 노드 차단됨 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: 주어진 필터에 따라 모든 노드 버전을 나열합니다. + tags: + - Registry + /webhook/metronome/zero-balance: + post: + operationId: MetronomeZeroBalance + requestBody: + content: + application/json: + schema: + properties: + id: + description: 웹훅의 ID + type: string + properties: + properties: + customer_id: + description: 메트로놈 고객 ID + type: string + remaining_balance: + description: 고객의 남은 잔액 + type: number + type: object + type: + description: 웹훅 유형 + type: string + required: + - id + - type + - properties + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: 웹훅이 성공적으로 처리되었습니다 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 권한 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 업스트림 문제) + summary: 남은 잔액이 0이면 알림 수신 + tags: + - Webhook + - Metronome + x-excluded: true + /webhook/stripe/invoice-status: + post: + operationId: StripeInvoiceStatus + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/StripeEvent" + required: true + responses: + "200": + description: 웹훅이 성공적으로 처리되었습니다 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 권한 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 업스트림 문제) + summary: Stripe invoice.paid 웹훅 이벤트 처리 + tags: + - Billing + - Stripe + x-excluded: true + /webhook/stripe/subscription: + post: + operationId: StripeSubscriptionWebhook + requestBody: + content: + application/json: + schema: + description: 일반 Stripe 웹훅 이벤트 페이로드 + type: object + required: true + responses: + "200": + description: 웹훅이 성공적으로 처리되었습니다 + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 잘못된 요청 + "401": + description: 권한 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 (프록시 또는 업스트림 문제) + summary: Stripe 구독 웹훅 이벤트 처리 + tags: + - Billing + - Stripe + x-excluded: true + "/workflowresult/{workflowResultId}": + get: + operationId: GetWorkflowResult + parameters: + - in: path + name: workflowResultId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ActionJobResult" + description: 커밋 세부 정보 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 커밋을 찾을 수 없음 + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: 내부 서버 오류 + summary: ID로 특정 커밋 검색 + tags: + - ComfyUI CI + x-excluded: true +servers: + - url: https://api.comfy.org diff --git a/openapi/registry.zh.yaml b/openapi/registry.zh.yaml new file mode 100644 index 000000000..13826c9f9 --- /dev/null +++ b/openapi/registry.zh.yaml @@ -0,0 +1,36109 @@ +# translationSourceHash: f7e0ff5a +# translationFrom: openapi/registry.en.yaml + +components: + parameters: + PixverseAiTraceId: + description: 每个请求的唯一UUID。 + in: header + name: Ai-trace-id + required: true + schema: + type: string + schemas: + APIKey: + properties: + created_at: + format: date-time + type: string + description: + type: string + id: + type: string + key_prefix: + type: string + name: + type: string + type: object + APIKeyWithPlaintext: + allOf: + - $ref: "#/components/schemas/APIKey" + - properties: + plaintext_key: + description: 完整的API密钥(仅在创建时返回) + type: string + type: object + ActionJobResult: + properties: + action_job_id: + description: 此结果所属任务的标识符 + type: string + action_run_id: + description: 此结果所属运行的标识符 + type: string + author: + description: 提交的作者 + type: string + avg_vram: + description: 任务使用的平均VRAM + type: integer + branch_name: + description: 相关git分支的名称 + type: string + comfy_run_flags: + description: "舒适运行标志。例如 `--low-vram`" + type: string + commit_hash: + description: 提交的哈希值 + type: string + commit_id: + description: 提交的ID + type: string + commit_message: + description: 提交的消息 + type: string + commit_time: + description: 提交时的Unix时间戳 + format: int64 + type: integer + cuda_version: + description: 使用的CUDA版本 + type: string + end_time: + description: 任务结束时的Unix时间戳。 + format: int64 + type: integer + git_repo: + description: 仓库名称 + type: string + id: + description: 任务结果的唯一标识符 + format: uuid + type: string + job_trigger_user: + description: 触发任务的用户。 + type: string + machine_stats: + $ref: "#/components/schemas/MachineStats" + operating_system: + description: 使用的操作系统 + type: string + peak_vram: + description: 任务使用的峰值VRAM + type: integer + pr_number: + description: 拉取请求编号 + type: string + python_version: + description: 使用的PyTorch版本 + type: string + pytorch_version: + description: 使用的PyTorch版本 + type: string + start_time: + description: 任务开始时的Unix时间戳。 + format: int64 + type: integer + status: + $ref: "#/components/schemas/WorkflowRunStatus" + storage_file: + $ref: "#/components/schemas/StorageFile" + workflow_name: + description: 工作流名称 + type: string + type: object + AnthropicCacheCreationUsage: + description: Anthropic Messages API调用中缓存写入输入令牌的按TTL细分。 + properties: + ephemeral_1h_input_tokens: + type: integer + ephemeral_5m_input_tokens: + type: integer + type: object + AnthropicCreateMessageRequest: + additionalProperties: true + description: "Anthropic Messages API (`/v1/messages`) 的请求体。镜像上游模式,仅对代理读取的字段(模型、提示提取、流式传输、计费)进行严格类型化。其他顶级字段(`tools`、`temperature`、`top_p`、`thinking`、`metadata`等)通过 `additionalProperties` 原样传递。" + properties: + max_tokens: + description: 停止前生成的最大令牌数。 + type: integer + messages: + description: 对话轮次。有关完整内容块分类,请参阅Anthropic Messages API文档。 + items: + $ref: "#/components/schemas/AnthropicMessageParam" + type: array + model: + description: "Anthropic模型标识符(例如 `claude-sonnet-4-5`、`claude-opus-4-7`)。" + type: string + stream: + description: "当为是时,响应是Anthropic消息事件的 `text/event-stream`,而不是单个JSON主体。" + type: boolean + system: + description: 顶层的系统提示。Anthropic也通过透传接受数组形式。 + type: string + required: + - model + - max_tokens + - messages + type: object + AnthropicCreateMessageResponse: + additionalProperties: true + description: "非流式Messages API响应的JSON形状。大多数字段透传;代理读取 `usage` 用于计费。" + properties: + id: + type: string + model: + type: string + role: + type: string + stop_reason: + nullable: true + type: string + stop_sequence: + nullable: true + type: string + type: + type: string + usage: + $ref: "#/components/schemas/AnthropicMessagesUsage" + type: object + AnthropicMessageParam: + additionalProperties: true + description: "单个对话轮次。代理仅读取 `role` 和 `content`(字符串或内容块数组)用于提示捕获;其余字段透传。" + properties: + content: + description: 可以是字符串简写或内容块数组(文本、图像、文档、tool_use、tool_result等)。 + x-go-type: "interface{}" + role: + enum: + - user + - assistant + type: string + required: + - role + - content + type: object + AnthropicMessagesUsage: + description: Anthropic Messages API调用的令牌使用情况。 + properties: + cache_creation: + $ref: "#/components/schemas/AnthropicCacheCreationUsage" + cache_creation_input_tokens: + type: integer + cache_read_input_tokens: + type: integer + input_tokens: + type: integer + output_tokens: + type: integer + type: object + AuditLog: + properties: + createdAt: + description: 事件创建的日期和时间 + format: date-time + type: string + event_id: + description: 事件的ID + type: string + event_type: + description: 事件的类型 + type: string + params: + additionalProperties: true + description: 与事件相关的数据 + type: object + type: object + BFLAsyncResponse: + properties: + id: + title: Id + type: string + polling_url: + title: Polling Url + type: string + required: + - id + - polling_url + title: AsyncResponse + type: object + BFLAsyncWebhookResponse: + properties: + id: + title: Id + type: string + status: + title: Status + type: string + webhook_url: + title: Webhook Url + type: string + required: + - id + - status + - webhook_url + title: AsyncWebhookResponse + type: object + BFLCannyInputs: + properties: + canny_high_threshold: + anyOf: + - maximum: 500 + minimum: 0 + type: integer + default: 200 + description: Canny边缘检测的高阈值 + title: Canny High Threshold + canny_low_threshold: + anyOf: + - maximum: 500 + minimum: 0 + type: integer + default: 50 + description: Canny边缘检测的低阈值 + title: Canny Low Threshold + control_image: + anyOf: + - type: string + description: 用作控制输入且未提供预处理图像时的Base64编码图像 + title: Control Image + guidance: + anyOf: + - maximum: 100 + minimum: 1 + type: number + default: 30 + description: 图像生成过程的引导强度 + title: Guidance + output_format: + anyOf: + - $ref: "#/components/schemas/BFLOutputFormat" + default: jpeg + description: "已生成图像的输出格式。可以是'jpeg'或'png'。" + preprocessed_image: + anyOf: + - type: string + description: 可选预处理图像,将绕过控制预处理步骤 + title: Preprocessed Image + prompt: + description: 图像生成的文本提示 + example: ein fantastisches bild + title: Prompt + type: string + prompt_upsampling: + anyOf: + - type: boolean + default: false + description: 是否对提示执行上采样 + title: Prompt Upsampling + safety_tolerance: + default: 2 + description: 输入和输出审核的阈值等级。介于0到6之间,0最严格,6最宽松。 + maximum: 6 + minimum: 0 + title: Safety Tolerance + type: integer + seed: + anyOf: + - type: integer + description: 用于可复现性的可选种子 + example: 42 + title: Seed + steps: + anyOf: + - maximum: 50 + minimum: 15 + type: integer + default: 50 + description: 图像生成过程的步数 + title: Steps + webhook_secret: + anyOf: + - type: string + description: 用于Webhook签名验证的可选密钥 + title: Webhook Secret + webhook_url: + anyOf: + - format: uri + maxLength: 2083 + minLength: 1 + type: string + description: 接收Webhook通知的URL + title: Webhook Url + required: + - prompt + title: CannyInputs + type: object + BFLDepthInputs: + properties: + control_image: + anyOf: + - type: string + description: 用作控制输入的Base64编码图像 + title: Control Image + guidance: + anyOf: + - maximum: 100 + minimum: 1 + type: number + default: 15 + description: 图像生成过程的引导强度 + title: Guidance + output_format: + anyOf: + - $ref: "#/components/schemas/BFLOutputFormat" + default: jpeg + description: "已生成图像的输出格式。可以是'jpeg'或'png'。" + preprocessed_image: + anyOf: + - type: string + description: 可选预处理图像,将绕过控制预处理步骤 + title: Preprocessed Image + prompt: + description: 图像生成的文本提示 + example: ein fantastisches bild + title: Prompt + type: string + prompt_upsampling: + anyOf: + - type: boolean + default: false + description: 是否对提示执行上采样 + title: Prompt Upsampling + safety_tolerance: + default: 2 + description: 输入和输出审核的阈值等级。介于0到6之间,0最严格,6最宽松。 + maximum: 6 + minimum: 0 + title: Safety Tolerance + type: integer + seed: + anyOf: + - type: integer + description: 用于可复现性的可选种子 + example: 42 + title: Seed + steps: + anyOf: + - maximum: 50 + minimum: 15 + type: integer + default: 50 + description: 图像生成过程的步数 + title: Steps + webhook_secret: + anyOf: + - type: string + description: 用于Webhook签名验证的可选密钥 + title: Webhook Secret + webhook_url: + anyOf: + - format: uri + maxLength: 2083 + minLength: 1 + type: string + description: 接收Webhook通知的URL + title: Webhook Url + required: + - prompt + title: DepthInputs + type: object + BFLEraseV1Request: + description: BFL Flux Tools Erase v1对象移除API的请求体。 + properties: + dilate_pixels: + default: 10 + description: 移除前遮罩的膨胀像素数。膨胀有助于覆盖对象边缘。最大为25像素。 + maximum: 25 + minimum: 0 + type: integer + image: + description: Base64编码的输入图像或HTTP(S)图像URL。 + type: string + mask: + description: Base64编码的黑白遮罩或HTTP(S)图像URL。白色像素表示要移除的对象;黑色像素保留。必须与输入图像具有相同尺寸。 + type: string + output_format: + $ref: "#/components/schemas/BFLOutputFormat" + safety_tolerance: + default: 2 + description: 输入和输出审核的阈值等级。介于0到5之间,0最严格,5最宽松。 + maximum: 5 + minimum: 0 + type: integer + seed: + description: 用于可复现性的可选种子。 + example: 42 + type: integer + webhook_secret: + description: 用于Webhook签名验证的可选密钥。 + type: string + webhook_url: + description: 用于接收Webhook通知的URL。 + format: uri + maxLength: 2083 + minLength: 1 + type: string + required: + - image + - mask + type: object + BFLFlux2ProGenerateRequest: + description: BFL Flux 2 Pro图像生成API的请求体。 + properties: + height: + default: 1024 + description: 图像的高度。 + maximum: 2048 + minimum: 256 + type: integer + input_image: + description: 用于图生图生成的Base64编码图像。 + type: string + input_image_2: + description: 用于图生图生成的Base64编码图像。 + type: string + input_image_3: + description: 用于图生图生成的Base64编码图像。 + type: string + input_image_4: + description: 用于图生图生成的Base64编码图像。 + type: string + input_image_5: + description: 用于图生图生成的Base64编码图像。 + type: string + input_image_6: + description: 用于图生图生成的Base64编码图像。 + type: string + input_image_7: + description: 用于图生图生成的Base64编码图像。 + type: string + input_image_8: + description: 用于图生图生成的Base64编码图像。 + type: string + input_image_9: + description: 用于图生图生成的Base64编码图像。 + type: string + output_format: + default: jpeg + description: 已生成图像的输出格式。 + enum: + - jpeg + - png + type: string + prompt: + description: 要生成图像的文本描述。 + type: string + prompt_upsampling: + default: true + description: 自动修改提示词以进行生成。 + type: boolean + safety_tolerance: + default: 2 + description: 审核阈值级别(仅限Flux 2 Max)。 + maximum: 5 + minimum: 0 + type: integer + seed: + description: 用于可重现性的随机种子。 + type: integer + width: + default: 1024 + description: 图像的宽度。 + maximum: 2048 + minimum: 256 + type: integer + required: + - prompt + type: object + BFLFluxKontextMaxGenerateRequest: + properties: + guidance: + default: 3 + description: 生成的引导缩放 + maximum: 20 + minimum: 1 + type: number + input_image: + description: 要编辑的Base64编码图像 + type: string + prompt: + description: 描述要在图像上编辑内容的文本提示词 + type: string + steps: + default: 50 + description: 推理步数 + maximum: 50 + minimum: 1 + type: integer + required: + - prompt + - input_image + type: object + BFLFluxKontextMaxGenerateResponse: + properties: + id: + description: 用于跟踪的任务ID + type: string + polling_url: + description: 用于轮询结果的URL + type: string + required: + - id + - polling_url + type: object + BFLFluxKontextProGenerateRequest: + properties: + guidance: + default: 3 + description: 生成的引导缩放 + maximum: 20 + minimum: 1 + type: number + input_image: + description: 要编辑的Base64编码图像 + type: string + prompt: + description: 描述要在图像上编辑内容的文本提示词 + type: string + steps: + default: 50 + description: 推理步数 + maximum: 50 + minimum: 1 + type: integer + required: + - prompt + - input_image + type: object + BFLFluxKontextProGenerateResponse: + properties: + id: + description: 用于跟踪的任务ID + type: string + polling_url: + description: 用于轮询结果的URL + type: string + required: + - id + - polling_url + type: object + BFLFluxPro1_1GenerateRequest: + properties: + height: + description: 已生成图像的高度 + type: integer + image_prompt: + description: 可选的图像提示词 + type: string + output_format: + description: 输出图像格式 + enum: + - jpeg + - png + type: string + prompt: + description: 用于图像生成的主要文本提示词 + type: string + prompt_upsampling: + description: 是否使用提示词上采样 + type: boolean + safety_tolerance: + description: 安全阈值级别 + type: integer + seed: + description: 用于可重复性的随机种子 + type: integer + webhook_secret: + description: 异步处理的可选Webhook密钥 + type: string + webhook_url: + description: 异步处理的可选Webhook URL + type: string + width: + description: 已生成图像的宽度 + type: integer + required: + - prompt + - width + - height + type: object + BFLFluxPro1_1GenerateResponse: + properties: + id: + description: 用于跟踪的任务ID + type: string + polling_url: + description: 用于轮询结果的URL + type: string + required: + - id + - polling_url + type: object + BFLFluxProExpandInputs: + properties: + bottom: + anyOf: + - maximum: 2048 + minimum: 0 + type: integer + default: 0 + description: 在图像底部展开的像素数 + title: Bottom + guidance: + anyOf: + - maximum: 100 + minimum: 1.5 + type: number + default: 60 + description: 图像生成过程的引导强度 + title: Guidance + image: + description: 一个Base64编码的字符串,表示您希望展开的图像。 + title: Image + type: string + left: + anyOf: + - maximum: 2048 + minimum: 0 + type: integer + default: 0 + description: 在图像左侧展开的像素数 + title: Left + output_format: + anyOf: + - $ref: "#/components/schemas/BFLOutputFormat" + default: jpeg + description: "已生成图像的输出格式。可以是'jpeg'或'png'。" + prompt: + anyOf: + - type: string + default: "" + description: 对您想要进行的更改的描述。此文本引导展开过程,允许您指定展开区域的特性、样式或修改。 + example: ein fantastisches bild + title: Prompt + prompt_upsampling: + anyOf: + - type: boolean + default: false + description: 是否对提示执行上采样。如果启用,会自动修改提示以获得更具创造性的生成。 + title: Prompt Upsampling + right: + anyOf: + - maximum: 2048 + minimum: 0 + type: integer + default: 0 + description: 在图像右侧展开的像素数 + title: Right + safety_tolerance: + default: 2 + description: 输入和输出审核的阈值级别。介于0和6之间,0表示最严格,6表示最宽松。 + example: 2 + maximum: 6 + minimum: 0 + title: Safety Tolerance + type: integer + seed: + anyOf: + - type: integer + description: 用于可重复性的可选种子 + title: Seed + steps: + anyOf: + - maximum: 50 + minimum: 15 + type: integer + default: 50 + description: 图像生成过程的步数 + example: 50 + title: Steps + top: + anyOf: + - maximum: 2048 + minimum: 0 + type: integer + default: 0 + description: 在图像顶部展开的像素数 + title: Top + webhook_secret: + anyOf: + - type: string + description: 用于Webhook签名验证的可选密钥 + title: Webhook Secret + webhook_url: + anyOf: + - format: uri + maxLength: 2083 + minLength: 1 + type: string + description: 接收Webhook通知的URL + title: Webhook Url + required: + - image + title: FluxProExpandInputs + type: object + BFLFluxProFillInputs: + properties: + guidance: + anyOf: + - maximum: 100 + minimum: 1.5 + type: number + default: 60 + description: 图像生成过程的引导强度 + title: Guidance + image: + description: 一个Base64编码的字符串,表示您希望修改的图像。如果需要,可以包含透明度遮罩。 + title: Image + type: string + mask: + anyOf: + - type: string + description: 一个Base64编码的字符串,表示图像中要修改区域的遮罩。遮罩应与图像尺寸相同且为黑色和白色。黑色区域(0%)表示不修改,而白色区域(100%)指定进行修复的区域。如果您在原始图像中提供了透明度遮罩,则为可选。验证:端点验证遮罩的尺寸是否与原始图像匹配。 + title: Mask + output_format: + anyOf: + - $ref: "#/components/schemas/BFLOutputFormat" + default: jpeg + description: "已生成图像的输出格式。可以是'jpeg'或'png'。" + prompt: + anyOf: + - type: string + default: "" + description: 对您想要进行的更改的描述。此文本引导修复过程,允许您指定遮罩区域的特性、样式或修改。 + example: ein fantastisches bild + title: Prompt + prompt_upsampling: + anyOf: + - type: boolean + default: false + description: 是否对提示执行上采样。如果启用,会自动修改提示以获得更具创造性的生成。 + title: Prompt Upsampling + safety_tolerance: + default: 2 + description: 输入和输出审核的阈值级别。介于0和6之间,0表示最严格,6表示最宽松。 + example: 2 + maximum: 6 + minimum: 0 + title: Safety Tolerance + type: integer + seed: + anyOf: + - type: integer + description: 用于可重复性的可选种子 + title: Seed + steps: + anyOf: + - maximum: 50 + minimum: 15 + type: integer + default: 50 + description: 图像生成过程的步数 + example: 50 + title: Steps + webhook_secret: + anyOf: + - type: string + description: 用于Webhook签名验证的可选密钥 + title: Webhook Secret + webhook_url: + anyOf: + - format: uri + maxLength: 2083 + minLength: 1 + type: string + description: 接收Webhook通知的URL + title: Webhook Url + required: + - image + title: FluxProFillInputs + type: object + BFLFluxProGenerateRequest: + description: BFL Flux Pro 1.1 Ultra图像生成API的请求体。 + properties: + guidance_scale: + description: 生成的引导缩放。 + maximum: 20 + minimum: 1 + type: number + height: + description: 要生成图像的高度。 + maximum: 2048 + minimum: 64 + type: integer + negative_prompt: + description: 图像生成的负面提示。 + type: string + num_images: + description: 要生成的图像数量。 + maximum: 4 + minimum: 1 + type: integer + num_inference_steps: + description: 推理步数。 + maximum: 100 + minimum: 1 + type: integer + prompt: + description: 图像生成的文本提示。 + type: string + seed: + description: 用于可复现性的种子值。 + type: integer + width: + description: 生成图像的宽度。 + maximum: 2048 + minimum: 64 + type: integer + required: + - prompt + - width + - height + type: object + BFLFluxProGenerateResponse: + description: 来自BFL Flux Pro 1.1 Ultra图像生成API的响应。 + properties: + cost: + description: 生成任务的成本。 + format: float + type: number + id: + description: 生成任务的唯一标识符。 + type: string + input_mp: + description: 输入百万像素。 + format: float + type: number + output_mp: + description: 输出百万像素。 + format: float + type: number + polling_url: + description: 轮询生成结果的URL。 + type: string + required: + - id + - polling_url + type: object + BFLHTTPValidationError: + properties: + detail: + items: + $ref: "#/components/schemas/BFLValidationError" + title: Detail + type: array + title: HTTPValidationError + type: object + BFLOutputFormat: + enum: + - jpeg + - png + - webp + title: OutputFormat + type: string + BFLValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + title: Location + type: array + msg: + title: Message + type: string + type: + title: Error Type + type: string + required: + - loc + - msg + - type + title: ValidationError + type: object + BFLVtoV1Request: + description: BFL Flux Tools VTO v1虚拟试穿API的请求体。 + properties: + garment: + description: 一件或多件服装的图像(内部映射到input_image_2)。 + type: string + output_format: + $ref: "#/components/schemas/BFLOutputFormat" + person: + description: 人物图像(内部映射到input_image)。 + type: string + prompt: + description: VTO生成的文本提示。 + example: "TRY-ON: The person of image 1 wearing the garments of image 2." + type: string + safety_tolerance: + default: 2 + description: 输入和输出审核的阈值。公开使用时介于0和5之间。 + maximum: 5 + minimum: 0 + type: integer + seed: + description: 可选的用于可复现性的种子。 + example: 42 + type: integer + webhook_secret: + description: 用于webhook签名验证的可选密钥。 + type: string + webhook_url: + description: 接收webhook通知的URL。 + format: uri + maxLength: 2083 + minLength: 1 + type: string + required: + - prompt + - person + - garment + type: object + BeebleAlphaMode: + description: 透明度模式:auto、fill、custom或select + enum: + - auto + - fill + - custom + - select + type: string + BeebleCreateSwitchXRequest: + description: 创建并启动SwitchX生成任务的请求。 + properties: + alpha_mode: + $ref: "#/components/schemas/BeebleAlphaMode" + alpha_uri: + description: 自定义透明度蒙版的URI。当alpha_mode为custom或select时必填。对于auto或fill则忽略。 + nullable: true + type: string + callback_url: + description: 用于完成或失败时webhook通知的HTTPS URL。 + nullable: true + type: string + generation_type: + $ref: "#/components/schemas/BeebleGenerationType" + idempotency_key: + description: 用于安全重试的幂等键。如果您的账户已存在具有相同键的任务,API返回现有任务的状态,而不是创建复制。 + maxLength: 256 + minLength: 1 + nullable: true + type: string + max_resolution: + default: 1080 + description: 最大输出分辨率:720或1080(默认:1080)。 + nullable: true + type: integer + prompt: + description: 所需输出的文本描述(最多2000个字符)。至少需要提供prompt或reference_image_uri之一。 + maxLength: 2000 + nullable: true + type: string + reference_image_uri: + description: 用于风格迁移的参考图像的URI。接受与source_uri相同的URI类型。 + nullable: true + type: string + source_uri: + description: "来源图像或视频的URI。接受beeble://uploads/{id}/{filename}、https URL或data:{mime};base64 URI(最大50 MB)。" + type: string + required: + - generation_type + - source_uri + - alpha_mode + type: object + BeebleGenerationType: + description: 输出类型:image或video + enum: + - image + - video + type: string + BeebleSwitchXOutputUrls: + description: SwitchX任务输出的签名URL。 + properties: + alpha: + description: 透明度蒙版URL。 + nullable: true + type: string + render: + description: 合成输出URL。 + nullable: true + type: string + source: + description: 预处理后的来源URL。 + nullable: true + type: string + type: object + BeebleSwitchXStatusResponse: + description: SwitchX任务的状态响应。 + properties: + alpha_mode: + description: auto、fill、custom 或 select + nullable: true + type: string + completed_at: + description: 作业完成或失败时的 ISO 8601 时间戳。 + nullable: true + type: string + created_at: + description: 任务创建时的 ISO 8601 时间戳。 + nullable: true + type: string + error: + description: 报错信息(当状态为失败时显示)。 + nullable: true + type: string + generation_type: + description: 图像或视频 + nullable: true + type: string + id: + description: 任务标识符 (swx_...) + type: string + modified_at: + description: 上次状态变更的 ISO 8601 时间戳。 + nullable: true + type: string + output: + allOf: + - $ref: "#/components/schemas/BeebleSwitchXOutputUrls" + description: 输出 URL(当状态为已完成时显示)。URL 已签名,72 小时后到期;重新获取此端点以获取新 URL。 + nullable: true + progress: + description: 进度百分比 (0-100)。 + nullable: true + type: integer + status: + description: 当前任务状态。 + enum: + - in_queue + - processing + - completed + - failed + type: string + webhook: + allOf: + - $ref: "#/components/schemas/BeebleWebhookStatus" + description: Webhook 投递状态(仅在提供了 callback_url 时显示)。 + nullable: true + required: + - id + - status + type: object + BeebleUploadRequest: + description: 创建预签名上传 URL 的请求。 + properties: + filename: + description: 带有扩展的文件名。接受的格式:.mp4、.mov、.png、.jpg、.jpeg、.webp + maxLength: 255 + minLength: 3 + type: string + required: + - filename + type: object + BeebleUploadResponse: + description: 包含预签名上传 URL 和 beeble:// URI 的响应。 + properties: + beeble_uri: + description: 在 SwitchX 生成调用中引用此文件的 beeble:// URI(source_uri、reference_image_uri 或 alpha_uri)。 + type: string + id: + description: 上传 ID (upload_...) + type: string + upload_url: + description: 用于上传文件的预签名 PUT URL。1 小时后过期。 + type: string + required: + - id + - upload_url + - beeble_uri + type: object + BeebleWebhookStatus: + description: SwitchX 任务的 Webhook 投递状态。 + properties: + attempts: + description: 到目前为止的投递尝试次数。 + nullable: true + type: integer + last_error: + description: 上次失败投递尝试的报错信息。 + nullable: true + type: string + status: + description: 待定、已投递或失败 + nullable: true + type: string + type: object + BriaAsyncResponse: + description: 来自 Bria API 的异步响应(202 Accepted) + properties: + request_id: + description: 请求的唯一标识符。 + type: string + status_url: + description: 用于轮询结果的 URL。 + type: string + warning: + description: 可选的警告消息。 + type: string + type: object + BriaErrorResponse: + description: 来自 Bria API 的错误响应 + properties: + error: + properties: + code: + description: 错误代码。 + type: integer + details: + description: 附加错误详情。 + type: string + message: + description: 报错信息。 + type: string + type: object + request_id: + description: 请求的唯一标识符。 + type: string + type: object + BriaFiboEditRequest: + description: Bria FIBO Edit API 的请求体 + properties: + guidance_scale: + default: 5 + description: 决定生成的图像应如何紧密遵循指令。 + format: float + maximum: 5 + minimum: 3 + type: number + images: + description: 要进行编辑的来源图像。可公开访问的 URL 或 Base64 编码。接受的格式:JPEG、JPG、PNG、WEBP。必须恰好包含一个项目。 + items: + type: string + maxItems: 1 + minItems: 1 + type: array + instruction: + description: 基于文本的编辑指令(例如:“让天空变蓝”,“添加一只猫”)。必须提供 instruction 或 structured_instruction 其中之一。 + type: string + ip_signal: + default: false + description: 如果为 true,则针对指令中潜在的知识产权内容返回警告。 + type: boolean + mask: + description: 可选的遮罩图像网址或Base64编码。黑色区域将被保留,白色区域将被编辑。 + type: string + model_version: + default: FIBO + description: 要使用的模型版本。 + enum: + - FIBO + type: string + negative_prompt: + description: 一个文本提示,指定要从编辑后的图像中排除的概念、风格或对象。 + type: string + prompt_content_moderation: + default: true + description: 如果为是,则在指令审核失败时返回422。 + type: boolean + seed: + description: 用于确定性生成的种子。如果省略,则使用随机种子。 + type: integer + steps_num: + default: 50 + description: 扩散步骤数。 + maximum: 50 + minimum: 20 + type: integer + structured_instruction: + description: 一个包含JSON格式的结构化编辑指令的字符串。使用此字段代替instruction以实现精确的程序化控制。 + type: string + visual_input_content_moderation: + default: true + description: 如果为是,则在图像或遮罩审核失败时返回422。 + type: boolean + visual_output_content_moderation: + default: true + description: 如果为是,则在视觉输出审核失败时返回422。 + type: boolean + required: + - images + type: object + BriaImageRemoveBackgroundRequest: + description: Bria图像移除背景API的请求体 + properties: + image: + description: 要从中移除背景的图像。支持的输入类型为Base64编码字符串或指向可公开访问的图像文件的网址。接受的格式:JPEG、JPG、PNG、WEBP。 + type: string + preserve_alpha: + description: 控制输入图像中的部分透明区域在背景移除后是否保留在输出中。 + type: boolean + sync: + description: 当为否(默认)时,请求异步处理。当为是时,API保持连接打开直至完成。 + type: boolean + visual_input_content_moderation: + description: 启用后,对输入视觉应用内容审核。如果图像审核失败,返回422。 + type: boolean + visual_output_content_moderation: + description: 启用后,对结果视觉应用内容审核。如果输出审核失败,返回422。 + type: boolean + required: + - image + type: object + BriaStatusNotFoundResponse: + description: 当request_id未找到或已过期时的响应 + properties: + status: + enum: + - NOT_FOUND + type: string + required: + - status + type: object + BriaStatusResponse: + description: 来自Bria API的状态响应 + properties: + error: + description: 错误对象(仅在状态为ERROR时存在) + properties: + code: + description: 错误代码。 + type: integer + details: + description: 附加错误详情。 + type: string + message: + description: 报错信息。 + type: string + type: object + request_id: + description: 请求的唯一标识符。 + type: string + result: + description: 结果对象(仅在状态为已完成时存在) + properties: + image_url: + description: 已生成/编辑图像的网址。 + type: string + prompt: + description: 原始提示。 + type: string + refined_prompt: + description: 提示的优化版本。 + type: string + seed: + description: 用于生成的种子。 + type: integer + structured_prompt: + description: 详细的JSON结构化提示。 + type: string + video_url: + description: 已生成视频的网址。 + type: string + type: object + status: + description: 请求的当前状态。 + enum: + - IN_PROGRESS + - COMPLETED + - ERROR + - UNKNOWN + type: string + type: object + BriaStructuredInstructionRequest: + description: Bria结构化指令生成API的请求体 + properties: + images: + description: 要编辑的来源图像。可公开访问的网址或Base64编码。必须恰好包含一个项目。 + items: + type: string + maxItems: 1 + minItems: 1 + type: array + instruction: + description: 必填。基于文本的编辑指令(例如,“让天空变蓝”,“添加一只猫”)。 + type: string + ip_signal: + default: false + description: 如果为是,则对指令中潜在的知识产权内容返回警告。 + type: boolean + mask: + description: 可选的遮罩图像网址或Base64编码。黑色区域将被保留,白色区域将被编辑。 + type: string + prompt_content_moderation: + default: true + description: 如果为是,则在指令审核失败时返回 422。 + type: boolean + seed: + description: 用于确定性生成的种子。如果省略,则使用随机种子。 + type: integer + visual_input_content_moderation: + default: true + description: 如果为是,则在图像或遮罩审核失败时返回 422。 + type: boolean + required: + - images + - instruction + type: object + BriaVideoGreenScreenRequest: + description: Bria 视频绿幕 API 的请求体 + properties: + green_shade: + description: 用于色度键控,应用在主体后面的纯色背景色调。默认为 broadcast_green。 + enum: + - broadcast_green + - chroma_green + - blue_screen + type: string + output_container_and_codec: + description: 输出容器和编解码器预设。 + enum: + - mp4_h264 + - mp4_h265 + - webm_vp9 + - mov_h265 + - mov_proresks + - mkv_h264 + - mkv_h265 + - mkv_vp9 + - gif + type: string + preserve_audio: + description: 是否保留输入视频的音频。 + type: boolean + video: + description: 输入视频的可公开访问的 URL。输入分辨率支持高达 16000x16000(16K)。最大时长 60 秒。 + type: string + required: + - video + type: object + BriaVideoRemoveBackgroundRequest: + description: Bria 视频移除背景 API 的请求体 + properties: + background_color: + description: 输出视频的背景颜色。如果为透明,则输出编解码器必须支持透明度。 + enum: + - Transparent + - Black + - White + - Gray + - Red + - Green + - Blue + - Yellow + - Cyan + - Magenta + - Orange + type: string + output_container_and_codec: + description: 输出容器和编解码器预设。 + enum: + - mp4_h264 + - mp4_h265 + - webm_vp9 + - mov_h265 + - mov_proresks + - mkv_h264 + - mkv_h265 + - mkv_vp9 + - gif + type: string + preserve_audio: + description: 是否保留输入视频的音频。 + type: boolean + video: + description: 输入视频的可公开访问的 URL。输入分辨率支持高达 16000x16000(16K)。最大时长 60 秒。 + type: string + required: + - video + type: object + BriaVideoReplaceBackgroundRequest: + description: Bria 视频替换背景 API 的请求体 + properties: + background_url: + description: 要合成到主体后面的背景素材(图像或视频)的可公开访问的 URL。必须与主体宽高比匹配。 + type: string + output_container_and_codec: + description: 输出容器和编解码器预设。 + enum: + - mp4_h264 + - mp4_h265 + - webm_vp9 + - mov_h265 + - mov_proresks + - mkv_h264 + - mkv_h265 + - mkv_vp9 + - gif + type: string + preserve_audio: + description: 是否保留输入(主体)视频的音频。 + type: boolean + video: + description: 输入(主体)视频的可公开访问的 URL。输入分辨率支持高达 16000x16000(16K)。最大时长 60 秒。 + type: string + required: + - video + - background_url + type: object + BulkNodeVersionResult: + properties: + error_message: + description: 如果检索失败,则显示报错信息(仅在状态为错误时显示) + type: string + identifier: + $ref: "#/components/schemas/NodeVersionIdentifier" + node_version: + $ref: "#/components/schemas/NodeVersion" + status: + description: 检索操作的状态 + enum: + - success + - not_found + - error + type: string + required: + - identifier + - status + type: object + BulkNodeVersionsRequest: + properties: + node_versions: + description: 要检索的节点 ID 和版本对的列表 + items: + $ref: "#/components/schemas/NodeVersionIdentifier" + type: array + required: + - node_versions + type: object + BulkNodeVersionsResponse: + properties: + node_versions: + description: 检索到的节点版本及其状态的列表 + items: + $ref: "#/components/schemas/BulkNodeVersionResult" + type: array + required: + - node_versions + type: object + BytePlusFile: + description: "由 POST /api/v3/files 和 GET /api/v3/files/{id} 返回的文件对象。参见 https://docs.byteplus.com/en/docs/ModelArk/1873424。\n" + properties: + bytes: + description: "文件大小(字节)。仅当状态为 `active` 时返回。" + type: integer + created_at: + description: 文件上传时的 Unix 时间戳(秒)。 + type: integer + error: + description: "仅在状态为 `failed` 时返回的错误详情。" + nullable: true + properties: + code: + description: 错误代码。 + type: string + message: + description: 错误描述。 + type: string + type: object + expire_at: + description: 文件过期时的 Unix 时间戳(秒)。 + type: integer + id: + description: 文件的唯一 ID。 + type: string + mime_type: + description: "文件的 MIME 类型。仅当状态为 `active` 时返回。" + type: string + object: + description: "固定为 `file`。" + type: string + preprocess_configs: + $ref: "#/components/schemas/BytePlusFilePreprocessConfigs" + purpose: + description: 文件的用途。 + type: string + status: + description: 文件的处理状态。 + enum: + - processing + - active + - failed + type: string + type: object + BytePlusFilePreprocessConfigs: + description: 按文件类型应用于上传文件的预处理规则。 + nullable: true + properties: + video: + nullable: true + properties: + fps: + default: 1 + description: "上传时从视频中每秒采样的帧数。更高的值能捕获更多细节,但推理时消耗更多令牌(每个视频的令牌范围[10k, 80k])。" + format: float + maximum: 5 + minimum: 0.2 + nullable: true + type: number + model: + description: "视频理解模型ID或端点ID,其帧采样策略应在预处理时应用。如果省略,将使用`seed-1.8`之前的默认策略。" + type: string + type: object + type: object + BytePlusFileUploadRequest: + description: "用于POST /api/v3/files的多部分上传有效载荷。二进制`file`为必填项;其余字段与上游可选字段相同。参见https://docs.byteplus.com/en/docs/ModelArk/1870405。" + properties: + expire_at: + description: "文件到期时的Unix时间戳(秒,UTC)。范围:[当前时间 + 86400, 当前时间 + 2592000](1天到30天)。默认值:当前时间 + 604800(7天)。" + type: integer + file: + description: 要上传的二进制文件。 + format: binary + type: string + preprocess_configs: + $ref: "#/components/schemas/BytePlusFilePreprocessConfigs" + purpose: + default: user_data + description: "上传文件的用途。`user_data`是一个常规用途的值,也是BytePlus目前唯一记录的用途。" + type: string + required: + - file + - purpose + type: object + BytePlusImageGenerationRequest: + properties: + guidance_scale: + description: "控制输出图像与输入提示的匹配程度。范围[1, 10]。值越高,提示遵循性越强。seedream-3-0-t2i-250415的默认值为2.5,seededit-3-0-i2i-250628的默认值为5.5。seedream-5.0-pro、5.0-lite、4.5和4.0不支持此参数。" + format: float + maximum: 10 + minimum: 1 + type: number + image: + description: "Seedream-5.0-pro、5.0-lite、4.5和4.0,以及seededit-3.0-i2i支持此参数。\n\n输入要编辑图像的Base64编码或可访问的图片网址。Seedream-5.0-pro、5.0-lite、4.5和4.0支持输入单个图像或多个图像(参见多图像混合示例),而seededit-3.0-i2i仅支持单图像输入。\n\n• 图片网址:确保图片网址可访问。\n• Base64编码:格式必须为data:image/<图像格式>;base64,。注意:<图像格式>必须小写,例如data:image/png;base64,。\n\n输入图像必须满足以下要求:\n• 图像格式:jpeg、png(seedream-5.0-pro、5.0-lite、4.5和4.0还支持webp、bmp、tiff和gif;seedream-5.0-pro还支持heic和heif)\n• 宽高比(宽度/高度):seedream-5.0-pro、5.0-lite、4.5和4.0的范围为[1/16, 16];seededit-3.0-i2i的范围为[1/3, 3]\n• 宽度和高度(像素):> 14\n• 大小:不超过10 MB(seedream-5.0-pro为30 MB)\n• 总像素:seedream-5.0-pro不超过6000x6000(36,000,000像素)\n• 最多14张参考图像(seedream-5.0-pro为10张)\n" + oneOf: + - description: 单张图像(URL或Base64) + type: string + - description: 多张图像(URL或Base64)——seedream-5.0-pro、5.0-lite、4.5和4.0支持 + items: + type: string + maxItems: 14 + type: array + model: + enum: + - seedream-3-0-t2i-250415 + - seededit-3-0-i2i-250628 + - seedream-4-0-250828 + - seedream-4-5-251128 + - seedream-5-0-260128 + - seedream-5-0-pro-260628 + type: string + optimize_prompt_options: + description: "提示词优化功能的配置。仅seedream-5.0-pro/5.0-lite/4.5(仅支持标准模式)和seedream-4.0支持此参数。\n" + properties: + mode: + default: standard + description: 设置提示词优化功能的模式。standard = 更高质量,生成时间更长。fast = 更快但质量一般。 + enum: + - standard + - fast + type: string + type: object + output_format: + default: jpeg + description: 指定输出图像的格式。仅seedream-5.0-pro和5.0-lite支持此参数。 + enum: + - png + - jpeg + type: string + prompt: + description: 用于图像生成或转换的文本描述 + type: string + response_format: + default: url + description: 指定响应中返回的已生成图像的格式 + enum: + - url + - b64_json + type: string + seed: + default: -1 + description: "控制图像生成随机性的随机种子。范围:[-1, 2147483647]。如果未指定,将自动生成种子。若要重现相同的输出,请使用相同的种子值。" + type: integer + sequential_image_generation: + description: "控制是否禁用批处理生成功能。此参数仅seedream-5.0-lite、4.5和4.0支持(seedream-5.0-pro不支持)。有效值:\nauto:在自动模式下,模型根据用户的提示自动决定是否返回多张图像以及返回的图像数量。\ndisabled:禁用批处理生成功能。模型仅生成一张图像。\n" + type: string + sequential_image_generation_options: + description: "仅seedream-5.0-lite、4.5和4.0支持此参数(seedream-5.0-pro不支持)。\n批量图像生成功能的配置。此参数仅在sequential_image_generation设置为auto时生效。\n" + properties: + max_images: + default: 15 + description: 指定此请求中要生成的最大图像数量。输入参考图像数量 + 已生成图像数量 ≤ 15。 + maximum: 15 + minimum: 1 + type: integer + type: object + size: + description: "\"seedream-3-0-t2i-250415\":指定已生成图像的尺寸(宽度x高度,像素)。必须介于[512x512, 2048x2048]之间。\n\"seededit-3-0-i2i-250628\":已生成图像的宽度和高度(像素)。目前仅支持自适应。\n\"seedream-4-0-250828\":设置已生成图像的规格。有两种方法可用,但不能同时使用。\n 方法1 | 指定分辨率。可选值:1K、2K、4K\n 方法2 | 以像素为单位指定宽度和高度。默认值:2048x2048,总像素:[1024x1024, 4096x4096],宽高比:[1/16, 16]\n\"seedream-4-5-251128\":有两种方法可用。\n 方法1 | 指定分辨率。可选值:2K、4K\n 方法2 | 以像素为单位指定宽度和高度。默认值:2048x2048,总像素:[2560x1440, 4096x4096],宽高比:[1/16, 16]\n\"seedream-5-0-260128\":有两种方法可用。\n 方法1 | 指定分辨率。可选值:2K、3K\n 方法2 | 以像素为单位指定宽度和高度。默认值:2048x2048,总像素:[2560x1440, ~3072x3072],宽高比:[1/16, 16]\n\"seedream-5-0-pro-260628\":有两种方法可用(不能同时使用)。\n 方法1 | 指定分辨率并在提示中描述图像的宽高比、形状或用途;模型决定最终尺寸。可选值:1K、2K\n 方法2 | 以像素为单位指定宽度和高度。默认值:1024x1024,总像素:[1024x1024 (1048576), 2048x2048 (4194304)],宽高比:[1/16, 16]\n" + type: string + stream: + default: false + description: 是否启用流式输出模式。仅seedream-5.0-lite、4.5和4.0支持此参数(seedream-5.0-pro不支持)。false = 所有输出图像一次性返回。true = 每个输出图像生成后立即返回。 + type: boolean + watermark: + default: true + description: 指定是否为已生成图像添加水印。false = 无水印,true = 添加带有“AI生成”标签的水印 + type: boolean + required: + - prompt + - model + type: object + BytePlusImageGenerationResponse: + properties: + created: + description: Unix时间戳(秒),表示请求创建的时间 + type: integer + data: + description: 包含已生成图像的信息 + items: + properties: + b64_json: + description: "Base64编码的图像数据(如果response_format为\"b64_json\")" + type: string + output_format: + description: 输出图像的文件格式。仅seedream-5.0-pro支持此字段。 + type: string + size: + description: 图像的宽度和高度(像素),格式为<宽度>x<高度>。仅seedream-5.0-pro、5.0-lite、4.5和4.0支持此参数。 + type: string + url: + description: "图像下载的URL(如果response_format为\"url\")" + format: uri + type: string + type: object + type: array + error: + description: 错误信息(如果有) + properties: + code: + description: 错误代码 + type: string + message: + description: 报错信息 + type: string + type: object + model: + description: 用于请求的模型ID + example: seedream-3-0-t2i-250415 + type: string + usage: + properties: + generated_images: + description: 模型生成的图像数量 + type: integer + input_images: + description: 输入模型的图像数量。仅seedream-5.0-pro支持此字段。 + type: integer + output_tokens: + description: 模型生成的图片所使用的令牌数量。 + type: integer + total_tokens: + description: 此请求消耗的令牌总数。 + type: integer + type: object + type: object + BytePlusResponseAppliedContextEdit: + description: "一个已应用的上下文编辑,由`type`区分。" + discriminator: + mapping: + clear_thinking: "#/components/schemas/BytePlusResponseAppliedContextEditClearThinking" + clear_tool_uses: "#/components/schemas/BytePlusResponseAppliedContextEditClearToolUses" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseAppliedContextEditClearThinking" + - $ref: "#/components/schemas/BytePlusResponseAppliedContextEditClearToolUses" + BytePlusResponseAppliedContextEditClearThinking: + additionalProperties: true + properties: + cleared_thinking_turns: + description: 被移除的推理轮数。 + type: integer + type: + default: clear_thinking + enum: + - clear_thinking + type: string + required: + - type + type: object + BytePlusResponseAppliedContextEditClearToolUses: + additionalProperties: true + properties: + cleared_tool_uses: + description: 被移除的工具调用次数。 + type: integer + type: + default: clear_tool_uses + enum: + - clear_tool_uses + type: string + required: + - type + type: object + BytePlusResponseAppliedContextManagement: + additionalProperties: true + description: "在此响应期间实际应用的上下文管理策略。与请求端的`BytePlusResponseContextManagement`(配置策略)不同,此字段反映了服务器调用的策略,并附有清除内容的计数。\n" + properties: + applied_edits: + items: + $ref: "#/components/schemas/BytePlusResponseAppliedContextEdit" + type: array + type: object + BytePlusResponseContextEdit: + description: "一个单一的上下文编辑策略,由`type`区分。" + discriminator: + mapping: + clear_thinking: "#/components/schemas/BytePlusResponseContextEditClearThinking" + clear_tool_uses: "#/components/schemas/BytePlusResponseContextEditClearToolUses" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseContextEditClearThinking" + - $ref: "#/components/schemas/BytePlusResponseContextEditClearToolUses" + BytePlusResponseContextEditClearThinking: + additionalProperties: true + description: "根据`keep`策略清除思维链内容。" + properties: + keep: + oneOf: + - additionalProperties: true + properties: + type: + default: thinking_turns + enum: + - thinking_turns + type: string + value: + default: 1 + description: 保留最近N轮的思维链。 + type: integer + required: + - type + type: object + - description: 保留所有思维链。 + enum: + - all + type: string + type: + default: clear_thinking + enum: + - clear_thinking + type: string + required: + - type + - keep + type: object + BytePlusResponseContextEditClearToolUses: + additionalProperties: true + description: 当对话超过阈值时清除工具调用内容。 + properties: + clear_tool_input: + default: false + description: 是否清除工具调用参数。 + type: boolean + exclude_tools: + description: 永不清除的工具名称。 + items: + type: string + type: array + keep: + additionalProperties: true + properties: + type: + default: tool_uses + enum: + - tool_uses + type: string + value: + default: 3 + description: 保留最近N轮的工具调用内容。 + type: integer + required: + - type + type: object + trigger: + additionalProperties: true + properties: + type: + default: tool_uses + enum: + - tool_uses + type: string + value: + description: 当工具调用轮数达到N时触发清理。 + type: integer + required: + - type + - value + type: object + type: + default: clear_tool_uses + enum: + - clear_tool_uses + type: string + required: + - type + - keep + - trigger + type: object + BytePlusResponseContextManagement: + additionalProperties: true + description: "应用上下文管理策略(`clear_thinking`、`clear_tool_uses`)以保持上下文窗口可管理。\n" + properties: + edits: + items: + $ref: "#/components/schemas/BytePlusResponseContextEdit" + type: array + type: object + BytePlusResponseCreateRequest: + additionalProperties: true + properties: + caching: + additionalProperties: true + description: 上下文缓存配置。 + properties: + prefix: + default: false + description: "当为是时,仅创建公共前缀缓存;模型不响应。\n" + type: boolean + type: + enum: + - enabled + - disabled + type: string + type: object + context_management: + $ref: "#/components/schemas/BytePlusResponseContextManagement" + expire_at: + description: "存储的响应和缓存过期时的Unix时间戳(秒,UTC)。范围(creation_time,creation_time + 604800]。默认值:creation_time + 259200(3天)。\n" + type: integer + include: + description: "要包含的额外输出字段。目前支持:`reasoning.encrypted_content`(加密+压缩的推理,用于手动多轮重用)。\n" + items: + type: string + type: array + input: + description: 提供给模型的文本内容或输入项列表。 + oneOf: + - description: 纯文本输入,相当于单条用户消息。 + type: string + - items: + $ref: "#/components/schemas/BytePlusResponseInputItem" + type: array + instructions: + description: "系统/开发者消息作为第一条指令前置。与`caching`不兼容:如果`caching.type`为`enabled`,设置`instructions`会返回错误。\n" + nullable: true + type: string + max_output_tokens: + description: 最大输出令牌数(响应 + 思维链)。 + nullable: true + type: integer + max_tool_calls: + maximum: 10 + minimum: 1 + type: integer + model: + description: "模型ID或端点ID。查看https://docs.byteplus.com/en/docs/ModelArk/1330310获取模型列表,查看https://docs.byteplus.com/en/docs/ModelArk/1099522获取端点ID。\n" + type: string + previous_response_id: + description: "上一个响应的ID,用于继续多轮对话。在请求之间插入约100ms以避免失败。\n" + nullable: true + type: string + reasoning: + additionalProperties: true + description: 限制深度思考的工作量。 + properties: + effort: + description: "`minimal`完全禁用思考。当`thinking.type = disabled`时,只允许`minimal`。\n" + enum: + - minimal + - low + - medium + - high + type: string + type: object + store: + default: true + description: "当为是时,响应被持久化并可通过ID检索用于多轮使用。\n" + nullable: true + type: boolean + temperature: + default: 1 + format: float + maximum: 2 + minimum: 0 + nullable: true + type: number + text: + additionalProperties: true + description: 输出格式配置。 + properties: + format: + $ref: "#/components/schemas/BytePlusResponseTextFormat" + type: object + thinking: + additionalProperties: true + description: 控制深度思考模式。 + properties: + type: + description: "`enabled`:在响应前始终进行推理。\n`disabled`:不进行额外推理直接响应。\n`auto`:模型根据每次查询决定。\n" + enum: + - enabled + - disabled + - auto + type: string + type: object + tool_choice: + description: 工具选择模式。仅seed-1-6模型支持此字段。 + oneOf: + - enum: + - none + - auto + - required + type: string + - $ref: "#/components/schemas/BytePlusResponseToolChoiceObject" + tools: + items: + $ref: "#/components/schemas/BytePlusResponseTool" + type: array + top_p: + default: 0.7 + format: float + maximum: 1 + minimum: 0 + nullable: true + type: number + required: + - model + - input + type: object + BytePlusResponseError: + description: 错误详情。响应成功时为null。 + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + BytePlusResponseInputFile: + additionalProperties: true + description: "文件输入(目前仅PDF)。请提供`file_id`、`file_data`或`file_url`其中之一。使用`file_data`时`filename`为必填。\n" + properties: + file_data: + description: Base64编码的文件(单个文件 <= 50 MB)。 + type: string + file_id: + description: "通过文件API上传的文件的ID。必须为`active`状态。" + type: string + file_url: + description: 可公开访问的URL(单个文件不超过50 MB)。 + type: string + filename: + description: "当设置了`file_data`时为必填。" + type: string + type: + enum: + - input_file + type: string + required: + - type + type: object + BytePlusResponseInputFunctionCall: + additionalProperties: true + description: 模型在前一轮对话中产生的工具/函数调用。 + properties: + arguments: + description: 函数参数的JSON编码字符串。 + type: string + call_id: + description: 模型生成的工具调用的唯一ID。 + type: string + name: + type: string + status: + type: string + type: + enum: + - function_call + type: string + required: + - type + - arguments + - call_id + - name + type: object + BytePlusResponseInputFunctionCallOutput: + additionalProperties: true + description: 工具返回的输出,通过call_id与function_call配对。 + properties: + call_id: + type: string + output: + type: string + status: + type: string + type: + enum: + - function_call_output + type: string + required: + - type + - call_id + - output + type: object + BytePlusResponseInputImage: + additionalProperties: true + properties: + detail: + default: auto + enum: + - high + - low + - auto + type: string + file_id: + description: "通过文件API上传的文件的ID。必须为`active`状态。" + type: string + image_pixel_limit: + additionalProperties: true + description: "可选的像素计数范围。设置后覆盖`detail`。图像像素计数必须保持在[196, 36_000_000]之间。\n" + nullable: true + properties: + max_pixels: + type: integer + min_pixels: + type: integer + type: object + image_url: + description: "图片网址或`data:image/...;base64,...`负载。" + type: string + type: + enum: + - input_image + type: string + required: + - type + type: object + BytePlusResponseInputItem: + description: "Responses请求的`input`数组中的一个条目。由`type`字段区分。请参阅 https://docs.byteplus.com/zh/docs/ModelArk/1585128。\n" + discriminator: + mapping: + function_call: "#/components/schemas/BytePlusResponseInputFunctionCall" + function_call_output: "#/components/schemas/BytePlusResponseInputFunctionCallOutput" + message: "#/components/schemas/BytePlusResponseInputMessage" + reasoning: "#/components/schemas/BytePlusResponseInputReasoning" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseInputMessage" + - $ref: "#/components/schemas/BytePlusResponseInputFunctionCall" + - $ref: "#/components/schemas/BytePlusResponseInputFunctionCallOutput" + - $ref: "#/components/schemas/BytePlusResponseInputReasoning" + BytePlusResponseInputMessage: + additionalProperties: true + description: "发送给模型的消息(或当设置了`status`时的存储的上一条消息)。角色优先级:developer/system > 用户;assistant消息表示先前的模型输出。\n" + properties: + content: + oneOf: + - description: 纯文本内容,等同于单个input_text条目。 + type: string + - items: + $ref: "#/components/schemas/BytePlusResponseMessageContent" + type: array + partial: + description: "启用继续模式。将最后一条消息的角色设置为`assistant`并将`partial`设为是;模型从其现有内容继续。\n" + type: boolean + role: + enum: + - user + - system + - assistant + - developer + type: string + status: + description: "先前存储消息的状态。仅在将先前的输入回显给模型时使用。\n" + enum: + - in_progress + - completed + - incomplete + type: string + type: + default: message + enum: + - message + type: string + required: + - type + - role + - content + type: object + BytePlusResponseInputReasoning: + additionalProperties: true + description: "思维链块。既用作输入(针对seed-1-8、seed-2-0、deepseek-v3-2的手动推理注入),也用作响应输出条目。作为输入时,在多轮对话中优先使用`previous_response_id`。\n" + properties: + content: + description: "原始(未总结)推理内容。在输出条目上返回;输入时不用。\n" + items: + additionalProperties: true + properties: + text: + type: string + type: + default: reasoning_text + enum: + - reasoning_text + type: string + required: + - type + type: object + type: array + encrypted_content: + description: "加密并压缩的原始推理内容。仅当`reasoning.encrypted_content`在请求的`include`列表中时返回。从seed-2-0-pro-260328开始支持。\n" + type: string + id: + type: string + status: + enum: + - in_progress + - completed + - incomplete + type: string + summary: + items: + additionalProperties: true + properties: + text: + type: string + type: + default: summary_text + enum: + - summary_text + type: string + required: + - type + type: object + type: array + type: + enum: + - reasoning + type: string + required: + - type + type: object + BytePlusResponseInputText: + additionalProperties: true + properties: + text: + type: string + translation_options: + additionalProperties: true + description: "翻译场景配置。仅seed-translation-250728支持。\n" + properties: + source_language: + type: string + target_language: + type: string + required: + - target_language + type: object + type: + enum: + - input_text + type: string + required: + - type + - text + type: object + BytePlusResponseInputVideo: + additionalProperties: true + properties: + file_id: + description: "通过文件API上传的文件的ID。必须为`active`状态。" + type: string + fps: + description: 从视频中提取的每秒帧数。 + format: float + maximum: 5 + minimum: 0.2 + type: number + type: + enum: + - input_video + type: string + video_url: + description: "视频网址或`data:video/...;base64,...`负载。" + type: string + required: + - type + type: object + BytePlusResponseMessageContent: + description: "消息中的一个内容条目。由`type`区分:`input_text`用于文本,`input_image`用于图像,`input_video`用于视频,`input_file`用于PDF/文件上传。文件支持的类型可以通过`file_id`引用文件API的ID。\n" + discriminator: + mapping: + input_file: "#/components/schemas/BytePlusResponseInputFile" + input_image: "#/components/schemas/BytePlusResponseInputImage" + input_text: "#/components/schemas/BytePlusResponseInputText" + input_video: "#/components/schemas/BytePlusResponseInputVideo" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseInputText" + - $ref: "#/components/schemas/BytePlusResponseInputImage" + - $ref: "#/components/schemas/BytePlusResponseInputVideo" + - $ref: "#/components/schemas/BytePlusResponseInputFile" + BytePlusResponseObject: + description: "通过POST /api/v3/responses返回的非流式响应体。请参阅 https://docs.byteplus.com/zh/docs/ModelArk/1783703。\n" + properties: + caching: + additionalProperties: true + properties: + prefix: + type: boolean + type: + enum: + - enabled + - disabled + type: string + type: object + context_management: + $ref: "#/components/schemas/BytePlusResponseAppliedContextManagement" + created_at: + description: 响应创建时的Unix时间戳(秒)。 + type: integer + error: + $ref: "#/components/schemas/BytePlusResponseError" + expire_at: + description: 存储的响应过期时的Unix时间戳(秒)。 + type: integer + id: + description: "响应的唯一ID。用作`previous_response_id`以继续对话。" + type: string + incomplete_details: + additionalProperties: true + description: "当`status`为`incomplete`时填充。" + nullable: true + properties: + reason: + description: "例如:`max_output_tokens`、`content_filter`。" + type: string + type: object + instructions: + description: "请求`instructions`字段的回显。" + nullable: true + type: string + max_output_tokens: + nullable: true + type: integer + max_tool_calls: + nullable: true + type: integer + metadata: + additionalProperties: true + nullable: true + type: object + model: + description: 生成响应的模型ID。 + type: string + object: + default: response + enum: + - response + type: string + output: + description: 模型产生的有序输出条目。 + items: + $ref: "#/components/schemas/BytePlusResponseOutputItem" + type: array + previous_response_id: + nullable: true + type: string + reasoning: + additionalProperties: true + properties: + effort: + enum: + - minimal + - low + - medium + - high + type: string + type: object + service_tier: + description: "TPM保障包使用情况。`default`表示不使用。" + enum: + - default + type: string + status: + enum: + - in_progress + - completed + - incomplete + - failed + - cancelled + type: string + store: + nullable: true + type: boolean + stream: + nullable: true + type: boolean + temperature: + format: float + nullable: true + type: number + text: + additionalProperties: true + description: "请求`text`字段的回显。" + properties: + format: + $ref: "#/components/schemas/BytePlusResponseTextFormat" + type: object + thinking: + additionalProperties: true + properties: + type: + enum: + - enabled + - disabled + - auto + type: string + type: object + tool_choice: + oneOf: + - enum: + - none + - auto + - required + type: string + - $ref: "#/components/schemas/BytePlusResponseToolChoiceObject" + tools: + items: + $ref: "#/components/schemas/BytePlusResponseTool" + type: array + top_p: + format: float + nullable: true + type: number + usage: + $ref: "#/components/schemas/BytePlusResponseUsage" + required: + - id + - object + - created_at + - model + - status + - output + type: object + BytePlusResponseOutputContent: + description: "助手消息中的一个内容块。`output_text`携带自然语言文本和可选注释;`refusal`携带拒绝消息。\n" + discriminator: + mapping: + output_text: "#/components/schemas/BytePlusResponseOutputText" + refusal: "#/components/schemas/BytePlusResponseOutputRefusal" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseOutputText" + - $ref: "#/components/schemas/BytePlusResponseOutputRefusal" + BytePlusResponseOutputItem: + description: "响应 `output` 数组中的一项。通过 `type` 区分:`message` 表示助手消息,`function_call` 表示工具调用,`reasoning` 表示思维链块。镜像了模型可以通过 `previous_response_id` 读回的输入项形状。\n" + discriminator: + mapping: + function_call: "#/components/schemas/BytePlusResponseInputFunctionCall" + message: "#/components/schemas/BytePlusResponseOutputMessage" + reasoning: "#/components/schemas/BytePlusResponseInputReasoning" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseOutputMessage" + - $ref: "#/components/schemas/BytePlusResponseInputFunctionCall" + - $ref: "#/components/schemas/BytePlusResponseInputReasoning" + BytePlusResponseOutputMessage: + additionalProperties: true + description: 模型生成的助手消息。 + properties: + content: + items: + $ref: "#/components/schemas/BytePlusResponseOutputContent" + type: array + id: + type: string + partial: + description: 当此消息是续写模式的部分回复时为是。 + type: boolean + role: + default: assistant + enum: + - assistant + type: string + status: + enum: + - in_progress + - completed + - incomplete + type: string + type: + default: message + enum: + - message + type: string + required: + - type + - id + - role + - content + type: object + BytePlusResponseOutputRefusal: + additionalProperties: true + properties: + refusal: + type: string + type: + default: refusal + enum: + - refusal + type: string + required: + - type + - refusal + type: object + BytePlusResponseOutputText: + additionalProperties: true + properties: + annotations: + items: + additionalProperties: true + type: object + type: array + text: + type: string + type: + default: output_text + enum: + - output_text + type: string + required: + - type + - text + type: object + BytePlusResponseTextFormat: + description: "通过 `type` 区分的文本输出格式。`text` 返回自然语言,`json_object` 返回自由格式的 JSON 对象,`json_schema` 将输出限制为调用方提供的 JSON Schema。\n" + discriminator: + mapping: + json_object: "#/components/schemas/BytePlusResponseTextFormatJSONObject" + json_schema: "#/components/schemas/BytePlusResponseTextFormatJSONSchema" + text: "#/components/schemas/BytePlusResponseTextFormatText" + propertyName: type + oneOf: + - $ref: "#/components/schemas/BytePlusResponseTextFormatText" + - $ref: "#/components/schemas/BytePlusResponseTextFormatJSONObject" + - $ref: "#/components/schemas/BytePlusResponseTextFormatJSONSchema" + BytePlusResponseTextFormatJSONObject: + additionalProperties: true + properties: + type: + default: json_object + enum: + - json_object + type: string + required: + - type + type: object + BytePlusResponseTextFormatJSONSchema: + additionalProperties: true + properties: + description: + description: 模型在生成响应时使用的提示。 + nullable: true + type: string + name: + description: 调用方为 JSON 结构定义的名称。 + type: string + schema: + additionalProperties: true + description: 模型输出必须符合的 JSON Schema。 + type: object + strict: + default: false + nullable: true + type: boolean + type: + default: json_schema + enum: + - json_schema + type: string + required: + - type + - name + - schema + type: object + BytePlusResponseTextFormatText: + additionalProperties: true + properties: + type: + default: text + enum: + - text + type: string + required: + - type + type: object + BytePlusResponseTool: + additionalProperties: true + description: "模型可以调用的工具。目前仅支持 `function`。" + properties: + description: + type: string + name: + type: string + parameters: + additionalProperties: true + description: 描述函数参数的 JSON Schema。 + type: object + type: + default: function + enum: + - function + type: string + required: + - type + - name + - parameters + type: object + BytePlusResponseToolChoiceObject: + additionalProperties: true + description: "强制模型调用特定工具。当 `type` 为 `function` 时,`name` 为必填。\n" + properties: + name: + type: string + type: + enum: + - function + type: string + required: + - type + type: object + BytePlusResponseUsage: + description: 用于计费和可观测性的 Token 使用明细。 + properties: + input_tokens: + description: 请求中的 Token 总数。 + type: integer + input_tokens_details: + additionalProperties: true + description: 输入 Token 的细分(缓存命中等)。 + properties: + cached_tokens: + description: 从上下文缓存提供的 Token。 + type: integer + type: object + output_tokens: + description: 模型生成的 Token 总数。 + type: integer + output_tokens_details: + additionalProperties: true + description: 输出 Token 的细分(推理等)。 + properties: + reasoning_tokens: + description: 思维链消耗的 Token。 + type: integer + type: object + tool_usage: + additionalProperties: true + description: 每个工具的调用次数。 + properties: + image_process: + description: 图像处理工具调用的次数。 + type: integer + mcp: + description: MCP 工具调用的次数。 + type: integer + web_search: + description: 网页搜索工具调用的次数。 + type: integer + type: object + tool_usage_details: + additionalProperties: true + description: 每个工具的子工具调用次数细分。 + properties: + image_process: + additionalProperties: true + description: "例如 `{\"zoom\":1,\"point\":1,\"grounding\":1}`。" + type: object + mcp: + additionalProperties: true + description: "例如 `{\"mcp_server_tos\":1,\"mcp_server_tls\":1}`。" + type: object + web_search: + additionalProperties: true + description: "例如 `{\"toutiao\":1,\"moji\":1,\"search_engine\":1}`。" + type: object + type: object + total_tokens: + description: input_tokens + output_tokens。 + type: integer + required: + - input_tokens + - output_tokens + - total_tokens + type: object + BytePlusTTSAudioConfig: + description: 输出音频配置。 + properties: + format: + description: 输出音频格式:wav(默认)、mp3、pcm 或 ogg_opus。 + type: string + loudness_rate: + description: "-50 到 100;100 表示 2.0 倍音量,-50 表示 0.5 倍音量(默认:0)。" + type: integer + pitch_rate: + description: "-12 到 12(默认:0)。" + type: integer + sample_rate: + description: 输出采样率:8000、16000、24000(默认)、32000、44100 或 48000。 + type: integer + speech_rate: + description: "-50 到 100;100 表示 2.0 倍速度,-50 表示 0.5 倍速度(默认:0)。" + type: integer + type: object + BytePlusTTSCreateRequest: + description: BytePlus Seed Audio 1.0 生成的请求体。 + properties: + audio_config: + $ref: "#/components/schemas/BytePlusTTSAudioConfig" + model: + description: 模型标识符。唯一支持的模型是 seed-audio-1.0。 + type: string + references: + description: "参考资源。纯文本生成时省略。最多 3 个音频参考(每个最多 30 秒和 10 MB;wav、mp3、pcm 或 ogg_opus)或恰好 1 个图像参考(最多 10 MB;jpeg、png 或 webp)。图像参考不能与音频参考混合。\n" + items: + $ref: "#/components/schemas/BytePlusTTSReference" + type: array + text_prompt: + description: "要合成的提示或文本(最多2,048个字符)。当提供音频参考时,按顺序使用@Audio1、@Audio2和@Audio3引用它们。\n" + maxLength: 2048 + type: string + watermark: + additionalProperties: true + description: 水印配置对象。接受空对象。 + type: object + required: + - model + - text_prompt + type: object + BytePlusTTSCreateResponse: + description: BytePlus Seed Audio 1.0生成的响应体。 + properties: + audio: + description: 已生成的音频数据,Base64编码。 + type: string + code: + description: 状态代码。详情请参考官方错误代码文档。 + type: integer + duration: + description: 速度或后处理之后的时长,以秒为单位。 + format: double + type: number + message: + description: 状态详情。 + type: string + original_duration: + description: 原始模型输出时长(秒)。用于计费,上限为120秒。 + format: double + type: number + url: + description: 临时音频URL,有效期为2小时。 + type: string + type: object + BytePlusTTSReference: + description: "单个参考资源。对于音频参考,请提供speaker、audio_data或audio_url中的恰好一个。对于图像参考,请提供image_data或image_url中的恰好一个。\n" + properties: + audio_data: + description: Base64编码的参考音频。 + type: string + audio_url: + description: 远程参考音频文件的URL。 + type: string + image_data: + description: Base64编码的参考图像。 + type: string + image_url: + description: 远程参考图像的URL。 + type: string + speaker: + description: 语音ID。可以是受支持的Doubao TTS语音或语音克隆语音ID。 + type: string + type: object + BytePlusVideoGenerationContent: + properties: + audio_url: + description: 输入音频对象。仅Seedance 2.0及2.0 fast支持音频输入。不能单独使用,必须至少包含1个图像或视频。 + properties: + url: + description: "音频URL、Base64编码或资产ID。\n音频URL:音频的公共URL(wav, mp3)。\nBase64:格式 data:audio/;base64,\n资产ID:格式 asset://\n" + type: string + type: object + image_url: + properties: + url: + description: "用于图生视频生成的图像内容(当类型为\"image_url\"时)\n图像URL:确保图像URL可访问。\nBase64编码内容:格式必须为 data:image/;base64,\n资产ID:格式 asset://\n" + type: string + type: object + role: + description: "内容项的角色/位置。\n对于图像:first_frame, last_frame, 或 reference_image。\n对于视频:reference_video(仅Seedance 2.0及2.0 fast)。\n对于音频:reference_audio(仅Seedance 2.0及2.0 fast)。\n" + enum: + - first_frame + - last_frame + - reference_image + - reference_video + - reference_audio + type: string + text: + description: "模型的输入文本信息。包含文本提示和可选参数。\n\n文本提示(必填):使用中英文字符描述要生成的视频。\n\n参数(可选):在文本提示后添加 --[参数] 来控制视频规格:\n- --resolution (--rs):480p, 720p, 1080p(默认:720p)\n- --ratio (--rt):21:9, 16:9, 4:3, 1:1, 3:4, 9:16, 9:21, adaptive(默认:16:9 或 adaptive)\n- --duration (--dur):3-12秒(默认:5)\n- --framepersecond (--fps):24(默认:24)\n- --watermark (--wm):true/false(默认:false)\n- --seed (--seed):-1 到 2^32-1(默认:-1)\n- --camerafixed (--cf):true/false(默认:false)\n\n示例:\"A beautiful landscape --ratio 16:9 --resolution 720p --duration 5\"\n" + maxLength: 4096 + type: string + type: + description: 输入内容的类型 + enum: + - text + - image_url + - video_url + - audio_url + type: string + video_url: + description: 输入视频对象。仅Seedance 2.0及2.0 fast支持视频输入。 + properties: + url: + description: "视频URL或资产ID。\n视频URL:视频的公共URL(mp4, mov)。\n资产ID:格式 asset://\n" + type: string + type: object + required: + - type + type: object + BytePlusVideoGenerationQueryResponse: + properties: + content: + description: 视频生成任务完成后的输出内容,包含输出视频的下载URL。 + properties: + video_url: + description: 输出视频的URL。出于安全考虑,输出视频在24小时后会被清除。 + type: string + type: object + created_at: + description: 任务的创建时间。值为UNIX时间戳(秒)。 + type: integer + error: + description: 错误信息。如果任务成功,返回null。如果任务失败,返回错误信息。 + nullable: true + properties: + code: + description: 错误代码 + type: string + message: + description: 报错信息 + type: string + type: object + id: + description: 视频生成任务的ID + type: string + model: + description: 任务使用的模型名称和版本 + type: string + status: + description: 任务的状态 + enum: + - queued + - running + - cancelled + - succeeded + - failed + - expired + type: string + updated_at: + description: 任务的最后更新时间。值为UNIX时间戳(秒)。 + type: integer + usage: + description: 请求的Token用量 + properties: + completion_tokens: + description: 模型生成的Token数量 + type: integer + total_tokens: + description: 对于视频生成模型,输入 token 数量不计算且默认为 0。因此,total_tokens = completion_tokens。 + type: integer + type: object + type: object + BytePlusVideoGenerationRequest: + properties: + callback_url: + description: 此生成任务结果的回调通知地址 + format: uri + type: string + content: + description: 模型生成视频的输入内容 + items: + $ref: "#/components/schemas/BytePlusVideoGenerationContent" + minItems: 1 + type: array + duration: + description: "视频时长(秒)。Seedance 2.0 & 2.0 fast: [4,15] 或 -1(自动)。Seedance 1.5 pro: [4,12] 或 -1。Seedance 1.0: [2,12]。" + type: integer + execution_expires_after: + description: "任务超时阈值(秒)。默认 172800(48小时)。范围:[3600, 259200]。" + type: integer + generate_audio: + default: true + description: "由 Seedance 2.0、2.0 fast 和 1.5 pro 支持。生成的视频是否包含与画面同步的音频。\ntrue: 模型输出带有同步音频的视频。\nfalse: 模型输出静音视频。" + type: boolean + model: + description: 要调用的模型 ID。可用模型包括 seedance-1-5-pro-251215、seedance-1-0-pro-250528、seedance-1-0-pro-fast-251015、seedance-1-0-lite-t2v-250428、seedance-1-0-lite-i2v-250428 + enum: + - seedance-1-5-pro-251215 + - seedance-1-0-pro-250528 + - seedance-1-0-lite-t2v-250428 + - seedance-1-0-lite-i2v-250428 + - seedance-1-0-pro-fast-251015 + - dreamina-seedance-2-0-260128 + - dreamina-seedance-2-0-fast-260128 + - dreamina-seedance-2-0-mini + type: string + ratio: + description: 生成视频的画面比例。Seedance 2.0 & 2.0 fast、1.5 pro 默认:自适应。 + enum: + - 16:9 + - 4:3 + - 1:1 + - 3:4 + - 9:16 + - 21:9 + - adaptive + type: string + resolution: + description: "视频分辨率。Seedance 2.0 & 2.0 fast、1.5 pro、1.0 lite 默认:720p。Seedance 1.0 pro & pro-fast 默认:1080p。\n注意:Seedance 2.0 & 2.0 fast 不支持 1080p。" + enum: + - 480p + - 720p + - 1080p + - 4k + type: string + return_last_frame: + default: false + description: "是否返回生成视频的最后一帧图像。\ntrue: 返回生成视频的最后一帧图像。将此参数设置为 true 后,您可以通过调用查询视频生成任务信息来获取最后一帧图像。最后一帧图像为 PNG 格式,其像素宽度和高度与生成视频一致,且不包含水印。使用此参数可以生成多个连续视频:将前一个生成视频的最后一帧作为下一个视频任务的第一帧,从而实现快速生成多个连续视频。\nfalse: 不返回生成视频的最后一帧图像。" + type: boolean + seed: + description: "用于控制随机性的种子整数。范围:[-1, 2^32-1]。-1 使用随机种子。" + type: integer + service_tier: + description: 处理的服务层级。Seedance 2.0 & 2.0 fast 不支持 flex(离线推理)。 + enum: + - default + - flex + type: string + watermark: + default: false + description: 生成视频是否包含水印。 + type: boolean + required: + - model + - content + type: object + BytePlusVideoGenerationResponse: + properties: + id: + description: 视频生成任务的 ID + type: string + required: + - id + type: object + ClaimMyNodeRequest: + properties: + GH_TOKEN: + description: 用于验证用户是否拥有节点仓库的 GitHub token + type: string + required: + - GH_TOKEN + type: object + ComfyNode: + properties: + category: + description: 节点在 UI 中列出的类别,用于对节点进行分组。 + type: string + comfy_node_name: + description: 节点的唯一标识符 + type: string + deprecated: + description: 指示节点是否已弃用。已弃用的节点在 UI 中隐藏。 + type: boolean + description: + description: 节点功能或用途的简要描述。 + type: string + experimental: + description: 指示节点是否为实验性,可能会更改或移除。 + type: boolean + function: + description: 执行节点的入口函数名称。 + type: string + input_types: + description: 定义输入参数 + type: string + output_is_list: + description: 指示每个输出是否为列表的布尔值。 + items: + type: boolean + type: array + policy: + $ref: "#/components/schemas/ComfyNodePolicy" + return_names: + description: 输出的名称,以便在工作流中清晰识别。 + type: string + return_types: + description: 指定节点产生的输出类型。 + type: string + type: object + ComfyNodeCloudBuildInfo: + properties: + build_id: + type: string + location: + type: string + project_id: + type: string + project_number: + type: string + type: object + ComfyNodePolicy: + enum: + - ComfyNodePolicyActive + - ComfyNodePolicyBanned + - ComfyNodePolicyLocalOnly + type: string + ComfyNodeUpdateRequest: + properties: + category: + description: 节点在 UI 中列出的类别,用于对节点进行分组。 + type: string + deprecated: + description: 指示节点是否已弃用。已弃用的节点在 UI 中隐藏。 + type: boolean + description: + description: 节点功能或用途的简要描述。 + type: string + experimental: + description: 指示节点是否为实验性,可能会更改或移除。 + type: boolean + function: + description: 执行节点的入口函数名称。 + type: string + input_types: + description: 定义输入参数 + type: string + output_is_list: + description: 指示每个输出是否为列表的布尔值。 + items: + type: boolean + type: array + policy: + $ref: "#/components/schemas/ComfyNodePolicy" + return_names: + description: 输出的名称,以便在工作流中清晰识别。 + type: string + return_types: + description: 指定节点产生的输出类型。 + type: string + type: object + ComputerToolCall: + description: "对计算机使用工具的工具调用。请参阅\n[计算机使用指南](/docs/guides/tools-computer-use)了解更多信息。" + properties: + action: + type: object + call_id: + description: "用于在响应工具调用时输出标识符。\n" + type: string + id: + description: 计算机调用的唯一ID。 + type: string + status: + description: "项目的状态。可以是 `in_progress`、`completed` 或\n`incomplete`。当通过API返回项目时填充。\n" + enum: + - in_progress + - completed + - incomplete + type: string + type: + default: computer_call + description: "计算机调用的类型。始终是 `computer_call`。" + enum: + - computer_call + type: string + required: + - type + - id + - action + - call_id + - pending_safety_checks + - status + title: Computer tool call + type: object + ComputerUsePreviewTool: + description: "一种控制虚拟计算机的工具。了解更多关于[计算机工具](https://platform.openai.com/docs/guides/tools-computer-use)的信息。" + properties: + display_height: + description: 计算机显示屏的高度。 + type: integer + display_width: + description: 计算机显示屏的宽度。 + type: integer + environment: + description: 要控制的计算机环境类型。 + enum: + - windows + - mac + - linux + - ubuntu + - browser + type: string + type: + default: computer_use_preview + description: "计算机使用工具的类型。始终是 `computer_use_preview`。" + enum: + - computer_use_preview + type: string + x-stainless-const: true + required: + - type + - environment + - display_width + - display_height + title: Computer use preview + type: object + CouponResponse: + properties: + amount_off: + description: 减免金额(以美分计) + type: integer + currency: + description: amount_off 的货币 + type: string + duration: + description: 优惠券的有效期 + enum: + - once + - repeating + - forever + type: string + duration_in_months: + description: 重复优惠券的月数 + type: integer + id: + description: Stripe 优惠券 ID + type: string + max_redemptions: + description: 此优惠券可兑换的最大次数 + type: integer + metadata: + additionalProperties: + type: string + description: 用于存储附加信息的键值对集合 + type: object + name: + description: 向客户显示的优惠券名称 + type: string + percent_off: + description: 折扣百分比(0-100) + format: double + type: number + redeem_by: + description: 指定优惠券可兑换最后时间的 Unix 时间戳 + format: int64 + type: integer + times_redeemed: + description: 此优惠券已兑换的次数 + type: integer + valid: + description: 优惠券是否仍可兑换 + type: boolean + required: + - id + - duration + - valid + type: object + CreateAPIKeyRequest: + properties: + description: + type: string + name: + type: string + required: + - name + type: object + CreateCouponRequest: + properties: + amount_off: + description: 减免金额(以美分计) + minimum: 0 + type: integer + currency: + description: amount_off 的货币(如果设置了 amount_off 则为必填) + enum: + - usd + type: string + duration: + default: once + description: 优惠券的有效期 + enum: + - once + - repeating + - forever + type: string + duration_in_months: + description: 如果 duration 为 repeating 则为必填 + minimum: 1 + type: integer + max_redemptions: + description: 此优惠券可兑换的最大次数 + minimum: 1 + type: integer + metadata: + additionalProperties: + type: string + description: 用于存储附加信息的键值对集合 + type: object + name: + description: 向客户显示的优惠券名称 + type: string + percent_off: + description: 折扣百分比(0-100) + format: double + maximum: 100 + minimum: 0 + type: number + redeem_by: + description: 指定优惠券可兑换最后时间的 Unix 时间戳 + format: int64 + type: integer + type: object + CreateCustomerRequest: + description: 用于创建客户的可选请求体(BE-1490)。携带前端小部件生成的 Cloudflare Turnstile 令牌,在注册时由服务器端验证。所有字段均为可选;未运行 Turnstile 小部件的客户端可以发送空请求体或完全省略请求体。 + properties: + turnstile_token: + description: 前端小部件生成的 Cloudflare Turnstile 令牌(cf-turnstile-response)。在服务器端对 Cloudflare siteverify 进行验证。对于没有 Turnstile 的客户端(例如本地 OSS),可省略或留空,这些客户端免于验证要求。 + type: string + type: object + CreateModelResponseProperties: + allOf: + - $ref: "#/components/schemas/ModelResponseProperties" + CreatePromoCodeRequest: + properties: + coupon_id: + description: 要为其创建促销代码的 Stripe 优惠券 ID + type: string + expire_days: + default: 30 + description: 促销代码到期前的天数 + minimum: 1 + type: integer + max_redemptions: + description: 此代码可兑换的最大次数 + minimum: 1 + type: integer + required: + - coupon_id + type: object + Customer: + properties: + createdAt: + description: 用户创建的日期和时间 + format: date-time + type: string + email: + description: 此用户的电子邮件地址 + type: string + has_fund: + description: 用户是否有资金 + type: boolean + id: + description: 用户的Firebase UID + type: string + is_admin: + description: 用户是否为管理员 + type: boolean + metronome_id: + description: Metronome客户ID + type: string + name: + description: 此用户的名称 + type: string + stripe_id: + description: Stripe客户ID + type: string + subscription_tier: + allOf: + - $ref: "#/components/schemas/SubscriptionTier" + description: 缓存的订阅层级 + nullable: true + updatedAt: + description: 用户最后更新的日期和时间 + format: date-time + type: string + required: + - id + type: object + CustomerAdmin: + properties: + cloud_subscription_end_date: + description: 订阅设定的结束日期(ISO 8601格式) + format: date-time + nullable: true + type: string + cloud_subscription_is_active: + description: 客户是否有活跃的云端订阅 + type: boolean + cloud_subscription_renewal_date: + description: 订阅的下一个续订日期(ISO 8601格式) + format: date-time + nullable: true + type: string + cloud_subscription_subscription_id: + description: 活跃的订阅ID(如果存在) + nullable: true + type: string + createdAt: + description: 用户创建的日期和时间 + format: date-time + type: string + email: + description: 此用户的电子邮件地址 + type: string + has_fund: + description: 用户是否有资金 + type: boolean + id: + description: 用户的Firebase UID + type: string + is_admin: + description: 用户是否为管理员 + type: boolean + metronome_id: + description: Metronome客户ID + type: string + name: + description: 此用户的名称 + type: string + stripe_id: + description: Stripe客户ID + type: string + subscription_tier: + allOf: + - $ref: "#/components/schemas/SubscriptionTier" + description: 订阅层级(例如:FREE、STANDARD、CREATOR、PRO) + nullable: true + updatedAt: + description: 用户最后更新的日期和时间 + format: date-time + type: string + required: + - id + type: object + CustomerStorageResourceResponse: + properties: + download_url: + description: 用于从指定路径下载文件的签名URL + type: string + existing_file: + description: 是否找到了具有相同哈希的现有文件 + type: boolean + expires_at: + description: 签名URL的到期时间 + format: date-time + type: string + upload_url: + description: 用于从指定路径上传文件的签名URL + type: string + type: object + CustomerUsageTimeSeries: + description: 按账单期间分组的客户总支出、细分和摘要。 + properties: + breakdown: + description: 整个范围内每组的总计,按支出降序排列。 + items: + $ref: "#/components/schemas/UsageBreakdownRow" + type: array + buckets: + description: 每个(账单期间,组)对应一个具有非零总支出的条目。 + items: + $ref: "#/components/schemas/UsageBucket" + type: array + ending_before: + description: 返回范围的排他性结束。 + format: date-time + type: string + granularity: + description: 时间序列的桶大小。 + enum: + - hour + - day + - month + type: string + group_by: + description: 支出分组所依据的维度。 + enum: + - model + - endpoint + - product + type: string + groups: + description: 范围内出现的不同组键,按支出降序排列。 + items: + type: string + type: array + starting_on: + description: 返回范围的包含起始点。 + format: date-time + type: string + summary: + $ref: "#/components/schemas/UsageSummary" + required: + - group_by + - granularity + - starting_on + - ending_before + - groups + - buckets + - breakdown + - summary + type: object + EasyInputMessage: + description: "带有角色指示指令层级结构的模型输入消息。使用`developer`或`system`角色给出的指令优先于使用`user`角色给出的指令。带有`assistant`角色的消息被认为是模型在上一次交互中已生成的。\n" + properties: + content: + description: "输入模型的文本、图像或音频,用于生成响应。\n也可以包含上一个助手响应。\n" + oneOf: + - description: "输入模型的文本。\n" + title: Text input + type: string + - $ref: "#/components/schemas/InputMessageContentList" + role: + description: "消息输入的角色。可以是`user`、`assistant`、`system`或`developer`之一。\n" + enum: + - user + - assistant + - system + - developer + type: string + type: + description: "消息输入的类型。始终为`message`。\n" + enum: + - message + type: string + x-stainless-const: true + required: + - role + - content + title: Input message + type: object + ElevenLabsAudioIsolationRequest: + description: 音频隔离(去除背景噪波)的请求体 + properties: + audio: + description: 从中分离人声/语音的音频文件。 + format: binary + type: string + file_format: + default: other + description: "输入音频的格式。选项为 'pcm_s16le_16' 或 'other'。\n对于 pcm_s16le_16,输入音频必须是 16 位 PCM,采样率 16kHz,单声道。\n延迟将低于传递编码波形的方式。\n" + enum: + - pcm_s16le_16 + - other + nullable: true + type: string + preview_b64: + description: 可选的预览图像 base64,用于追踪此生成。 + nullable: true + type: string + required: + - audio + type: object + ElevenLabsCreateVoiceRequest: + description: 创建实时语音克隆的请求体 + properties: + description: + description: 语音的描述。 + nullable: true + type: string + files: + description: 用于语音克隆的音频录音。 + items: + format: binary + type: string + type: array + labels: + description: 语音标签的 JSON 字符串(语言、口音、性别、年龄)。 + nullable: true + type: string + name: + description: 标识此语音的名称。 + type: string + remove_background_noise: + default: false + description: 如果设置,则使用音频隔离从语音样本中去除背景噪波。 + type: boolean + required: + - name + - files + type: object + ElevenLabsDialogueInput: + description: 包含文本和语音 ID 的单个对话输入 + properties: + text: + description: 要转换为语音的文本。 + type: string + voice_id: + description: 用于生成的语音 ID。 + type: string + required: + - text + - voice_id + type: object + ElevenLabsDialogueSettings: + description: 控制对话生成的设置 + nullable: true + properties: + stability: + default: 0.5 + description: "决定语音的稳定性和每次生成之间的随机性。\n较低的值会为语音引入更广泛的情感范围。\n较高的值可能导致语音单调,情感有限。\n" + format: double + nullable: true + type: number + type: object + ElevenLabsPronunciationDictionaryLocator: + description: 发音词典的定位器 + properties: + pronunciation_dictionary_id: + description: 发音词典的 ID + type: string + version_id: + description: 发音词典的版本 ID + type: string + required: + - pronunciation_dictionary_id + - version_id + type: object + ElevenLabsSTTAdditionalFormat: + description: 用于转录导出的附加格式响应 + properties: + content: + description: 附加格式的内容。 + type: string + content_type: + description: 附加格式的内容类型。 + type: string + file_extension: + description: 附加格式的文件扩展名。 + type: string + is_base64_encoded: + description: 内容是否为 base64 编码。 + type: boolean + requested_format: + description: 请求的格式。 + type: string + required: + - requested_format + - file_extension + - content_type + - is_base64_encoded + - content + type: object + ElevenLabsSTTCharacter: + description: 带时序的字符信息 + properties: + end: + description: 字符的结束时间(秒)。 + format: double + nullable: true + type: number + start: + description: 字符的开始时间(秒)。 + format: double + nullable: true + type: number + text: + description: 已转录的字符。 + type: string + required: + - text + type: object + ElevenLabsSTTDetectedEntity: + description: 转录中检测到的实体 + properties: + end_char: + description: 转录文本中的结束字符位置。 + type: integer + entity_type: + description: "检测到的实体类型(例如:'credit_card'、'email_address'、'person_name')。" + type: string + start_char: + description: 转录文本中的开始字符位置。 + type: integer + text: + description: 被识别为实体的文本。 + type: string + required: + - text + - entity_type + - start_char + - end_char + type: object + ElevenLabsSTTExportOptions: + description: 语音转文本转录的导出格式选项 + properties: + format: + description: 转录导出的输出格式。 + enum: + - segmented_json + - docx + - pdf + - txt + - html + - srt + type: string + include_speakers: + default: true + description: 是否在导出中包含说话人标签。 + type: boolean + include_timestamps: + default: true + description: 是否在导出中包含时间戳。 + type: boolean + max_characters_per_line: + description: 每行最大字符数(适用于 txt 和 srt 格式)。 + nullable: true + type: integer + max_segment_chars: + description: 每个片段的最大字符数。 + nullable: true + type: integer + max_segment_duration_s: + description: 每个片段的最大时长(秒)。 + format: double + nullable: true + type: number + segment_on_silence_longer_than_s: + description: 当静音时长超过此值(秒)时对转录进行分段。 + format: double + nullable: true + type: number + required: + - format + type: object + ElevenLabsSTTRequest: + description: ElevenLabs 语音转文本的请求体 + properties: + additional_formats: + description: 要导出转录的附加格式列表。 + items: + $ref: "#/components/schemas/ElevenLabsSTTExportOptions" + nullable: true + type: array + cloud_storage_url: + description: "要转录文件的 HTTPS URL。必须提供 file 或 cloud_storage_url 参数中的恰好一个。\n文件必须可通过 HTTPS 访问,且文件大小必须小于 2GB。\n" + nullable: true + type: string + diarization_threshold: + description: "在说话人角色识别期间应用的识别阈值。\n值越高,意味着一个说话人被识别为两个不同说话人的可能性越低。\n仅在 diarize=True 且 num_speakers=None 时才能设置。默认为 None。\n" + format: double + nullable: true + type: number + diarize: + default: false + description: 是否标注上传文件中当前正在说话的说话人。 + type: boolean + entity_detection: + description: "检测转录中的实体。可以是 'all' 检测所有实体,\n单个实体类型或类别字符串,或实体类型/类别列表。\n类别包括 'pii', 'phi', 'pci', 'other', 'offensive_language'。\n启用后,检测到的实体将在 'entities' 字段中返回,\n包含其文本、类型和字符位置。使用此参数将产生额外费用。\n" + nullable: true + oneOf: + - type: string + - items: + type: string + type: array + file: + description: "要转录的文件。支持所有主流音频和视频格式。\n必须提供 file 或 cloud_storage_url 参数中的恰好一个。\n文件大小必须小于 3.0GB。\n" + format: binary + type: string + file_format: + default: other + description: "输入音频的格式。选项为 'pcm_s16le_16' 或 'other'。\n对于 pcm_s16le_16,输入音频必须是 16 位 PCM,采样率 16kHz,单声道(mono)。\n" + enum: + - pcm_s16le_16 + - other + type: string + keyterms: + description: "用于偏向转录的关键词列表。\n关键词数量不能超过 100,且每个关键词必须少于 50 个字符。\n" + items: + type: string + nullable: true + type: array + language_code: + description: "与音频文件语言对应的 ISO-639-1 或 ISO-639-3 language_code。\n如果事先已知,有时可以提高转录性能。\n默认为 null,在这种情况下语言会自动预测。\n" + nullable: true + type: string + model_id: + description: 用于转录的模型 ID。 + enum: + - scribe_v1 + - scribe_v2 + type: string + num_speakers: + description: "上传文件中说话的最大数量。\n有助于预测谁在何时说话。可预测的最大说话人数为 32。\n默认为 null,此时说话人数设置为模型支持的最大值。\n" + nullable: true + type: integer + seed: + description: "如果指定,我们的系统将尽力确定性采样。\n必须是一个介于 0 和 2147483647 之间的整数。\n" + maximum: 2147483647 + minimum: 0 + nullable: true + type: integer + tag_audio_events: + default: true + description: 是否在转录中标记音频事件,如(笑声)、(脚步声)等。 + type: boolean + temperature: + description: "控制转录输出的随机性。接受 0.0 到 2.0 之间的值。\n较高的值会产生更多样且确定性较低的结果。\n" + format: double + nullable: true + type: number + timestamps_granularity: + default: word + description: "转录中时间戳的粒度。\n'word' 提供单词级时间戳,'character' 提供每个单词的字符级时间戳。\n" + enum: + - none + - word + - character + type: string + use_multi_channel: + default: false + description: "音频文件是否包含多个通道,每个通道包含一个说话人。\n启用后,每个通道将独立转录,结果将合并。\n最多支持 5 个通道。\n" + type: boolean + webhook: + default: false + description: "是否将转录结果发送到配置的语音转文本 webhook。\n如果设置,请求将提前返回而不包含转录,转录结果稍后通过 webhook 传递。\n" + type: boolean + webhook_id: + description: "可选的特定 webhook ID,用于发送转录结果。\n仅在 webhook 设置为 true 时有效。\n" + nullable: true + type: string + webhook_metadata: + description: "要包含在 webhook 响应中的可选元数据。\n这应该是一个 JSON 字符串,表示一个最大深度为 2 层、最大大小为 16KB 的对象。\n" + nullable: true + type: string + required: + - model_id + type: object + ElevenLabsSTTResponse: + description: ElevenLabs 语音转文本的响应 + properties: + additional_formats: + description: 请求的转录附加格式。 + items: + $ref: "#/components/schemas/ElevenLabsSTTAdditionalFormat" + nullable: true + type: array + channel_index: + description: 此转录所属的通道索引(用于多声道音频)。 + nullable: true + type: integer + entities: + description: "List of detected entities with their text, type, and character positions." + items: + $ref: "#/components/schemas/ElevenLabsSTTDetectedEntity" + nullable: true + type: array + language_code: + description: "The detected language code (e.g. 'eng' for English)." + type: string + language_probability: + description: The confidence score of the language detection (0 to 1). + format: double + type: number + message: + description: Message for webhook responses. + nullable: true + type: string + request_id: + description: Request ID for webhook responses. + nullable: true + type: string + text: + description: The raw text of the transcription. + type: string + transcription_id: + description: The transcription ID of the response. + nullable: true + type: string + transcripts: + description: List of transcripts for multichannel audio (when use_multi_channel is true). + items: + $ref: "#/components/schemas/ElevenLabsSTTTranscript" + nullable: true + type: array + words: + description: List of words with their timing information. + items: + $ref: "#/components/schemas/ElevenLabsSTTWord" + type: array + type: object + ElevenLabsSTTTranscript: + description: Individual transcript for multichannel audio + properties: + additional_formats: + description: Requested additional formats. + items: + $ref: "#/components/schemas/ElevenLabsSTTAdditionalFormat" + nullable: true + type: array + channel_index: + description: The channel index this transcript belongs to. + nullable: true + type: integer + entities: + description: List of detected entities. + items: + $ref: "#/components/schemas/ElevenLabsSTTDetectedEntity" + nullable: true + type: array + language_code: + description: The detected language code. + type: string + language_probability: + description: The confidence score of the language detection. + format: double + type: number + text: + description: The raw text of the transcription. + type: string + words: + description: List of words with their timing information. + items: + $ref: "#/components/schemas/ElevenLabsSTTWord" + type: array + type: object + ElevenLabsSTTWord: + description: Word information from speech-to-text transcription + properties: + characters: + description: The characters that make up the word and their timing information. + items: + $ref: "#/components/schemas/ElevenLabsSTTCharacter" + nullable: true + type: array + end: + description: The end time of the word or sound in seconds. + format: double + nullable: true + type: number + logprob: + description: "The log of the probability with which this word was predicted.\nLogprobs are in range [-infinity, 0], higher logprobs indicate higher confidence.\n" + format: double + type: number + speaker_id: + description: Unique identifier for the speaker of this word. + nullable: true + type: string + start: + description: The start time of the word or sound in seconds. + format: double + nullable: true + type: number + text: + description: The word or sound that was transcribed. + type: string + type: + description: "The type of the word or sound.\n'audio_event' is used for non-word sounds like laughter or footsteps.\n" + enum: + - word + - spacing + - audio_event + type: string + required: + - text + - type + - logprob + type: object + ElevenLabsSharedVoice: + properties: + accent: + type: string + age: + type: string + category: + enum: + - generated + - cloned + - premade + - professional + - famous + - high_quality + type: string + cloned_by_count: + type: integer + date_unix: + type: integer + description: + nullable: true + type: string + descriptive: + type: string + featured: + type: boolean + fiat_rate: + description: The rate of the voice in USD per 1000 credits. null if default. + format: double + nullable: true + type: number + free_users_allowed: + type: boolean + gender: + type: string + image_url: + nullable: true + type: string + instagram_username: + nullable: true + type: string + is_added_by_user: + nullable: true + type: boolean + is_bookmarked: + nullable: true + type: boolean + language: + nullable: true + type: string + live_moderation_enabled: + type: boolean + locale: + nullable: true + type: string + name: + type: string + notice_period: + nullable: true + type: integer + play_api_usage_character_count_1y: + type: integer + preview_url: + nullable: true + type: string + public_owner_id: + type: string + rate: + format: double + nullable: true + type: number + tiktok_username: + nullable: true + type: string + twitter_username: + nullable: true + type: string + usage_character_count_1y: + type: integer + usage_character_count_7d: + type: integer + use_case: + type: string + verified_languages: + description: The verified languages of the voice. + items: + $ref: "#/components/schemas/ElevenLabsVerifiedVoiceLanguage" + nullable: true + type: array + voice_id: + type: string + youtube_username: + nullable: true + type: string + required: + - public_owner_id + - voice_id + - date_unix + - name + - accent + - gender + - age + - descriptive + - use_case + - category + - usage_character_count_1y + - usage_character_count_7d + - play_api_usage_character_count_1y + - cloned_by_count + - free_users_allowed + - live_moderation_enabled + - featured + type: object + ElevenLabsSharedVoicesPaginatedResponse: + description: "Paginated response shape returned by the shared-voices proxy to match the\nfrontend's `RichComboWidget` progressive-fetch contract.\n" + properties: + has_more: + description: Whether there are more shared voices in subsequent pages. + type: boolean + items: + description: The list of shared voices on this page. + items: + $ref: "#/components/schemas/ElevenLabsSharedVoice" + type: array + required: + - items + - has_more + type: object + ElevenLabsSoundGenerationRequest: + description: Request body for generating sound effects from text + properties: + duration_seconds: + description: "The duration of the sound which will be generated in seconds.\nMust be at least 0.5 and at most 30. If set to null, the optimal\nduration will be guessed using the prompt. Defaults to null.\n" + format: double + nullable: true + type: number + loop: + default: false + description: "Whether to create a sound effect that loops smoothly.\nOnly available for the 'eleven_text_to_sound_v2' model.\n" + type: boolean + model_id: + default: eleven_text_to_sound_v2 + description: The model ID to use for the sound generation. + type: string + prompt_influence: + description: "A higher prompt influence makes your generation follow the prompt\nmore closely while also making generations less variable.\nMust be a value between 0 and 1. Defaults to 0.3.\n" + format: double + type: number + text: + description: The text that will get converted into a sound effect. + type: string + required: + - text + type: object + ElevenLabsSpeechToSpeechRequest: + description: Request body for ElevenLabs Speech-to-Speech (Voice Changer) + properties: + audio: + description: The audio file which holds the content and emotion that will control the generated speech. + format: binary + type: string + file_format: + default: other + description: "The format of input audio. Options are 'pcm_s16le_16' or 'other'.\nFor pcm_s16le_16, the input audio must be 16-bit PCM at a 16kHz sample rate, single channel (mono).\n" + enum: + - pcm_s16le_16 + - other + nullable: true + type: string + model_id: + default: eleven_english_sts_v2 + description: "Identifier of the model that will be used. Query GET /v1/models to list available models.\nThe model needs to have support for speech to speech (can_do_voice_conversion property).\n" + type: string + remove_background_noise: + default: false + description: "If set, will remove the background noise from your audio input using our audio isolation model.\nOnly applies to Voice Changer.\n" + type: boolean + seed: + description: "If specified, our system will make a best effort to sample deterministically.\nRepeated requests with the same seed and parameters should return the same result.\nMust be integer between 0 and 4294967295.\n" + maximum: 4294967295 + minimum: 0 + nullable: true + type: integer + voice_settings: + description: "Voice settings overriding stored settings for the given voice.\nThey are applied only on the given request. Needs to be sent as a JSON encoded string.\n" + nullable: true + type: string + required: + - audio + type: object + ElevenLabsTTSRequest: + description: Request body for ElevenLabs Text to Speech + properties: + apply_language_text_normalization: + default: false + description: Controls language-specific text normalization. Can heavily increase latency. Currently only supported for Japanese. + type: boolean + apply_text_normalization: + default: auto + description: "Controls text normalization. 'auto' lets the system decide, 'on' always applies normalization,\n'off' skips normalization.\n" + enum: + - auto + - "on" + - "off" + type: string + language_code: + description: "Language code (ISO 639-1) to enforce for the model. If unsupported, an error is returned." + nullable: true + type: string + model_id: + default: eleven_multilingual_v2 + description: Identifier of the model to use. Query /v1/models to list available models. + type: string + next_request_ids: + description: Request IDs of next generations for continuity. Maximum 3. + items: + type: string + maxItems: 3 + nullable: true + type: array + next_text: + description: "Text that comes after this request, used to improve speech continuity." + nullable: true + type: string + previous_request_ids: + description: Request IDs of previous generations for continuity. Maximum 3. + items: + type: string + maxItems: 3 + nullable: true + type: array + previous_text: + description: "Text that came before this request, used to improve speech continuity." + nullable: true + type: string + pronunciation_dictionary_locators: + description: "List of pronunciation dictionary locators (id, version_id). Maximum 3 per request." + items: + $ref: "#/components/schemas/ElevenLabsPronunciationDictionaryLocator" + maxItems: 3 + nullable: true + type: array + seed: + description: Seed for deterministic generation. Must be between 0 and 4294967295. + maximum: 4294967295 + minimum: 0 + nullable: true + type: integer + text: + description: The text that will be converted into speech. + type: string + use_pvc_as_ivc: + default: false + description: "Deprecated. If true, uses IVC version of voice instead of PVC." + type: boolean + voice_settings: + $ref: "#/components/schemas/ElevenLabsVoiceSettings" + required: + - text + type: object + ElevenLabsTextToDialogueRequest: + description: Request body for ElevenLabs Text-to-Dialogue (multi-voice TTS) + properties: + apply_text_normalization: + default: auto + description: "Controls text normalization with three modes:\n'auto' - system automatically decides whether to apply text normalization\n'on' - text normalization will always be applied\n'off' - text normalization will be skipped\n" + enum: + - auto + - "on" + - "off" + type: string + inputs: + description: "A list of dialogue inputs, each containing text and a voice ID which will be converted into speech.\nThe maximum number of unique voice IDs is 10.\n" + items: + $ref: "#/components/schemas/ElevenLabsDialogueInput" + type: array + language_code: + description: "Language code (ISO 639-1) used to enforce a language for the model and text normalization.\nIf the model does not support provided language code, an error will be returned.\n" + nullable: true + type: string + model_id: + default: eleven_v3 + description: "Identifier of the model that will be used. Query GET /v1/models to list available models.\nThe model needs to have support for text to speech (can_do_text_to_speech property).\n" + type: string + pronunciation_dictionary_locators: + description: "A list of pronunciation dictionary locators (id, version_id) to be applied to the text.\nThey will be applied in order. You may have up to 3 locators per request.\n" + items: + $ref: "#/components/schemas/ElevenLabsPronunciationDictionaryLocator" + maxItems: 3 + nullable: true + type: array + seed: + description: "If specified, our system will make a best effort to sample deterministically.\nRepeated requests with the same seed and parameters should return the same result.\nMust be integer between 0 and 4294967295.\n" + maximum: 4294967295 + minimum: 0 + nullable: true + type: integer + settings: + $ref: "#/components/schemas/ElevenLabsDialogueSettings" + required: + - inputs + type: object + ElevenLabsValidationError: + description: Validation error response from ElevenLabs + properties: + detail: + description: Details about the validation error + properties: + message: + description: Error message + type: string + status: + description: Error status + type: string + type: object + type: object + ElevenLabsVerifiedVoiceLanguage: + properties: + accent: + description: "The voice's accent, if applicable." + nullable: true + type: string + language: + description: The language of the voice. + type: string + locale: + description: "The voice's locale, if applicable." + nullable: true + type: string + model_id: + description: "The voice's model ID." + type: string + preview_url: + description: "The voice's preview URL, if applicable." + nullable: true + type: string + required: + - language + - model_id + type: object + ElevenLabsVoice: + description: "A voice from the authenticated account's voice library (e.g. a premade voice)." + properties: + category: + description: "Voice category (e.g. \"premade\", \"cloned\", \"generated\", \"professional\")." + type: string + description: + nullable: true + type: string + labels: + additionalProperties: + type: string + description: "Free-form string labels attached to the voice (e.g. accent, gender, age, use_case)." + nullable: true + type: object + name: + type: string + preview_url: + nullable: true + type: string + verified_languages: + description: The verified languages of the voice. + items: + $ref: "#/components/schemas/ElevenLabsVerifiedVoiceLanguage" + nullable: true + type: array + voice_id: + type: string + required: + - voice_id + - name + - category + type: object + ElevenLabsVoiceSettings: + description: Voice settings configuration + nullable: true + properties: + similarity_boost: + default: 0.75 + description: How closely the AI adheres to the original voice when replicating it. + format: double + maximum: 1 + minimum: 0 + nullable: true + type: number + speed: + default: 1 + description: "Speed adjustment. 1.0 is default, values below slow down, values above speed up." + format: double + maximum: 1.2 + minimum: 0.7 + nullable: true + type: number + stability: + default: 0.5 + description: Stability of the voice. Lower values introduce broader emotional range. + format: double + maximum: 1 + minimum: 0 + nullable: true + type: number + style: + default: 0 + description: Style exaggeration. Amplifies the style of the original speaker. + format: double + maximum: 1 + minimum: 0 + nullable: true + type: number + use_speaker_boost: + default: true + description: Boosts similarity to the original speaker. Requires higher computational load. + nullable: true + type: boolean + type: object + ElevenLabsVoicesPaginatedResponse: + description: "Paginated response shape returned by the premade-voices proxy.\nMirrors ElevenLabs `/v2/voices`, renaming `voices` to `items` to\nmatch the frontend's `RichComboWidget` progressive-fetch contract.\n" + properties: + has_more: + description: Whether there are more voices in subsequent pages. + type: boolean + items: + description: The list of premade voices on this page. + items: + $ref: "#/components/schemas/ElevenLabsVoice" + type: array + next_page_token: + description: Cursor to pass to the next request to fetch the next page. + nullable: true + type: string + required: + - items + - has_more + type: object + Error: + properties: + details: + description: Optional detailed information about the error or hints for resolving it. + items: + type: string + type: array + message: + description: A clear and concise description of the error. + type: string + type: object + ErrorResponse: + properties: + error: + type: string + message: + type: string + required: + - error + - message + type: object + FalPatinaMaterialExtractRequest: + description: "Request body for the fal PATINA extract model (fal-ai/patina/material/extract): extract a texture from an input image and generate a complete tiling PBR material." + properties: + enable_prompt_expansion: + default: true + description: Expand the prompt with an LLM for richer detail. + type: boolean + enable_safety_checker: + default: true + description: Enable the safety checker for generated images. + type: boolean + image_size: + description: "Output texture dimensions. Either a preset string (square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9) or an object with integer width and height. Defaults to square_hd." + image_url: + description: URL of the image to extract a texture from. + type: string + maps: + default: + - basecolor + - normal + - roughness + - metalness + - height + description: Which PBR maps to predict. Defaults to all five. + items: + type: string + type: array + num_images: + default: 1 + description: Number of texture images to generate. + type: integer + num_inference_steps: + default: 8 + description: Number of denoising steps for texture generation. + type: integer + output_format: + default: png + description: "Output image format for textures and PBR maps: jpeg, png, or webp." + type: string + prompt: + description: Describe which texture to extract from the image. + type: string + seed: + description: Random seed for reproducible generation. + type: integer + strength: + default: 0.6 + description: How much to transform the input image. + type: number + tile_size: + default: 128 + description: "Tile size in latent space (64 = 512px, 128 = 1024px)." + type: integer + tile_stride: + default: 64 + description: Tile stride in latent space. + type: integer + tiling_mode: + default: both + description: "Tiling direction: both, horizontal, or vertical." + type: string + upscale_factor: + default: "0" + description: "Upscale factor for predicted PBR maps. One of 0 (no upscaling), 2 (2x), or 4 (4x), as a string or number." + required: + - prompt + - image_url + type: object + FalPatinaMaterialImage: + description: A generated texture or PBR map image. + properties: + map_type: + description: "The PBR map type (basecolor, normal, roughness, metalness, height). Absent for the base texture image." + type: string + url: + description: URL of the generated image. + type: string + type: object + FalPatinaMaterialRequest: + description: Request body for the fal PATINA material generation model. + properties: + enable_prompt_expansion: + default: true + description: Expand the prompt with an LLM for richer detail. + type: boolean + enable_safety_checker: + default: true + description: Enable the safety checker for generated images. + type: boolean + image_size: + description: "Output texture dimensions. Either a preset string (square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9) or an object with integer width and height. Defaults to square_hd (1024x1024). Drives the per-megapixel price." + image_url: + description: URL of an input image for image-to-image or inpainting. + type: string + maps: + default: + - basecolor + - normal + - roughness + - metalness + - height + description: Which PBR maps to predict. Each predicted map adds a per-megapixel charge. Defaults to all five. + items: + type: string + type: array + mask_url: + description: URL of a mask image for inpainting. Requires image_url. + type: string + num_images: + default: 1 + description: Number of texture images to generate. + type: integer + num_inference_steps: + default: 8 + description: Number of denoising steps for texture generation. + type: integer + output_format: + default: png + description: "Output image format for textures and PBR maps: jpeg, png, or webp." + type: string + prompt: + description: The text prompt describing the material/texture to generate. + type: string + seed: + description: Random seed for reproducible generation. + type: integer + strength: + default: 0.6 + description: How much to transform the input image. Only used when image_url is provided. + type: number + tile_size: + default: 128 + description: "Tile size in latent space (64 = 512px, 128 = 1024px)." + type: integer + tile_stride: + default: 64 + description: Tile stride in latent space. + type: integer + tiling_mode: + default: both + description: "Tiling direction: both, horizontal, or vertical." + type: string + upscale_factor: + default: "0" + description: "Upscale factor for predicted PBR maps. One of 0 (no upscaling), 2 (2x), or 4 (4x), as a string or number. Upscaling adds a per-(pre-upscaling)-megapixel-per-map surcharge." + required: + - prompt + type: object + FalPatinaMaterialResponse: + description: Response from the fal PATINA material generation model. + properties: + images: + description: Generated tileable texture image plus the predicted PBR material maps. The base texture has only a url; each map entry also carries a map_type. + items: + $ref: "#/components/schemas/FalPatinaMaterialImage" + type: array + prompt: + description: The prompt used for texture generation (possibly expanded). + type: string + seed: + description: Seed used for texture generation. + type: integer + timings: + additionalProperties: true + description: End-to-end timing breakdown (seconds). + type: object + type: object + FalPatinaRequest: + description: "Request body for the fal PATINA image-to-image model (fal-ai/patina): predict PBR maps from a single input image." + properties: + enable_safety_checker: + default: true + description: Enable the safety checker for images. + type: boolean + image_url: + description: URL of the input image (photograph or render). + type: string + maps: + default: + - basecolor + - normal + - roughness + - metalness + - height + description: Which PBR maps to predict. Defaults to all five. + items: + type: string + type: array + output_format: + default: png + description: "Output image format: jpeg, png, or webp." + type: string + seed: + description: Random seed for reproducible denoising. + type: integer + sync_mode: + default: false + description: "If true, return images as data URIs instead of CDN URLs." + type: boolean + required: + - image_url + type: object + FalQueueStatus: + description: "fal queue status object, returned both when submitting a request and when polling its status." + properties: + queue_position: + description: Position in the queue (when IN_QUEUE). + type: integer + request_id: + description: The fal queue request id. + type: string + status: + description: "Queue status: IN_QUEUE, IN_PROGRESS, or COMPLETED." + type: string + required: + - status + - request_id + type: object + FeaturesResponse: + properties: + partner_node_conversion_rate: + description: The conversion rate for partner nodes + example: 0.5 + type: number + required: + - partner_node_conversion_rate + type: object + FileSearchTool: + properties: + type: + description: The type of tool + enum: + - file_search + type: string + vector_store_ids: + description: IDs of vector stores to search in + items: + type: string + type: array + required: + - type + - vector_store_ids + type: object + FileSearchToolCall: + description: "The results of a file search tool call. See the\n[file search guide](/docs/guides/tools-file-search) for more information.\n" + properties: + id: + description: "The unique ID of the file search tool call.\n" + type: string + queries: + description: "The queries used to search for files.\n" + items: + type: string + type: array + results: + description: "The results of the file search tool call.\n" + items: + properties: + file_id: + description: "The unique ID of the file.\n" + type: string + filename: + description: "The name of the file.\n" + type: string + score: + description: "The relevance score of the file - a value between 0 and 1.\n" + format: float + type: number + text: + description: "The text that was retrieved from the file.\n" + type: string + type: object + type: array + status: + description: "The status of the file search tool call. One of `in_progress`,\n`searching`, `incomplete` or `failed`,\n" + enum: + - in_progress + - searching + - completed + - incomplete + - failed + type: string + type: + description: "The type of the file search tool call. Always `file_search_call`.\n" + enum: + - file_search_call + type: string + x-stainless-const: true + required: + - id + - type + - status + - queries + title: File search tool call + type: object + FreeTierGrantState: + description: "State of a withheld first-time free tier credit grant. \"verification_required\" means the grant was denied pending account verification (e.g. unverified email or a blocked email domain). \"deferred\" means the grant was temporarily deferred and may succeed on a later request. Absent when no grant was withheld.\n" + enum: + - verification_required + - deferred + type: string + FreepikErrorResponse: + properties: + error: + type: string + message: + type: string + type: object + FreepikMagnificRelightRequest: + properties: + advanced_settings: + properties: + blacks: + default: 50 + description: Adjust the level of black color in the image. + maximum: 100 + minimum: 0 + type: integer + brightness: + default: 50 + description: Adjust the level of brightness in the image. + maximum: 100 + minimum: 0 + type: integer + contrast: + default: 50 + description: Adjust the level of contrast in the image. + maximum: 100 + minimum: 0 + type: integer + engine: + default: automatic + description: "Engine preset for relighting:\n- balanced: Well-rounded, general-purpose option\n- cool: Brighter with cooler tones\n- real: Aims to enhance photographic quality (Experimental)\n- illusio: Optimized for illustrations and drawings\n- fairy: Suited for fantasy-themed images\n- colorful_anime: Ideal for anime, cartoons, and vibrant colors\n- hard_transform: Significantly alters the original image\n- softy: Slightly softer effect, suitable for graphic designs\n" + enum: + - automatic + - balanced + - cool + - real + - illusio + - fairy + - colorful_anime + - hard_transform + - softy + type: string + fixed_generation: + default: false + description: "When enabled, using the same settings will consistently produce the same image." + type: boolean + saturation: + default: 50 + description: Adjust the level of saturation in the image. + maximum: 100 + minimum: 0 + type: integer + transfer_light_a: + default: automatic + description: Adjusts the intensity of light transfer. + enum: + - automatic + - low + - medium + - normal + - high + - high_on_faces + type: string + transfer_light_b: + default: automatic + description: Also modifies light transfer intensity. Can be combined with transfer_light_a for varied effects. + enum: + - automatic + - composition + - straight + - smooth_in + - smooth_out + - smooth_both + - reverse_both + - soft_in + - soft_out + - soft_mid + - strong_mid + - style_shift + - strong_shift + type: string + whites: + default: 50 + description: Adjust the level of white color in the image. + maximum: 100 + minimum: 0 + type: integer + type: object + change_background: + default: true + description: "When enabled, changes the background based on prompt and/or reference image. Useful for product placement and portraits." + type: boolean + image: + description: Base64 or URL of the image to do the relight + type: string + interpolate_from_original: + default: false + description: "When enabled, makes the final image interpolate from the original using the light transfer strength slider." + type: boolean + light_transfer_strength: + default: 100 + description: "Level of light transfer intensity. 0% keeps closest to original, 100% is maximum transfer." + maximum: 100 + minimum: 0 + type: integer + preserve_details: + default: true + description: "Maintains texture and small details of the original image. Good for product photography, texts, etc." + type: boolean + prompt: + description: "You can guide the generation process and influence the light transfer with a descriptive prompt.\nIMPORTANT: You can emphasize specific aspects of the light in your prompt by using a number in parentheses, ranging from 1 to 1.4, like \"(dark scene:1.3)\".\n" + type: string + style: + default: standard + description: Style preset for the relight operation. + enum: + - standard + - darker_but_realistic + - clean + - smooth + - brighter + - contrasted_n_hdr + - just_composition + type: string + transfer_light_from_lightmap: + description: "Base64 or URL of the lightmap for light transfer. Incompatible with 'transfer_light_from_reference_image'" + type: string + transfer_light_from_reference_image: + description: "Base64 or URL of the reference image for light transfer. Incompatible with 'transfer_light_from_lightmap'" + type: string + webhook_url: + description: Optional callback URL that will receive asynchronous notifications whenever the task changes status. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikMagnificStyleTransferRequest: + properties: + engine: + default: balanced + description: Engine preset for style transfer + enum: + - balanced + - definio + - illusio + - 3d_cartoon + - colorful_anime + - caricature + - real + - super_real + - softy + type: string + fixed_generation: + default: false + description: "When enabled, using the same settings will consistently produce the same image." + type: boolean + flavor: + default: faithful + description: Flavor of the transferring style + enum: + - faithful + - gen_z + - psychedelia + - detaily + - clear + - donotstyle + - donotstyle_sharp + type: string + image: + description: Base64 or URL of the image to do the style transfer + type: string + is_portrait: + default: false + description: Indicates whether the image should be processed as a portrait. + type: boolean + portrait_beautifier: + description: Facial beautification on portrait images. Only used if is_portrait is true. + enum: + - beautify_face + - beautify_face_max + type: string + portrait_style: + default: standard + description: Visual style applied to portrait images. Only used if is_portrait is true. + enum: + - standard + - pop + - super_pop + type: string + prompt: + description: Prompt for the AI model + type: string + reference_image: + description: Base64 or URL of the reference image for style transfer + type: string + structure_strength: + default: 50 + description: Allows to maintain the structure of the original image + maximum: 100 + minimum: 0 + type: integer + style_strength: + default: 100 + description: Percentage of style strength + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: Optional callback URL for async notifications. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + - reference_image + type: object + FreepikMagnificUpscalerCreativeRequest: + properties: + creativity: + default: 0 + description: "Increase or decrease AI's creativity. Valid values range [-10, 10]." + maximum: 10 + minimum: -10 + type: integer + engine: + default: automatic + description: Magnific model engines. + enum: + - automatic + - magnific_illusio + - magnific_sharpy + - magnific_sparkle + type: string + fractality: + default: 0 + description: "Control the strength of the prompt and intricacy per square pixel. Valid values range [-10, 10]." + maximum: 10 + minimum: -10 + type: integer + hdr: + default: 0 + description: "Increase or decrease the level of definition and detail. Valid values range [-10, 10]." + maximum: 10 + minimum: -10 + type: integer + image: + description: "Base64 image or URL to upscale. The resulted image can't exceed maximum allowed size of 25.3 million pixels." + type: string + optimized_for: + default: standard + description: Styles to optimize the upscale process. + enum: + - standard + - soft_portraits + - hard_portraits + - art_n_illustration + - videogame_assets + - nature_n_landscapes + - films_n_photography + - 3d_renders + - science_fiction_n_horror + type: string + prompt: + description: Prompt to guide the upscale process. Reusing the same prompt for AI-generated images will improve the results. + type: string + resemblance: + default: 0 + description: "Adjust the level of resemblance to the original image. Valid values range [-10, 10]." + maximum: 10 + minimum: -10 + type: integer + scale_factor: + default: 2x + description: "Configure scale factor of the image. For higher scales, the image will take longer to process." + enum: + - 2x + - 4x + - 8x + - 16x + type: string + webhook_url: + description: Optional callback URL that will receive asynchronous notifications whenever the task changes status. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikMagnificUpscalerPrecisionV2Request: + properties: + flavor: + description: "Image processing flavor:\n- sublime: Optimized for artistic and illustrated images\n- photo: Optimized for photographic images\n- photo_denoiser: Specialized for photos with noise reduction\n" + enum: + - sublime + - photo + - photo_denoiser + type: string + image: + description: "Source image to upscale. Accepts either:\n- A publicly accessible HTTPS URL pointing to the image\n- A base64-encoded image string\n" + type: string + scale_factor: + description: Image scaling factor. Determines how much larger the output will be compared to input. + maximum: 16 + minimum: 2 + type: integer + sharpen: + default: 7 + description: Image sharpness intensity control. Higher values increase edge definition and clarity. + maximum: 100 + minimum: 0 + type: integer + smart_grain: + default: 7 + description: Intelligent grain/texture enhancement. Higher values add more fine-grained texture. + maximum: 100 + minimum: 0 + type: integer + ultra_detail: + default: 30 + description: Ultra detail enhancement level. Higher values create more intricate details. + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: Optional callback URL that will receive asynchronous notifications when the upscaling task completes. + format: uri + type: string + required: + - image + type: object + FreepikSkinEnhancerCreativeRequest: + properties: + image: + description: Input image. Supports Base64 encoding or HTTPS URL (must be publicly accessible). + example: https://example.com/portrait.jpg + type: string + sharpen: + default: 0 + description: Sharpening intensity + maximum: 100 + minimum: 0 + type: integer + smart_grain: + default: 2 + description: Smart grain intensity + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: Optional callback URL for async notifications. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikSkinEnhancerFaithfulRequest: + properties: + image: + description: Input image. Supports Base64 encoding or HTTPS URL (must be publicly accessible). + example: https://example.com/portrait.jpg + type: string + sharpen: + default: 0 + description: Sharpening intensity + maximum: 100 + minimum: 0 + type: integer + skin_detail: + default: 80 + description: Skin detail enhancement level + maximum: 100 + minimum: 0 + type: integer + smart_grain: + default: 2 + description: Smart grain intensity + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: Optional callback URL for async notifications. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikSkinEnhancerFlexibleRequest: + properties: + image: + description: Input image. Supports Base64 encoding or HTTPS URL (must be publicly accessible). + example: https://example.com/portrait.jpg + type: string + optimized_for: + default: enhance_skin + description: Optimization target for flexible skin enhancer + enum: + - enhance_skin + - improve_lighting + - enhance_everything + - transform_to_real + - no_make_up + type: string + sharpen: + default: 0 + description: Sharpening intensity + maximum: 100 + minimum: 0 + type: integer + smart_grain: + default: 2 + description: Smart grain intensity + maximum: 100 + minimum: 0 + type: integer + webhook_url: + description: Optional callback URL for async notifications. + example: https://www.example.com/webhook + format: uri + type: string + required: + - image + type: object + FreepikTaskData: + properties: + generated: + description: URLs to the generated images. + items: + format: uri + type: string + type: array + status: + enum: + - CREATED + - IN_PROGRESS + - COMPLETED + - FAILED + type: string + task_id: + example: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + format: uuid + type: string + type: object + FreepikTaskResponse: + properties: + data: + $ref: "#/components/schemas/FreepikTaskData" + required: + - data + type: object + FunctionTool: + properties: + description: + description: Description of what the function does + type: string + name: + description: Name of the function + type: string + parameters: + description: JSON Schema object describing the function parameters + type: object + type: + description: The type of tool + enum: + - function + type: string + required: + - type + - name + - parameters + type: object + FunctionToolCall: + description: "A tool call to run a function. See the\n[function calling guide](/docs/guides/function-calling) for more information.\n" + properties: + arguments: + description: "A JSON string of the arguments to pass to the function.\n" + type: string + call_id: + description: "The unique ID of the function tool call generated by the model.\n" + type: string + id: + description: "The unique ID of the function tool call.\n" + type: string + name: + description: "The name of the function to run.\n" + type: string + status: + description: "The status of the item. One of `in_progress`, `completed`, or\n`incomplete`. Populated when items are returned via API.\n" + enum: + - in_progress + - completed + - incomplete + type: string + type: + description: "The type of the function tool call. Always `function_call`.\n" + enum: + - function_call + type: string + x-stainless-const: true + required: + - type + - call_id + - name + - arguments + title: Function tool call + type: object + GeminiCandidate: + properties: + citationMetadata: + $ref: "#/components/schemas/GeminiCitationMetadata" + content: + $ref: "#/components/schemas/GeminiContent" + finishReason: + type: string + safetyRatings: + items: + $ref: "#/components/schemas/GeminiSafetyRating" + type: array + type: object + GeminiCitation: + properties: + authors: + items: + type: string + type: array + endIndex: + type: integer + license: + type: string + publicationDate: + format: date + type: string + startIndex: + type: integer + title: + type: string + uri: + type: string + type: object + GeminiCitationMetadata: + properties: + citations: + items: + $ref: "#/components/schemas/GeminiCitation" + type: array + type: object + GeminiContent: + description: "The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history and the latest request.\n" + properties: + parts: + items: + $ref: "#/components/schemas/GeminiPart" + type: array + role: + enum: + - user + - model + example: user + type: string + required: + - role + - parts + type: object + GeminiFileData: + description: URI based data. + properties: + fileUri: + description: URI + type: string + mimeType: + $ref: "#/components/schemas/GeminiMimeType" + type: object + GeminiFunctionDeclaration: + properties: + description: + type: string + name: + type: string + parameters: + description: JSON schema for the function parameters + type: object + required: + - name + - parameters + type: object + GeminiGenerateContentRequest: + properties: + contents: + items: + $ref: "#/components/schemas/GeminiContent" + type: array + generationConfig: + $ref: "#/components/schemas/GeminiGenerationConfig" + safetySettings: + items: + $ref: "#/components/schemas/GeminiSafetySetting" + type: array + systemInstruction: + $ref: "#/components/schemas/GeminiSystemInstructionContent" + tools: + items: + $ref: "#/components/schemas/GeminiTool" + type: array + uploadImagesToStorage: + description: "If true, generated images will be uploaded to cloud storage and returned as signed URLs instead of inline base64 data. The URLs expire after 24 hours." + type: boolean + videoMetadata: + $ref: "#/components/schemas/GeminiVideoMetadata" + required: + - contents + type: object + GeminiGenerateContentResponse: + properties: + candidates: + items: + $ref: "#/components/schemas/GeminiCandidate" + type: array + createTime: + description: Timestamp when the response was created. + type: string + modelVersion: + description: The model version used to generate the response. + type: string + promptFeedback: + $ref: "#/components/schemas/GeminiPromptFeedback" + responseId: + description: Unique identifier for the response. + type: string + usageMetadata: + $ref: "#/components/schemas/GeminiUsageMetadata" + type: object + GeminiGenerationConfig: + properties: + imageConfig: + description: Configuration for image generation + properties: + aspectRatio: + description: Aspect ratio for generated images + type: string + imageOutputOptions: + description: Optional. The image output format for generated images. + properties: + compressionQuality: + description: Optional. The compression quality of the output image. + type: integer + mimeType: + description: Optional. The image format that the output should be saved as. + type: string + type: object + imageSize: + description: "Optional. Specifies the size of generated images. Supported values are 1K, 2K, 4K. If not specified, the model will use default value 1K." + type: string + type: object + maxOutputTokens: + description: "Maximum number of tokens that can be generated in the response. A token is approximately 4 characters. 100 tokens correspond to roughly 60-80 words.\n" + example: 2048 + maximum: 8192 + minimum: 16 + type: integer + responseModalities: + items: + enum: + - TEXT + - IMAGE + type: string + type: array + seed: + description: "When seed is fixed to a specific value, the model makes a best effort to provide the same response for repeated requests. Deterministic output isn't guaranteed. Also, changing the model or parameter settings, such as the temperature, can cause variations in the response even when you use the same seed value. By default, a random seed value is used. Available for the following models:, gemini-2.5-flash, gemini-2.5-pro, gemini-2.5-flash-preview-04-1, gemini-2.5-pro-preview-05-0, gemini-2.0-flash-lite-00, gemini-2.0-flash-001\n" + example: 343940597 + type: integer + stopSequences: + items: + type: string + type: array + temperature: + default: 1 + description: "The temperature is used for sampling during response generation, which occurs when topP and topK are applied. Temperature controls the degree of randomness in token selection. Lower temperatures are good for prompts that require a less open-ended or creative response, while higher temperatures can lead to more diverse or creative results. A temperature of 0 means that the highest probability tokens are always selected. In this case, responses for a given prompt are mostly deterministic, but a small amount of variation is still possible. If the model returns a response that's too generic, too short, or the model gives a fallback response, try increasing the temperature\n" + format: float + maximum: 2 + minimum: 0 + type: number + thinkingConfig: + description: Optional. Configuration for thinking features. Thinking is a process where the model breaks down a complex task into smaller steps to generate a higher-quality response. + properties: + includeThoughts: + description: "Optional. If true, the model will include its thoughts in the response." + type: boolean + thinkingBudget: + description: "Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget." + type: integer + thinkingLevel: + description: Optional. The thinking level for the model. + enum: + - THINKING_LEVEL_UNSPECIFIED + - LOW + - MEDIUM + - HIGH + - MINIMAL + type: string + type: object + topK: + default: 40 + description: "Top-K changes how the model selects tokens for output. A top-K of 1 means the next selected token is the most probable among all tokens in the model's vocabulary. A top-K of 3 means that the next token is selected from among the 3 most probable tokens by using temperature.\n" + example: 40 + minimum: 1 + type: integer + topP: + default: 0.95 + description: "If specified, nucleus sampling is used.\nTop-P changes how the model selects tokens for output. Tokens are selected from the most (see top-K) to least probable until the sum of their probabilities equals the top-P value. For example, if tokens A, B, and C have a probability of 0.3, 0.2, and 0.1 and the top-P value is 0.5, then the model will select either A or B as the next token by using temperature and excludes C as a candidate.\nSpecify a lower value for less random responses and a higher value for more random responses.\n" + format: float + maximum: 1 + minimum: 0 + type: number + type: object + GeminiInlineData: + description: "Inline data in raw bytes. For gemini-2.0-flash-lite and gemini-2.0-flash, you can specify up to 3000 images by using inlineData.\n" + properties: + data: + description: "The base64 encoding of the image, PDF, or video to include inline in the prompt. When including media inline, you must also specify the media type (mimeType) of the data. Size limit: 20MB\n" + format: byte + type: string + mimeType: + $ref: "#/components/schemas/GeminiMimeType" + type: object + GeminiMimeType: + description: "The media type of the file specified in the data or fileUri fields. Acceptable values include the following. For gemini-2.0-flash-lite and gemini-2.0-flash, the maximum length of an audio file is 8.4 hours and the maximum length of a video file (without audio) is one hour. For more information, see Gemini audio and video requirements. Text files must be UTF-8 encoded. The contents of the text file count toward the token limit. There is no limit on image resolution." + enum: + - application/pdf + - audio/mpeg + - audio/mp3 + - audio/wav + - image/png + - image/jpeg + - image/webp + - text/plain + - video/mov + - video/mpeg + - video/mp4 + - video/mpg + - video/avi + - video/wmv + - video/mpegps + - video/flv + type: string + GeminiOffset: + description: "Represents a duration offset for video timeline positions.\n" + properties: + nanos: + description: "Signed fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values.\n" + example: 0 + maximum: 999999999 + minimum: 0 + type: integer + seconds: + description: "Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.\n" + example: 60 + maximum: 315576000000 + minimum: -315576000000 + type: integer + type: object + GeminiPart: + properties: + fileData: + $ref: "#/components/schemas/GeminiFileData" + inlineData: + $ref: "#/components/schemas/GeminiInlineData" + text: + description: A text prompt or code snippet. + example: Write a story about a robot learning to paint + type: string + thought: + description: Indicates this part is a thinking/reasoning step from the model. + type: boolean + type: object + GeminiPromptFeedback: + properties: + blockReason: + type: string + blockReasonMessage: + type: string + safetyRatings: + items: + $ref: "#/components/schemas/GeminiSafetyRating" + type: array + type: object + GeminiSafetyCategory: + enum: + - HARM_CATEGORY_SEXUALLY_EXPLICIT + - HARM_CATEGORY_HATE_SPEECH + - HARM_CATEGORY_HARASSMENT + - HARM_CATEGORY_DANGEROUS_CONTENT + type: string + GeminiSafetyRating: + properties: + category: + $ref: "#/components/schemas/GeminiSafetyCategory" + probability: + description: The probability that the content violates the specified safety category + enum: + - NEGLIGIBLE + - LOW + - MEDIUM + - HIGH + - UNKNOWN + type: string + type: object + GeminiSafetySetting: + description: "Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.\n" + properties: + category: + $ref: "#/components/schemas/GeminiSafetyCategory" + threshold: + $ref: "#/components/schemas/GeminiSafetyThreshold" + required: + - category + - threshold + type: object + GeminiSafetyThreshold: + enum: + - "OFF" + - BLOCK_NONE + - BLOCK_LOW_AND_ABOVE + - BLOCK_MEDIUM_AND_ABOVE + - BLOCK_ONLY_HIGH + type: string + GeminiSystemInstructionContent: + description: "Available for gemini-2.0-flash and gemini-2.0-flash-lite. Instructions for the model to steer it toward better performance. For example, \"Answer as concisely as possible\" or \"Don't use technical terms in your response\". The text strings count toward the token limit. The role field of systemInstruction is ignored and doesn't affect the performance of the model. Note: Only text should be used in parts and content in each part should be in a separate paragraph.\n" + properties: + parts: + description: "A list of ordered parts that make up a single message. Different parts may have different IANA MIME types. For limits on the inputs, such as the maximum number of tokens or the number of images, see the model specifications on the Google models page.\n" + items: + $ref: "#/components/schemas/GeminiTextPart" + type: array + role: + description: "The identity of the entity that creates the message. The following values are supported: user: This indicates that the message is sent by a real person, typically a user-generated message. model: This indicates that the message is generated by the model. The model value is used to insert messages from the model into the conversation during multi-turn conversations. For non-multi-turn conversations, this field can be left blank or unset.\n" + enum: + - user + - model + example: user + type: string + required: + - role + - parts + type: object + GeminiTextPart: + properties: + text: + description: A text prompt or code snippet. + example: Answer as concisely as possible + type: string + type: object + GeminiTool: + description: "A piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. See Function calling.\n" + properties: + functionDeclarations: + items: + $ref: "#/components/schemas/GeminiFunctionDeclaration" + type: array + type: object + GeminiUsageMetadata: + properties: + cachedContentTokenCount: + description: Output only. Number of tokens in the cached part in the input (the cached content). + type: integer + candidatesTokenCount: + description: Number of tokens in the response(s). + type: integer + candidatesTokensDetails: + description: Breakdown of candidate tokens by modality. + items: + $ref: "#/components/schemas/ModalityTokenCount" + type: array + promptTokenCount: + description: "Number of tokens in the request. When cachedContent is set, this is still the total effective prompt size meaning this includes the number of tokens in the cached content." + type: integer + promptTokensDetails: + description: Breakdown of prompt tokens by modality. + items: + $ref: "#/components/schemas/ModalityTokenCount" + type: array + thoughtsTokenCount: + description: Number of tokens present in thoughts output. + type: integer + toolUsePromptTokenCount: + description: Number of tokens present in tool-use prompt(s). + type: integer + totalTokenCount: + description: Total number of tokens (prompt + candidates). + type: integer + trafficType: + description: "Traffic type used for the request (e.g., PROVISIONED_THROUGHPUT)." + type: string + type: object + GeminiVideoMetadata: + description: "For video input, the start and end offset of the video in Duration format. For example, to specify a 10 second clip starting at 1:00, set \"startOffset\": { \"seconds\": 60 } and \"endOffset\": { \"seconds\": 70 }. The metadata should only be specified while the video data is presented in inlineData or fileData.\n" + properties: + endOffset: + $ref: "#/components/schemas/GeminiOffset" + startOffset: + $ref: "#/components/schemas/GeminiOffset" + type: object + GitCommitSummary: + properties: + author: + description: The author of the commit + type: string + branch_name: + description: The branch where the commit was made + type: string + commit_hash: + description: The hash of the commit + type: string + commit_name: + description: The name of the commit + type: string + status_summary: + additionalProperties: + type: string + description: A map of operating system to status pairs + type: object + timestamp: + description: The timestamp when the commit was made + format: date-time + type: string + type: object + GithubEnterprise: + description: A GitHub enterprise + properties: + avatar_url: + description: URL to the enterprise avatar + type: string + created_at: + description: When the enterprise was created + format: date-time + type: string + description: + description: The enterprise description + nullable: true + type: string + html_url: + description: The HTML URL of the enterprise + type: string + id: + description: The enterprise ID + type: integer + name: + description: The enterprise name + type: string + node_id: + description: The enterprise node ID + type: string + slug: + description: The enterprise slug + type: string + updated_at: + description: When the enterprise was last updated + format: date-time + type: string + website_url: + description: The enterprise website URL + nullable: true + type: string + required: + - id + - slug + - name + - node_id + - avatar_url + - html_url + - created_at + - updated_at + type: object + GithubInstallation: + description: A GitHub App installation + properties: + access_tokens_url: + description: The API URL for access tokens + type: string + account: + $ref: "#/components/schemas/GithubUser" + app_id: + description: The GitHub App ID + type: integer + created_at: + description: When the installation was created + format: date-time + type: string + events: + description: The events the installation subscribes to + items: + type: string + type: array + html_url: + description: The HTML URL of the installation + type: string + id: + description: The installation ID + type: integer + permissions: + description: The installation permissions + type: object + repositories_url: + description: The API URL for repositories + type: string + repository_selection: + description: Repository selection for the installation + enum: + - selected + - all + type: string + single_file_name: + description: The single file name if applicable + nullable: true + type: string + target_id: + description: The target ID + type: integer + target_type: + description: The target type + type: string + updated_at: + description: When the installation was last updated + format: date-time + type: string + required: + - id + - account + - repository_selection + - access_tokens_url + - repositories_url + - html_url + - app_id + - target_id + - target_type + - permissions + - events + - created_at + - updated_at + type: object + GithubOrganization: + description: A GitHub organization + properties: + avatar_url: + description: "URL to the organization's avatar" + type: string + description: + description: The organization description + nullable: true + type: string + events_url: + description: "The API URL of the organization's events" + type: string + hooks_url: + description: "The API URL of the organization's hooks" + type: string + id: + description: The organization ID + type: integer + issues_url: + description: "The API URL of the organization's issues" + type: string + login: + description: "The organization's login name" + type: string + members_url: + description: "The API URL of the organization's members" + type: string + node_id: + description: The organization node ID + type: string + public_members_url: + description: "The API URL of the organization's public members" + type: string + repos_url: + description: "The API URL of the organization's repositories" + type: string + url: + description: The API URL of the organization + type: string + required: + - login + - id + - node_id + - url + - repos_url + - events_url + - hooks_url + - issues_url + - members_url + - public_members_url + - avatar_url + type: object + GithubReleaseAsset: + description: A GitHub release asset + properties: + browser_download_url: + description: The browser download URL + type: string + content_type: + description: The content type of the asset + type: string + created_at: + description: When the asset was created + format: date-time + type: string + download_count: + description: The number of downloads + type: integer + id: + description: The asset ID + type: integer + label: + description: The label of the asset + nullable: true + type: string + name: + description: The name of the asset + type: string + node_id: + description: The asset node ID + type: string + size: + description: The size of the asset in bytes + type: integer + state: + description: The state of the asset + enum: + - uploaded + - open + type: string + updated_at: + description: When the asset was last updated + format: date-time + type: string + uploader: + $ref: "#/components/schemas/GithubUser" + required: + - id + - node_id + - name + - content_type + - state + - size + - download_count + - created_at + - updated_at + - browser_download_url + - uploader + type: object + GithubReleaseWebhook: + description: GitHub release webhook payload based on official webhook documentation + properties: + action: + description: The action performed on the release + enum: + - published + - unpublished + - created + - edited + - deleted + - prereleased + - released + type: string + enterprise: + $ref: "#/components/schemas/GithubEnterprise" + installation: + $ref: "#/components/schemas/GithubInstallation" + organization: + $ref: "#/components/schemas/GithubOrganization" + release: + description: The release object + properties: + assets: + description: Array of release assets + items: + $ref: "#/components/schemas/GithubReleaseAsset" + type: array + assets_url: + description: The URL to the release assets + type: string + author: + $ref: "#/components/schemas/GithubUser" + body: + description: The release notes/body + nullable: true + type: string + created_at: + description: When the release was created + format: date-time + type: string + draft: + description: Whether the release is a draft + type: boolean + html_url: + description: The HTML URL of the release + type: string + id: + description: The ID of the release + type: integer + name: + description: The name of the release + nullable: true + type: string + node_id: + description: The node ID of the release + type: string + prerelease: + description: Whether the release is a prerelease + type: boolean + published_at: + description: When the release was published + format: date-time + nullable: true + type: string + tag_name: + description: The tag name of the release + type: string + tarball_url: + description: URL to the tarball + type: string + target_commitish: + description: The branch or commit the release was created from + type: string + upload_url: + description: The URL to upload release assets + type: string + url: + description: The API URL of the release + type: string + zipball_url: + description: URL to the zipball + type: string + required: + - id + - node_id + - url + - html_url + - tag_name + - target_commitish + - draft + - prerelease + - created_at + - author + - tarball_url + - zipball_url + - assets + type: object + repository: + $ref: "#/components/schemas/GithubRepository" + sender: + $ref: "#/components/schemas/GithubUser" + required: + - action + - release + - repository + - sender + type: object + GithubRepository: + description: A GitHub repository + properties: + clone_url: + description: The clone URL of the repository + type: string + created_at: + description: When the repository was created + format: date-time + type: string + default_branch: + description: The default branch of the repository + type: string + description: + description: The repository description + nullable: true + type: string + fork: + description: Whether the repository is a fork + type: boolean + full_name: + description: The full name of the repository (owner/repo) + type: string + git_url: + description: The git URL of the repository + type: string + html_url: + description: The HTML URL of the repository + type: string + id: + description: The repository ID + type: integer + name: + description: The name of the repository + type: string + node_id: + description: The repository node ID + type: string + owner: + $ref: "#/components/schemas/GithubUser" + private: + description: Whether the repository is private + type: boolean + pushed_at: + description: When the repository was last pushed to + format: date-time + type: string + ssh_url: + description: The SSH URL of the repository + type: string + updated_at: + description: When the repository was last updated + format: date-time + type: string + url: + description: The API URL of the repository + type: string + required: + - id + - node_id + - name + - full_name + - private + - owner + - html_url + - fork + - url + - clone_url + - git_url + - ssh_url + - default_branch + - created_at + - updated_at + - pushed_at + type: object + GithubUser: + description: A GitHub user + properties: + avatar_url: + description: "URL to the user's avatar" + type: string + gravatar_id: + description: "The user's gravatar ID" + nullable: true + type: string + html_url: + description: The HTML URL of the user + type: string + id: + description: "The user's ID" + type: integer + login: + description: "The user's login name" + type: string + node_id: + description: "The user's node ID" + type: string + site_admin: + description: Whether the user is a site admin + type: boolean + type: + description: The type of user + enum: + - Bot + - User + - Organization + type: string + url: + description: The API URL of the user + type: string + required: + - login + - id + - node_id + - avatar_url + - url + - html_url + - type + - site_admin + type: object + HitPawErrorResponse: + description: Error response from HitPaw API + properties: + error_code: + description: Error code + type: integer + message: + description: Error message + type: string + type: object + HitPawJobResponse: + description: Response from HitPaw Enhancement APIs (photo and video) + properties: + code: + description: "Status code, 200 indicates success" + example: 200 + type: integer + data: + properties: + consume_coins: + description: Number of coins consumed for this task + example: 75 + type: integer + job_id: + description: Unique identifier for the enhancement job + example: f5007c0b-e902-4070-8c75-f337d896168f + type: string + type: object + message: + description: Response message + example: OK + type: string + type: object + HitPawPhotoEnhancerRequest: + description: Request body for HitPaw Photo Enhancement API + properties: + DPI: + description: Target DPI for the output image + example: 300 + format: int64 + type: integer + exif: + description: Whether to preserve EXIF data (default false) + example: true + type: boolean + extension: + description: "File extension of the image (e.g., \".jpg\", \".png\")" + example: .jpg + type: string + img_url: + description: URL of the image to be enhanced. Must be publicly accessible. + example: https://example.com/image.jpg + format: uri + type: string + model_name: + description: "The model name to use for enhancement.\n\n**Available Models:**\n- face_2x, face_4x: Face Clear Model (2x/4x upscaling)\n- face_v2_2x, face_v2_4x: Face Natural Model (2x/4x upscaling)\n- general_2x, general_4x: General Enhance Model (2x/4x upscaling)\n- high_fidelity_2x, high_fidelity_4x: High Fidelity Model (2x/4x upscaling)\n- sharpen_denoise: Sharp Denoise Model\n- detail_denoise: Detail Denoise Model\n- generative_portrait: Generative Portrait Model\n- generative: Generative Enhance Model\n" + enum: + - face_2x + - face_4x + - face_v2_2x + - face_v2_4x + - general_2x + - general_4x + - high_fidelity_2x + - high_fidelity_4x + - sharpen_denoise + - detail_denoise + - generative_portrait + - generative + example: generative_portrait + type: string + required: + - model_name + - img_url + - extension + type: object + HitPawTaskStatusRequest: + description: Request body for HitPaw Task Status Query API + properties: + job_id: + description: Task ID obtained from Enhancement API response + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + type: string + required: + - job_id + type: object + HitPawTaskStatusResponse: + description: Response from HitPaw Task Status Query API + properties: + code: + description: "Status code, 200 indicates success" + example: 200 + type: integer + data: + properties: + job_id: + description: Task ID + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + type: string + original_url: + description: Original Image URL (photo enhancement only) + example: https://example.com/original.jpg + format: uri + type: string + res_url: + description: "Result URL, only valid when status is COMPLETED" + example: https://example.com/result.jpg + format: uri + type: string + status: + description: "Task status:\n- WAITING: The job is queued and waiting to be processed\n- CONVERTING: Processing task in progress\n- COMPLETED: Task completed successfully\n- ERROR: Task failed\n" + enum: + - WAITING + - CONVERTING + - COMPLETED + - ERROR + type: string + type: object + message: + description: Response message + example: OK + type: string + type: object + HitPawVideoEnhancerRequest: + description: Request body for HitPaw Video Enhancement API + properties: + extension: + default: .mp4 + description: "File extension for the output video (default \".mp4\")" + example: .mp4 + type: string + model_name: + description: "Model name to use for enhancement.\n\n**Available Models:**\n- face_soft: Face Soft Model\n- portrait_restore_1x: Portrait Restore Model 1x\n- portrait_restore_2x: Portrait Restore Model 2x\n- general_restore_1x: General Restore Model 1x\n- general_restore_2x: General Restore Model 2x\n- general_restore_4x: General Restore Model 4x\n- ultrahd_restore: Ultra HD Model\n- generative: Generative Model (SD)\n" + enum: + - face_soft + - portrait_restore_1x + - portrait_restore_2x + - general_restore_1x + - general_restore_2x + - general_restore_4x + - ultrahd_restore + - generative + example: general_restore_2x + type: string + original_resolution: + description: "Original video resolution [width, height]" + example: + - 1280 + - 720 + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + resolution: + description: "Target resolution [width, height]" + example: + - 1920 + - 1080 + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + video_url: + description: URL of the video to be enhanced + example: https://example.com/video.mp4 + format: uri + type: string + required: + - video_url + - model_name + - resolution + type: object + IdeogramColorPalette: + description: A color palette specification that can either use a preset name or explicit color definitions with weights + oneOf: + - properties: + name: + description: Name of the preset color palette + type: string + required: + - name + - properties: + members: + description: Array of color definitions with optional weights + items: + properties: + color: + description: Hexadecimal color code + pattern: "^#[0-9A-Fa-f]{6}$" + type: string + weight: + description: Optional weight for the color (0-1) + maximum: 1 + minimum: 0 + type: number + type: object + type: array + required: + - members + type: object + IdeogramGenerateRequest: + description: "Parameters for the Ideogram generation proxy request. Based on Ideogram's API." + properties: + image_request: + description: The image generation request parameters. + properties: + aspect_ratio: + description: "Optional. The aspect ratio (e.g., 'ASPECT_16_9', 'ASPECT_1_1'). Cannot be used with resolution. Defaults to 'ASPECT_1_1' if unspecified." + type: string + color_palette: + additionalProperties: true + description: "Optional. Color palette object. Only for V_2, V_2_TURBO." + type: object + magic_prompt_option: + description: "Optional. MagicPrompt usage ('AUTO', 'ON', 'OFF')." + type: string + model: + description: "The model used (e.g., 'V_2', 'V_2A_TURBO')" + type: string + negative_prompt: + description: "Optional. Description of what to exclude. Only for V_1, V_1_TURBO, V_2, V_2_TURBO." + type: string + num_images: + default: 1 + description: Optional. Number of images to generate (1-8). Defaults to 1. + maximum: 8 + minimum: 1 + type: integer + prompt: + description: Required. The prompt to use to generate the image. + type: string + resolution: + description: "Optional. Resolution (e.g., 'RESOLUTION_1024_1024'). Only for model V_2. Cannot be used with aspect_ratio." + type: string + seed: + description: Optional. A number between 0 and 2147483647. + format: int64 + maximum: 2147483647 + minimum: 0 + type: integer + style_type: + description: "Optional. Style type ('AUTO', 'GENERAL', 'REALISTIC', 'DESIGN', 'RENDER_3D', 'ANIME'). Only for models V_2 and above." + type: string + required: + - prompt + - model + type: object + required: + - image_request + type: object + IdeogramGenerateResponse: + description: Response from the Ideogram image generation API. + properties: + created: + description: Timestamp when the generation was created. + format: date-time + type: string + data: + description: Array of generated image information. + items: + properties: + is_image_safe: + description: Indicates whether the image is considered safe. + type: boolean + prompt: + description: The prompt used to generate this image. + type: string + resolution: + description: "The resolution of the generated image (e.g., '1024x1024')." + type: string + seed: + description: The seed value used for this generation. + type: integer + style_type: + description: "The style type used for generation (e.g., 'REALISTIC', 'ANIME')." + type: string + url: + description: URL to the generated image. + type: string + type: object + type: array + type: object + IdeogramStyleType: + default: GENERAL + enum: + - AUTO + - GENERAL + - REALISTIC + - DESIGN + - FICTION + type: string + IdeogramV3EditRequest: + properties: + character_reference_images: + description: "Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + character_reference_images_mask: + description: "Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + color_palette: + $ref: "#/components/schemas/IdeogramColorPalette" + image: + description: "The image being edited (max size 10MB); only JPEG, WebP and PNG formats are supported at this time." + format: binary + type: string + magic_prompt: + description: Determine if MagicPrompt should be used in generating the request or not. + type: string + mask: + description: "A black and white image of the same size as the image being edited (max size 10MB). Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time." + format: binary + type: string + num_images: + description: The number of images to generate. + type: integer + prompt: + description: The prompt used to describe the edited result. + type: string + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + seed: + description: Random seed. Set for reproducible generation. + type: integer + style_codes: + description: A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type. + items: + pattern: "^[0-9A-Fa-f]{8}$" + type: string + type: array + style_reference_images: + description: "A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + style_type: + $ref: "#/components/schemas/IdeogramStyleType" + required: + - prompt + - rendering_speed + type: object + IdeogramV3IdeogramResponse: + properties: + created: + format: date-time + type: string + data: + items: + properties: + is_image_safe: + type: boolean + prompt: + type: string + resolution: + type: string + seed: + type: integer + style_type: + type: string + url: + type: string + type: object + type: array + type: object + IdeogramV3ReframeRequest: + properties: + color_palette: + type: object + image: + format: binary + type: string + num_images: + maximum: 8 + minimum: 1 + type: integer + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + resolution: + type: string + seed: + maximum: 2147483647 + minimum: 0 + type: integer + style_codes: + items: + type: string + type: array + style_reference_images: + items: + format: binary + type: string + type: array + required: + - resolution + type: object + IdeogramV3RemixRequest: + properties: + aspect_ratio: + type: string + character_reference_images: + description: "Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + character_reference_images_mask: + description: "Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + color_palette: + type: object + image: + format: binary + type: string + image_weight: + default: 50 + maximum: 100 + minimum: 1 + type: integer + magic_prompt: + enum: + - AUTO + - "ON" + - "OFF" + type: string + negative_prompt: + type: string + num_images: + maximum: 8 + minimum: 1 + type: integer + prompt: + type: string + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + resolution: + type: string + seed: + maximum: 2147483647 + minimum: 0 + type: integer + style_codes: + items: + type: string + type: array + style_reference_images: + items: + format: binary + type: string + type: array + style_type: + $ref: "#/components/schemas/IdeogramStyleType" + required: + - prompt + type: object + IdeogramV3ReplaceBackgroundRequest: + properties: + color_palette: + type: object + image: + format: binary + type: string + magic_prompt: + enum: + - AUTO + - "ON" + - "OFF" + type: string + num_images: + maximum: 8 + minimum: 1 + type: integer + prompt: + type: string + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + seed: + maximum: 2147483647 + minimum: 0 + type: integer + style_codes: + items: + type: string + type: array + style_reference_images: + items: + format: binary + type: string + type: array + required: + - prompt + type: object + IdeogramV3Request: + properties: + aspect_ratio: + description: Aspect ratio in format WxH + example: 1x3 + type: string + character_reference_images: + description: "Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + character_reference_images_mask: + description: "Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format." + items: + format: binary + type: string + type: array + color_palette: + properties: + name: + description: Name of the color palette + example: PASTEL + type: string + required: + - name + type: object + magic_prompt: + description: Whether to enable magic prompt enhancement + enum: + - "ON" + - "OFF" + type: string + negative_prompt: + description: Text prompt specifying what to avoid in the generation + type: string + num_images: + description: Number of images to generate + minimum: 1 + type: integer + prompt: + description: The text prompt for image generation + type: string + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + resolution: + description: Image resolution in format WxH + example: 1280x800 + type: string + seed: + description: Seed value for reproducible generation + type: integer + style_codes: + description: Array of style codes in hexadecimal format + items: + pattern: "^[0-9A-Fa-f]{8}$" + type: string + type: array + style_reference_images: + description: Array of reference image URLs or identifiers + items: + format: binary + type: string + type: array + style_type: + $ref: "#/components/schemas/IdeogramStyleType" + required: + - prompt + - rendering_speed + type: object + IdeogramV4Request: + description: Parameters for the Ideogram 4.0 (V4) text-to-image generation proxy request. Supply exactly one of text_prompt or json_prompt. + properties: + enable_copyright_detection: + description: Opt into post-generation copyright detection (Hive likeness and logo checks). + type: boolean + json_prompt: + additionalProperties: true + description: Structured V4 prompt. Disables Magic Prompt; consumed directly. Supply exactly one of text_prompt or json_prompt. + type: object + rendering_speed: + $ref: "#/components/schemas/RenderingSpeed" + resolution: + description: "Output resolution in WIDTHxHEIGHT. Omit to let the model pick an aspect ratio. Supported 2K values: 2048x2048, 1440x2880, 2880x1440, 1664x2496, 2496x1664, 1792x2240, 2240x1792, 1440x2560, 2560x1440, 1600x2560, 2560x1600, 1728x2304, 2304x1728, 1296x3168, 3168x1296, 1152x2944, 2944x1152, 1248x3328, 3328x1248, 1280x3072, 3072x1280." + example: 2048x2048 + type: string + text_prompt: + description: Natural-language prompt. Enables Magic Prompt automatically. Supply exactly one of text_prompt or json_prompt. + type: string + type: object + ImageGenerationServerTool_OpenRouter: + description: "OpenRouter built-in server tool: generates images from text prompts using an image generation model" + properties: + parameters: + $ref: "#/components/schemas/OpenRouterImageGenerationServerToolConfig" + type: + $ref: "#/components/schemas/OpenRouterImageGenerationServerToolOpenRouterType" + required: + - type + title: ImageGenerationServerTool_OpenRouter + type: object + ImagenGenerateImageRequest: + properties: + instances: + items: + $ref: "#/components/schemas/ImagenImageGenerationInstance" + type: array + parameters: + $ref: "#/components/schemas/ImagenImageGenerationParameters" + required: + - instances + - parameters + type: object + ImagenGenerateImageResponse: + properties: + predictions: + items: + $ref: "#/components/schemas/ImagenImagePrediction" + type: array + type: object + ImagenImageGenerationInstance: + properties: + prompt: + description: Text prompt for image generation + type: string + required: + - prompt + type: object + ImagenImageGenerationParameters: + properties: + addWatermark: + type: boolean + aspectRatio: + enum: + - 1:1 + - 9:16 + - 16:9 + - 3:4 + - 4:3 + type: string + enhancePrompt: + type: boolean + includeRaiReason: + type: boolean + includeSafetyAttributes: + type: boolean + outputOptions: + $ref: "#/components/schemas/ImagenOutputOptions" + personGeneration: + enum: + - dont_allow + - allow_adult + - allow_all + type: string + safetySetting: + enum: + - block_most + - block_some + - block_few + - block_fewest + type: string + sampleCount: + maximum: 4 + minimum: 1 + type: integer + seed: + format: uint32 + type: integer + storageUri: + format: uri + type: string + type: object + ImagenImagePrediction: + properties: + bytesBase64Encoded: + description: Base64-encoded image content + format: byte + type: string + mimeType: + description: MIME type of the generated image + type: string + prompt: + description: Enhanced or rewritten prompt used to generate this image + type: string + type: object + ImagenOutputOptions: + properties: + compressionQuality: + maximum: 100 + minimum: 0 + type: integer + mimeType: + enum: + - image/png + - image/jpeg + type: string + type: object + Includable: + description: "Specify additional output data to include in the model response. Currently\nsupported values are:\n- `file_search_call.results`: Include the search results of\n the file search tool call.\n- `message.input_image.image_url`: Include image urls from the input message.\n- `computer_call_output.output.image_url`: Include image urls from the computer call output.\n" + enum: + - file_search_call.results + - message.input_image.image_url + - computer_call_output.output.image_url + type: string + InputContent: + oneOf: + - $ref: "#/components/schemas/InputTextContent" + - $ref: "#/components/schemas/InputImageContent" + - $ref: "#/components/schemas/InputFileContent" + InputFileContent: + description: A file input to the model. + properties: + file_data: + description: "The content of the file to be sent to the model.\n" + type: string + file_id: + description: The ID of the file to be sent to the model. + type: string + filename: + description: The name of the file to be sent to the model. + type: string + type: + default: input_file + description: "The type of the input item. Always `input_file`." + enum: + - input_file + type: string + x-stainless-const: true + required: + - type + title: Input file + type: object + InputImageContent: + description: "An image input to the model. Learn about [image inputs](/docs/guides/vision)." + properties: + detail: + description: "The detail level of the image to be sent to the model. One of `high`, `low`, or `auto`. Defaults to `auto`." + enum: + - low + - high + - auto + type: string + file_id: + description: The ID of the file to be sent to the model. + type: string + image_url: + description: The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. + type: string + type: + default: input_image + description: "The type of the input item. Always `input_image`." + enum: + - input_image + type: string + x-stainless-const: true + required: + - type + - detail + title: Input image + type: object + InputItem: + oneOf: + - $ref: "#/components/schemas/EasyInputMessage" + - $ref: "#/components/schemas/Item" + InputMessage: + properties: + content: + $ref: "#/components/schemas/InputMessageContentList" + role: + enum: + - user + - system + - developer + type: string + status: + enum: + - in_progress + - completed + - incomplete + type: string + type: + enum: + - message + type: string + type: object + InputMessageContentList: + description: "A list of one or many input items to the model, containing different content\ntypes.\n" + items: + $ref: "#/components/schemas/InputContent" + title: Input item content list + type: array + InputTextContent: + description: A text input to the model. + properties: + text: + description: The text input to the model. + type: string + type: + default: input_text + description: "The type of the input item. Always `input_text`." + enum: + - input_text + type: string + x-stainless-const: true + required: + - type + - text + title: Input text + type: object + Item: + description: "Content item used to generate a response.\n" + oneOf: + - $ref: "#/components/schemas/InputMessage" + - $ref: "#/components/schemas/OutputMessage" + - $ref: "#/components/schemas/FileSearchToolCall" + - $ref: "#/components/schemas/ComputerToolCall" + - $ref: "#/components/schemas/WebSearchToolCall" + - $ref: "#/components/schemas/FunctionToolCall" + - $ref: "#/components/schemas/ReasoningItem" + type: object + KlingAudioUploadType: + description: Method of Transmitting Audio Files for Lip-Sync. Required when mode is audio2video. + enum: + - file + - url + type: string + KlingAvatarMode: + default: std + description: "Video generation mode. std: Standard Mode (cost-effective), pro: Professional Mode (longer duration, higher quality)." + enum: + - std + - pro + type: string + KlingAvatarRequest: + properties: + audio_id: + description: Audio ID Generated via TTS API. Only supports 2-300 second audio generated within the last 30 days. Either audio_id or sound_file must be provided (mutually exclusive). + type: string + callback_url: + description: The callback notification address for the result of this task. + format: uri + type: string + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + image: + description: "Avatar Reference Image. Supports Base64 encoding or image URL. Supported formats: .jpg/.jpeg/.png. Max 10MB, min 300px width/height, aspect ratio between 1:2.5 and 2.5:1." + type: string + mode: + $ref: "#/components/schemas/KlingAvatarMode" + prompt: + description: "Positive text prompt. Can define avatar actions, emotions, and camera movements." + maxLength: 2500 + type: string + sound_file: + description: "Sound File. Supports Base64-encoded audio or accessible audio URL. Accepted formats: .mp3/.wav/.m4a/.aac (max 5MB), 2-300 seconds. Either audio_id or sound_file must be provided (mutually exclusive)." + type: string + watermark_info: + properties: + enabled: + description: Whether to generate watermarked results simultaneously. + type: boolean + type: object + required: + - image + type: object + KlingAvatarResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: Task creation time + type: integer + final_unit_deduction: + description: The deduction units of task + type: string + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: Task status information + type: string + updated_at: + description: Task update time + type: integer + watermark_info: + properties: + enabled: + type: boolean + type: object + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingCameraConfig: + properties: + horizontal: + description: "Controls camera's movement along horizontal axis (x-axis). Negative indicates left, positive indicates right." + maximum: 10 + minimum: -10 + type: number + pan: + description: "Controls camera's rotation in vertical plane (x-axis). Negative indicates downward rotation, positive indicates upward rotation." + maximum: 10 + minimum: -10 + type: number + roll: + description: "Controls camera's rolling amount (z-axis). Negative indicates counterclockwise, positive indicates clockwise." + maximum: 10 + minimum: -10 + type: number + tilt: + description: "Controls camera's rotation in horizontal plane (y-axis). Negative indicates left rotation, positive indicates right rotation." + maximum: 10 + minimum: -10 + type: number + vertical: + description: "Controls camera's movement along vertical axis (y-axis). Negative indicates downward, positive indicates upward." + maximum: 10 + minimum: -10 + type: number + zoom: + description: "Controls change in camera's focal length. Negative indicates narrower field of view, positive indicates wider field of view." + maximum: 10 + minimum: -10 + type: number + type: object + KlingCameraControl: + properties: + config: + $ref: "#/components/schemas/KlingCameraConfig" + type: + $ref: "#/components/schemas/KlingCameraControlType" + type: object + KlingCameraControlType: + description: "Predefined camera movements type. simple: Customizable camera movement. down_back: Camera descends and moves backward. forward_up: Camera moves forward and tilts up. right_turn_forward: Rotate right and move forward. left_turn_forward: Rotate left and move forward." + enum: + - simple + - down_back + - forward_up + - right_turn_forward + - left_turn_forward + type: string + KlingCharacterEffectModelName: + default: kling-v1 + description: "Model Name. Can be kling-v1, kling-v1-5, or kling-v1-6." + enum: + - kling-v1 + - kling-v1-5 + - kling-v1-6 + type: string + KlingDualCharacterEffectInput: + properties: + duration: + $ref: "#/components/schemas/KlingVideoGenDuration" + images: + $ref: "#/components/schemas/KlingDualCharacterImages" + mode: + $ref: "#/components/schemas/KlingVideoGenMode" + model_name: + $ref: "#/components/schemas/KlingCharacterEffectModelName" + required: + - images + - duration + type: object + KlingDualCharacterEffectsScene: + description: "Scene Name. Dual-character Effects (hug, kiss, heart_gesture)." + enum: + - hug + - kiss + - heart_gesture + type: string + KlingDualCharacterImages: + items: + description: "Reference Image Group. Must contain exactly 2 images. First image will be positioned on left side, second on right side of the composite. Each image follows the same requirements as single image effects." + type: string + maxItems: 2 + minItems: 2 + type: array + KlingErrorResponse: + properties: + code: + description: "- 1000: Authentication failed\n- 1001: Authorization is empty\n- 1002: Authorization is invalid\n- 1003: Authorization is not yet valid\n- 1004: Authorization has expired\n- 1100: Account exception\n- 1101: Account in arrears (postpaid scenario)\n- 1102: Resource pack depleted or expired (prepaid scenario)\n- 1103: Unauthorized access to requested resource\n- 1200: Invalid request parameters\n- 1201: Invalid parameters\n- 1202: Invalid request method\n- 1203: Requested resource does not exist\n- 1300: Trigger platform strategy\n- 1301: Trigger content security policy\n- 1302: API request too frequent\n- 1303: Concurrency/QPS exceeds limit\n- 1304: Trigger IP whitelist policy\n- 5000: Internal server error\n- 5001: Service temporarily unavailable\n- 5002: Server internal timeout\n" + type: integer + message: + description: Human-readable error message + type: string + request_id: + description: Request ID for tracking and troubleshooting + type: string + required: + - code + - message + - request_id + type: object + KlingImage2VideoRequest: + properties: + callback_url: + description: The callback notification address. Server will notify when the task status changes. + format: uri + type: string + camera_control: + $ref: "#/components/schemas/KlingCameraControl" + cfg_scale: + $ref: "#/components/schemas/KlingVideoGenCfgScale" + duration: + $ref: "#/components/schemas/KlingVideoGenDuration" + dynamic_masks: + description: "Dynamic Brush Configuration List (up to 6 groups). For 5-second videos, trajectory length must not exceed 77 coordinates." + items: + properties: + mask: + description: Dynamic Brush Application Area (Mask image created by users using the motion brush). The aspect ratio must match the input image. + format: uri + type: string + trajectories: + items: + properties: + x: + description: "The horizontal coordinate of trajectory point. Based on bottom-left corner of image as origin (0,0)." + type: integer + "y": + description: "The vertical coordinate of trajectory point. Based on bottom-left corner of image as origin (0,0)." + type: integer + type: object + type: array + type: object + type: array + element_list: + description: Reference Element List based on element ID configuration. Supports up to 3 reference elements. The element_list and voice_list parameters are mutually exclusive. + items: + properties: + element_id: + description: Element ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + image: + description: "Reference Image - URL or Base64 encoded string, cannot exceed 10MB, resolution not less than 300*300px, aspect ratio between 1:2.5 ~ 2.5:1. Base64 should not include data:image prefix." + type: string + image_tail: + description: "Reference Image - End frame control. URL or Base64 encoded string, cannot exceed 10MB, resolution not less than 300*300px. Base64 should not include data:image prefix. Cannot be used simultaneously with dynamic_masks/static_mask or camera_control." + type: string + mode: + $ref: "#/components/schemas/KlingVideoGenMode" + model_name: + $ref: "#/components/schemas/KlingVideoGenModelName" + multi_prompt: + description: "Information about each storyboard, such as prompts and duration. Supports up to 6 storyboards, with a minimum of 1. Required when multi_shot is true and shot_type is customize." + items: + properties: + duration: + description: Duration of this storyboard in seconds. Must not exceed total task duration and must not be less than 1. Sum of all storyboard durations equals total task duration. + type: string + index: + description: Shot sequence number + type: integer + prompt: + description: Prompt word for this storyboard. Maximum length 512 characters. + maxLength: 512 + type: string + type: object + type: array + multi_shot: + default: false + description: "Whether to generate multi-shot video. When true, the prompt parameter is invalid. When false, the shot_type and multi_prompt parameters are invalid." + type: boolean + negative_prompt: + description: Negative text prompt. It is recommended to supplement negative prompt information through negative sentences directly within positive prompts. + maxLength: 2500 + type: string + prompt: + description: "Positive text prompt. Use <<>> to specify a voice matching the voice_list parameter order. A task can reference up to 2 tones. When specifying a tone, the sound parameter value must be on." + maxLength: 2500 + type: string + shot_type: + description: Storyboard method. Required when the multi_shot parameter is set to true. + enum: + - customize + - intelligence + type: string + sound: + default: "off" + description: Whether to generate sound simultaneously when generating videos. Only V2.6 and subsequent versions of the model support this parameter. + enum: + - "on" + - "off" + type: string + static_mask: + description: Static Brush Application Area (Mask image created by users using the motion brush). The aspect ratio must match the input image. + type: string + voice_list: + description: List of voices referenced when generating videos. Supports up to 2 voices. The element_list and voice_list parameters are mutually exclusive. + items: + properties: + voice_id: + description: Voice ID returned through the voice customization API or a system preset voice ID. + type: string + type: object + type: array + watermark_info: + description: Whether to generate watermarked results simultaneously. Custom watermark is not supported at this time. + properties: + enabled: + description: "true means generate watermark, false means do not generate." + type: boolean + type: object + type: object + KlingImageGenAspectRatio: + default: 16:9 + description: Aspect ratio of the generated images + enum: + - 16:9 + - 9:16 + - 1:1 + - 4:3 + - 3:4 + - 3:2 + - 2:3 + - 21:9 + type: string + KlingImageGenImageReferenceType: + description: Image reference type + enum: + - subject + - face + type: string + KlingImageGenModelName: + default: kling-v1 + description: Model Name + enum: + - kling-v1 + - kling-v1-5 + - kling-v2 + - kling-v3 + type: string + KlingImageGenerationsRequest: + properties: + aspect_ratio: + $ref: "#/components/schemas/KlingImageGenAspectRatio" + callback_url: + description: The callback notification address + format: uri + type: string + element_list: + description: Reference Element List based on element ID configuration. The sum of reference elements and reference images shall not exceed 10. + items: + properties: + element_id: + description: Element ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + human_fidelity: + default: 0.45 + description: Subject reference similarity + maximum: 1 + minimum: 0 + type: number + image: + description: "Reference Image - Base64 encoded string or image URL. Supported formats include .jpg/.jpeg/.png. File size cannot exceed 10MB. Width and height dimensions shall not be less than 300px, aspect ratio between 1:2.5 ~ 2.5:1. Required when image_reference is not empty." + type: string + image_fidelity: + default: 0.5 + description: Reference intensity for user-uploaded images + maximum: 1 + minimum: 0 + type: number + image_reference: + $ref: "#/components/schemas/KlingImageGenImageReferenceType" + model_name: + $ref: "#/components/schemas/KlingImageGenModelName" + "n": + default: 1 + description: "Number of generated images. Value range [1,9]." + maximum: 9 + minimum: 1 + type: integer + negative_prompt: + description: Negative text prompt. Cannot exceed 2500 characters. It is recommended to supplement negative prompt information through negative sentences directly within positive prompts. Not supported in Image-to-Image scenario (when image field is not empty). + maxLength: 2500 + type: string + prompt: + description: "Positive text prompt. Must not exceed 2,500 characters." + maxLength: 2500 + type: string + resolution: + default: 1k + description: "Image generation resolution. 1k is 1K standard, 2k is 2K high-res." + enum: + - 1k + - 2k + type: string + required: + - prompt + type: object + KlingImageGenerationsResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: "Task creation time, Unix timestamp in milliseconds" + type: integer + final_unit_deduction: + description: The deduction units of task + type: string + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + description: Customer-defined task ID + type: string + type: object + task_result: + properties: + images: + items: + $ref: "#/components/schemas/KlingImageResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: "Task status information, displaying the failure reason when the task fails" + type: string + updated_at: + description: "Task update time, Unix timestamp in milliseconds" + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingImageResult: + properties: + index: + description: Image Number (0-9) + type: integer + url: + description: URL for generated image + format: uri + type: string + type: object + KlingLipSyncInputObject: + properties: + audio_file: + description: "Local Path of Audio File. Supported formats: .mp3/.wav/.m4a/.aac, maximum file size of 5MB. Base64 code." + type: string + audio_type: + $ref: "#/components/schemas/KlingAudioUploadType" + audio_url: + description: "Audio File Download URL. Supported formats: .mp3/.wav/.m4a/.aac, maximum file size of 5MB." + type: string + mode: + $ref: "#/components/schemas/KlingLipSyncMode" + text: + description: Text Content for Lip-Sync Video Generation. Required when mode is text2video. Maximum length is 120 characters. + type: string + video_id: + description: The ID of the video generated by Kling AI. Only supports 5-second and 10-second videos generated within the last 30 days. + type: string + video_url: + description: "Get link for uploaded video. Video files support .mp4/.mov, file size does not exceed 100MB, video length between 2-10s." + type: string + voice_id: + description: Voice ID. Required when mode is text2video. The system offers a variety of voice options to choose from. + type: string + voice_language: + $ref: "#/components/schemas/KlingLipSyncVoiceLanguage" + voice_speed: + default: 1 + description: "Speech Rate. Valid range: 0.8~2.0, accurate to one decimal place." + maximum: 2 + minimum: 0.8 + type: number + required: + - mode + type: object + KlingLipSyncMode: + description: "Video Generation Mode. text2video: Text-to-video generation mode; audio2video: Audio-to-video generation mode" + enum: + - text2video + - audio2video + type: string + KlingLipSyncRequest: + properties: + callback_url: + description: The callback notification address. Server will notify when the task status changes. + format: uri + type: string + input: + $ref: "#/components/schemas/KlingLipSyncInputObject" + required: + - input + type: object + KlingLipSyncResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: Task creation time + type: integer + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + updated_at: + description: Task update time + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingLipSyncVoiceLanguage: + default: en + description: The voice language corresponds to the Voice ID. + enum: + - zh + - en + type: string + KlingMotionControlRequest: + properties: + callback_url: + description: "The callback notification address for the result of this task. If configured, the server will actively notify when the task status changes." + format: uri + type: string + character_orientation: + description: Generate the orientation of the characters in the video. image - same orientation as the person in the picture (reference video duration should not exceed 10 seconds). video - consistent with the orientation of the characters in the video (reference video duration should not exceed 30 seconds). + enum: + - image + - video + type: string + element_list: + description: Reference Element List based on element ID configuration. Currently only one element can be introduced. + items: + properties: + element_id: + description: Element ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: "Customized Task ID. Users can provide a customized task ID, which will not overwrite the system-generated task ID but can be used for task queries. Must be unique within a single user account." + type: string + image_url: + description: "Reference Image. The characters, backgrounds, and other elements in the generated video are based on the reference image. Supports inputting image Base64 encoding or image URL (ensure accessibility). Supported image formats include .jpg / .jpeg / .png. The image file size cannot exceed 10MB, and the width and height dimensions of the image range from 300px to 65536px, and the aspect ratio of the image should be between 1:2.5 ~ 2.5:1." + type: string + keep_original_sound: + default: "yes" + description: "Whether to keep the original sound of the video. Enumeration values - yes (Keep the original sound), no (do not retain the original video sound)." + enum: + - "yes" + - "no" + type: string + mode: + description: Video generation mode. std - Standard Mode (cost-effective). pro - Professional Mode (longer duration but higher quality video output). + enum: + - std + - pro + type: string + model_name: + default: kling-v2-6 + description: "Model name for motion control. Enum values - kling-v2-6, kling-v3." + enum: + - kling-v2-6 + - kling-v3 + type: string + prompt: + description: "Text prompt words, which can include positive and negative descriptions. Cannot exceed 2500 characters." + maxLength: 2500 + type: string + video_url: + description: "The URL of the reference video. The character actions in the generated video are consistent with the reference video. The video file supports .mp4/.mov, with a file size not exceeding 100MB, and only supports side lengths between 340px and 3850px. The lower limit of video duration should not be less than 3 seconds, and the upper limit depends on character_orientation." + type: string + watermark_info: + description: Whether to generate watermarked results simultaneously. Custom watermark is not supported at this time. + properties: + enabled: + description: "true means generate watermark, false means do not generate." + type: boolean + type: object + required: + - image_url + - video_url + - character_orientation + - mode + type: object + KlingMotionControlResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: "Task creation time, Unix timestamp, unit ms" + type: integer + final_unit_deduction: + description: The deduction units of task + type: string + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + description: Customer-defined task ID + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingMotionControlVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: "Task status information, displaying the failure reason when the task fails" + type: string + updated_at: + description: "Task update time, Unix timestamp, unit ms" + type: integer + watermark_info: + properties: + enabled: + type: boolean + type: object + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingMotionControlVideoResult: + properties: + duration: + description: "Total video duration, unit - s (seconds)" + type: string + id: + description: Generated video ID; globally unique + type: string + url: + description: URL for generating videos + type: string + watermark_url: + description: "URL for generating videos with watermark, hotlink protection format" + type: string + type: object + KlingOmniImageRequest: + properties: + aspect_ratio: + default: auto + description: Aspect ratio of the generated images (width:height). auto is to intelligently generate images based on incoming content. + enum: + - 16:9 + - 9:16 + - 1:1 + - 4:3 + - 3:4 + - 3:2 + - 2:3 + - 21:9 + - auto + type: string + callback_url: + description: "The callback notification address for the result of this task. If configured, the server will actively notify when the task status changes." + format: uri + type: string + element_list: + description: Reference Element List based on element ID configuration. The sum of reference elements and reference images shall not exceed 10. + items: + properties: + element_id: + description: Element ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + image_list: + description: "Reference Image List. Supports inputting image Base64 encoding or image URL (ensure accessibility). Supported formats include .jpg/.jpeg/.png. File size cannot exceed 10MB. Width and height dimensions shall not be less than 300px, aspect ratio between 1:2.5 ~ 2.5:1. The sum of reference elements and reference images shall not exceed 10." + items: + properties: + image: + description: Image Base64 encoding or image URL (ensure accessibility) + type: string + type: object + type: array + model_name: + default: kling-image-o1 + description: Model Name + enum: + - kling-image-o1 + - kling-v3-omni + type: string + "n": + default: 1 + description: "Number of generated images. Value range [1,9]." + maximum: 9 + minimum: 1 + type: integer + prompt: + description: "Text prompt words, which can include positive and negative descriptions. Must not exceed 2,500 characters. The Omni model can achieve various capabilities through Prompt with elements and images. Specify an image in the format of <<<>>>, such as <<>>." + maxLength: 2500 + type: string + resolution: + default: 1k + description: "Image generation resolution. 1k is 1K standard, 2k is 2K high-res, 4k is 4K high-res." + enum: + - 1k + - 2k + - 4k + type: string + result_type: + default: single + description: Control whether to generate a single image or a series of images. + enum: + - single + - series + type: string + series_amount: + default: 4 + description: "Number of images in a series. Value range [2,9]." + maximum: 9 + minimum: 2 + type: integer + required: + - prompt + type: object + KlingOmniImageResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: "Task creation time, Unix timestamp in milliseconds" + type: integer + final_unit_deduction: + description: The deduction units of task + type: string + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + description: Customer-defined task ID + type: string + type: object + task_result: + properties: + images: + items: + $ref: "#/components/schemas/KlingImageResult" + type: array + result_type: + description: Whether the result is a single image or a series of images + enum: + - single + - series + type: string + series_images: + description: Series images result list + items: + properties: + index: + description: Series-image sequence number + type: integer + url: + description: URL for generated image + format: uri + type: string + type: object + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: "Task status information, displaying the failure reason when the task fails (such as triggering the content risk control of the platform, etc.)" + type: string + updated_at: + description: "Task update time, Unix timestamp in milliseconds" + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingOmniVideoRequest: + properties: + aspect_ratio: + description: The aspect ratio of the generated video frame (width:height). Required when first-frame reference or video editing features are not used. + enum: + - 16:9 + - 9:16 + - 1:1 + type: string + callback_url: + description: "The callback notification address for the result of this task. If configured, the server will actively notify when the task status changes." + format: uri + type: string + duration: + default: "5" + description: "Video Length in seconds. When using video editing function (refer_type: base), output duration is the same as input video and this parameter is invalid." + enum: + - "3" + - "4" + - "5" + - "6" + - "7" + - "8" + - "9" + - "10" + - "11" + - "12" + - "13" + - "14" + - "15" + type: string + element_list: + description: Reference Element List based on element ID configuration. + items: + properties: + element_id: + description: Element ID + format: int64 + type: integer + type: object + type: array + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + image_list: + description: "Reference Image List. Can include reference images of the element, scene, style, etc., or be used as the first or last frame to generate videos." + items: + properties: + image_url: + description: "Image Base64 encoding or image URL (ensure accessibility). Supported formats include .jpg/.jpeg/.png. File size cannot exceed 10MB. Width and height dimensions shall not be less than 300px, aspect ratio between 1:2.5 ~ 2.5:1." + type: string + type: + description: "Whether the image is in the first or last frame. first_frame is the first frame, end_frame is the last frame. Currently does not support only the end frame." + enum: + - first_frame + - end_frame + type: string + type: object + type: array + mode: + default: pro + description: "Video generation mode. std: Standard Mode, generating 720P videos, cost-effective. pro: Professional Mode, generating 1080P videos, higher quality video output." + enum: + - pro + - std + type: string + model_name: + default: kling-video-o1 + description: Model Name + enum: + - kling-video-o1 + - kling-v3-omni + type: string + multi_prompt: + description: "Information about each storyboard, such as prompts and duration. Supports up to 6 storyboards, with a minimum of 1. Required when multi_shot is true and shot_type is customize." + items: + properties: + duration: + description: Duration of this storyboard in seconds. Must not exceed total task duration and must not be less than 1. Sum of all storyboard durations equals total task duration. + type: string + index: + description: Shot sequence number + type: integer + prompt: + description: Prompt word for this storyboard. Maximum length 512 characters. + maxLength: 512 + type: string + type: object + type: array + multi_shot: + default: false + description: "Whether to generate multi-shot video. When true, the prompt parameter is invalid. When false, the shot_type and multi_prompt parameters are invalid." + type: boolean + prompt: + description: "Text prompt words, which can include positive and negative descriptions. Must not exceed 2,500 characters. Can specify elements, images, or videos in the format <<<>>> such as <>, <<>>, <<>>." + maxLength: 2500 + type: string + shot_type: + description: Storyboard method. Required when the multi_shot parameter is set to true. + enum: + - customize + - intelligence + type: string + sound: + default: "off" + description: Whether sound is generated simultaneously when generating videos. + enum: + - "on" + - "off" + type: string + video_list: + description: "Reference Video list. Can be used as a reference video for feature or as a video to be edited, with the default being the video to be edited." + items: + properties: + keep_original_sound: + description: "Whether to keep the video original sound. yes indicates retention, no indicates non retention." + enum: + - "yes" + - "no" + type: string + refer_type: + description: "Reference video type. feature is the feature reference video, base is the video to be edited." + enum: + - feature + - base + type: string + video_url: + description: "URL of uploaded video. Only .mp4/.mov formats are supported. Duration between 3-10 seconds. Resolution must be between 720px and 2160px. Frame rates of 24-60 fps supported. Only 1 video can be uploaded, with size not exceeding 200MB." + type: string + type: object + type: array + watermark_info: + description: Whether to generate watermarked results simultaneously. Custom watermark is not supported at this time. + properties: + enabled: + description: "true means generate watermark, false means do not generate." + type: boolean + type: object + type: object + KlingPresetsElement: + properties: + element_description: + type: string + element_id: + format: int64 + type: integer + element_image_list: + properties: + frontal_image: + type: string + refer_images: + items: + properties: + image_url: + type: string + type: object + type: array + type: object + element_name: + type: string + element_video_list: + properties: + refer_videos: + items: + properties: + video_url: + type: string + type: object + type: array + type: object + element_voice_info: + properties: + owned_by: + type: string + trial_url: + type: string + voice_id: + type: string + voice_name: + type: string + type: object + owned_by: + type: string + reference_type: + type: string + tag_list: + items: + properties: + description: + type: string + id: + type: string + name: + type: string + type: object + type: array + type: object + KlingPresetsElementTask: + properties: + created_at: + description: "Task creation time, Unix timestamp in ms" + type: integer + final_unit_deduction: + type: string + task_id: + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + elements: + items: + $ref: "#/components/schemas/KlingPresetsElement" + type: array + type: object + task_status: + enum: + - submitted + - processing + - succeed + - failed + type: string + task_status_msg: + type: string + updated_at: + description: "Task update time, Unix timestamp in ms" + type: integer + type: object + KlingPresetsElementsResponse: + properties: + code: + type: integer + data: + items: + $ref: "#/components/schemas/KlingPresetsElementTask" + type: array + message: + type: string + request_id: + type: string + type: object + KlingQueryTaskResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: "Task creation time, Unix timestamp in milliseconds" + type: integer + final_unit_deduction: + description: The deduction units of task + type: string + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: "Task status information, displaying the failure reason when the task fails" + type: string + updated_at: + description: "Task update time, Unix timestamp in milliseconds" + type: integer + watermark_info: + properties: + enabled: + type: boolean + type: object + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingResourcePackageResponse: + properties: + code: + description: Error code; 0 indicates success + type: integer + data: + properties: + code: + description: Error code; 0 indicates success + type: integer + msg: + description: Error information + type: string + resource_pack_subscribe_infos: + description: Resource package list + items: + properties: + effective_time: + description: "Effective time, Unix timestamp in ms" + format: int64 + type: integer + invalid_time: + description: "Expiration time, Unix timestamp in ms" + format: int64 + type: integer + purchase_time: + description: "Purchase time, Unix timestamp in ms" + format: int64 + type: integer + remaining_quantity: + description: Remaining quantity (updated with a 12-hour delay) + format: float + type: number + resource_pack_id: + description: Resource package ID + type: string + resource_pack_name: + description: Resource package name + type: string + resource_pack_type: + description: "Resource package type (decreasing_total=decreasing total, constant_period=constant periodicity)" + enum: + - decreasing_total + - constant_period + type: string + status: + description: Resource Package Status + enum: + - toBeOnline + - online + - expired + - runOut + type: string + total_quantity: + description: Total quantity + format: float + type: number + type: object + type: array + type: object + message: + description: Error information + type: string + request_id: + description: "Request ID, generated by the system, used to track requests and troubleshoot problems" + type: string + type: object + KlingSingleImageEffectDuration: + description: Video Length in seconds. Only 5-second videos are supported. + enum: + - "5" + type: string + KlingSingleImageEffectInput: + properties: + duration: + $ref: "#/components/schemas/KlingSingleImageEffectDuration" + image: + description: "Reference Image. URL or Base64 encoded string (without data:image prefix). File size cannot exceed 10MB, resolution not less than 300*300px, aspect ratio between 1:2.5 ~ 2.5:1." + type: string + model_name: + $ref: "#/components/schemas/KlingSingleImageEffectModelName" + required: + - model_name + - image + - duration + type: object + KlingSingleImageEffectModelName: + description: Model Name. Only kling-v1-6 is supported for single image effects. + enum: + - kling-v1-6 + type: string + KlingSingleImageEffectsScene: + description: "Scene Name. Single Image Effects (bloombloom, dizzydizzy, fuzzyfuzzy, squish, expansion)." + enum: + - bloombloom + - dizzydizzy + - fuzzyfuzzy + - squish + - expansion + type: string + KlingTaskStatus: + description: Task Status + enum: + - submitted + - processing + - succeed + - failed + type: string + KlingText2VideoRequest: + properties: + aspect_ratio: + $ref: "#/components/schemas/KlingVideoGenAspectRatio" + callback_url: + description: The callback notification address + format: uri + type: string + camera_control: + $ref: "#/components/schemas/KlingCameraControl" + cfg_scale: + $ref: "#/components/schemas/KlingVideoGenCfgScale" + duration: + $ref: "#/components/schemas/KlingVideoGenDuration" + external_task_id: + description: Customized Task ID + type: string + mode: + $ref: "#/components/schemas/KlingVideoGenMode" + model_name: + $ref: "#/components/schemas/KlingTextToVideoModelName" + multi_prompt: + description: "Information about each storyboard, such as prompts and duration. Supports up to 6 storyboards, with a minimum of 1. Required when multi_shot is true and shot_type is customize." + items: + properties: + duration: + description: Duration of this storyboard in seconds. Must not exceed total task duration and must not be less than 1. Sum of all storyboard durations equals total task duration. + type: string + index: + description: Shot sequence number + type: integer + prompt: + description: Prompt word for this storyboard. Maximum length 512 characters. + maxLength: 512 + type: string + type: object + type: array + multi_shot: + default: false + description: "Whether to generate multi-shot video. When true, the prompt parameter is invalid. When false, the shot_type and multi_prompt parameters are invalid." + type: boolean + negative_prompt: + description: Negative text prompt. It is recommended to supplement negative prompt information through negative sentences directly within positive prompts. + maxLength: 2500 + type: string + prompt: + description: "Positive text prompt. Use <<>> to specify a voice matching the voice_list parameter order. A task can reference up to 2 tones. When specifying a tone, the sound parameter value must be on." + maxLength: 2500 + type: string + shot_type: + description: Storyboard method. Required when the multi_shot parameter is set to true. + enum: + - customize + - intelligence + type: string + sound: + default: "off" + description: Whether to generate sound simultaneously when generating videos. Only V2.6 and subsequent versions of the model support this parameter. + enum: + - "on" + - "off" + type: string + watermark_info: + description: Whether to generate watermarked results simultaneously. Custom watermark is not supported at this time. + properties: + enabled: + description: "true means generate watermark, false means do not generate." + type: boolean + type: object + type: object + KlingTextToVideoModelName: + default: kling-v1 + description: Model Name + enum: + - kling-v1 + - kling-v1-5 + - kling-v1-6 + - kling-v2-master + - kling-v2-1-master + - kling-v2-5-turbo + - kling-v2-6 + - kling-v3 + type: string + KlingV2CreateTaskResponse: + description: Response returned when a Kling 3.0 Turbo task is created. + properties: + code: + description: Error code. 0 indicates success. + type: integer + data: + properties: + create_time: + description: Task creation time. Unix timestamp in milliseconds. + format: int64 + type: integer + external_id: + description: "The custom task ID for this task, if any." + type: string + id: + description: The created task ID. + type: string + status: + description: "Task status. One of \"submitted\", \"processing\", \"succeeded\" or \"failed\"." + type: string + update_time: + description: Task update time. Unix timestamp in milliseconds. + format: int64 + type: integer + type: object + message: + description: Error message. + type: string + request_id: + description: Request ID generated by the system. + type: string + type: object + KlingV2Image2VideoRequest: + properties: + contents: + description: Collection of references such as prompts and images. Fields related to the same material belong in the same object. + items: + properties: + text: + description: "Text prompt. Provided when type is \"prompt\". May include positive and negative descriptions; cannot exceed 2500 characters." + type: string + type: + description: "Reference type. One of \"prompt\" or \"first_frame\"." + type: string + url: + description: "First-frame material. Provided when type is \"first_frame\". May be a URL or Base64 content. Supports .jpg, .jpeg and .png up to 50MB; width and height must be at least 300px with an aspect ratio between 1:2.5 and 2.5:1." + type: string + type: object + type: array + options: + $ref: "#/components/schemas/KlingV2Options" + settings: + description: Output configuration such as resolution and duration. + properties: + duration: + description: Video length in seconds. Supported values 3 through 15. Default 5. + type: integer + resolution: + description: "Clarity of the generated video. One of \"720p\" or \"1080p\". Default \"720p\"." + type: string + type: object + required: + - contents + type: object + KlingV2Options: + description: General configuration such as callback address and watermark options. + properties: + callback_url: + description: Callback notification URL for task results. The server notifies when the task status changes. + type: string + external_task_id: + description: Customized Task ID. Does not overwrite the system-generated task ID but can be used for queries. Must be unique within a single user account. + type: string + watermark_info: + description: Whether to generate watermarked results simultaneously. Custom watermarks are not supported. + properties: + enabled: + description: "true means generate watermarked result, false means do not generate. Default false." + type: boolean + type: object + type: object + KlingV2Output: + description: "A generated output. The fields present depend on `type` (video, image, audio, voice or element)." + properties: + duration: + description: Duration of the generated video in seconds. + type: string + group_id: + description: "Grouping marker, present only for grouped images." + type: string + id: + description: Output ID generated by the system. + type: string + mp3_duration: + description: Duration of the generated MP3 audio in seconds. + type: string + mp3_url: + description: MP3 URL of the generated audio (hotlink-protected). + type: string + name: + description: Name of the generated material. + type: string + owned_by: + description: "Source of the material. \"kling\" denotes the official library; numbers are creator IDs." + type: string + status: + description: "Status of the material. One of \"succeeded\" or \"deleted\"." + type: string + type: + description: "Output content type. One of \"video\", \"image\", \"audio\", \"voice\" or \"element\"." + type: string + url: + description: URL of the generated result (hotlink-protected). Cleared after 30 days. + type: string + watermark_url: + description: URL of the watermarked result (hotlink-protected). + type: string + wav_duration: + description: Duration of the generated WAV audio in seconds. + type: string + wav_url: + description: WAV URL of the generated audio (hotlink-protected). + type: string + type: object + KlingV2QueryTaskResponse: + description: Response returned when querying Kling 3.0 Turbo tasks by ID. + properties: + code: + description: Error code. 0 indicates success. + type: integer + data: + description: Tasks matching the query. + items: + $ref: "#/components/schemas/KlingV2Task" + type: array + message: + description: Error message. + type: string + request_id: + description: Request ID generated by the system. + type: string + type: object + KlingV2Task: + description: A single Kling 3.0 Turbo task record. + properties: + billing: + description: Billing details for the task. + items: + properties: + amount: + description: "Consumption amount, accurate to two decimal places." + type: string + charge_type: + description: "Consumption account type. \"cash\" for balance, \"unit\" for a resource package." + type: string + package_type: + description: "Consumable resource bundle type (only present when charge_type is \"unit\"). One of \"video\", \"image\" or \"audio\"." + type: string + type: object + type: array + create_time: + description: Task creation time. Unix timestamp in milliseconds. + format: int64 + type: integer + external_id: + description: "The custom task ID for this task, if any." + type: string + id: + description: The task ID. + type: string + message: + description: "Task status information, displaying the failure reason when the task fails." + type: string + outputs: + description: Generated outputs for the task. + items: + $ref: "#/components/schemas/KlingV2Output" + type: array + status: + description: "Task status. One of \"submitted\", \"processing\", \"succeeded\" or \"failed\"." + type: string + update_time: + description: Task update time. Unix timestamp in milliseconds. + format: int64 + type: integer + type: object + KlingV2Text2VideoRequest: + properties: + options: + $ref: "#/components/schemas/KlingV2Options" + prompt: + description: "Prompt that may include both positive and negative descriptions. Recommended length under 2500 characters. Multi-shot videos use the format \"shot n, m, words; shot n, m, words;\"." + maxLength: 3072 + type: string + settings: + description: "Output configuration such as resolution, aspect ratio and duration." + properties: + aspect_ratio: + description: "Aspect ratio (width:height) of the generated frames. One of \"16:9\", \"9:16\" or \"1:1\". Default \"16:9\"." + type: string + duration: + description: Video length in seconds. Supported values 3 through 15. Default 5. + type: integer + resolution: + description: "Clarity of the generated video. One of \"720p\" or \"1080p\". Default \"720p\"." + type: string + type: object + required: + - prompt + type: object + KlingVideoEffectsInput: + oneOf: + - $ref: "#/components/schemas/KlingSingleImageEffectInput" + - $ref: "#/components/schemas/KlingDualCharacterEffectInput" + KlingVideoEffectsRequest: + properties: + callback_url: + description: The callback notification address for the result of this task. + format: uri + type: string + effect_scene: + oneOf: + - $ref: "#/components/schemas/KlingDualCharacterEffectsScene" + - $ref: "#/components/schemas/KlingSingleImageEffectsScene" + external_task_id: + description: Customized Task ID. Must be unique within a single user account. + type: string + input: + $ref: "#/components/schemas/KlingVideoEffectsInput" + required: + - effect_scene + - input + type: object + KlingVideoEffectsResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: Task creation time + type: integer + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + updated_at: + description: Task update time + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingVideoExtendRequest: + properties: + callback_url: + description: The callback notification address. Server will notify when the task status changes. + format: uri + type: string + cfg_scale: + $ref: "#/components/schemas/KlingVideoGenCfgScale" + negative_prompt: + description: Negative text prompt for elements to avoid in the extended video + maxLength: 2500 + type: string + prompt: + description: Positive text prompt for guiding the video extension + maxLength: 2500 + type: string + video_id: + description: "The ID of the video to be extended. Supports videos generated by text-to-video, image-to-video, and previous video extension operations. Cannot exceed 3 minutes total duration after extension." + type: string + type: object + KlingVideoExtendResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: Task creation time + type: integer + task_id: + description: Task ID + type: string + task_info: + properties: + external_task_id: + type: string + type: object + task_result: + properties: + videos: + items: + $ref: "#/components/schemas/KlingVideoResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + updated_at: + description: Task update time + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KlingVideoGenAspectRatio: + default: 16:9 + description: Video aspect ratio + enum: + - 16:9 + - 9:16 + - 1:1 + type: string + KlingVideoGenCfgScale: + default: 0.5 + description: "Flexibility in video generation. The higher the value, the lower the model's degree of flexibility, and the stronger the relevance to the user's prompt." + format: float + maximum: 1 + minimum: 0 + type: number + KlingVideoGenDuration: + default: "5" + description: Video length in seconds + enum: + - "3" + - "4" + - "5" + - "6" + - "7" + - "8" + - "9" + - "10" + - "11" + - "12" + - "13" + - "14" + - "15" + type: string + KlingVideoGenMode: + default: std + description: "Video generation mode. std: Standard Mode, which is cost-effective. pro: Professional Mode, generates videos with longer duration but higher quality output." + enum: + - std + - pro + type: string + KlingVideoGenModelName: + default: kling-v1 + description: Model Name + enum: + - kling-v1 + - kling-v1-5 + - kling-v1-6 + - kling-v2-master + - kling-v2-1 + - kling-v2-1-master + - kling-v2-5-turbo + - kling-v2-6 + - kling-v3 + type: string + KlingVideoResult: + properties: + duration: + description: Total video duration in seconds + type: string + id: + description: Generated video ID + type: string + url: + description: URL for generated video + format: uri + type: string + watermark_url: + description: "URL for generated video with watermark, hotlink protection format" + format: uri + type: string + type: object + KlingVirtualTryOnModelName: + default: kolors-virtual-try-on-v1 + description: Model Name + enum: + - kolors-virtual-try-on-v1 + - kolors-virtual-try-on-v1-5 + type: string + KlingVirtualTryOnRequest: + properties: + callback_url: + description: The callback notification address + format: uri + type: string + cloth_image: + description: Reference clothing image - Base64 encoded string or image URL + type: string + human_image: + description: Reference human image - Base64 encoded string or image URL + type: string + model_name: + $ref: "#/components/schemas/KlingVirtualTryOnModelName" + required: + - human_image + type: object + KlingVirtualTryOnResponse: + properties: + code: + description: Error code + type: integer + data: + properties: + created_at: + description: Task creation time + type: integer + task_id: + description: Task ID + type: string + task_result: + properties: + images: + items: + $ref: "#/components/schemas/KlingImageResult" + type: array + type: object + task_status: + $ref: "#/components/schemas/KlingTaskStatus" + task_status_msg: + description: Task status information + type: string + updated_at: + description: Task update time + type: integer + type: object + message: + description: Error message + type: string + request_id: + description: Request ID + type: string + type: object + KreaAsset: + properties: + description: + type: string + height: + nullable: true + type: number + id: + format: uuid + type: string + image_url: + format: uri + type: string + metadata: + additionalProperties: true + type: object + mime_type: + nullable: true + type: string + size_bytes: + nullable: true + type: number + uploaded_at: + format: date-time + type: string + width: + nullable: true + type: number + required: + - id + - image_url + - uploaded_at + type: object + KreaAssetUploadRequest: + properties: + description: + description: Optional description for the asset + type: string + file: + description: "The file to upload (JPEG, PNG, WebP, HEIC, MP4, MOV, WebM, GLB, WAV, MP3). Maximum size: 75MB." + format: binary + type: string + required: + - file + type: object + KreaGenerateImageRequest: + properties: + aspect_ratio: + description: "Aspect ratio. One of: 1:1, 4:3, 3:2, 16:9, 2.35:1, 4:5, 2:3, 9:16." + enum: + - 1:1 + - 4:3 + - 3:2 + - 16:9 + - 2.35:1 + - 4:5 + - 2:3 + - 9:16 + type: string + creativity: + default: medium + description: "Prompt interpretation strength: raw=0, low=10, medium=50, high=100." + enum: + - raw + - low + - medium + - high + type: string + image_style_references: + description: Style references to use for the generation + items: + $ref: "#/components/schemas/KreaImageStyleReference" + maxItems: 10 + type: array + moodboards: + description: Moodboards to use for generation. Currently limited to one moodboard. + items: + $ref: "#/components/schemas/KreaMoodboard" + maxItems: 1 + type: array + prompt: + type: string + resolution: + description: "Resolution scale. One of: 1K." + enum: + - 1K + type: string + seed: + nullable: true + type: number + styles: + description: Styles (typically LoRAs) to use for the generation + items: + $ref: "#/components/schemas/KreaStyle" + type: array + required: + - prompt + - aspect_ratio + - resolution + type: object + KreaImageStyleReference: + properties: + strength: + format: double + maximum: 2 + minimum: -2 + type: number + url: + format: uri + type: string + required: + - strength + type: object + KreaJob: + properties: + completed_at: + format: date-time + nullable: true + type: string + created_at: + format: date-time + type: string + job_id: + format: uuid + type: string + result: + allOf: + - $ref: "#/components/schemas/KreaJobResult" + nullable: true + status: + description: "Available options: backlogged, queued, scheduled, processing, sampling, intermediate-complete, completed, failed, cancelled" + enum: + - backlogged + - queued + - scheduled + - processing + - sampling + - intermediate-complete + - completed + - failed + - cancelled + type: string + required: + - job_id + - status + - created_at + - completed_at + - result + type: object + KreaJobResult: + properties: + style_id: + type: string + urls: + items: + format: uri + type: string + type: array + type: object + KreaMoodboard: + properties: + id: + format: uuid + type: string + strength: + default: 0.35 + format: double + maximum: 1.5 + minimum: -0.5 + type: number + required: + - id + type: object + KreaStyle: + properties: + id: + type: string + strength: + format: double + maximum: 2 + minimum: -2 + type: number + required: + - id + - strength + type: object + LTXImage2VideoRequest: + properties: + duration: + description: Video duration in seconds + enum: + - 6 + - 8 + - 10 + type: integer + fps: + default: 25 + description: Frame rate in frames per second + enum: + - 25 + - 50 + type: integer + generate_audio: + default: true + description: Generate audio for the video + type: boolean + image_uri: + description: Image to be used as the first frame of the video (HTTPS URL or base64 data URI) + type: string + model: + description: Model to use for generation + enum: + - ltx-2-fast + - ltx-2-pro + type: string + prompt: + description: Text description of how the image should be animated + maxLength: 10000 + type: string + resolution: + description: Output video resolution + enum: + - 1920x1080 + - 2560x1440 + - 3840x2160 + type: string + required: + - image_uri + - prompt + - model + - duration + - resolution + type: object + LTXText2VideoRequest: + properties: + duration: + description: Video duration in seconds + enum: + - 6 + - 8 + - 10 + type: integer + fps: + default: 25 + description: Frame rate in frames per second + enum: + - 25 + - 50 + type: integer + generate_audio: + default: true + description: Generate audio for the video + type: boolean + model: + description: Model to use for generation + enum: + - ltx-2-fast + - ltx-2-pro + type: string + prompt: + description: Text prompt describing the desired video content + maxLength: 10000 + type: string + resolution: + description: Output video resolution + enum: + - 1920x1080 + - 2560x1440 + - 3840x2160 + type: string + required: + - prompt + - model + - duration + - resolution + type: object + LumaAgentsAspectRatio: + description: "Output aspect ratio. The ray-3.2 video models support the subset 9:16, 3:4, 1:1, 4:3, 16:9, 21:9." + enum: + - 3:1 + - 2:1 + - 21:9 + - 16:9 + - 3:2 + - 4:3 + - 1:1 + - 3:4 + - 2:3 + - 9:16 + - 1:2 + - 1:3 + type: string + LumaAgentsError: + description: The error object + properties: + detail: + description: The error message + type: string + type: object + LumaAgentsFailureCode: + description: Machine-readable failure code for programmatic handling + enum: + - content_moderated + - generation_failed + - budget_exhausted + - output_not_found + type: string + LumaAgentsGeneration: + description: Generation status and output + properties: + created_at: + description: Creation timestamp + type: string + failure_code: + $ref: "#/components/schemas/LumaAgentsFailureCode" + failure_reason: + description: Human-readable failure description + type: string + id: + description: Generation identifier + type: string + model: + description: Model used + type: string + output: + items: + $ref: "#/components/schemas/LumaAgentsGenerationOutput" + type: array + state: + $ref: "#/components/schemas/LumaAgentsState" + type: + $ref: "#/components/schemas/LumaAgentsGenerationType" + type: object + LumaAgentsGenerationOutput: + description: A generated output entry + properties: + type: + description: Media type (e.g. image) + type: string + url: + description: Presigned URL (1hr expiry) + type: string + type: object + LumaAgentsGenerationRequest: + description: The Luma Agents generation request object + properties: + aspect_ratio: + $ref: "#/components/schemas/LumaAgentsAspectRatio" + image_ref: + description: "Reference images for style/content guidance. Up to 9 for type 'image', up to 8 for type 'image_edit'." + items: + $ref: "#/components/schemas/LumaAgentsImageRef" + type: array + model: + description: "Model to use. uni-1 / uni-1-max for image generation, ray-3.2 for video generation, editing, and reframing." + type: string + output_format: + $ref: "#/components/schemas/LumaAgentsOutputFormat" + prompt: + description: Text prompt + type: string + source: + $ref: "#/components/schemas/LumaAgentsImageRef" + style: + $ref: "#/components/schemas/LumaAgentsStyle" + type: + $ref: "#/components/schemas/LumaAgentsGenerationType" + video: + $ref: "#/components/schemas/LumaAgentsVideoOptions" + web_search: + description: Enable web search grounding + type: boolean + required: + - prompt + type: object + LumaAgentsGenerationType: + description: The kind of generation to perform. image/image_edit are produced by the uni-1 / uni-1-max models; video/video_edit/video_reframe are produced by the ray-3.2 model. + enum: + - image + - image_edit + - video + - video_edit + - video_reframe + type: string + LumaAgentsImageRef: + description: "Reference to an image or video. Used for style/content guidance, guided generation, video-edit/video-reframe sources, and guide keyframes. Provide exactly one of generation_id, url, or data." + properties: + data: + description: Base64-encoded image or video data + type: string + generation_id: + description: UUID of a prior completed generation to reuse as the source. Used by ray-3.2 video_edit / video_reframe. + type: string + media_type: + description: "MIME type. Required with data (and with url for video sources, e.g. video/mp4 on video_edit / video_reframe)." + type: string + url: + description: Publicly accessible image or video URL + type: string + type: object + LumaAgentsOutputFormat: + description: Output image format + enum: + - png + - jpeg + type: string + LumaAgentsState: + description: Current state of the generation + enum: + - queued + - processing + - completed + - failed + type: string + LumaAgentsStyle: + description: Style preset + enum: + - auto + - manga + type: string + LumaAgentsVideoDuration: + description: Clip duration for ray-3.2 video / video_edit. Defaults to 5s. HDR generation (type video) is restricted to 5s. + enum: + - 5s + - 10s + type: string + LumaAgentsVideoOptions: + description: "Video output settings for ray-3.2. Only the fields that affect validation and billing are modelled here; additional fields (edit controls, end_frame, loop, source_position) are forwarded to Luma untouched." + properties: + duration: + $ref: "#/components/schemas/LumaAgentsVideoDuration" + exr_export: + description: Export an EXR file alongside the MP4. Requires hdr true. Rejected for video_reframe. + type: boolean + hdr: + description: Render in HDR. Requires 720p/1080p. Rejected for video_reframe. + type: boolean + keyframes: + description: "Guide-frame images. A single keyframe makes a type \"video\" request a single-keyframe extend, which always bills as one 5s block." + items: + $ref: "#/components/schemas/LumaAgentsImageRef" + type: array + loop: + description: Loop the generated clip. Create-only (type video). + type: boolean + resolution: + $ref: "#/components/schemas/LumaAgentsVideoResolution" + start_frame: + $ref: "#/components/schemas/LumaAgentsImageRef" + type: object + LumaAgentsVideoResolution: + description: Output resolution for ray-3.2 video. Defaults to 720p. 360p is the draft tier. HDR requires 720p or 1080p. + enum: + - 360p + - 540p + - 720p + - 1080p + type: string + LumaAspectRatio: + default: 16:9 + description: The aspect ratio of the generation + enum: + - 1:1 + - 16:9 + - 9:16 + - 4:3 + - 3:4 + - 21:9 + - 9:21 + example: 16:9 + type: string + LumaAssets: + description: The assets of the generation + properties: + image: + description: The URL of the image + format: uri + type: string + progress_video: + description: The URL of the progress video + format: uri + type: string + video: + description: The URL of the video + format: uri + type: string + type: object + LumaAudioGenerationRequest: + description: The audio generation request object + properties: + callback_url: + description: The callback URL for the audio + format: uri + type: string + generation_type: + default: add_audio + enum: + - add_audio + type: string + negative_prompt: + description: The negative prompt of the audio + type: string + prompt: + description: The prompt of the audio + type: string + type: object + LumaError: + description: The error object + example: + detail: Invalid API key is provided + properties: + detail: + description: The error message + type: string + type: object + LumaGeneration: + description: The generation response object + example: + assets: + video: https://example.com/video.mp4 + created_at: 2023-06-01T12:00:00Z + failure_reason: null + id: 123e4567-e89b-12d3-a456-426614174000 + model: ray-2 + request: + aspect_ratio: 16:9 + keyframes: + frame0: + type: image + url: https://example.com/image.jpg + frame1: + id: 123e4567-e89b-12d3-a456-426614174000 + type: generation + loop: true + prompt: A serene lake surrounded by mountains at sunset + state: completed + properties: + assets: + $ref: "#/components/schemas/LumaAssets" + created_at: + description: The date and time when the generation was created + format: date-time + type: string + failure_reason: + description: The reason for the state of the generation + type: string + generation_type: + $ref: "#/components/schemas/LumaGenerationType" + id: + description: The ID of the generation + format: uuid + type: string + model: + description: The model used for the generation + type: string + request: + description: The request of the generation + oneOf: + - $ref: "#/components/schemas/LumaGenerationRequest" + - $ref: "#/components/schemas/LumaImageGenerationRequest" + - $ref: "#/components/schemas/LumaUpscaleVideoGenerationRequest" + - $ref: "#/components/schemas/LumaAudioGenerationRequest" + state: + $ref: "#/components/schemas/LumaState" + type: object + LumaGenerationReference: + description: The generation reference object + example: + id: 123e4567-e89b-12d3-a456-426614174003 + type: generation + properties: + id: + description: The ID of the generation + format: uuid + type: string + type: + default: generation + enum: + - generation + type: string + required: + - type + - id + type: object + LumaGenerationRequest: + description: The generation request object + properties: + aspect_ratio: + $ref: "#/components/schemas/LumaAspectRatio" + callback_url: + description: "The callback URL of the generation, a POST request with Generation object will be sent to the callback URL when the generation is dreaming, completed, or failed" + format: uri + type: string + duration: + $ref: "#/components/schemas/LumaVideoModelOutputDuration" + generation_type: + default: video + enum: + - video + type: string + keyframes: + $ref: "#/components/schemas/LumaKeyframes" + loop: + description: Whether to loop the video + type: boolean + model: + $ref: "#/components/schemas/LumaVideoModel" + prompt: + description: The prompt of the generation + type: string + resolution: + $ref: "#/components/schemas/LumaVideoModelOutputResolution" + required: + - duration + - resolution + - prompt + - aspect_ratio + - model + type: object + LumaGenerationType: + enum: + - video + - image + type: string + LumaImageGenerationRequest: + description: The image generation request object + properties: + aspect_ratio: + $ref: "#/components/schemas/LumaAspectRatio" + callback_url: + description: The callback URL for the generation + format: uri + type: string + character_ref: + properties: + identity0: + $ref: "#/components/schemas/LumaImageIdentity" + type: object + generation_type: + default: image + enum: + - image + type: string + image_ref: + items: + $ref: "#/components/schemas/LumaImageRef" + type: array + model: + $ref: "#/components/schemas/LumaImageModel" + modify_image_ref: + $ref: "#/components/schemas/LumaModifyImageRef" + prompt: + description: The prompt of the generation + type: string + style_ref: + items: + $ref: "#/components/schemas/LumaImageRef" + type: array + type: object + LumaImageIdentity: + description: The image identity object + properties: + images: + description: The URLs of the image identity + items: + format: uri + type: string + type: array + type: object + LumaImageModel: + default: photon-1 + description: The image model used for the generation + enum: + - photon-1 + - photon-flash-1 + type: string + LumaImageRef: + description: The image reference object + properties: + url: + description: The URL of the image reference + format: uri + type: string + weight: + description: The weight of the image reference + type: number + type: object + LumaImageReference: + description: The image object + example: + type: image + url: https://example.com/image.jpg + properties: + type: + default: image + enum: + - image + type: string + url: + description: The URL of the image + format: uri + type: string + required: + - type + - url + type: object + LumaKeyframe: + description: "A keyframe can be either a Generation reference, an Image, or a Video" + discriminator: + mapping: + generation: "#/components/schemas/LumaGenerationReference" + image: "#/components/schemas/LumaImageReference" + propertyName: type + oneOf: + - $ref: "#/components/schemas/LumaGenerationReference" + - $ref: "#/components/schemas/LumaImageReference" + LumaKeyframes: + description: The keyframes of the generation + example: + frame0: + type: image + url: https://example.com/image.jpg + frame1: + id: 123e4567-e89b-12d3-a456-426614174000 + type: generation + properties: + frame0: + $ref: "#/components/schemas/LumaKeyframe" + frame1: + $ref: "#/components/schemas/LumaKeyframe" + type: object + LumaModifyImageRef: + description: The modify image reference object + properties: + url: + description: The URL of the image reference + format: uri + type: string + weight: + description: The weight of the modify image reference + type: number + type: object + LumaState: + description: The state of the generation + enum: + - queued + - dreaming + - completed + - failed + example: completed + type: string + LumaUpscaleVideoGenerationRequest: + description: The upscale generation request object + properties: + callback_url: + description: The callback URL for the upscale + format: uri + type: string + generation_type: + default: upscale_video + enum: + - upscale_video + type: string + resolution: + $ref: "#/components/schemas/LumaVideoModelOutputResolution" + type: object + LumaVideoModel: + default: ray-2 + description: The video model used for the generation + enum: + - ray-2 + - ray-flash-2 + - ray-1-6 + example: ray-2 + type: string + LumaVideoModelOutputDuration: + anyOf: + - enum: + - 5s + - 9s + type: string + - type: string + LumaVideoModelOutputResolution: + anyOf: + - enum: + - 540p + - 720p + - 1080p + - 4k + type: string + - type: string + MachineStats: + properties: + cpu_capacity: + description: Total CPU on the machine. + type: string + disk_capacity: + description: Total disk capacity on the machine. + type: string + gpu_type: + description: The GPU type. eg. NVIDIA Tesla K80 + type: string + initial_cpu: + description: Initial CPU available before the job starts. + type: string + initial_disk: + description: Initial disk available before the job starts. + type: string + initial_ram: + description: Initial RAM available before the job starts. + type: string + machine_name: + description: Name of the machine. + type: string + memory_capacity: + description: Total memory on the machine. + type: string + os_version: + description: The operating system version. eg. Ubuntu Linux 20.04 + type: string + pip_freeze: + description: The pip freeze output + type: string + vram_time_series: + description: Time series of VRAM usage. + type: object + type: object + MeshyAiModel: + default: latest + description: ID of the model to use. + enum: + - meshy-5 + - latest + type: string + MeshyAnimationCreateResponse: + properties: + result: + description: The task id of the newly created animation task. + type: string + required: + - result + type: object + MeshyAnimationPostProcess: + description: Parameters for post-processing animation files. + properties: + fps: + default: 30 + description: The target frame rate. Default is 30. Applicable only when operation_type is change_fps. + enum: + - 24 + - 25 + - 30 + - 60 + type: integer + operation_type: + description: The type of operation to perform. + enum: + - change_fps + - fbx2usdz + - extract_armature + type: string + required: + - operation_type + type: object + MeshyAnimationRequest: + properties: + action_id: + description: The identifier of the animation action to apply. + type: integer + post_process: + $ref: "#/components/schemas/MeshyAnimationPostProcess" + rig_task_id: + description: The id of a successfully completed rigging task (from POST /openapi/v1/rigging). The character from this task will be animated. + type: string + required: + - rig_task_id + - action_id + type: object + MeshyAnimationResult: + description: Contains the output animation URLs if the task SUCCEEDED. + properties: + animation_fbx_url: + description: Downloadable URL for the animation in FBX format. + type: string + animation_glb_url: + description: Downloadable URL for the animation in GLB format. + type: string + processed_animation_fps_fbx_url: + description: Downloadable URL for the animation with changed FPS in FBX format. + type: string + processed_armature_fbx_url: + description: Downloadable URL for the processed armature in FBX format. + type: string + processed_usdz_url: + description: Downloadable URL for the processed animation in USDZ format. + type: string + type: object + MeshyAnimationTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + expires_at: + description: "Timestamp of when the task result expires, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: Progress of the task (0-100). + maximum: 100 + minimum: 0 + type: integer + result: + $ref: "#/components/schemas/MeshyAnimationResult" + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + type: + description: Type of the Animation task. + enum: + - animate + type: string + required: + - id + - status + type: object + MeshyArtStyle: + default: realistic + description: Describe your desired art style of the object. + enum: + - realistic + - sculpture + type: string + MeshyImageTo3DCreateResponse: + properties: + result: + description: The task id of the newly created Image to 3D task. + type: string + required: + - result + type: object + MeshyImageTo3DModelUrls: + description: Downloadable URLs to the 3D model files generated by Meshy. + properties: + fbx: + description: Downloadable URL to the FBX file. + type: string + glb: + description: Downloadable URL to the GLB file. + type: string + mtl: + description: Downloadable URL to the MTL file. + type: string + obj: + description: Downloadable URL to the OBJ file. + type: string + pre_remeshed_glb: + description: Downloadable URL to the original GLB output before remeshing. Available only when should_remesh and save_pre_remeshed_model are both true. + type: string + usdz: + description: Downloadable URL to the USDZ file. + type: string + type: object + MeshyImageTo3DRequest: + properties: + ai_model: + $ref: "#/components/schemas/MeshyAiModel" + enable_pbr: + default: false + description: "Generate PBR Maps (metallic, roughness, normal) in addition to the base color." + type: boolean + image_url: + description: "Provide an image for Meshy to use in model creation. Supports .jpg, .jpeg, .png formats or base64-encoded data URI." + type: string + is_a_t_pose: + default: false + description: Deprecated. Use pose_mode instead. Whether to generate the model in an A/T pose. + type: boolean + model_type: + default: standard + description: "Specify the type of 3D mesh generation.\n- standard: Regular high-detail 3D mesh generation.\n- lowpoly: Generates low-poly mesh optimized for cleaner polygons.\nWhen lowpoly is selected, ai_model, topology, target_polycount, should_remesh, save_pre_remeshed_model are ignored.\n" + enum: + - standard + - lowpoly + type: string + moderation: + default: false + description: "When true, input content will be screened for potentially harmful content." + type: boolean + pose_mode: + $ref: "#/components/schemas/MeshyPoseMode" + save_pre_remeshed_model: + default: false + description: "When true, stores an extra GLB file before the remesh phase completes. Only takes effect when should_remesh is true." + type: boolean + should_remesh: + default: true + description: "Controls whether to enable the remesh phase. When false, returns highest-precision triangular mesh." + type: boolean + should_texture: + default: true + description: "Determines if textures are generated. When false, provides a mesh without textures." + type: boolean + symmetry_mode: + $ref: "#/components/schemas/MeshySymmetryMode" + target_polycount: + default: 30000 + description: "Specify the target number of polygons in the generated model. Valid range is 100 to 300,000." + maximum: 300000 + minimum: 100 + type: integer + texture_image_url: + description: "Provide a 2d image to guide the texturing process. Supports .jpg, .jpeg, .png formats or base64-encoded data URI." + type: string + texture_prompt: + description: Provide a text prompt to guide the texturing process. Maximum 600 characters. + maxLength: 600 + type: string + topology: + $ref: "#/components/schemas/MeshyTopology" + required: + - image_url + type: object + MeshyImageTo3DTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + expires_at: + description: "Timestamp of when the task result expires, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + model_urls: + $ref: "#/components/schemas/MeshyImageTo3DModelUrls" + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task. 0 if not started, 100 when succeeded." + maximum: 100 + minimum: 0 + type: integer + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + texture_image_url: + description: Downloadable URL to the texture image that was used to guide the texturing process. + type: string + texture_prompt: + description: The text prompt that was used to guide the texturing process. + type: string + texture_urls: + description: An array of texture URL objects that are generated from the task. + items: + $ref: "#/components/schemas/MeshyTextureUrls" + type: array + thumbnail_url: + description: Downloadable URL to the thumbnail image of the model file. + type: string + type: + description: Type of the Image to 3D task. + enum: + - image-to-3d + type: string + required: + - id + - status + type: object + MeshyModelUrls: + description: Downloadable URLs to the textured 3D model files generated by Meshy. + properties: + fbx: + description: Downloadable URL to the FBX file. + type: string + glb: + description: Downloadable URL to the GLB file. + type: string + mtl: + description: Downloadable URL to the MTL file. + type: string + obj: + description: Downloadable URL to the OBJ file. + type: string + usdz: + description: Downloadable URL to the USDZ file. + type: string + type: object + MeshyMultiImageTo3DCreateResponse: + properties: + result: + description: The task id of the newly created Multi-Image to 3D task. + type: string + required: + - result + type: object + MeshyMultiImageTo3DRequest: + properties: + ai_model: + default: latest + description: ID of the model to use. + enum: + - meshy-5 + - latest + type: string + enable_pbr: + default: false + description: "Generate PBR Maps (metallic, roughness, normal) in addition to the base color." + type: boolean + image_urls: + description: Provide 1 to 4 images for Meshy to use in model creation. All images should depict the same object from different angles. + items: + type: string + maxItems: 4 + minItems: 1 + type: array + is_a_t_pose: + default: false + description: Deprecated. Use pose_mode instead. Whether to generate the model in an A/T pose. + type: boolean + moderation: + default: false + description: "When true, input content will be screened for potentially harmful content." + type: boolean + pose_mode: + $ref: "#/components/schemas/MeshyPoseMode" + save_pre_remeshed_model: + default: false + description: "When true, stores an extra GLB file before the remesh phase completes. Only takes effect when should_remesh is true." + type: boolean + should_remesh: + default: true + description: "Controls whether to enable the remesh phase. When false, returns highest-precision triangular mesh." + type: boolean + should_texture: + default: true + description: "Determines if textures are generated. When false, provides a mesh without textures for 5 credits." + type: boolean + symmetry_mode: + $ref: "#/components/schemas/MeshySymmetryMode" + target_polycount: + default: 30000 + description: "Specify the target number of polygons in the generated model. Valid range is 100 to 300,000." + maximum: 300000 + minimum: 100 + type: integer + texture_image_url: + description: "Provide a 2d image to guide the texturing process. Supports .jpg, .jpeg, .png formats or base64-encoded data URI." + type: string + texture_prompt: + description: Provide a text prompt to guide the texturing process. Maximum 600 characters. + maxLength: 600 + type: string + topology: + $ref: "#/components/schemas/MeshyTopology" + required: + - image_urls + type: object + MeshyMultiImageTo3DTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + expires_at: + description: "Timestamp of when the task result expires, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + model_urls: + $ref: "#/components/schemas/MeshyImageTo3DModelUrls" + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task. 0 if not started, 100 when succeeded." + maximum: 100 + minimum: 0 + type: integer + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + texture_prompt: + description: The text prompt that was used to guide the texturing process. + type: string + texture_urls: + description: An array of texture URL objects that are generated from the task. + items: + $ref: "#/components/schemas/MeshyTextureUrls" + type: array + thumbnail_url: + description: Downloadable URL to the thumbnail image of the model file. + type: string + type: + description: Type of the Multi-Image to 3D task. + enum: + - multi-image-to-3d + type: string + required: + - id + - status + type: object + MeshyPoseMode: + description: Specify the pose mode for the generated model. + enum: + - a-pose + - t-pose + - "" + type: string + MeshyRemeshCreateResponse: + properties: + result: + description: The id of the newly created remesh task. + type: string + required: + - result + type: object + MeshyRemeshModelUrls: + description: Downloadable URLs to the remeshed 3D model files. + properties: + blend: + description: Downloadable URL to the Blender file. + type: string + fbx: + description: Downloadable URL to the FBX file. + type: string + glb: + description: Downloadable URL to the GLB file. + type: string + obj: + description: Downloadable URL to the OBJ file. + type: string + stl: + description: Downloadable URL to the STL file. + type: string + usdz: + description: Downloadable URL to the USDZ file. + type: string + type: object + MeshyRemeshRequest: + properties: + convert_format_only: + default: false + description: "If true, only changes the format of the input model file, ignoring other inputs like topology, resize_height, and target_polycount." + type: boolean + input_task_id: + description: The ID of the completed Image to 3D or Text to 3D task you wish to remesh. Required if model_url is not provided. + type: string + model_url: + description: "A publicly accessible URL or data URI to a 3D model. Supported formats glb, gltf, obj, fbx, stl. Required if input_task_id is not provided." + type: string + origin_at: + description: Position of the origin. + enum: + - bottom + - center + - "" + type: string + resize_height: + default: 0 + description: Resize the model to a certain height measured in meters. 0 means no resizing. + type: number + target_formats: + default: + - glb + description: A list of target formats for the remeshed model. + items: + enum: + - glb + - fbx + - obj + - usdz + - blend + - stl + type: string + type: array + target_polycount: + default: 30000 + description: "Specify the target number of polygons in the generated model. Valid range is 100 to 300,000." + maximum: 300000 + minimum: 100 + type: integer + topology: + $ref: "#/components/schemas/MeshyTopology" + type: object + MeshyRemeshTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + model_urls: + $ref: "#/components/schemas/MeshyRemeshModelUrls" + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task. 0 if not started, 100 when succeeded." + maximum: 100 + minimum: 0 + type: integer + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyRemeshTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + type: + description: Type of the Remesh task. + enum: + - remesh + type: string + required: + - id + - status + type: object + MeshyRemeshTaskStatus: + description: Status of the remesh task. + enum: + - PENDING + - PROCESSING + - SUCCEEDED + - FAILED + type: string + MeshyRetextureCreateResponse: + properties: + result: + description: The task id of the newly created Retexture task. + type: string + required: + - result + type: object + MeshyRetextureModelUrls: + description: Downloadable URLs to the textured 3D model files. + properties: + fbx: + description: Downloadable URL to the FBX file. + type: string + glb: + description: Downloadable URL to the GLB file. + type: string + usdz: + description: Downloadable URL to the USDZ file. + type: string + type: object + MeshyRetextureRequest: + properties: + ai_model: + $ref: "#/components/schemas/MeshyAiModel" + enable_original_uv: + default: true + description: Use the original UV of the model instead of generating new UVs. + type: boolean + enable_pbr: + default: false + description: "Generate PBR Maps (metallic, roughness, normal) in addition to the base color." + type: boolean + image_style_url: + description: "A 2d image to guide the texturing process. Supports jpg, jpeg, png formats or base64-encoded data URI. Required if text_style_prompt is not provided." + type: string + input_task_id: + description: The ID of the completed Image to 3D or Text to 3D task you wish to retexture. Required if model_url is not provided. + type: string + model_url: + description: "A publicly accessible URL or Data URI to a 3D model. Supported formats glb, gltf, obj, fbx, stl. Required if input_task_id is not provided." + type: string + text_style_prompt: + description: Describe your desired texture style of the object using text. Maximum 600 characters. Required if image_style_url is not provided. + maxLength: 600 + type: string + type: object + MeshyRetextureTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + expires_at: + description: "Timestamp of when the task result expires, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + image_style_url: + description: The image input that was used to create the texturing task. + type: string + model_urls: + $ref: "#/components/schemas/MeshyRetextureModelUrls" + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task. 0 if not started, 100 when succeeded." + maximum: 100 + minimum: 0 + type: integer + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + text_style_prompt: + description: The text prompt that was used to create the texturing task. + type: string + texture_urls: + description: An array of texture URL objects that are generated from the task. + items: + $ref: "#/components/schemas/MeshyTextureUrls" + type: array + thumbnail_url: + description: Downloadable URL to the thumbnail image of the model file. + type: string + type: + description: Type of the Retexture task. + enum: + - retexture + type: string + required: + - id + - status + type: object + MeshyRiggingBasicAnimations: + description: Contains URLs for default animations. + properties: + running_armature_glb_url: + description: Downloadable URL for running animation armature in GLB format. + type: string + running_fbx_url: + description: Downloadable URL for running animation in FBX format (with skin). + type: string + running_glb_url: + description: Downloadable URL for running animation in GLB format (with skin). + type: string + walking_armature_glb_url: + description: Downloadable URL for walking animation armature in GLB format. + type: string + walking_fbx_url: + description: Downloadable URL for walking animation in FBX format (with skin). + type: string + walking_glb_url: + description: Downloadable URL for walking animation in GLB format (with skin). + type: string + type: object + MeshyRiggingCreateResponse: + properties: + result: + description: The task id of the newly created rigging task. + type: string + required: + - result + type: object + MeshyRiggingRequest: + properties: + height_meters: + default: 1.7 + description: The approximate height of the character model in meters. Must be a positive number. + type: number + input_task_id: + description: The input task that needs to be rigged. Required if model_url is not provided. + type: string + model_url: + description: A publicly accessible URL or Data URI to a textured humanoid GLB file. Required if input_task_id is not provided. + type: string + texture_image_url: + description: "The model's UV-unwrapped base color texture image. Publicly accessible URL or Data URI. Supports .png format." + type: string + type: object + MeshyRiggingResult: + description: Contains the output asset URLs if the task SUCCEEDED. + properties: + basic_animations: + $ref: "#/components/schemas/MeshyRiggingBasicAnimations" + rigged_character_fbx_url: + description: Downloadable URL for the rigged character in FBX format. + type: string + rigged_character_glb_url: + description: Downloadable URL for the rigged character in GLB format. + type: string + type: object + MeshyRiggingTask: + properties: + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + expires_at: + description: "Timestamp of when the task result expires, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task (0-100). 0 if not started, 100 if succeeded." + maximum: 100 + minimum: 0 + type: integer + result: + $ref: "#/components/schemas/MeshyRiggingResult" + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + type: + description: Type of the Rigging task. + enum: + - rig + type: string + required: + - id + - status + type: object + MeshySymmetryMode: + default: auto + description: Controls symmetry behavior during model generation. + enum: + - "off" + - auto + - "on" + type: string + MeshyTaskError: + description: Error object that contains the error message if the task failed. + properties: + message: + description: Detailed error message. + type: string + type: object + MeshyTaskStatus: + description: Status of the task. + enum: + - PENDING + - IN_PROGRESS + - SUCCEEDED + - FAILED + - CANCELED + type: string + MeshyTextTo3DCreateResponse: + properties: + result: + description: The task id of the newly created Text to 3D task. + type: string + required: + - result + type: object + MeshyTextTo3DPreviewRequest: + properties: + ai_model: + $ref: "#/components/schemas/MeshyAiModel" + art_style: + $ref: "#/components/schemas/MeshyArtStyle" + is_a_t_pose: + default: false + description: Deprecated. Use pose_mode instead. Whether to generate the model in an A/T pose. + type: boolean + mode: + description: "This field should be set to \"preview\" when creating a preview task." + enum: + - preview + type: string + moderation: + default: false + description: "When true, input content will be screened for potentially harmful content." + type: boolean + pose_mode: + $ref: "#/components/schemas/MeshyPoseMode" + prompt: + description: Describe what kind of object the 3D model is. Maximum 600 characters. + maxLength: 600 + type: string + should_remesh: + default: true + description: "Controls whether to enable the remesh phase. When false, returns highest-precision triangular mesh." + type: boolean + symmetry_mode: + $ref: "#/components/schemas/MeshySymmetryMode" + target_polycount: + default: 30000 + description: "Specify the target number of polygons in the generated model. Valid range is 100 to 300,000." + maximum: 300000 + minimum: 100 + type: integer + topology: + $ref: "#/components/schemas/MeshyTopology" + required: + - mode + - prompt + type: object + MeshyTextTo3DRefineRequest: + properties: + ai_model: + $ref: "#/components/schemas/MeshyAiModel" + enable_pbr: + default: false + description: "Generate PBR Maps (metallic, roughness, normal) in addition to the base color. Note that enable_pbr should be set to false when using Sculpture style." + type: boolean + mode: + description: "This field should be set to \"refine\" when creating a refine task." + enum: + - refine + type: string + moderation: + default: false + description: "When true, input content will be screened for potentially harmful content." + type: boolean + preview_task_id: + description: The corresponding preview task id. The status of the given preview task must be SUCCEEDED. + type: string + texture_image_url: + description: "Provide a 2d image to guide the texturing process. Supports .jpg, .jpeg, .png formats or base64-encoded data URI." + type: string + texture_prompt: + description: Provide an additional text prompt to guide the texturing process. Maximum 600 characters. + maxLength: 600 + type: string + required: + - mode + - preview_task_id + type: object + MeshyTextTo3DRequest: + discriminator: + mapping: + preview: "#/components/schemas/MeshyTextTo3DPreviewRequest" + refine: "#/components/schemas/MeshyTextTo3DRefineRequest" + propertyName: mode + oneOf: + - $ref: "#/components/schemas/MeshyTextTo3DPreviewRequest" + - $ref: "#/components/schemas/MeshyTextTo3DRefineRequest" + MeshyTextTo3DTask: + properties: + art_style: + description: The unmodified art_style that was used to create the preview task. + type: string + created_at: + description: "Timestamp of when the task was created, in milliseconds." + type: integer + finished_at: + description: "Timestamp of when the task was finished, in milliseconds. 0 if not finished." + type: integer + id: + description: Unique identifier for the task. + type: string + model_urls: + $ref: "#/components/schemas/MeshyModelUrls" + negative_prompt: + description: Deprecated field maintained for backward compatibility. + type: string + preceding_tasks: + description: The count of preceding tasks. Only meaningful when status is PENDING. + type: integer + progress: + description: "Progress of the task. 0 if not started, 100 when succeeded." + maximum: 100 + minimum: 0 + type: integer + prompt: + description: The unmodified prompt that was used to create the task. + type: string + started_at: + description: "Timestamp of when the task was started, in milliseconds. 0 if not started." + type: integer + status: + $ref: "#/components/schemas/MeshyTaskStatus" + task_error: + $ref: "#/components/schemas/MeshyTaskError" + texture_image_url: + description: Downloadable URL to the texture image that was used to guide the texturing process. + type: string + texture_prompt: + description: Additional text prompt provided to guide the texturing process during the refine stage. + type: string + texture_richness: + description: Deprecated field maintained for backward compatibility. + type: string + texture_urls: + description: An array of texture URL objects that are generated from the task. + items: + $ref: "#/components/schemas/MeshyTextureUrls" + type: array + thumbnail_url: + description: Downloadable URL to the thumbnail image of the model file. + type: string + type: + description: Type of the Text to 3D task. + enum: + - text-to-3d-preview + - text-to-3d-refine + type: string + video_url: + description: Deprecated field returning the downloadable URL to the preview video. + type: string + required: + - id + - status + type: object + MeshyTextureUrls: + description: Texture URL object containing PBR maps. + properties: + base_color: + description: Downloadable URL to the base color map image. + type: string + metallic: + description: Downloadable URL to the metallic map image. + type: string + normal: + description: Downloadable URL to the normal map image. + type: string + roughness: + description: Downloadable URL to the roughness map image. + type: string + type: object + MeshyTopology: + default: triangle + description: Specify the topology of the generated model. + enum: + - quad + - triangle + type: string + MigrationAPIKey: + description: "One of a customer's API keys, for cloud's migrate-on-miss to seed into\nworkspace_api_keys by hash. M2M/admin-only; carries the hash, never plaintext.\n" + properties: + description: + type: string + key_hash: + type: string + key_prefix: + type: string + name: + type: string + required: + - key_hash + type: object + MinimaxBaseResponse: + description: Common response structure used by Minimax APIs + properties: + status_code: + description: "Status code. 0 indicates success, other values indicate errors." + type: integer + status_msg: + description: Specific error details or success message. + type: string + required: + - status_code + - status_msg + type: object + MinimaxFileRetrieveResponse: + description: Response from retrieving a Minimax file download URL. + properties: + base_resp: + $ref: "#/components/schemas/MinimaxBaseResponse" + file: + properties: + bytes: + description: File size in bytes + type: integer + created_at: + description: "Unix timestamp when the file was created, in seconds" + type: integer + download_url: + description: The URL to download the video + type: string + file_id: + description: Unique identifier for the file + type: integer + filename: + description: The name of the file + type: string + purpose: + description: The purpose of using the file + type: string + type: object + required: + - file + - base_resp + type: object + MinimaxTaskResultResponse: + description: Response from querying a Minimax video generation task status. + properties: + base_resp: + $ref: "#/components/schemas/MinimaxBaseResponse" + file_id: + description: "After the task status changes to Success, this field returns the file ID corresponding to the generated video." + type: string + status: + description: "Task status: 'Queueing' (in queue), 'Preparing' (task is preparing), 'Processing' (generating), 'Success' (task completed successfully), or 'Fail' (task failed)." + enum: + - Queueing + - Preparing + - Processing + - Success + - Fail + type: string + task_id: + description: The task ID being queried. + type: string + required: + - task_id + - status + - base_resp + type: object + MinimaxVideoGenerationRequest: + description: Parameters for the Minimax video generation proxy request. + properties: + callback_url: + description: Optional. URL to receive real-time status updates about the video generation task. + type: string + duration: + default: 6 + description: Video length in seconds. Only available for MiniMax-Hailuo-02 + enum: + - 6 + - 10 + type: integer + first_frame_image: + description: "URL or base64 encoding of the first frame image. Required when model is I2V-01, I2V-01-Director, or I2V-01-live." + type: string + model: + description: "Required. ID of model. Options: MiniMax-Hailuo-02, T2V-01-Director, I2V-01-Director, S2V-01, I2V-01, I2V-01-live, T2V-01" + enum: + - MiniMax-Hailuo-02 + - T2V-01-Director + - I2V-01-Director + - S2V-01 + - I2V-01 + - I2V-01-live + - T2V-01 + type: string + prompt: + description: "Description of the video. Should be less than 2000 characters. Supports camera movement instructions in [brackets]." + maxLength: 2000 + type: string + prompt_optimizer: + default: true + description: "If true (default), the model will automatically optimize the prompt. Set to false for more precise control." + type: boolean + resolution: + default: 768P + description: Video resolution. Only available for MiniMax-Hailuo-02. + enum: + - 768P + - 1080P + type: string + subject_reference: + description: Only available when model is S2V-01. The model will generate a video based on the subject uploaded through this parameter. + items: + properties: + image: + description: URL or base64 encoding of the subject reference image. + type: string + mask: + description: URL or base64 encoding of the mask for the subject reference image. + type: string + type: object + type: array + required: + - model + type: object + MinimaxVideoGenerationResponse: + description: Response from the Minimax video generation API. + properties: + base_resp: + $ref: "#/components/schemas/MinimaxBaseResponse" + task_id: + description: The task ID for the asynchronous video generation task. + type: string + required: + - task_id + - base_resp + type: object + Modality: + description: Type of input or output content modality. + enum: + - MODALITY_UNSPECIFIED + - TEXT + - IMAGE + - VIDEO + - AUDIO + - DOCUMENT + type: string + ModalityTokenCount: + properties: + modality: + $ref: "#/components/schemas/Modality" + tokenCount: + description: Number of tokens for the given modality. + type: integer + type: object + ModelClassification: + properties: + cost_cents: + description: Representative per-call rate-card cost in USD cents; null if unknown. + format: double + nullable: true + type: number + effective_tier: + description: Tier the gate assigns; empty string means not capped. + type: string + model: + type: string + override: + description: "Raw override tier ('expensive' | 'exempt'); null when unset." + nullable: true + type: string + reason: + description: "One of model_override, cost_ladder, exempt, model_default." + type: string + required: + - model + - effective_tier + - reason + type: object + ModelResponseProperties: + description: Common properties for model responses + properties: + instructions: + description: Instructions for the model on how to generate the response + type: string + max_output_tokens: + description: Maximum number of tokens to generate + type: integer + model: + description: The model used to generate the response + type: string + temperature: + default: 1 + description: Controls randomness in the response + maximum: 2 + minimum: 0 + type: number + top_p: + default: 1 + description: Controls diversity of the response via nucleus sampling + maximum: 1 + minimum: 0 + type: number + truncation: + default: disabled + description: How to handle truncation of the response + enum: + - disabled + - auto + type: string + type: object + MoonvalleyImageToVideoRequest: + allOf: + - $ref: "#/components/schemas/MoonvalleyTextToVideoRequest" + - properties: + keyframes: + additionalProperties: + properties: + image_url: + type: string + type: object + type: object + type: object + MoonvalleyPromptResponse: + properties: + error: + type: object + frame_conditioning: + type: object + id: + type: string + inference_params: + type: object + meta: + type: object + model_params: + type: object + output_url: + type: string + prompt_text: + type: string + status: + type: string + type: object + MoonvalleyResizeVideoRequest: + allOf: + - $ref: "#/components/schemas/MoonvalleyVideoToVideoRequest" + - properties: + frame_position: + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + frame_resolution: + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + scale: + items: + type: integer + maxItems: 2 + minItems: 2 + type: array + type: object + MoonvalleyTextToImageRequest: + properties: + image_url: + type: string + inference_params: + $ref: "#/components/schemas/MoonvalleyTextToVideoInferenceParams" + prompt_text: + type: string + webhook_url: + type: string + type: object + MoonvalleyTextToVideoInferenceParams: + properties: + guidance_scale: + default: 10 + description: Guidance scale for generation control + format: float + type: number + height: + default: 1080 + description: Height of the generated video in pixels + type: integer + negative_prompt: + description: Negative prompt text + type: string + seed: + default: 9 + description: "Random seed for generation (default: random)" + type: integer + steps: + default: 80 + description: Number of denoising steps + type: integer + use_negative_prompts: + default: true + description: Whether to use negative prompts + type: boolean + width: + default: 1920 + description: Width of the generated video in pixels + type: integer + type: object + MoonvalleyTextToVideoRequest: + properties: + image_url: + type: string + inference_params: + $ref: "#/components/schemas/MoonvalleyTextToVideoInferenceParams" + prompt_text: + type: string + webhook_url: + type: string + type: object + MoonvalleyUploadFileRequest: + properties: + file: + format: binary + type: string + type: object + MoonvalleyUploadFileResponse: + properties: + access_url: + type: string + type: object + MoonvalleyVideoToVideoInferenceParams: + properties: + control_params: + properties: + motion_intensity: + default: 6 + description: Intensity of motion control + format: int32 + type: integer + type: object + guidance_scale: + default: 10 + description: Guidance scale for generation control + format: float + type: number + negative_prompt: + description: Negative prompt text + type: string + seed: + default: 9 + description: "Random seed for generation (default: random)" + type: integer + steps: + default: 80 + description: Number of denoising steps + type: integer + use_negative_prompts: + default: true + description: Whether to use negative prompts + type: boolean + type: object + MoonvalleyVideoToVideoRequest: + properties: + control_type: + description: Supported types for video control + enum: + - motion_control + - pose_control + type: string + image_url: + description: Url to control image + type: string + inference_params: + $ref: "#/components/schemas/MoonvalleyVideoToVideoInferenceParams" + prompt_text: + description: Describes the video to generate + type: string + video_url: + description: Url to control video + type: string + webhook_url: + description: Optional webhook URL for notifications + type: string + required: + - prompt_text + - video_url + - control_type + type: object + Node: + properties: + author: + type: string + banner_url: + description: "URL to the node's banner." + type: string + category: + deprecated: true + description: "DEPRECATED: The category of the node. Use 'tags' field instead. This field will be removed in a future version." + type: string + created_at: + description: The date and time when the node was created + format: date-time + type: string + description: + type: string + downloads: + description: The number of downloads of the node. + type: integer + github_stars: + description: Number of stars on the GitHub repository. + type: integer + icon: + description: "URL to the node's icon." + type: string + id: + description: The unique identifier of the node. + type: string + latest_version: + $ref: "#/components/schemas/NodeVersion" + license: + description: "The path to the LICENSE file in the node's repository." + type: string + name: + description: The display name of the node. + type: string + preempted_comfy_node_names: + description: A list of Comfy node names that are preempted by this node. + items: + type: string + type: array + publisher: + $ref: "#/components/schemas/Publisher" + rating: + description: The average rating of the node. + type: number + repository: + description: "URL to the node's repository." + type: string + search_ranking: + description: "A numerical value representing the node's search ranking, used for sorting search results." + type: integer + status: + $ref: "#/components/schemas/NodeStatus" + status_detail: + description: The status detail of the node. + type: string + supported_accelerators: + description: "List of accelerators (e.g. CUDA, DirectML, ROCm) that this node supports" + items: + type: string + type: array + supported_comfyui_frontend_version: + description: Supported versions of ComfyUI frontend + type: string + supported_comfyui_version: + description: Supported versions of ComfyUI + type: string + supported_os: + description: List of operating systems that this node supports + items: + type: string + type: array + tags: + items: + type: string + type: array + tags_admin: + description: Admin-only tags for security warnings and admin metadata + items: + type: string + type: array + translations: + additionalProperties: + additionalProperties: true + type: object + description: Translations of node metadata in different languages. + type: object + type: object + NodeStatus: + enum: + - NodeStatusActive + - NodeStatusDeleted + - NodeStatusBanned + type: string + NodeVersion: + properties: + changelog: + description: Summary of changes made in this version + type: string + comfy_node_extract_status: + description: The status of comfy node extraction process. + type: string + createdAt: + description: The date and time the version was created. + format: date-time + type: string + dependencies: + description: A list of pip dependencies required by the node. + items: + type: string + type: array + deprecated: + description: Indicates if this version is deprecated. + type: boolean + downloadUrl: + description: "[Output Only] URL to download this version of the node" + type: string + id: + type: string + node_id: + description: The unique identifier of the node. + type: string + status: + $ref: "#/components/schemas/NodeVersionStatus" + status_reason: + type: string + supported_accelerators: + description: "List of accelerators (e.g. CUDA, DirectML, ROCm) that this node supports" + items: + type: string + type: array + supported_comfyui_frontend_version: + description: Supported versions of ComfyUI frontend + type: string + supported_comfyui_version: + description: Supported versions of ComfyUI + type: string + supported_os: + description: List of operating systems that this node supports + items: + type: string + type: array + tags: + items: + type: string + type: array + tags_admin: + description: Admin-only tags for security warnings and admin metadata + items: + type: string + type: array + version: + description: "The version identifier, following semantic versioning. Must be unique for the node." + type: string + type: object + NodeVersionIdentifier: + properties: + node_id: + description: The unique identifier of the node + type: string + version: + description: The version of the node + type: string + required: + - node_id + - version + type: object + NodeVersionStatus: + enum: + - NodeVersionStatusActive + - NodeVersionStatusDeleted + - NodeVersionStatusBanned + - NodeVersionStatusPending + - NodeVersionStatusFlagged + type: string + NodeVersionUpdateRequest: + properties: + changelog: + description: The changelog describing the version changes. + type: string + deprecated: + description: Whether the version is deprecated. + type: boolean + type: object + OpenAICreateResponse: + allOf: + - $ref: "#/components/schemas/CreateModelResponseProperties" + - $ref: "#/components/schemas/ResponseProperties" + - properties: + include: + description: "Specify additional output data to include in the model response. Currently\nsupported values are:\n- `file_search_call.results`: Include the search results of\n the file search tool call.\n- `message.input_image.image_url`: Include image urls from the input message.\n- `computer_call_output.output.image_url`: Include image urls from the computer call output.\n" + items: + $ref: "#/components/schemas/Includable" + nullable: true + type: array + input: + description: "Text, image, or file inputs to the model, used to generate a response.\n\nLearn more:\n- [Text inputs and outputs](/docs/guides/text)\n- [Image inputs](/docs/guides/images)\n- [File inputs](/docs/guides/pdf-files)\n- [Conversation state](/docs/guides/conversation-state)\n- [Function calling](/docs/guides/function-calling)\n" + oneOf: + - description: "A text input to the model, equivalent to a text input with the\n`user` role.\n" + title: Text input + type: string + - description: "A list of one or many input items to the model, containing\ndifferent content types.\n" + items: + $ref: "#/components/schemas/InputItem" + title: Input item list + type: array + parallel_tool_calls: + default: true + description: "Whether to allow the model to run tool calls in parallel.\n" + nullable: true + type: boolean + store: + default: true + description: "Whether to store the generated model response for later retrieval via\nAPI.\n" + nullable: true + type: boolean + stream: + default: false + description: "If set to true, the model response data will be streamed to the client\nas it is generated using [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format).\nSee the [Streaming section below](/docs/api-reference/responses-streaming)\nfor more information.\n" + nullable: true + type: boolean + usage: + $ref: "#/components/schemas/ResponseUsage" + required: + - model + - input + type: object + OpenAIImageEditRequest: + properties: + background: + description: Background transparency + example: opaque + type: string + model: + description: "The model to use for image editing (e.g., dall-e-2, gpt-image-1, gpt-image-1.5, gpt-image-2)" + example: gpt-image-2 + type: string + moderation: + description: Content moderation setting + enum: + - low + - auto + example: auto + type: string + "n": + description: The number of images to generate + example: 1 + type: integer + output_compression: + description: Compression level for JPEG or WebP (0-100) + example: 100 + type: integer + output_format: + description: Format of the output image + enum: + - png + - webp + - jpeg + example: png + type: string + prompt: + description: A text description of the desired edit + example: Give the rocketship rainbow coloring + type: string + quality: + description: The quality of the edited image + example: low + type: string + size: + description: Size of the output image + example: 1024x1024 + type: string + user: + description: A unique identifier for end-user monitoring + example: user-1234 + type: string + required: + - model + - prompt + type: object + OpenAIImageGenerationRequest: + properties: + background: + description: Background transparency + enum: + - transparent + - opaque + example: opaque + type: string + model: + description: "The model to use for image generation (e.g., dall-e-2, dall-e-3, gpt-image-1, gpt-image-1.5, gpt-image-2)" + example: gpt-image-2 + type: string + moderation: + description: Content moderation setting + enum: + - low + - auto + example: auto + type: string + "n": + description: The number of images to generate (1-10). Only 1 supported for dall-e-3. + example: 1 + type: integer + output_compression: + description: Compression level for JPEG or WebP (0-100) + example: 100 + type: integer + output_format: + description: Format of the output image + enum: + - png + - webp + - jpeg + example: png + type: string + prompt: + description: A text description of the desired image + example: Draw a rocket in front of a blackhole in deep space + type: string + quality: + description: The quality of the generated image + enum: + - low + - medium + - high + - standard + - hd + example: high + type: string + response_format: + description: Response format of image data + enum: + - url + - b64_json + example: b64_json + type: string + size: + description: "Size of the image (e.g., 1024x1024, 1536x1024, auto)" + example: 1024x1536 + type: string + style: + description: Style of the image (only for dall-e-3) + enum: + - vivid + - natural + example: vivid + type: string + user: + description: A unique identifier for end-user monitoring + example: user-1234 + type: string + required: + - prompt + type: object + OpenAIImageGenerationResponse: + properties: + data: + items: + properties: + b64_json: + description: Base64 encoded image data + type: string + revised_prompt: + description: Revised prompt + type: string + url: + description: URL of the image + type: string + type: object + type: array + usage: + properties: + input_tokens: + type: integer + input_tokens_details: + properties: + image_tokens: + type: integer + text_tokens: + type: integer + type: object + output_tokens: + type: integer + output_tokens_details: + properties: + image_tokens: + type: integer + text_tokens: + type: integer + type: object + total_tokens: + type: integer + type: object + type: object + OpenAIModels: + enum: + - gpt-4 + - gpt-4-0314 + - gpt-4-0613 + - gpt-4-32k + - gpt-4-32k-0314 + - gpt-4-32k-0613 + - gpt-4-0125-preview + - gpt-4-turbo + - gpt-4-turbo-2024-04-09 + - gpt-4-turbo-preview + - gpt-4-1106-preview + - gpt-4-vision-preview + - gpt-3.5-turbo + - gpt-3.5-turbo-16k + - gpt-3.5-turbo-0301 + - gpt-3.5-turbo-0613 + - gpt-3.5-turbo-1106 + - gpt-3.5-turbo-0125 + - gpt-3.5-turbo-16k-0613 + - gpt-4.1 + - gpt-4.1-mini + - gpt-4.1-nano + - gpt-4.1-2025-04-14 + - gpt-4.1-mini-2025-04-14 + - gpt-4.1-nano-2025-04-14 + - o1 + - o1-mini + - o1-preview + - o1-pro + - o1-2024-12-17 + - o1-preview-2024-09-12 + - o1-mini-2024-09-12 + - o1-pro-2025-03-19 + - o3 + - o3-mini + - o3-2025-04-16 + - o3-mini-2025-01-31 + - o4-mini + - o4-mini-2025-04-16 + - gpt-4o + - gpt-4o-mini + - gpt-4o-2024-11-20 + - gpt-4o-2024-08-06 + - gpt-4o-2024-05-13 + - gpt-4o-mini-2024-07-18 + - gpt-4o-audio-preview + - gpt-4o-audio-preview-2024-10-01 + - gpt-4o-audio-preview-2024-12-17 + - gpt-4o-mini-audio-preview + - gpt-4o-mini-audio-preview-2024-12-17 + - gpt-4o-search-preview + - gpt-4o-mini-search-preview + - gpt-4o-search-preview-2025-03-11 + - gpt-4o-mini-search-preview-2025-03-11 + - computer-use-preview + - computer-use-preview-2025-03-11 + - gpt-5 + - gpt-5-mini + - gpt-5-nano + - gpt-5.5 + - gpt-5.5-pro + - chatgpt-4o-latest + type: string + OpenAIResponse: + allOf: + - $ref: "#/components/schemas/ModelResponseProperties" + - $ref: "#/components/schemas/ResponseProperties" + - properties: + created_at: + description: Unix timestamp (in seconds) of when this Response was created. + type: number + error: + $ref: "#/components/schemas/ResponseError" + id: + description: Unique identifier for this Response. + type: string + incomplete_details: + description: "Details about why the response is incomplete.\n" + nullable: true + properties: + reason: + description: The reason why the response is incomplete. + enum: + - max_output_tokens + - content_filter + type: string + type: object + object: + description: "The object type of this resource - always set to `response`." + enum: + - response + type: string + x-stainless-const: true + output: + description: "An array of content items generated by the model.\n\n- The length and order of items in the `output` array is dependent\n on the model's response.\n- Rather than accessing the first item in the `output` array and\n assuming it's an `assistant` message with the content generated by\n the model, you might consider using the `output_text` property where\n supported in SDKs.\n" + items: + $ref: "#/components/schemas/OutputItem" + type: array + output_text: + description: "SDK-only convenience property that contains the aggregated text output\nfrom all `output_text` items in the `output` array, if any are present.\nSupported in the Python and JavaScript SDKs.\n" + nullable: true + type: string + x-oaiSupportedSDKs: + - python + - javascript + parallel_tool_calls: + default: true + description: "Whether to allow the model to run tool calls in parallel.\n" + type: boolean + status: + description: "The status of the response generation. One of `completed`, `failed`, `in_progress`, or `incomplete`." + enum: + - completed + - failed + - in_progress + - incomplete + type: string + usage: + $ref: "#/components/schemas/ResponseUsage" + type: object + description: A response from the model + type: object + OpenAIResponseStreamEvent: + anyOf: + - $ref: "#/components/schemas/ResponseCreatedEvent" + - $ref: "#/components/schemas/ResponseInProgressEvent" + - $ref: "#/components/schemas/ResponseCompletedEvent" + - $ref: "#/components/schemas/ResponseFailedEvent" + - $ref: "#/components/schemas/ResponseIncompleteEvent" + - $ref: "#/components/schemas/ResponseOutputItemAddedEvent" + - $ref: "#/components/schemas/ResponseOutputItemDoneEvent" + - $ref: "#/components/schemas/ResponseContentPartAddedEvent" + - $ref: "#/components/schemas/ResponseContentPartDoneEvent" + - $ref: "#/components/schemas/ResponseErrorEvent" + description: Events that can be emitted during response streaming + type: object + OpenAIVideoCreateRequest: + properties: + input_reference: + description: Optional image or video reference that guides generation + format: binary + type: string + model: + default: sora-2 + description: The video generation model to use + enum: + - sora-2 + - sora-2-pro + type: string + prompt: + description: Text prompt that describes the video to generate + example: A calico cat playing a piano on stage + type: string + seconds: + default: "4" + description: Clip duration in seconds + enum: + - "4" + - "8" + - "12" + type: string + size: + default: 720x1280 + description: Output resolution formatted as width x height + enum: + - 720x1280 + - 1280x720 + - 1024x1792 + - 1792x1024 + type: string + required: + - prompt + type: object + OpenAIVideoJob: + properties: + completed_at: + description: "Unix timestamp (seconds) for when the job completed, if finished" + example: 1712698600 + type: integer + created_at: + description: Unix timestamp (seconds) for when the job was created + example: 1712697600 + type: integer + error: + description: "Error payload that explains why generation failed, if applicable" + properties: + code: + description: Error code + type: string + message: + description: Human-readable error message + type: string + type: object + expires_at: + description: "Unix timestamp (seconds) for when the downloadable assets expire, if set" + example: 1712784000 + type: integer + id: + description: Unique identifier for the video job + example: video_123 + type: string + model: + description: The video generation model that produced the job + example: sora-2 + type: string + object: + description: "The object type, which is always video" + enum: + - video + example: video + type: string + progress: + description: Approximate completion percentage for the generation task + example: 0 + type: integer + quality: + description: Quality of the generated video + example: standard + type: string + remixed_from_video_id: + description: Identifier of the source video if this video is a remix + example: video_456 + type: string + seconds: + description: Duration of the generated clip in seconds + example: "8" + type: string + size: + description: The resolution of the generated video + example: 1024x1808 + type: string + status: + description: Current lifecycle status of the video job + enum: + - queued + - in_progress + - completed + - failed + example: queued + type: string + type: object + OpenRouterAnthropicCacheControlDirective: + description: "Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. Currently supported for Anthropic Claude models." + properties: + ttl: + $ref: "#/components/schemas/OpenRouterAnthropicCacheControlTtl" + type: + $ref: "#/components/schemas/OpenRouterAnthropicCacheControlDirectiveType" + required: + - type + title: AnthropicCacheControlDirective + type: object + OpenRouterAnthropicCacheControlDirectiveType: + enum: + - ephemeral + title: AnthropicCacheControlDirectiveType + type: string + OpenRouterAnthropicCacheControlTtl: + enum: + - 5m + - 1h + title: AnthropicCacheControlTtl + type: string + OpenRouterBigNumberUnion: + description: Price per million prompt tokens + title: BigNumberUnion + type: string + OpenRouterChatAssistantImages: + description: Generated images from image generation models + items: + $ref: "#/components/schemas/OpenRouterChatAssistantImagesItems" + title: ChatAssistantImages + type: array + OpenRouterChatAssistantImagesItems: + properties: + image_url: + $ref: "#/components/schemas/OpenRouterChatAssistantImagesItemsImageUrl" + required: + - image_url + title: ChatAssistantImagesItems + type: object + OpenRouterChatAssistantImagesItemsImageUrl: + properties: + url: + description: URL or base64-encoded data of the generated image + type: string + required: + - url + title: ChatAssistantImagesItemsImageUrl + type: object + OpenRouterChatAssistantMessage: + description: Assistant message for requests and responses + properties: + audio: + $ref: "#/components/schemas/OpenRouterChatAudioOutput" + content: + $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingAssistantContent" + images: + $ref: "#/components/schemas/OpenRouterChatAssistantImages" + name: + description: Optional name for the assistant + type: string + reasoning: + description: Reasoning output + nullable: true + type: string + reasoning_details: + $ref: "#/components/schemas/OpenRouterChatReasoningDetails" + refusal: + description: Refusal message if content was refused + nullable: true + type: string + tool_calls: + description: Tool calls made by the assistant + items: + $ref: "#/components/schemas/OpenRouterChatToolCall" + type: array + title: ChatAssistantMessage + type: object + OpenRouterChatAudioOutput: + description: Audio output data or reference + properties: + data: + description: Base64 encoded audio data + type: string + expires_at: + description: Audio expiration timestamp + type: integer + id: + description: Audio output identifier + type: string + transcript: + description: Audio transcript + type: string + title: ChatAudioOutput + type: object + OpenRouterChatChoice: + description: Chat completion choice + properties: + finish_reason: + $ref: "#/components/schemas/OpenRouterChatFinishReasonEnum" + index: + description: Choice index + type: integer + logprobs: + $ref: "#/components/schemas/OpenRouterChatTokenLogprobs" + message: + $ref: "#/components/schemas/OpenRouterChatAssistantMessage" + required: + - finish_reason + - index + - message + title: ChatChoice + type: object + OpenRouterChatContentCacheControl: + description: Cache control for the content part + properties: + ttl: + $ref: "#/components/schemas/OpenRouterAnthropicCacheControlTtl" + type: + $ref: "#/components/schemas/OpenRouterChatContentCacheControlType" + required: + - type + title: ChatContentCacheControl + type: object + OpenRouterChatContentCacheControlType: + enum: + - ephemeral + title: ChatContentCacheControlType + type: string + OpenRouterChatContentItems: + description: Content part for chat completion messages + oneOf: + - description: File content part for document processing + properties: + file: + $ref: "#/components/schemas/OpenRouterChatContentItemsDiscriminatorMappingFileFile" + type: + description: "Discriminator value: file" + enum: + - file + type: string + required: + - type + - file + type: object + - description: Image content part for vision models + properties: + image_url: + $ref: "#/components/schemas/OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrl" + type: + description: "Discriminator value: image_url" + enum: + - image_url + type: string + required: + - type + - image_url + type: object + - description: Audio input content part. Supported audio formats vary by provider. + properties: + input_audio: + $ref: "#/components/schemas/OpenRouterChatContentItemsDiscriminatorMappingInputAudioInputAudio" + type: + description: "Discriminator value: input_audio" + enum: + - input_audio + type: string + required: + - type + - input_audio + type: object + - description: Video input content part (legacy format - deprecated) + properties: + type: + $ref: "#/components/schemas/OpenRouterLegacyChatContentVideoType" + video_url: + $ref: "#/components/schemas/OpenRouterChatContentVideoInput" + required: + - type + - video_url + type: object + - description: Text content part + properties: + cache_control: + $ref: "#/components/schemas/OpenRouterChatContentCacheControl" + text: + type: string + type: + $ref: "#/components/schemas/OpenRouterChatContentTextType" + required: + - type + - text + type: object + - description: Video input content part + properties: + type: + $ref: "#/components/schemas/OpenRouterChatContentVideoType" + video_url: + $ref: "#/components/schemas/OpenRouterChatContentVideoInput" + required: + - type + - video_url + type: object + title: ChatContentItems + OpenRouterChatContentItemsDiscriminatorMappingFileFile: + properties: + file_data: + description: File content as base64 data URL or URL + type: string + file_id: + description: File ID for previously uploaded files + type: string + filename: + description: Original filename + type: string + title: ChatContentItemsDiscriminatorMappingFileFile + type: object + OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrl: + properties: + detail: + $ref: "#/components/schemas/OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrlDetail" + url: + description: "URL of the image (data: URLs supported)" + type: string + required: + - url + title: ChatContentItemsDiscriminatorMappingImageUrlImageUrl + type: object + OpenRouterChatContentItemsDiscriminatorMappingImageUrlImageUrlDetail: + description: Image detail level for vision models + enum: + - auto + - low + - high + title: ChatContentItemsDiscriminatorMappingImageUrlImageUrlDetail + type: string + OpenRouterChatContentItemsDiscriminatorMappingInputAudioInputAudio: + properties: + data: + description: Base64 encoded audio data + type: string + format: + description: "Audio format (e.g., wav, mp3, flac, m4a, ogg, aiff, aac, pcm16, pcm24). Supported formats vary by provider." + type: string + required: + - data + - format + title: ChatContentItemsDiscriminatorMappingInputAudioInputAudio + type: object + OpenRouterChatContentText: + description: Text content part + properties: + cache_control: + $ref: "#/components/schemas/OpenRouterChatContentCacheControl" + text: + type: string + type: + $ref: "#/components/schemas/OpenRouterChatContentTextType" + required: + - text + - type + title: ChatContentText + type: object + OpenRouterChatContentTextType: + enum: + - text + title: ChatContentTextType + type: string + OpenRouterChatContentVideoInput: + description: Video input object + properties: + url: + description: "URL of the video (data: URLs supported)" + type: string + required: + - url + title: ChatContentVideoInput + type: object + OpenRouterChatContentVideoType: + enum: + - video_url + title: ChatContentVideoType + type: string + OpenRouterChatDebugOptions: + description: Debug options for inspecting request transformations (streaming only) + properties: + echo_upstream_body: + description: "If true, includes the transformed upstream request body in a debug chunk at the start of the stream. Only works with streaming mode." + type: boolean + title: ChatDebugOptions + type: object + OpenRouterChatFinishReasonEnum: + enum: + - tool_calls + - stop + - length + - content_filter + - error + title: ChatFinishReasonEnum + type: string + OpenRouterChatFunctionTool: + description: Tool definition for function calling (regular function or OpenRouter built-in server tool) + oneOf: + - $ref: "#/components/schemas/OpenRouterChatFunctionTool0" + - $ref: "#/components/schemas/OpenRouterDatetimeServerTool" + - $ref: "#/components/schemas/ImageGenerationServerTool_OpenRouter" + - $ref: "#/components/schemas/OpenRouterChatSearchModelsServerTool" + - $ref: "#/components/schemas/OpenRouterWebFetchServerTool" + - $ref: "#/components/schemas/OpenRouterWebSearchServerTool" + - $ref: "#/components/schemas/OpenRouterChatWebSearchShorthand" + title: ChatFunctionTool + OpenRouterChatFunctionTool0: + properties: + cache_control: + $ref: "#/components/schemas/OpenRouterChatContentCacheControl" + function: + $ref: "#/components/schemas/OpenRouterChatFunctionToolOneOf0Function" + type: + $ref: "#/components/schemas/OpenRouterChatFunctionToolOneOf0Type" + required: + - function + - type + title: ChatFunctionTool0 + type: object + OpenRouterChatFunctionToolOneOf0Function: + description: Function definition for tool calling + properties: + description: + description: Function description for the model + type: string + name: + description: "Function name (a-z, A-Z, 0-9, underscores, dashes, max 64 chars)" + type: string + parameters: + additionalProperties: + description: Any type + description: Function parameters as JSON Schema object + type: object + strict: + description: Enable strict schema adherence + nullable: true + type: boolean + required: + - name + title: ChatFunctionToolOneOf0Function + type: object + OpenRouterChatFunctionToolOneOf0Type: + enum: + - function + title: ChatFunctionToolOneOf0Type + type: string + OpenRouterChatJsonSchemaConfig: + description: JSON Schema configuration object + properties: + description: + description: Schema description for the model + type: string + name: + description: "Schema name (a-z, A-Z, 0-9, underscores, dashes, max 64 chars)" + type: string + schema: + additionalProperties: + description: Any type + description: JSON Schema object + type: object + strict: + description: Enable strict schema adherence + nullable: true + type: boolean + required: + - name + title: ChatJsonSchemaConfig + type: object + OpenRouterChatMessages: + description: Chat completion message with role-based discrimination + oneOf: + - description: Assistant message for requests and responses + properties: + audio: + $ref: "#/components/schemas/OpenRouterChatAudioOutput" + content: + $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingAssistantContent" + images: + $ref: "#/components/schemas/OpenRouterChatAssistantImages" + name: + description: Optional name for the assistant + type: string + reasoning: + description: Reasoning output + nullable: true + type: string + reasoning_details: + $ref: "#/components/schemas/OpenRouterChatReasoningDetails" + refusal: + description: Refusal message if content was refused + nullable: true + type: string + role: + description: "Discriminator value: assistant" + enum: + - assistant + type: string + tool_calls: + description: Tool calls made by the assistant + items: + $ref: "#/components/schemas/OpenRouterChatToolCall" + type: array + required: + - role + type: object + - description: Developer message + properties: + content: + $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingDeveloperContent" + name: + description: Optional name for the developer message + type: string + role: + description: "Discriminator value: developer" + enum: + - developer + type: string + required: + - role + - content + type: object + - description: System message for setting behavior + properties: + content: + $ref: "#/components/schemas/OpenRouterChatSystemMessageContent" + name: + description: Optional name for the system message + type: string + role: + $ref: "#/components/schemas/OpenRouterChatSystemMessageRole" + required: + - role + - content + type: object + - description: Tool response message + properties: + content: + $ref: "#/components/schemas/OpenRouterChatToolMessageContent" + role: + $ref: "#/components/schemas/OpenRouterChatToolMessageRole" + tool_call_id: + description: ID of the assistant message tool call this message responds to + type: string + required: + - role + - content + - tool_call_id + type: object + - description: User message + properties: + content: + $ref: "#/components/schemas/OpenRouterChatUserMessageContent" + name: + description: Optional name for the user + type: string + role: + $ref: "#/components/schemas/OpenRouterChatUserMessageRole" + required: + - role + - content + type: object + title: ChatMessages + OpenRouterChatMessagesDiscriminatorMappingAssistantContent: + description: Assistant message content + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingAssistantContent1" + - description: Any type + title: ChatMessagesDiscriminatorMappingAssistantContent + OpenRouterChatMessagesDiscriminatorMappingAssistantContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentItems" + title: ChatMessagesDiscriminatorMappingAssistantContent1 + type: array + OpenRouterChatMessagesDiscriminatorMappingDeveloperContent: + description: Developer message content + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatMessagesDiscriminatorMappingDeveloperContent1" + title: ChatMessagesDiscriminatorMappingDeveloperContent + OpenRouterChatMessagesDiscriminatorMappingDeveloperContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentText" + title: ChatMessagesDiscriminatorMappingDeveloperContent1 + type: array + OpenRouterChatModelNames: + description: Models to use for completion + items: + $ref: "#/components/schemas/OpenRouterModelName" + title: ChatModelNames + type: array + OpenRouterChatNamedToolChoice: + description: Named tool choice for specific function + properties: + function: + $ref: "#/components/schemas/OpenRouterChatNamedToolChoiceFunction" + type: + $ref: "#/components/schemas/OpenRouterChatNamedToolChoiceType" + required: + - function + - type + title: ChatNamedToolChoice + type: object + OpenRouterChatNamedToolChoiceFunction: + properties: + name: + description: Function name to call + type: string + required: + - name + title: ChatNamedToolChoiceFunction + type: object + OpenRouterChatNamedToolChoiceType: + enum: + - function + title: ChatNamedToolChoiceType + type: string + OpenRouterChatReasoningDetails: + description: Reasoning details for extended thinking models + items: + $ref: "#/components/schemas/OpenRouterReasoningDetailUnion" + title: ChatReasoningDetails + type: array + OpenRouterChatReasoningSummaryVerbosityEnum: + enum: + - auto + - concise + - detailed + title: ChatReasoningSummaryVerbosityEnum + type: string + OpenRouterChatRequest: + description: Chat completion request parameters + properties: + cache_control: + $ref: "#/components/schemas/OpenRouterAnthropicCacheControlDirective" + debug: + $ref: "#/components/schemas/OpenRouterChatDebugOptions" + frequency_penalty: + description: Frequency penalty (-2.0 to 2.0) + format: double + nullable: true + type: number + image_config: + $ref: "#/components/schemas/OpenRouterImageConfig" + logit_bias: + additionalProperties: + format: double + type: number + description: Token logit bias adjustments + nullable: true + type: object + logprobs: + description: Return log probabilities + nullable: true + type: boolean + max_completion_tokens: + description: Maximum tokens in completion + nullable: true + type: integer + max_tokens: + description: "Maximum tokens (deprecated, use max_completion_tokens). Note: some providers enforce a minimum of 16." + nullable: true + type: integer + messages: + description: List of messages for the conversation + items: + $ref: "#/components/schemas/OpenRouterChatMessages" + type: array + metadata: + additionalProperties: + type: string + description: "Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values)" + type: object + modalities: + description: "Output modalities for the response. Supported values are \"text\", \"image\", and \"audio\"." + items: + $ref: "#/components/schemas/OpenRouterChatRequestModalitiesItems" + type: array + model: + $ref: "#/components/schemas/OpenRouterModelName" + models: + $ref: "#/components/schemas/OpenRouterChatModelNames" + parallel_tool_calls: + description: "Whether to enable parallel function calling during tool use. When true, the model may generate multiple tool calls in a single response." + nullable: true + type: boolean + plugins: + description: "Plugins you want to enable for this request, including their settings." + items: + $ref: "#/components/schemas/OpenRouterChatRequestPluginsItems" + type: array + presence_penalty: + description: Presence penalty (-2.0 to 2.0) + format: double + nullable: true + type: number + provider: + $ref: "#/components/schemas/OpenRouterProviderPreferences" + reasoning: + $ref: "#/components/schemas/OpenRouterChatRequestReasoning" + response_format: + $ref: "#/components/schemas/OpenRouterChatRequestResponseFormat" + route: + description: Any type + seed: + description: Random seed for deterministic outputs + nullable: true + type: integer + service_tier: + description: The service tier to use for processing this request. + oneOf: + - $ref: "#/components/schemas/OpenRouterChatRequestServiceTier" + session_id: + description: "A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters." + type: string + stop: + $ref: "#/components/schemas/OpenRouterChatRequestStop" + stop_server_tools_when: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhen" + stream: + default: false + description: Enable streaming response + type: boolean + stream_options: + $ref: "#/components/schemas/OpenRouterChatStreamOptions" + temperature: + description: Sampling temperature (0-2) + format: double + nullable: true + type: number + tool_choice: + $ref: "#/components/schemas/OpenRouterChatToolChoice" + tools: + description: Available tools for function calling + items: + $ref: "#/components/schemas/OpenRouterChatFunctionTool" + type: array + top_logprobs: + description: Number of top log probabilities to return (0-20) + nullable: true + type: integer + top_p: + description: Nucleus sampling parameter (0-1) + format: double + nullable: true + type: number + trace: + $ref: "#/components/schemas/OpenRouterTraceConfig" + user: + description: Unique user identifier + type: string + required: + - messages + title: ChatRequest + type: object + OpenRouterChatRequestModalitiesItems: + enum: + - text + - image + - audio + title: ChatRequestModalitiesItems + type: string + OpenRouterChatRequestPluginsItems: + oneOf: + - description: auto-router variant + properties: + allowed_models: + description: "List of model patterns to filter which models the auto-router can route between. Supports wildcards (e.g., \"anthropic/*\" matches all Anthropic models). When not specified, uses the default supported models list." + items: + type: string + type: array + enabled: + description: Set to false to disable the auto-router plugin for this request. Defaults to true. + type: boolean + id: + description: "Discriminator value: auto-router" + enum: + - auto-router + type: string + required: + - id + type: object + - description: context-compression variant + properties: + enabled: + description: Set to false to disable the context-compression plugin for this request. Defaults to true. + type: boolean + engine: + $ref: "#/components/schemas/OpenRouterContextCompressionEngine" + id: + description: "Discriminator value: context-compression" + enum: + - context-compression + type: string + required: + - id + type: object + - description: file-parser variant + properties: + enabled: + description: Set to false to disable the file-parser plugin for this request. Defaults to true. + type: boolean + id: + description: "Discriminator value: file-parser" + enum: + - file-parser + type: string + pdf: + $ref: "#/components/schemas/OpenRouterPDFParserOptions" + required: + - id + type: object + - description: fusion variant + properties: + analysis_models: + description: "Slugs of models to run in parallel as the \"expert panel\" the judge analyzes. Each model receives the same user prompt with web_search + web_fetch enabled. Capped at 8 models to bound cost amplification. When omitted, defaults to the Quality preset from the /labs/fusion UI (~anthropic/claude-opus-latest, ~openai/gpt-latest, ~google/gemini-pro-latest)." + items: + type: string + type: array + enabled: + description: Set to false to disable the fusion plugin for this request. Defaults to true. + type: boolean + id: + description: "Discriminator value: fusion" + enum: + - fusion + type: string + max_tool_calls: + description: Maximum number of tool-calling steps each panelist (analysis model) and the judge model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16. + type: integer + model: + description: "Slug of the model that performs both the judge step (with web_search + web_fetch) and the final synthesis. When omitted, defaults to the first model in the Quality preset." + type: string + required: + - id + type: object + - description: moderation variant + properties: + id: + description: "Discriminator value: moderation" + enum: + - moderation + type: string + required: + - id + type: object + - description: pareto-router variant + properties: + enabled: + description: Set to false to disable the pareto-router plugin for this request. Defaults to true. + type: boolean + id: + description: "Discriminator value: pareto-router" + enum: + - pareto-router + type: string + min_coding_score: + description: "Minimum desired coding score between 0 and 1, where 1 is best. Higher values select from stronger coding models (sourced from Artificial Analysis coding percentiles). Maps internally to one of three tiers (low, medium, high). Omit to use the router default tier." + format: double + type: number + required: + - id + type: object + - description: response-healing variant + properties: + enabled: + description: Set to false to disable the response-healing plugin for this request. Defaults to true. + type: boolean + id: + description: "Discriminator value: response-healing" + enum: + - response-healing + type: string + required: + - id + type: object + - description: web variant + properties: + enabled: + description: Set to false to disable the web-search plugin for this request. Defaults to true. + type: boolean + engine: + $ref: "#/components/schemas/OpenRouterWebSearchEngine" + exclude_domains: + description: "A list of domains to exclude from web search results. Supports wildcards (e.g. \"*.substack.com\") and path filtering (e.g. \"openai.com/blog\")." + items: + type: string + type: array + id: + $ref: "#/components/schemas/OpenRouterWebSearchPluginId" + include_domains: + description: "A list of domains to restrict web search results to. Supports wildcards (e.g. \"*.substack.com\") and path filtering (e.g. \"openai.com/blog\")." + items: + type: string + type: array + max_results: + type: integer + max_uses: + description: Maximum number of times the model can invoke web search in a single turn. Passed through to native providers that support it (e.g. Anthropic). + type: integer + search_prompt: + type: string + user_location: + $ref: "#/components/schemas/OpenRouterWebSearchPluginUserLocation" + required: + - id + type: object + - description: web-fetch variant + properties: + allowed_domains: + description: Only fetch from these domains. + items: + type: string + type: array + blocked_domains: + description: Never fetch from these domains. + items: + type: string + type: array + id: + $ref: "#/components/schemas/OpenRouterWebFetchPluginId" + max_content_tokens: + description: Maximum content length in approximate tokens. Content exceeding this limit is truncated. + type: integer + max_uses: + description: "Maximum number of web fetches per request. Once exceeded, the tool returns an error." + type: integer + required: + - id + type: object + title: ChatRequestPluginsItems + OpenRouterChatRequestReasoning: + description: Configuration options for reasoning models + properties: + effort: + description: Constrains effort on reasoning for reasoning models + oneOf: + - $ref: "#/components/schemas/OpenRouterChatRequestReasoningEffort" + summary: + $ref: "#/components/schemas/OpenRouterChatReasoningSummaryVerbosityEnum" + title: ChatRequestReasoning + type: object + OpenRouterChatRequestReasoningEffort: + description: Constrains effort on reasoning for reasoning models + enum: + - xhigh + - high + - medium + - low + - minimal + - none + title: ChatRequestReasoningEffort + type: string + OpenRouterChatRequestResponseFormat: + description: Response format configuration + oneOf: + - description: Custom grammar response format + properties: + grammar: + description: Custom grammar for text generation + type: string + type: + description: "Discriminator value: grammar" + enum: + - grammar + type: string + required: + - type + - grammar + type: object + - description: JSON object response format + properties: + type: + $ref: "#/components/schemas/OpenRouterFormatJsonObjectConfigType" + required: + - type + type: object + - description: JSON Schema response format for structured outputs + properties: + json_schema: + $ref: "#/components/schemas/OpenRouterChatJsonSchemaConfig" + type: + description: "Discriminator value: json_schema" + enum: + - json_schema + type: string + required: + - type + - json_schema + type: object + - description: Python code response format + properties: + type: + description: "Discriminator value: python" + enum: + - python + type: string + required: + - type + type: object + - description: Default text response format + properties: + type: + description: "Discriminator value: text" + enum: + - text + type: string + required: + - type + type: object + title: ChatRequestResponseFormat + OpenRouterChatRequestServiceTier: + description: The service tier to use for processing this request. + enum: + - auto + - default + - flex + - priority + - scale + title: ChatRequestServiceTier + type: string + OpenRouterChatRequestStop: + description: Stop sequences (up to 4) + oneOf: + - type: string + - items: + type: string + type: array + - description: Any type + title: ChatRequestStop + OpenRouterChatResult: + description: Chat completion response + properties: + choices: + description: List of completion choices + items: + $ref: "#/components/schemas/OpenRouterChatChoice" + type: array + created: + description: Unix timestamp of creation + type: integer + id: + description: Unique completion identifier + type: string + model: + description: Model used for completion + type: string + object: + $ref: "#/components/schemas/OpenRouterChatResultObject" + openrouter_metadata: + $ref: "#/components/schemas/OpenRouterMetadata" + service_tier: + description: The service tier used by the upstream provider for this request + nullable: true + type: string + system_fingerprint: + description: System fingerprint + nullable: true + type: string + usage: + $ref: "#/components/schemas/OpenRouterChatUsage" + required: + - choices + - created + - id + - model + - object + - system_fingerprint + title: ChatResult + type: object + OpenRouterChatResultObject: + enum: + - chat.completion + title: ChatResultObject + type: string + OpenRouterChatSearchModelsServerTool: + description: "OpenRouter built-in server tool: searches and filters AI models available on OpenRouter" + properties: + parameters: + $ref: "#/components/schemas/OpenRouterSearchModelsServerToolConfig" + type: + $ref: "#/components/schemas/OpenRouterChatSearchModelsServerToolType" + required: + - type + title: ChatSearchModelsServerTool + type: object + OpenRouterChatSearchModelsServerToolType: + enum: + - openrouter:experimental__search_models + title: ChatSearchModelsServerToolType + type: string + OpenRouterChatStreamOptions: + description: Streaming configuration options + properties: + include_usage: + description: "Deprecated: This field has no effect. Full usage details are always included." + type: boolean + title: ChatStreamOptions + type: object + OpenRouterChatSystemMessageContent: + description: System message content + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatSystemMessageContent1" + title: ChatSystemMessageContent + OpenRouterChatSystemMessageContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentText" + title: ChatSystemMessageContent1 + type: array + OpenRouterChatSystemMessageRole: + enum: + - system + title: ChatSystemMessageRole + type: string + OpenRouterChatTokenLogprob: + description: Token log probability information + properties: + bytes: + description: UTF-8 bytes of the token + items: + type: integer + nullable: true + type: array + logprob: + description: Log probability of the token + format: double + type: number + token: + description: The token + type: string + top_logprobs: + description: Top alternative tokens with probabilities + items: + $ref: "#/components/schemas/OpenRouterChatTokenLogprobTopLogprobsItems" + type: array + required: + - bytes + - logprob + - token + - top_logprobs + title: ChatTokenLogprob + type: object + OpenRouterChatTokenLogprobTopLogprobsItems: + properties: + bytes: + items: + type: integer + nullable: true + type: array + logprob: + format: double + type: number + token: + type: string + required: + - bytes + - logprob + - token + title: ChatTokenLogprobTopLogprobsItems + type: object + OpenRouterChatTokenLogprobs: + description: Log probabilities for the completion + properties: + content: + description: Log probabilities for content tokens + items: + $ref: "#/components/schemas/OpenRouterChatTokenLogprob" + nullable: true + type: array + refusal: + description: Log probabilities for refusal tokens + items: + $ref: "#/components/schemas/OpenRouterChatTokenLogprob" + nullable: true + type: array + required: + - content + title: ChatTokenLogprobs + type: object + OpenRouterChatToolCall: + description: Tool call made by the assistant + properties: + function: + $ref: "#/components/schemas/OpenRouterChatToolCallFunction" + id: + description: Tool call identifier + type: string + type: + $ref: "#/components/schemas/OpenRouterChatToolCallType" + required: + - function + - id + - type + title: ChatToolCall + type: object + OpenRouterChatToolCallFunction: + properties: + arguments: + description: Function arguments as JSON string + type: string + name: + description: Function name to call + type: string + required: + - arguments + - name + title: ChatToolCallFunction + type: object + OpenRouterChatToolCallType: + enum: + - function + title: ChatToolCallType + type: string + OpenRouterChatToolChoice: + description: Tool choice configuration + oneOf: + - $ref: "#/components/schemas/OpenRouterChatToolChoice0" + - $ref: "#/components/schemas/OpenRouterChatToolChoice1" + - $ref: "#/components/schemas/OpenRouterChatToolChoice2" + - $ref: "#/components/schemas/OpenRouterChatNamedToolChoice" + title: ChatToolChoice + OpenRouterChatToolChoice0: + enum: + - none + title: ChatToolChoice0 + type: string + OpenRouterChatToolChoice1: + enum: + - auto + title: ChatToolChoice1 + type: string + OpenRouterChatToolChoice2: + enum: + - required + title: ChatToolChoice2 + type: string + OpenRouterChatToolMessageContent: + description: Tool response content + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatToolMessageContent1" + title: ChatToolMessageContent + OpenRouterChatToolMessageContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentItems" + title: ChatToolMessageContent1 + type: array + OpenRouterChatToolMessageRole: + enum: + - tool + title: ChatToolMessageRole + type: string + OpenRouterChatUsage: + description: Token usage statistics + properties: + completion_tokens: + description: Number of tokens in the completion + type: integer + completion_tokens_details: + description: Detailed completion token usage + oneOf: + - $ref: "#/components/schemas/OpenRouterChatUsageCompletionTokensDetails" + cost: + description: Cost of the completion + format: double + nullable: true + type: number + cost_details: + $ref: "#/components/schemas/OpenRouterCostDetails" + is_byok: + description: Whether a request was made using a Bring Your Own Key configuration + type: boolean + prompt_tokens: + description: Number of tokens in the prompt + type: integer + prompt_tokens_details: + description: Detailed prompt token usage + oneOf: + - $ref: "#/components/schemas/OpenRouterChatUsagePromptTokensDetails" + total_tokens: + description: Total number of tokens + type: integer + required: + - completion_tokens + - prompt_tokens + - total_tokens + title: ChatUsage + type: object + OpenRouterChatUsageCompletionTokensDetails: + description: Detailed completion token usage + properties: + accepted_prediction_tokens: + description: Accepted prediction tokens + nullable: true + type: integer + audio_tokens: + description: Tokens used for audio output + nullable: true + type: integer + reasoning_tokens: + description: Tokens used for reasoning + nullable: true + type: integer + rejected_prediction_tokens: + description: Rejected prediction tokens + nullable: true + type: integer + title: ChatUsageCompletionTokensDetails + type: object + OpenRouterChatUsagePromptTokensDetails: + description: Detailed prompt token usage + properties: + audio_tokens: + description: Audio input tokens + type: integer + cache_write_tokens: + description: Tokens written to cache. Only returned for models with explicit caching and cache write pricing. + type: integer + cached_tokens: + description: Cached prompt tokens + type: integer + video_tokens: + description: Video input tokens + type: integer + title: ChatUsagePromptTokensDetails + type: object + OpenRouterChatUserMessageContent: + description: User message content + oneOf: + - type: string + - $ref: "#/components/schemas/OpenRouterChatUserMessageContent1" + title: ChatUserMessageContent + OpenRouterChatUserMessageContent1: + items: + $ref: "#/components/schemas/OpenRouterChatContentItems" + title: ChatUserMessageContent1 + type: array + OpenRouterChatUserMessageRole: + enum: + - user + title: ChatUserMessageRole + type: string + OpenRouterChatWebSearchShorthand: + description: Web search tool using OpenAI Responses API syntax. Automatically converted to openrouter:web_search. + properties: + allowed_domains: + description: "Limit search results to these domains. Supported by Exa, Firecrawl, Parallel, and most native providers (Anthropic, OpenAI, xAI). Not supported with Perplexity. Cannot be used with excluded_domains." + items: + type: string + type: array + engine: + $ref: "#/components/schemas/OpenRouterWebSearchEngineEnum" + excluded_domains: + description: "Exclude search results from these domains. Supported by Exa, Firecrawl, Parallel, Anthropic, and xAI. Not supported with OpenAI (silently ignored) or Perplexity. Cannot be used with allowed_domains." + items: + type: string + type: array + max_results: + description: "Maximum number of search results to return per search call. Defaults to 5. Applies to Exa, Firecrawl, and Parallel engines; ignored with native provider search." + type: integer + max_total_results: + description: "Maximum total number of search results across all search calls in a single request. Once this limit is reached, the tool will stop returning new results. Useful for controlling cost and context size in agentic loops. Defaults to 50 when not specified." + type: integer + parameters: + $ref: "#/components/schemas/OpenRouterWebSearchConfig" + search_context_size: + $ref: "#/components/schemas/OpenRouterSearchQualityLevel" + type: + $ref: "#/components/schemas/OpenRouterChatWebSearchShorthandType" + user_location: + $ref: "#/components/schemas/OpenRouterWebSearchUserLocationServerTool" + required: + - type + title: ChatWebSearchShorthand + type: object + OpenRouterChatWebSearchShorthandType: + enum: + - web_search + - web_search_preview + - web_search_preview_2025_03_11 + - web_search_2025_08_26 + title: ChatWebSearchShorthandType + type: string + OpenRouterContextCompressionEngine: + description: "The compression engine to use. Defaults to \"middle-out\"." + enum: + - middle-out + title: ContextCompressionEngine + type: string + OpenRouterCostDetails: + description: Breakdown of upstream inference costs + properties: + upstream_inference_completions_cost: + format: double + type: number + upstream_inference_cost: + format: double + nullable: true + type: number + upstream_inference_prompt_cost: + format: double + type: number + required: + - upstream_inference_completions_cost + - upstream_inference_prompt_cost + title: CostDetails + type: object + OpenRouterDatetimeServerTool: + description: "OpenRouter built-in server tool: returns the current date and time" + properties: + parameters: + $ref: "#/components/schemas/OpenRouterDatetimeServerToolConfig" + type: + $ref: "#/components/schemas/OpenRouterDatetimeServerToolType" + required: + - type + title: DatetimeServerTool + type: object + OpenRouterDatetimeServerToolConfig: + description: Configuration for the openrouter:datetime server tool + properties: + timezone: + description: "IANA timezone name (e.g. \"America/New_York\"). Defaults to UTC." + type: string + title: DatetimeServerToolConfig + type: object + OpenRouterDatetimeServerToolType: + enum: + - openrouter:datetime + title: DatetimeServerToolType + type: string + OpenRouterEndpointInfo: + properties: + model: + type: string + provider: + type: string + selected: + type: boolean + required: + - model + - provider + - selected + title: EndpointInfo + type: object + OpenRouterEndpointsMetadata: + properties: + available: + items: + $ref: "#/components/schemas/OpenRouterEndpointInfo" + type: array + total: + type: integer + required: + - available + - total + title: EndpointsMetadata + type: object + OpenRouterFormatJsonObjectConfigType: + enum: + - json_object + title: FormatJsonObjectConfigType + type: string + OpenRouterImageConfig: + oneOf: + - type: string + - format: double + type: number + - items: + description: Any type + type: array + title: ImageConfig + OpenRouterImageGenerationServerToolConfig: + description: "Configuration for the openrouter:image_generation server tool. Accepts all image_config params (aspect_ratio, quality, size, background, output_format, output_compression, moderation, etc.) plus a model field." + properties: + model: + description: "Which image generation model to use (e.g. \"openai/gpt-5-image\"). Defaults to \"openai/gpt-5-image\"." + type: string + title: ImageGenerationServerToolConfig + type: object + OpenRouterImageGenerationServerToolOpenRouterType: + enum: + - openrouter:image_generation + title: ImageGenerationServerToolOpenRouterType + type: string + OpenRouterLegacyChatContentVideoType: + enum: + - input_video + title: LegacyChatContentVideoType + type: string + OpenRouterMetadata: + properties: + attempt: + type: integer + attempts: + items: + $ref: "#/components/schemas/OpenRouterRouterAttempt" + type: array + endpoints: + $ref: "#/components/schemas/OpenRouterEndpointsMetadata" + is_byok: + type: boolean + params: + $ref: "#/components/schemas/OpenRouterRouterParams" + pipeline: + items: + $ref: "#/components/schemas/OpenRouterPipelineStage" + type: array + region: + nullable: true + type: string + requested: + type: string + strategy: + $ref: "#/components/schemas/OpenRouterRoutingStrategy" + summary: + type: string + required: + - attempt + - endpoints + - is_byok + - region + - requested + - strategy + - summary + title: OpenRouterMetadata + type: object + OpenRouterModelName: + description: Model to use for completion + title: ModelName + type: string + OpenRouterPDFParserEngine: + description: "The engine to use for parsing PDF files. \"pdf-text\" is deprecated and automatically redirected to \"cloudflare-ai\"." + oneOf: + - $ref: "#/components/schemas/OpenRouterPdfParserEngine0" + - $ref: "#/components/schemas/OpenRouterPdfParserEngine1" + title: PDFParserEngine + OpenRouterPDFParserOptions: + description: Options for PDF parsing. + properties: + engine: + $ref: "#/components/schemas/OpenRouterPDFParserEngine" + title: PDFParserOptions + type: object + OpenRouterPdfParserEngine0: + enum: + - mistral-ocr + - native + - cloudflare-ai + title: PdfParserEngine0 + type: string + OpenRouterPdfParserEngine1: + enum: + - pdf-text + title: PdfParserEngine1 + type: string + OpenRouterPercentileLatencyCutoffs: + description: Percentile-based latency cutoffs. All specified cutoffs must be met for an endpoint to be preferred. + properties: + p50: + description: Maximum p50 latency (seconds) + format: double + nullable: true + type: number + p75: + description: Maximum p75 latency (seconds) + format: double + nullable: true + type: number + p90: + description: Maximum p90 latency (seconds) + format: double + nullable: true + type: number + p99: + description: Maximum p99 latency (seconds) + format: double + nullable: true + type: number + title: PercentileLatencyCutoffs + type: object + OpenRouterPercentileThroughputCutoffs: + description: Percentile-based throughput cutoffs. All specified cutoffs must be met for an endpoint to be preferred. + properties: + p50: + description: Minimum p50 throughput (tokens/sec) + format: double + nullable: true + type: number + p75: + description: Minimum p75 throughput (tokens/sec) + format: double + nullable: true + type: number + p90: + description: Minimum p90 throughput (tokens/sec) + format: double + nullable: true + type: number + p99: + description: Minimum p99 throughput (tokens/sec) + format: double + nullable: true + type: number + title: PercentileThroughputCutoffs + type: object + OpenRouterPipelineStage: + properties: + cost_usd: + format: double + nullable: true + type: number + data: + additionalProperties: + description: Any type + type: object + guardrail_id: + type: string + guardrail_scope: + type: string + name: + type: string + summary: + type: string + type: + $ref: "#/components/schemas/OpenRouterPipelineStageType" + required: + - name + - type + title: PipelineStage + type: object + OpenRouterPipelineStageType: + description: "Categorical kind of a pipeline stage. Multiple plugins can share a type (e.g. all guardrail-level plugins emit `guardrail`); the `name` field disambiguates which plugin emitted it." + enum: + - guardrail + - plugin + - server_tools + - response_healing + - context_compression + title: PipelineStageType + type: string + OpenRouterPreferredMaxLatency: + description: "Preferred maximum latency (in seconds). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints above the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold." + oneOf: + - format: double + type: number + - $ref: "#/components/schemas/OpenRouterPercentileLatencyCutoffs" + - description: Any type + title: PreferredMaxLatency + OpenRouterPreferredMinThroughput: + description: "Preferred minimum throughput (in tokens per second). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints below the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold." + oneOf: + - format: double + type: number + - $ref: "#/components/schemas/OpenRouterPercentileThroughputCutoffs" + - description: Any type + title: PreferredMinThroughput + OpenRouterProviderName: + enum: + - AkashML + - AI21 + - AionLabs + - Alibaba + - Ambient + - Baidu + - Amazon Bedrock + - Amazon Nova + - Anthropic + - Arcee AI + - AtlasCloud + - Avian + - Azure + - BaseTen + - BytePlus + - Black Forest Labs + - Cerebras + - Chutes + - Cirrascale + - Clarifai + - Cloudflare + - Cohere + - Crucible + - Crusoe + - DeepInfra + - DeepSeek + - DekaLLM + - Featherless + - Fireworks + - Friendli + - GMICloud + - Google + - Google AI Studio + - Groq + - Hyperbolic + - Inception + - Inceptron + - InferenceNet + - Ionstream + - Infermatic + - Io Net + - Inflection + - Liquid + - Mara + - Mancer 2 + - Minimax + - ModelRun + - Mistral + - Modular + - Moonshot AI + - Morph + - NCompass + - Nebius + - Nex AGI + - NextBit + - Novita + - Nvidia + - OpenAI + - OpenInference + - Parasail + - Poolside + - Perceptron + - Perplexity + - Phala + - Recraft + - Reka + - Relace + - SambaNova + - Seed + - SiliconFlow + - Sourceful + - StepFun + - Stealth + - StreamLake + - Switchpoint + - Together + - Upstage + - Venice + - WandB + - Xiaomi + - xAI + - Z.AI + - FakeProvider + title: ProviderName + type: string + OpenRouterProviderPreferences: + description: "When multiple model providers are available, optionally indicate your routing preference." + properties: + allow_fallbacks: + description: "Whether to allow backup providers to serve requests\n- true: (default) when the primary provider (or your custom providers in \"order\") is unavailable, use the next best provider.\n- false: use only the primary/custom provider, and return the upstream error if it's unavailable.\n" + nullable: true + type: boolean + data_collection: + description: "Data collection setting. If no available model provider meets the requirement, your request will return an error.\n- allow: (default) allow providers which store user data non-transiently and may train on it\n\n- deny: use only providers which do not collect user data." + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderPreferencesDataCollection" + enforce_distillable_text: + description: "Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used." + nullable: true + type: boolean + ignore: + description: "List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request." + items: + $ref: "#/components/schemas/OpenRouterProviderPreferencesIgnoreItems" + nullable: true + type: array + max_price: + $ref: "#/components/schemas/OpenRouterProviderPreferencesMaxPrice" + only: + description: "List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request." + items: + $ref: "#/components/schemas/OpenRouterProviderPreferencesOnlyItems" + nullable: true + type: array + order: + description: "An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message." + items: + $ref: "#/components/schemas/OpenRouterProviderPreferencesOrderItems" + nullable: true + type: array + preferred_max_latency: + $ref: "#/components/schemas/OpenRouterPreferredMaxLatency" + preferred_min_throughput: + $ref: "#/components/schemas/OpenRouterPreferredMinThroughput" + quantizations: + description: A list of quantization levels to filter the provider by. + items: + $ref: "#/components/schemas/OpenRouterQuantization" + nullable: true + type: array + require_parameters: + description: "Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest." + nullable: true + type: boolean + sort: + $ref: "#/components/schemas/OpenRouterProviderPreferencesSort" + zdr: + description: "Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used." + nullable: true + type: boolean + title: ProviderPreferences + type: object + OpenRouterProviderPreferencesDataCollection: + description: "Data collection setting. If no available model provider meets the requirement, your request will return an error.\n- allow: (default) allow providers which store user data non-transiently and may train on it\n\n- deny: use only providers which do not collect user data." + enum: + - deny + - allow + title: ProviderPreferencesDataCollection + type: string + OpenRouterProviderPreferencesIgnoreItems: + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderName" + - type: string + title: ProviderPreferencesIgnoreItems + OpenRouterProviderPreferencesMaxPrice: + description: "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion." + properties: + audio: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + completion: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + image: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + prompt: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + request: + $ref: "#/components/schemas/OpenRouterBigNumberUnion" + title: ProviderPreferencesMaxPrice + type: object + OpenRouterProviderPreferencesOnlyItems: + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderName" + - type: string + title: ProviderPreferencesOnlyItems + OpenRouterProviderPreferencesOrderItems: + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderName" + - type: string + title: ProviderPreferencesOrderItems + OpenRouterProviderPreferencesSort: + description: "The sorting strategy to use for this request, if \"order\" is not specified. When set, no load balancing is performed." + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderSort" + - $ref: "#/components/schemas/OpenRouterProviderSortConfig" + - description: Any type + title: ProviderPreferencesSort + OpenRouterProviderSort: + description: "The provider sorting strategy (price, throughput, latency)" + enum: + - price + - throughput + - latency + - exacto + title: ProviderSort + type: string + OpenRouterProviderSortConfig: + description: "The provider sorting strategy (price, throughput, latency)" + properties: + by: + description: "The provider sorting strategy (price, throughput, latency)" + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderSortConfigBy" + partition: + description: "Partitioning strategy for sorting: \"model\" (default) groups endpoints by model before sorting (fallback models remain fallbacks), \"none\" sorts all endpoints together regardless of model." + oneOf: + - $ref: "#/components/schemas/OpenRouterProviderSortConfigPartition" + title: ProviderSortConfig + type: object + OpenRouterProviderSortConfigBy: + description: "The provider sorting strategy (price, throughput, latency)" + enum: + - price + - throughput + - latency + - exacto + title: ProviderSortConfigBy + type: string + OpenRouterProviderSortConfigPartition: + description: "Partitioning strategy for sorting: \"model\" (default) groups endpoints by model before sorting (fallback models remain fallbacks), \"none\" sorts all endpoints together regardless of model." + enum: + - model + - none + title: ProviderSortConfigPartition + type: string + OpenRouterQuantization: + enum: + - int4 + - int8 + - fp4 + - fp6 + - fp8 + - fp16 + - bf16 + - fp32 + - unknown + title: Quantization + type: string + OpenRouterReasoningDetailUnion: + description: Reasoning detail union schema + oneOf: + - description: Reasoning detail encrypted schema + properties: + data: + type: string + format: + $ref: "#/components/schemas/OpenRouterReasoningFormat" + id: + nullable: true + type: string + index: + type: integer + type: + description: "Discriminator value: reasoning.encrypted" + type: string + required: + - type + - data + type: object + - description: Reasoning detail summary schema + properties: + format: + $ref: "#/components/schemas/OpenRouterReasoningFormat" + id: + nullable: true + type: string + index: + type: integer + summary: + type: string + type: + description: "Discriminator value: reasoning.summary" + type: string + required: + - type + - summary + type: object + - description: Reasoning detail text schema + properties: + format: + $ref: "#/components/schemas/OpenRouterReasoningFormat" + id: + nullable: true + type: string + index: + type: integer + signature: + nullable: true + type: string + text: + nullable: true + type: string + type: + description: "Discriminator value: reasoning.text" + type: string + required: + - type + type: object + title: ReasoningDetailUnion + OpenRouterReasoningFormat: + enum: + - unknown + - openai-responses-v1 + - azure-openai-responses-v1 + - xai-responses-v1 + - anthropic-claude-v1 + - google-gemini-v1 + title: ReasoningFormat + type: string + OpenRouterRouterAttempt: + properties: + model: + type: string + provider: + type: string + status: + type: integer + required: + - model + - provider + - status + title: RouterAttempt + type: object + OpenRouterRouterParams: + properties: + quality_floor: + format: double + type: number + throughput_floor: + format: double + type: number + version_group: + type: string + title: RouterParams + type: object + OpenRouterRoutingStrategy: + enum: + - direct + - auto + - free + - latest + - alias + - fallback + - pareto + - bodybuilder + - fusion + title: RoutingStrategy + type: string + OpenRouterSearchModelsServerToolConfig: + description: Configuration for the openrouter:experimental__search_models server tool + properties: + max_results: + description: "Maximum number of models to return. Defaults to 5, max 20." + type: integer + title: SearchModelsServerToolConfig + type: object + OpenRouterSearchQualityLevel: + description: "How much context to retrieve per result. Applies to Exa and Parallel engines; ignored with native provider search and Firecrawl. For Exa, pins a fixed per-result character cap (low=5,000, medium=15,000, high=30,000); when omitted, Exa picks an adaptive size per query and document (typically ~2,000–4,000 characters per result). For Parallel, controls the total characters across all results; when omitted, Parallel uses its own default size." + enum: + - low + - medium + - high + title: SearchQualityLevel + type: string + OpenRouterStopServerToolsWhen: + description: "Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`." + items: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenCondition" + title: StopServerToolsWhen + type: array + OpenRouterStopServerToolsWhenCondition: + description: "A single condition that, when met, halts the server-tool agent loop." + oneOf: + - description: "Stop when the upstream model emits this finish reason (e.g. `length`)." + properties: + reason: + type: string + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenFinishReasonIsType" + required: + - type + - reason + type: object + - description: Stop after a tool with this name has been called. + properties: + tool_name: + type: string + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenHasToolCallType" + required: + - type + - tool_name + type: object + - description: Stop once cumulative cost across the loop exceeds this dollar threshold. + properties: + max_cost_in_dollars: + format: double + type: number + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenMaxCostType" + required: + - type + - max_cost_in_dollars + type: object + - description: Stop once cumulative token usage across the loop exceeds this threshold. + properties: + max_tokens: + type: integer + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenMaxTokensUsedType" + required: + - type + - max_tokens + type: object + - description: Stop after the agent loop has executed this many steps. + properties: + step_count: + type: integer + type: + $ref: "#/components/schemas/OpenRouterStopServerToolsWhenStepCountIsType" + required: + - type + - step_count + type: object + title: StopServerToolsWhenCondition + OpenRouterStopServerToolsWhenFinishReasonIsType: + enum: + - finish_reason_is + title: StopServerToolsWhenFinishReasonIsType + type: string + OpenRouterStopServerToolsWhenHasToolCallType: + enum: + - has_tool_call + title: StopServerToolsWhenHasToolCallType + type: string + OpenRouterStopServerToolsWhenMaxCostType: + enum: + - max_cost + title: StopServerToolsWhenMaxCostType + type: string + OpenRouterStopServerToolsWhenMaxTokensUsedType: + enum: + - max_tokens_used + title: StopServerToolsWhenMaxTokensUsedType + type: string + OpenRouterStopServerToolsWhenStepCountIsType: + enum: + - step_count_is + title: StopServerToolsWhenStepCountIsType + type: string + OpenRouterTraceConfig: + description: "Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations." + properties: + generation_name: + type: string + parent_span_id: + type: string + span_name: + type: string + trace_id: + type: string + trace_name: + type: string + title: TraceConfig + type: object + OpenRouterWebFetchEngineEnum: + description: "Which fetch engine to use. \"auto\" (default) uses native if the provider supports it, otherwise Exa. \"native\" forces the provider's built-in fetch. \"exa\" uses Exa Contents API. \"openrouter\" uses direct HTTP fetch. \"firecrawl\" uses Firecrawl scrape (requires BYOK)." + enum: + - auto + - native + - openrouter + - firecrawl + - exa + title: WebFetchEngineEnum + type: string + OpenRouterWebFetchPluginId: + enum: + - web-fetch + title: WebFetchPluginId + type: string + OpenRouterWebFetchServerTool: + description: "OpenRouter built-in server tool: fetches full content from a URL (web page or PDF)" + properties: + parameters: + $ref: "#/components/schemas/OpenRouterWebFetchServerToolConfig" + type: + $ref: "#/components/schemas/OpenRouterWebFetchServerToolType" + required: + - type + title: WebFetchServerTool + type: object + OpenRouterWebFetchServerToolConfig: + description: Configuration for the openrouter:web_fetch server tool + properties: + allowed_domains: + description: Only fetch from these domains. + items: + type: string + type: array + blocked_domains: + description: Never fetch from these domains. + items: + type: string + type: array + engine: + $ref: "#/components/schemas/OpenRouterWebFetchEngineEnum" + max_content_tokens: + description: Maximum content length in approximate tokens. Content exceeding this limit is truncated. + type: integer + max_uses: + description: "Maximum number of web fetches per request. Once exceeded, the tool returns an error." + type: integer + title: WebFetchServerToolConfig + type: object + OpenRouterWebFetchServerToolType: + enum: + - openrouter:web_fetch + title: WebFetchServerToolType + type: string + OpenRouterWebSearchConfig: + properties: + allowed_domains: + description: "Limit search results to these domains. Supported by Exa, Firecrawl, Parallel, and most native providers (Anthropic, OpenAI, xAI). Not supported with Perplexity. Cannot be used with excluded_domains." + items: + type: string + type: array + engine: + $ref: "#/components/schemas/OpenRouterWebSearchEngineEnum" + excluded_domains: + description: "Exclude search results from these domains. Supported by Exa, Firecrawl, Parallel, Anthropic, and xAI. Not supported with OpenAI (silently ignored) or Perplexity. Cannot be used with allowed_domains." + items: + type: string + type: array + max_results: + description: "Maximum number of search results to return per search call. Defaults to 5. Applies to Exa, Firecrawl, and Parallel engines; ignored with native provider search." + type: integer + max_total_results: + description: "Maximum total number of search results across all search calls in a single request. Once this limit is reached, the tool will stop returning new results. Useful for controlling cost and context size in agentic loops. Defaults to 50 when not specified." + type: integer + search_context_size: + $ref: "#/components/schemas/OpenRouterSearchQualityLevel" + user_location: + $ref: "#/components/schemas/OpenRouterWebSearchUserLocationServerTool" + title: WebSearchConfig + type: object + OpenRouterWebSearchEngine: + description: The search engine to use for web search. + enum: + - native + - exa + - firecrawl + - parallel + title: WebSearchEngine + type: string + OpenRouterWebSearchEngineEnum: + description: "Which search engine to use. \"auto\" (default) uses native if the provider supports it, otherwise Exa. \"native\" forces the provider's built-in search. \"exa\" forces the Exa search API. \"firecrawl\" uses Firecrawl (requires BYOK). \"parallel\" uses the Parallel search API." + enum: + - auto + - native + - exa + - firecrawl + - parallel + title: WebSearchEngineEnum + type: string + OpenRouterWebSearchPluginId: + enum: + - web + title: WebSearchPluginId + type: string + OpenRouterWebSearchPluginUserLocation: + description: Approximate user location for location-biased search results. Passed through to native providers that support it (e.g. Anthropic). + properties: + city: + nullable: true + type: string + country: + nullable: true + type: string + region: + nullable: true + type: string + timezone: + nullable: true + type: string + type: + $ref: "#/components/schemas/OpenRouterWebSearchPluginUserLocationType" + required: + - type + title: WebSearchPluginUserLocation + type: object + OpenRouterWebSearchPluginUserLocationType: + enum: + - approximate + title: WebSearchPluginUserLocationType + type: string + OpenRouterWebSearchServerTool: + description: "OpenRouter built-in server tool: searches the web for current information" + properties: + parameters: + $ref: "#/components/schemas/OpenRouterWebSearchConfig" + type: + $ref: "#/components/schemas/OpenRouterWebSearchServerToolType" + required: + - type + title: OpenRouterWebSearchServerTool + type: object + OpenRouterWebSearchServerToolType: + enum: + - openrouter:web_search + title: OpenRouterWebSearchServerToolType + type: string + OpenRouterWebSearchUserLocationServerTool: + description: Approximate user location for location-biased results. + properties: + city: + nullable: true + type: string + country: + nullable: true + type: string + region: + nullable: true + type: string + timezone: + nullable: true + type: string + type: + $ref: "#/components/schemas/OpenRouterWebSearchUserLocationServerToolType" + title: WebSearchUserLocationServerTool + type: object + OpenRouterWebSearchUserLocationServerToolType: + enum: + - approximate + title: WebSearchUserLocationServerToolType + type: string + OutputAudioContent: + properties: + data: + description: Base64-encoded audio data + type: string + transcript: + description: Transcript of the audio + type: string + type: + description: The type of output content + enum: + - output_audio + type: string + required: + - type + - data + - transcript + type: object + OutputContent: + oneOf: + - $ref: "#/components/schemas/OutputTextContent" + - $ref: "#/components/schemas/OutputAudioContent" + OutputItem: + oneOf: + - $ref: "#/components/schemas/OutputMessage" + - $ref: "#/components/schemas/FileSearchToolCall" + - $ref: "#/components/schemas/FunctionToolCall" + - $ref: "#/components/schemas/WebSearchToolCall" + - $ref: "#/components/schemas/ComputerToolCall" + - $ref: "#/components/schemas/ReasoningItem" + OutputMessage: + properties: + content: + description: The content of the message + items: + $ref: "#/components/schemas/OutputContent" + type: array + role: + description: The role of the message + enum: + - assistant + type: string + type: + description: The type of output item + enum: + - message + type: string + required: + - type + - role + - content + type: object + OutputTextContent: + properties: + text: + description: The text content + type: string + type: + description: The type of output content + enum: + - output_text + type: string + required: + - type + - text + type: object + PersonalAccessToken: + properties: + createdAt: + description: "[Output Only]The date and time the token was created." + format: date-time + type: string + description: + description: "Optional. A more detailed description of the token's intended use." + type: string + id: + description: Unique identifier for the GitCommit + format: uuid + type: string + name: + description: Required. The name of the token. Can be a simple description. + type: string + token: + description: "[Output Only]. The personal access token. Only returned during creation." + type: string + type: object + PikaBody_generate_2_2_c2v_generate_2_2_pikascenes_post: + properties: + aspectRatio: + anyOf: + - maximum: 2.5 + minimum: 0.4 + type: number + description: Aspect ratio (width / height) + title: Aspectratio + duration: + default: 5 + title: Duration + type: integer + images: + items: + format: binary + type: string + title: Images + type: array + ingredientsMode: + enum: + - creative + - precise + title: Ingredientsmode + type: string + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + promptText: + anyOf: + - type: string + title: Prompttext + resolution: + default: 1080p + title: Resolution + type: string + seed: + anyOf: + - type: integer + title: Seed + required: + - ingredientsMode + title: Body_generate_2_2_c2v_generate_2_2_pikascenes_post + type: object + PikaBody_generate_2_2_i2v_generate_2_2_i2v_post: + properties: + duration: + $ref: "#/components/schemas/PikaDurationEnum" + image: + format: binary + nullable: true + title: Image + type: string + negativePrompt: + nullable: true + title: Negativeprompt + type: string + promptText: + nullable: true + title: Prompttext + type: string + resolution: + $ref: "#/components/schemas/PikaResolutionEnum" + seed: + nullable: true + title: Seed + type: integer + title: Body_generate_2_2_i2v_generate_2_2_i2v_post + type: object + PikaBody_generate_2_2_keyframe_generate_2_2_pikaframes_post: + properties: + duration: + maximum: 10 + minimum: 5 + title: Duration + type: integer + keyFrames: + description: Array of keyframe images + items: + format: binary + type: string + title: Keyframes + type: array + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + promptText: + title: Prompttext + type: string + resolution: + $ref: "#/components/schemas/PikaResolutionEnum" + seed: + anyOf: + - type: integer + title: Seed + required: + - promptText + title: Body_generate_2_2_keyframe_generate_2_2_pikaframes_post + type: object + PikaBody_generate_2_2_t2v_generate_2_2_t2v_post: + properties: + aspectRatio: + default: 1.7777777777777777 + description: Aspect ratio (width / height) + format: float + maximum: 2.5 + minimum: 0.4 + title: Aspectratio + type: number + duration: + $ref: "#/components/schemas/PikaDurationEnum" + negativePrompt: + nullable: true + title: Negativeprompt + type: string + promptText: + title: Prompttext + type: string + resolution: + $ref: "#/components/schemas/PikaResolutionEnum" + seed: + nullable: true + title: Seed + type: integer + required: + - promptText + title: Body_generate_2_2_t2v_generate_2_2_t2v_post + type: object + PikaBody_generate_pikadditions_generate_pikadditions_post: + properties: + image: + format: binary + title: Image + type: string + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + promptText: + anyOf: + - type: string + title: Prompttext + seed: + anyOf: + - type: integer + title: Seed + video: + format: binary + title: Video + type: string + title: Body_generate_pikadditions_generate_pikadditions_post + type: object + PikaBody_generate_pikaffects_generate_pikaffects_post: + properties: + image: + format: binary + title: Image + type: string + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + pikaffect: + $ref: "#/components/schemas/Pikaffect" + promptText: + anyOf: + - type: string + title: Prompttext + seed: + anyOf: + - type: integer + title: Seed + title: Body_generate_pikaffects_generate_pikaffects_post + type: object + PikaBody_generate_pikaswaps_generate_pikaswaps_post: + properties: + image: + anyOf: + - format: binary + type: string + title: Image + modifyRegionMask: + anyOf: + - format: binary + type: string + description: "A mask image that specifies the region to modify, where the mask is white and the background is black" + title: Modifyregionmask + modifyRegionRoi: + anyOf: + - type: string + description: Plaintext description of the object / region to modify + title: Modifyregionroi + negativePrompt: + anyOf: + - type: string + title: Negativeprompt + promptText: + anyOf: + - type: string + title: Prompttext + seed: + anyOf: + - type: integer + title: Seed + video: + format: binary + title: Video + type: string + title: Body_generate_pikaswaps_generate_pikaswaps_post + type: object + PikaDurationEnum: + default: 5 + enum: + - 5 + - 10 + type: integer + PikaGenerateResponse: + properties: + video_id: + title: Video Id + type: string + required: + - video_id + title: GenerateResponse + type: object + PikaHTTPValidationError: + properties: + detail: + items: + $ref: "#/components/schemas/PikaValidationError" + title: Detail + type: array + title: HTTPValidationError + type: object + PikaResolutionEnum: + default: 1080p + enum: + - 1080p + - 720p + type: string + PikaStatusEnum: + enum: + - queued + - started + - finished + type: string + PikaValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + title: Location + type: array + msg: + title: Message + type: string + type: + title: Error Type + type: string + required: + - loc + - msg + - type + title: ValidationError + type: object + PikaVideoResponse: + properties: + id: + title: Id + type: string + progress: + nullable: true + title: Progress + type: integer + status: + $ref: "#/components/schemas/PikaStatusEnum" + url: + nullable: true + title: Url + type: string + required: + - id + - status + title: VideoResponse + type: object + Pikaffect: + enum: + - Cake-ify + - Crumble + - Crush + - Decapitate + - Deflate + - Dissolve + - Explode + - Eye-pop + - Inflate + - Levitate + - Melt + - Peel + - Poke + - Squish + - Ta-da + - Tear + type: string + PixverseImageUploadResponse: + properties: + ErrCode: + type: integer + ErrMsg: + type: string + Resp: + properties: + img_id: + type: integer + type: object + type: object + PixverseImageVideoRequest: + properties: + duration: + enum: + - 5 + - 8 + type: integer + img_id: + type: integer + model: + enum: + - v3.5 + type: string + motion_mode: + enum: + - normal + - fast + type: string + prompt: + type: string + quality: + enum: + - 360p + - 540p + - 720p + - 1080p + type: string + seed: + type: integer + style: + enum: + - anime + - 3d_animation + - clay + - comic + - cyberpunk + type: string + template_id: + type: integer + water_mark: + type: boolean + required: + - img_id + - model + - duration + - quality + - prompt + type: object + PixverseTextVideoRequest: + properties: + aspect_ratio: + enum: + - 16:9 + - 4:3 + - 1:1 + - 3:4 + - 9:16 + type: string + duration: + enum: + - 5 + - 8 + type: integer + model: + enum: + - v3.5 + type: string + motion_mode: + enum: + - normal + - fast + type: string + negative_prompt: + type: string + prompt: + type: string + quality: + enum: + - 360p + - 540p + - 720p + - 1080p + type: string + seed: + type: integer + style: + enum: + - anime + - 3d_animation + - clay + - comic + - cyberpunk + type: string + template_id: + type: integer + water_mark: + type: boolean + required: + - aspect_ratio + - duration + - model + - prompt + - quality + type: object + PixverseTransitionVideoRequest: + properties: + duration: + enum: + - 5 + - 8 + type: integer + first_frame_img: + type: integer + last_frame_img: + type: integer + model: + enum: + - v3.5 + type: string + motion_mode: + enum: + - normal + - fast + type: string + prompt: + type: string + quality: + enum: + - 360p + - 540p + - 720p + - 1080p + type: string + seed: + type: integer + style: + enum: + - anime + - 3d_animation + - clay + - comic + - cyberpunk + type: string + template_id: + type: integer + water_mark: + type: boolean + required: + - first_frame_img + - last_frame_img + - model + - duration + - quality + - prompt + - motion_mode + - seed + type: object + PixverseVideoResponse: + properties: + ErrCode: + type: integer + ErrMsg: + type: string + Resp: + properties: + video_id: + type: integer + type: object + type: object + PixverseVideoResultResponse: + properties: + ErrCode: + type: integer + ErrMsg: + type: string + Resp: + properties: + create_time: + type: string + id: + type: integer + modify_time: + type: string + negative_prompt: + type: string + outputHeight: + type: integer + outputWidth: + type: integer + prompt: + type: string + resolution_ratio: + type: integer + seed: + type: integer + size: + type: integer + status: + description: "Video generation status codes:\n* 1 - Generation successful\n* 5 - Generating\n* 6 - Deleted\n* 7 - Contents moderation failed\n* 8 - Generation failed\n" + enum: + - 1 + - 5 + - 6 + - 7 + - 8 + type: integer + style: + type: string + url: + type: string + type: object + type: object + PromoCodeResponse: + properties: + active: + description: Whether the promo code is currently active + type: boolean + code: + description: The generated promotional code + type: string + coupon_id: + description: The Stripe coupon ID associated with this promo code + type: string + expires_at: + description: Unix timestamp when the promo code expires + format: int64 + type: integer + id: + description: The Stripe promotion code ID + type: string + max_redemptions: + description: Maximum number of times this code can be redeemed + type: integer + metadata: + additionalProperties: + type: string + description: Set of key-value pairs for storing additional information + type: object + times_redeemed: + description: Number of times this code has been redeemed + type: integer + required: + - id + - code + - coupon_id + - active + type: object + Publisher: + properties: + createdAt: + description: The date and time the publisher was created. + format: date-time + type: string + description: + type: string + id: + description: "The unique identifier for the publisher. It's akin to a username. Should be lowercase." + type: string + logo: + description: "URL to the publisher's logo." + type: string + members: + description: A list of members in the publisher. + items: + $ref: "#/components/schemas/PublisherMember" + type: array + name: + type: string + source_code_repo: + type: string + status: + $ref: "#/components/schemas/PublisherStatus" + support: + type: string + website: + type: string + type: object + PublisherMember: + properties: + id: + description: The unique identifier for the publisher member. + type: string + role: + description: The role of the user in the publisher. + type: string + user: + $ref: "#/components/schemas/PublisherUser" + type: object + PublisherStatus: + enum: + - PublisherStatusActive + - PublisherStatusBanned + type: string + PublisherUser: + properties: + email: + description: The email address for this user. + type: string + id: + description: The unique id for this user. + type: string + name: + description: The name for this user. + type: string + type: object + QuiverImageObject: + description: Image input for Quiver AI (URL or base64) + properties: + base64: + description: Base64-encoded image payload + maxLength: 16777216 + type: string + url: + description: Network image URL. Only http/https URLs allowed. + format: uri + type: string + type: object + QuiverImageToSVGRequest: + description: Request body for Quiver AI image-to-SVG vectorization + properties: + auto_crop: + default: false + description: Auto-crop image to the dominant subject before vectorization + type: boolean + image: + $ref: "#/components/schemas/QuiverImageObject" + max_output_tokens: + description: Maximum number of output tokens + maximum: 131072 + minimum: 1 + type: integer + model: + description: Model identifier for SVG vectorization + example: arrow-1.1 + type: string + presence_penalty: + default: 0 + description: Penalty for tokens already present in prior output + maximum: 2 + minimum: -2 + nullable: true + type: number + stream: + default: false + description: Enable Server-Sent Events streaming + type: boolean + target_size: + description: Square resize target in pixels + maximum: 4096 + minimum: 128 + type: integer + temperature: + default: 1 + description: Sampling temperature + maximum: 2 + minimum: 0 + type: number + top_p: + default: 1 + description: Nucleus sampling probability + maximum: 1 + minimum: 0 + type: number + required: + - model + - image + type: object + QuiverSVGResponse: + description: Response from Quiver AI SVG generation/vectorization + properties: + created: + description: Unix timestamp of creation + type: integer + credits: + description: Credit cost for this request. Use this for billing instead of usage tokens. + minimum: 0 + type: integer + data: + items: + properties: + mime_type: + description: MIME type of the output + enum: + - image/svg+xml + type: string + svg: + description: Raw SVG markup + type: string + required: + - svg + - mime_type + type: object + minItems: 1 + type: array + id: + description: Unique identifier for the generation + type: string + usage: + deprecated: true + description: Deprecated. Use credits for billing values. + properties: + input_tokens: + deprecated: true + description: Deprecated. Token counts are retained for compatibility and may be zeroed. + minimum: 0 + type: integer + output_tokens: + deprecated: true + description: Deprecated. Token counts are retained for compatibility and may be zeroed. + minimum: 0 + type: integer + total_tokens: + deprecated: true + description: Deprecated. Token counts are retained for compatibility and may be zeroed. + minimum: 0 + type: integer + type: object + required: + - id + - created + - data + type: object + QuiverTextToSVGRequest: + description: Request body for Quiver AI text-to-SVG generation + properties: + instructions: + description: Additional style or formatting guidance + type: string + max_output_tokens: + description: Maximum number of output tokens + maximum: 131072 + minimum: 1 + type: integer + model: + description: Model identifier for SVG generation + example: arrow-1.1 + type: string + "n": + default: 1 + description: Number of SVGs to generate + maximum: 16 + minimum: 1 + type: integer + presence_penalty: + default: 0 + description: Penalty for tokens already present in prior output + maximum: 2 + minimum: -2 + nullable: true + type: number + prompt: + description: Text description of the desired SVG output + type: string + references: + description: "Optional reference images to guide style/composition. Accepts URL object, base64 object, or URL string shorthand. Runtime limits are model-specific." + items: + oneOf: + - $ref: "#/components/schemas/QuiverImageObject" + - description: URL string shorthand for a reference image + format: uri + type: string + maxItems: 16 + type: array + temperature: + default: 1 + description: Sampling temperature + maximum: 2 + minimum: 0 + type: number + top_p: + default: 1 + description: Nucleus sampling probability + maximum: 1 + minimum: 0 + type: number + required: + - model + - prompt + type: object + RGBColor: + description: RGB color values + example: + rgb: + - 255 + - 0 + - 0 + properties: + rgb: + items: + maximum: 255 + minimum: 0 + type: integer + maxItems: 3 + minItems: 3 + type: array + required: + - rgb + type: object + Reasoning: + description: "**o-series models only**\n\nConfiguration options for\n[reasoning models](https://platform.openai.com/docs/guides/reasoning).\n" + properties: + effort: + $ref: "#/components/schemas/ReasoningEffort" + generate_summary: + deprecated: true + description: "**Deprecated:** use `summary` instead.\n\nA summary of the reasoning performed by the model. This can be\nuseful for debugging and understanding the model's reasoning process.\nOne of `auto`, `concise`, or `detailed`.\n" + enum: + - auto + - concise + - detailed + type: string + summary: + description: "A summary of the reasoning performed by the model. This can be\nuseful for debugging and understanding the model's reasoning process.\nOne of `auto`, `concise`, or `detailed`.\n" + enum: + - auto + - concise + - detailed + type: string + title: Reasoning + type: object + ReasoningEffort: + default: medium + description: "**o-series models only**\n\nConstrains effort on reasoning for\n[reasoning models](https://platform.openai.com/docs/guides/reasoning).\nCurrently supported values are `low`, `medium`, and `high`. Reducing\nreasoning effort can result in faster responses and fewer tokens used\non reasoning in a response.\n" + enum: + - low + - medium + - high + type: string + ReasoningItem: + description: "A description of the chain of thought used by a reasoning model while generating\na response.\n" + properties: + id: + description: "The unique identifier of the reasoning content.\n" + type: string + status: + description: "The status of the item. One of `in_progress`, `completed`, or\n`incomplete`. Populated when items are returned via API.\n" + enum: + - in_progress + - completed + - incomplete + type: string + summary: + description: "Reasoning text contents.\n" + items: + properties: + text: + description: "A short summary of the reasoning used by the model when generating\nthe response.\n" + type: string + type: + description: "The type of the object. Always `summary_text`.\n" + enum: + - summary_text + type: string + x-stainless-const: true + required: + - type + - text + type: object + type: array + type: + description: "The type of the object. Always `reasoning`.\n" + enum: + - reasoning + type: string + x-stainless-const: true + required: + - id + - summary + - type + title: Reasoning + type: object + RecraftCreateStyleRequest: + description: Request body for creating a Recraft style reference + properties: + file1: + description: "First image file (PNG, JPG, or WEBP)" + format: binary + type: string + file2: + description: "Second image file (PNG, JPG, or WEBP)" + format: binary + type: string + file3: + description: "Third image file (PNG, JPG, or WEBP)" + format: binary + type: string + file4: + description: "Fourth image file (PNG, JPG, or WEBP)" + format: binary + type: string + file5: + description: "Fifth image file (PNG, JPG, or WEBP)" + format: binary + type: string + style: + description: The base style of the generated images + enum: + - realistic_image + - digital_illustration + - vector_illustration + - icon + type: string + required: + - style + - file1 + type: object + RecraftCreateStyleResponse: + description: Response containing the created style ID + properties: + id: + description: The unique identifier of the created style + format: uuid + type: string + required: + - id + type: object + RecraftGenerateImageResponse: + properties: + created: + type: integer + credits: + type: integer + data: + items: + $ref: "#/components/schemas/RecraftImage" + type: array + required: + - created + - data + - credits + type: object + RecraftImage: + properties: + b64_json: + type: string + features: + $ref: "#/components/schemas/RecraftImageFeatures" + image_id: + format: uuid + type: string + revised_prompt: + type: string + url: + type: string + required: + - image_id + type: object + RecraftImageColor: + properties: + rgb: + items: + type: integer + type: array + std: + items: + type: number + type: array + weight: + type: number + type: object + RecraftImageFeatures: + properties: + nsfw_score: + type: number + type: object + RecraftImageFormat: + enum: + - webp + - png + type: string + RecraftImageGenerationRequest: + description: Parameters for the Recraft image generation proxy request. + properties: + controls: + description: The controls for the generated image + properties: + artistic_level: + description: "Defines artistic tone of your image. At a simple level, the person looks straight at the camera in a static and clean style. Dynamic and eccentric levels introduce movement and creativity." + maximum: 5 + minimum: 0 + nullable: true + type: integer + background_color: + $ref: "#/components/schemas/RGBColor" + colors: + description: An array of preferable colors + items: + $ref: "#/components/schemas/RGBColor" + type: array + no_text: + description: Do not embed text layouts + type: boolean + type: object + model: + description: "The model to use for generation (e.g., \"recraftv3\")" + type: string + "n": + description: The number of images to generate + maximum: 4 + minimum: 1 + type: integer + prompt: + description: The text prompt describing the image to generate + type: string + size: + description: "The size of the generated image (e.g., \"1024x1024\")" + type: string + style: + description: "The style to apply to the generated image (e.g., \"digital_illustration\")" + type: string + style_id: + description: "The style ID to apply to the generated image (e.g., \"123e4567-e89b-12d3-a456-426614174000\"). If style_id is provided, style should not be provided." + type: string + required: + - prompt + - model + - size + - "n" + type: object + RecraftImageGenerationResponse: + description: Response from the Recraft image generation API. + properties: + created: + description: Unix timestamp when the generation was created + type: integer + credits: + description: Number of credits used for the generation + type: integer + data: + description: Array of generated image information + items: + properties: + image_id: + description: Unique identifier for the generated image + type: string + url: + description: URL to access the generated image + type: string + type: object + type: array + required: + - created + - credits + - data + type: object + RecraftImageStyle: + enum: + - digital_illustration + - icon + - realistic_image + - vector_illustration + type: string + RecraftImageSubStyle: + enum: + - 2d_art_poster + - 3d + - 80s + - glow + - grain + - hand_drawn + - infantile_sketch + - kawaii + - pixel_art + - psychedelic + - seamless + - voxel + - watercolor + - broken_line + - colored_outline + - colored_shapes + - colored_shapes_gradient + - doodle_fill + - doodle_offset_fill + - offset_fill + - outline + - outline_gradient + - uneven_fill + - 70s + - cartoon + - doodle_line_art + - engraving + - flat_2 + - kawaii + - line_art + - linocut + - seamless + - b_and_w + - enterprise + - hard_flash + - hdr + - motion_blur + - natural_light + - studio_portrait + - line_circuit + - 2d_art_poster_2 + - engraving_color + - flat_air_art + - hand_drawn_outline + - handmade_3d + - stickers_drawings + - plastic + - pictogram + type: string + RecraftImageToImageRequest: + properties: + block_nsfw: + type: boolean + calculate_features: + type: boolean + controls: + $ref: "#/components/schemas/RecraftUserControls" + image: + format: binary + type: string + image_format: + $ref: "#/components/schemas/RecraftImageFormat" + model: + $ref: "#/components/schemas/RecraftTransformModel" + "n": + type: integer + negative_prompt: + type: string + prompt: + type: string + response_format: + $ref: "#/components/schemas/RecraftResponseFormat" + strength: + type: number + style: + $ref: "#/components/schemas/RecraftImageStyle" + style_id: + format: uuid + type: string + substyle: + $ref: "#/components/schemas/RecraftImageSubStyle" + text_layout: + $ref: "#/components/schemas/RecraftTextLayout" + required: + - prompt + - image + - strength + type: object + RecraftProcessImageRequest: + properties: + image: + format: binary + type: string + image_format: + $ref: "#/components/schemas/RecraftImageFormat" + response_format: + $ref: "#/components/schemas/RecraftResponseFormat" + required: + - image + type: object + RecraftProcessImageResponse: + properties: + created: + type: integer + credits: + type: integer + image: + $ref: "#/components/schemas/RecraftImage" + required: + - created + - image + - credits + type: object + RecraftResponseFormat: + enum: + - url + - b64_json + type: string + RecraftTextLayout: + items: + $ref: "#/components/schemas/RecraftTextLayoutItem" + type: array + RecraftTextLayoutItem: + properties: + bbox: + items: + items: + type: number + x-go-type: float32 + type: array + type: array + text: + type: string + required: + - text + - bbox + type: object + RecraftTransformImageWithMaskRequest: + properties: + block_nsfw: + type: boolean + calculate_features: + type: boolean + image: + format: binary + type: string + image_format: + $ref: "#/components/schemas/RecraftImageFormat" + mask: + format: binary + type: string + model: + $ref: "#/components/schemas/RecraftTransformModel" + "n": + type: integer + negative_prompt: + type: string + prompt: + type: string + response_format: + $ref: "#/components/schemas/RecraftResponseFormat" + style: + $ref: "#/components/schemas/RecraftImageStyle" + style_id: + format: uuid + type: string + substyle: + $ref: "#/components/schemas/RecraftImageSubStyle" + text_layout: + $ref: "#/components/schemas/RecraftTextLayout" + required: + - image + - mask + - prompt + type: object + RecraftTransformModel: + enum: + - refm1 + - recraft20b + - recraftv2 + - recraftv3 + - recraftv4 + - recraftv4_pro + - flux1_1pro + - flux1dev + - imagen3 + - hidream_i1_dev + type: string + RecraftUserControls: + properties: + artistic_level: + type: integer + background_color: + $ref: "#/components/schemas/RecraftImageColor" + colors: + items: + $ref: "#/components/schemas/RecraftImageColor" + type: array + no_text: + type: boolean + type: object + ReleaseNote: + properties: + attention: + description: The attention level for this release + enum: + - low + - medium + - high + type: string + content: + description: The content of the release note in markdown format + type: string + id: + description: Unique identifier for the release note + type: integer + project: + description: The project this release note belongs to + enum: + - comfyui + - comfyui_frontend + - desktop + - cloud + type: string + published_at: + description: When the release note was published + format: date-time + type: string + version: + description: The version of the release + type: string + required: + - id + - project + - version + - attention + - content + - published_at + type: object + RenderingSpeed: + default: DEFAULT + description: The rendering speed setting that controls the trade-off between generation speed and quality + enum: + - DEFAULT + - TURBO + - QUALITY + type: string + ResponseCompletedEvent: + description: Emitted when the model response is complete. + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "The type of the event. Always `response.completed`." + enum: + - response.completed + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseContentPartAddedEvent: + description: Emitted when a new content part is added. + properties: + content_index: + description: The index of the content part that was added. + type: integer + item_id: + description: The ID of the output item that the content part was added to. + type: string + output_index: + description: The index of the output item that the content part was added to. + type: integer + part: + $ref: "#/components/schemas/OutputContent" + type: + description: "The type of the event. Always `response.content_part.added`." + enum: + - response.content_part.added + type: string + x-stainless-const: true + required: + - type + - item_id + - output_index + - content_index + - part + type: object + ResponseContentPartDoneEvent: + description: Emitted when a content part is done. + properties: + content_index: + description: The index of the content part that is done. + type: integer + item_id: + description: The ID of the output item that the content part was added to. + type: string + output_index: + description: The index of the output item that the content part was added to. + type: integer + part: + $ref: "#/components/schemas/OutputContent" + type: + description: "The type of the event. Always `response.content_part.done`." + enum: + - response.content_part.done + type: string + x-stainless-const: true + required: + - type + - item_id + - output_index + - content_index + - part + type: object + ResponseCreatedEvent: + description: An event that is emitted when a response is created. + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "The type of the event. Always `response.created`." + enum: + - response.created + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseError: + description: An error object returned when the model fails to generate a Response. + properties: + code: + $ref: "#/components/schemas/ResponseErrorCode" + message: + description: A human-readable description of the error. + type: string + required: + - code + - message + type: object + ResponseErrorCode: + description: The error code for the response. + enum: + - server_error + - rate_limit_exceeded + - invalid_prompt + - vector_store_timeout + - invalid_image + - invalid_image_format + - invalid_base64_image + - invalid_image_url + - image_too_large + - image_too_small + - image_parse_error + - image_content_policy_violation + - invalid_image_mode + - image_file_too_large + - unsupported_image_media_type + - empty_image_file + - failed_to_download_image + - image_file_not_found + type: string + ResponseErrorEvent: + description: Emitted when an error occurs. + properties: + code: + description: "The error code.\n" + type: string + message: + description: "The error message.\n" + type: string + param: + description: "The error parameter.\n" + type: string + type: + description: "The type of the event. Always `error`.\n" + enum: + - error + type: string + x-stainless-const: true + required: + - type + - code + - message + - param + type: object + ResponseFailedEvent: + description: "An event that is emitted when a response fails.\n" + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "The type of the event. Always `response.failed`.\n" + enum: + - response.failed + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseFormatJsonObject: + description: "JSON object response format. An older method of generating JSON responses.\nUsing `json_schema` is recommended for models that support it. Note that the\nmodel will not generate JSON without a system or user message instructing it\nto do so.\n" + properties: + type: + description: "The type of response format being defined. Always `json_object`." + enum: + - json_object + type: string + x-stainless-const: true + required: + - type + title: JSON object + type: object + ResponseFormatJsonSchemaSchema: + additionalProperties: true + description: "The schema for the response format, described as a JSON Schema object.\nLearn how to build JSON schemas [here](https://json-schema.org/).\n" + title: JSON schema + type: object + ResponseFormatText: + description: "Default response format. Used to generate text responses.\n" + properties: + type: + description: "The type of response format being defined. Always `text`." + enum: + - text + type: string + x-stainless-const: true + required: + - type + title: Text + type: object + ResponseInProgressEvent: + description: Emitted when the response is in progress. + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "The type of the event. Always `response.in_progress`.\n" + enum: + - response.in_progress + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseIncompleteEvent: + description: "An event that is emitted when a response finishes as incomplete.\n" + properties: + response: + $ref: "#/components/schemas/OpenAIResponse" + type: + description: "The type of the event. Always `response.incomplete`.\n" + enum: + - response.incomplete + type: string + x-stainless-const: true + required: + - type + - response + type: object + ResponseOutputItemAddedEvent: + description: Emitted when a new output item is added. + properties: + item: + $ref: "#/components/schemas/OutputItem" + output_index: + description: "The index of the output item that was added.\n" + type: integer + type: + description: "The type of the event. Always `response.output_item.added`.\n" + enum: + - response.output_item.added + type: string + x-stainless-const: true + required: + - type + - output_index + - item + type: object + ResponseOutputItemDoneEvent: + description: Emitted when an output item is marked done. + properties: + item: + $ref: "#/components/schemas/OutputItem" + output_index: + description: "The index of the output item that was marked done.\n" + type: integer + type: + description: "The type of the event. Always `response.output_item.done`.\n" + enum: + - response.output_item.done + type: string + x-stainless-const: true + required: + - type + - output_index + - item + type: object + ResponseProperties: + properties: + instructions: + description: "Inserts a system (or developer) message as the first item in the model's context.\n\nWhen using along with `previous_response_id`, the instructions from a previous\nresponse will not be carried over to the next response. This makes it simple\nto swap out system (or developer) messages in new responses.\n" + type: string + max_output_tokens: + description: "An upper bound for the number of tokens that can be generated for a response, including visible output tokens and [reasoning tokens](/docs/guides/reasoning).\n" + type: integer + model: + $ref: "#/components/schemas/OpenAIModels" + previous_response_id: + description: "The unique ID of the previous response to the model. Use this to\ncreate multi-turn conversations. Learn more about\n[conversation state](/docs/guides/conversation-state).\n" + type: string + reasoning: + $ref: "#/components/schemas/Reasoning" + text: + properties: + format: + $ref: "#/components/schemas/TextResponseFormatConfiguration" + type: object + tool_choice: + description: "How the model should select which tool (or tools) to use when generating\na response. See the `tools` parameter to see how to specify which tools\nthe model can call.\n" + oneOf: + - $ref: "#/components/schemas/ToolChoiceOptions" + - $ref: "#/components/schemas/ToolChoiceTypes" + - $ref: "#/components/schemas/ToolChoiceFunction" + tools: + items: + $ref: "#/components/schemas/Tool" + type: array + truncation: + default: disabled + description: "The truncation strategy to use for the model response.\n- `auto`: If the context of this response and previous ones exceeds\n the model's context window size, the model will truncate the\n response to fit the context window by dropping input items in the\n middle of the conversation.\n- `disabled` (default): If a model response will exceed the context window\n size for a model, the request will fail with a 400 error.\n" + enum: + - auto + - disabled + type: string + type: object + ResponseUsage: + description: "Represents token usage details including input tokens, output tokens,\na breakdown of output tokens, and the total tokens used.\n" + properties: + input_tokens: + description: The number of input tokens. + type: integer + input_tokens_details: + description: A detailed breakdown of the input tokens. + properties: + cached_tokens: + description: "The number of tokens that were retrieved from the cache.\n[More on prompt caching](/docs/guides/prompt-caching).\n" + type: integer + required: + - cached_tokens + type: object + output_tokens: + description: The number of output tokens. + type: integer + output_tokens_details: + description: A detailed breakdown of the output tokens. + properties: + reasoning_tokens: + description: The number of reasoning tokens. + type: integer + required: + - reasoning_tokens + type: object + total_tokens: + description: The total number of tokens used. + type: integer + required: + - input_tokens + - input_tokens_details + - output_tokens + - output_tokens_details + - total_tokens + type: object + ReveImageCreateRequest: + description: Request body for Reve image creation. + properties: + aspect_ratio: + default: 3:2 + description: The desired aspect ratio of the generated image. + enum: + - 16:9 + - 9:16 + - 3:2 + - 2:3 + - 4:3 + - 3:4 + - 1:1 + type: string + postprocessing: + description: Optional postprocessing operations to apply after generation. May add additional cost. + items: + $ref: "#/components/schemas/RevePostprocessingOperation" + type: array + prompt: + description: The text description of the desired image. Maximum length is 2560 characters. + maxLength: 2560 + type: string + test_time_scaling: + description: "If included, the model will spend more effort making better images. Values between 1 and 15 are accepted. Adds additional credits cost." + maximum: 15 + minimum: 1 + type: number + version: + default: latest + description: "Model version to use. Supported: latest, reve-create@20250915." + type: string + required: + - prompt + type: object + ReveImageEditRequest: + description: Request body for Reve image editing. + properties: + aspect_ratio: + description: The desired aspect ratio. Defaults to the aspect ratio of the reference image if not provided. + enum: + - 16:9 + - 9:16 + - 3:2 + - 2:3 + - 4:3 + - 3:4 + - 1:1 + type: string + edit_instruction: + description: The text description of how to edit the provided image. Maximum length is 2560 characters. + maxLength: 2560 + type: string + postprocessing: + description: Optional postprocessing operations to apply after generation. May add additional cost. + items: + $ref: "#/components/schemas/RevePostprocessingOperation" + type: array + reference_image: + description: A base64 encoded image to use as reference for the edit. + type: string + test_time_scaling: + description: "If included, the model will spend more effort making better images. Values between 1 and 15 are accepted. Adds additional credits cost." + maximum: 15 + minimum: 1 + type: number + version: + default: latest + description: "Model version to use. Supported: latest-fast, latest, reve-edit-fast@20251030, reve-edit@20250915." + type: string + required: + - edit_instruction + - reference_image + type: object + ReveImageRemixRequest: + description: Request body for Reve image remixing. + properties: + aspect_ratio: + description: "The desired aspect ratio. If not provided, smartly chosen by the model." + enum: + - 16:9 + - 9:16 + - 3:2 + - 2:3 + - 4:3 + - 3:4 + - 1:1 + type: string + postprocessing: + description: Optional postprocessing operations to apply after generation. May add additional cost. + items: + $ref: "#/components/schemas/RevePostprocessingOperation" + type: array + prompt: + description: The text description of the desired image. May include xml img tags to refer to specific reference images by index. Maximum length is 2560 characters. + maxLength: 2560 + type: string + reference_images: + description: A list of 1-6 base64 encoded reference images. Each must be less than 10 MB. Total pixel count must be no more than 32 million pixels. + items: + type: string + maxItems: 6 + minItems: 1 + type: array + test_time_scaling: + description: "If included, the model will spend more effort making better images. Values between 1 and 15 are accepted. Adds additional credits cost." + maximum: 15 + minimum: 1 + type: number + version: + default: latest + description: "Model version to use. Supported: latest-fast, latest, reve-remix-fast@20251030, reve-remix@20250915." + type: string + required: + - prompt + - reference_images + type: object + ReveImageResponse: + description: Response from the Reve image API. + properties: + content_violation: + description: Indicates whether the generated image violates the content policy. + type: boolean + credits_remaining: + description: The number of credits remaining in your budget. + type: number + credits_used: + description: The number of credits used for this request. + type: number + image: + description: The base64 encoded image data. Empty if the request was not successful. + type: string + request_id: + description: A unique id for the request. + type: string + version: + description: The specific model version used in the generation process. + type: string + type: object + RevePostprocessingOperation: + description: A postprocessing operation to apply after image generation. + properties: + effect_name: + description: Name of the effect to apply. Only used when process is effect. + type: string + effect_parameters: + description: Optional parameters to override default effect settings. + type: object + max_dim: + description: "Maximum dimension for fit_image. At least one of max_dim, max_width, or max_height must be set." + maximum: 1024 + type: integer + max_height: + description: Maximum height for fit_image. + maximum: 1024 + type: integer + max_width: + description: Maximum width for fit_image. + maximum: 1024 + type: integer + process: + description: "The postprocessing operation: upscale, remove_background, fit_image, or effect." + enum: + - upscale + - remove_background + - fit_image + - effect + type: string + upscale_factor: + description: "Upscale factor (2, 3, or 4). Only used when process is upscale." + maximum: 4 + minimum: 2 + type: integer + required: + - process + type: object + Rodin3DCheckStatusRequest: + properties: + subscription_key: + description: subscription from generate endpoint + type: string + required: + - subscription_key + type: object + Rodin3DCheckStatusResponse: + properties: + jobs: + description: Details for the generation status. + items: + $ref: "#/components/schemas/RodinCheckStatusJobItem" + type: array + type: object + Rodin3DDownloadRequest: + properties: + task_uuid: + description: Task UUID + type: string + required: + - task_uuid + type: object + Rodin3DDownloadResponse: + properties: + list: + items: + $ref: "#/components/schemas/RodinResourceItem" + type: array + type: object + Rodin3DGenerateRequest: + properties: + TAPose: + description: "Optional. When generating the human-like model, this parameter controls the generation result to T/A pose. When true, your model will be either T pose or A pose.\n" + type: boolean + addons: + description: "Optional. The default is []. Possible value is `HighPack`. By selecting HighPack: generate 4K resolution texture instead of the default 2K. If Quad mode, the number of faces will be ~16 times the number of faces selected in the `quality` parameter.\n" + items: + $ref: "#/components/schemas/RodinAddonType" + type: array + bbox_condition: + description: "Optional. This is a controlnet that controls the maximum size of the generated model. This array must contain 3 elements, Width (Y-axis), Height (Z-axis), and Length (X-axis), in this exact fixed sequence (y, z, x).\n" + items: + type: integer + type: array + condition_mode: + $ref: "#/components/schemas/RodinConditionModeType" + geometry_file_format: + $ref: "#/components/schemas/RodinGeometryFileFormatType" + geometry_instruct_mode: + $ref: "#/components/schemas/RodinGeometryInstructModeType" + hd_texture: + description: "Optional. Default is false. If true, high-quality texture will be provided.\n" + type: boolean + images: + description: "Images to be used in generation, up to 5 images. As the form data request will preserve the order of the images, the first image will be the image for material generation. For Image-to-3D generation: required (one or more images are needed, maximum 5 images). For Text-to-3D generation: null.\n" + type: string + is_micro: + description: "Optional. Default is false. If true, micro detail scale is applied. This parameter is only available in the Gen-2.5-Extreme-High tier.\n" + type: boolean + is_symmetric: + description: "Optional. Default is false. If true, this parameter will determine whether the generated model is symmetric.\n" + type: boolean + material: + $ref: "#/components/schemas/RodinMaterialType" + mesh_mode: + $ref: "#/components/schemas/RodinMeshModeType" + mesh_simplify: + description: "Optional. Default is true. If true, the generated models will be simplified. This parameter takes effect when mesh_mode is set to Raw.\n" + type: boolean + mesh_smooth: + description: "Optional. Default is false. If true, the generated models will be smoothed (similar to Rodin Gen-1). This parameter takes effect when mesh_mode is set to Quad.\n" + type: boolean + preview_render: + description: "Optional. Default is false. If true, an additional high-quality render image will be provided in the download list.\n" + type: boolean + prompt: + description: "A textual prompt to guide the model generation. For Image-to-3D generation: optional (if not provided, an AI-generated prompt based on the provided images will be used). For Text-to-3D generation: required.\n" + type: string + quality: + $ref: "#/components/schemas/RodinQualityType" + quality_override: + description: "Optional. Customize poly count for generation, providing more accurate control over mesh face count. When mesh_mode = Raw: range from 500 to 1,000,000 (default 500,000). When mesh_mode = Quad: range from 1,000 to 200,000 (default 18,000). When this parameter is invoked, the `quality` parameter will not take effect.\n" + type: integer + seed: + description: "Optional. A seed value for randomization in the mesh generation, ranging from 0 to 65535 (both inclusive). If not provided, the seed will be randomly generated.\n" + type: integer + texture_delight: + description: "Optional. Default is false. If true, this parameter applies images preprocessing to remove lighting information from textures.\n" + type: boolean + texture_mode: + $ref: "#/components/schemas/RodinTextureModeType" + tier: + $ref: "#/components/schemas/RodinTierType" + use_original_alpha: + description: "Default is false. If true, the original transparency channel of the images will be used when processing the image.\n" + type: boolean + type: object + Rodin3DGenerateResponse: + properties: + error: + description: "Error message, if any. Possible values include NO_ACTIVE_SUBSCRIPTION, SUBSCRIPTION_PLAN_TOO_LOW, INSUFFICIENT_FUND, INVALID_REQUEST, USER_NOT_FOUND, GROUP_NOT_FOUND, PERMISSION_DENIED, UNKNOWN.\n" + nullable: true + type: string + jobs: + $ref: "#/components/schemas/RodinGenerateJobsData" + message: + description: Success message or detailed error information. + type: string + prompt: + description: Echoed prompt (when applicable). + type: string + submit_time: + description: Submission timestamp. + type: string + uuid: + description: Task UUID. Use this for status/download requests. + type: string + type: object + RodinAddonType: + description: "Possible value is `HighPack`. By selecting HighPack: generate 4K resolution texture instead of the default 2K. If Quad mode, the number of faces will be ~16 times the number of faces selected in the `quality` parameter. Additional 1 credit per generation.\n" + enum: + - HighPack + type: string + RodinCheckStatusJobItem: + properties: + status: + $ref: "#/components/schemas/RodinStatusOptions" + uuid: + description: sub uuid + type: string + type: object + RodinConditionModeType: + description: "Useful only for multi-image 3D generation. Optional. Chooses the mode of the multi-image generation. Default is concat. For `fuse` mode (uploading images of multiple objects), fuse mode will extract and fuse all the features of all the objects from the images for generation. For `concat` mode (uploading images of a single object), concat mode will inform the Rodin model to expect these images to be multi-view images of a single object.\n" + enum: + - fuse + - concat + type: string + RodinGenerateJobsData: + properties: + subscription_key: + description: Subscription Key. + type: string + uuids: + description: subjobs uuid. + items: + type: string + type: array + type: object + RodinGeometryFileFormatType: + description: "Optional. The format of the output geometry file. Default is glb.\n" + enum: + - glb + - usdz + - fbx + - obj + - stl + type: string + RodinGeometryInstructModeType: + description: "Optional. Default is `faithful`. The Creative mode enhances generative robustness while ensuring output consistency, allowing for more flexible and creative generation while maintaining quality and consistency across outputs. Available for Gen-2.5-Medium and Gen-2.5-High tiers.\n" + enum: + - faithful + - creative + type: string + RodinMaterialType: + description: "Optional. The material type. Default is PBR. PBR: Physically Based Materials, including base color texture, metallicness texture, normal texture and roughness texture, providing high realism and physically accurate behavior over dynamic lighting. Shaded: only base color texture with baked lighting, providing stylized visuals. All: both PBR and Shaded will be delivered. None: asset without material.\n" + enum: + - PBR + - Shaded + - All + - None + type: string + RodinMeshModeType: + description: "Optional. It controls the type of faces of generated models. Default is Quad. The Raw mode generates triangular face models. The Quad mode generates quadrilateral face models. When its value is Raw, `quality` will be fixed to medium and `addons` will be fixed to []. For Rodin Sketch tier, only triangular faces can be generated.\n" + enum: + - Quad + - Raw + type: string + RodinQualityType: + description: "Optional. The face count of the generated model. Default is medium.\n" + enum: + - extra-low + - low + - medium + - high + type: string + RodinResourceItem: + properties: + name: + description: File name + type: string + url: + description: Download url + type: string + type: object + RodinStatusOptions: + enum: + - Done + - Failed + - Generating + - Waiting + type: string + RodinTextureModeType: + description: "Optional. Higher values invest more thinking effort and produce better results, at the cost of longer generation time.\n" + enum: + - legacy + - extreme-low + - low + - medium + - high + type: string + RodinTierType: + description: "Tier of generation. The default value is Regular. Sketch: fast generation with basic details, suitable for initial concepts. Regular: balanced quality and speed, ideal for general use. Detail: enhanced details compared to Regular, recommended for intricate results (longer processing time). Smooth: clearer and sharper output than Regular, with slightly longer processing time. Set the value to `Gen-2` to invoke Gen-2 generation. Use the `Gen-2.5-*` values to invoke Gen-2.5 generation: Gen-2.5-Extreme-Low (quick simple assets), Gen-2.5-Low (clean assets and small hardsurface props), Gen-2.5-Medium (moderately complex models), Gen-2.5-High (high-quality assets with richer structural representation and smooth surfaces), Gen-2.5-Extreme-High (high-frequency detail reproduction).\n" + enum: + - Regular + - Sketch + - Detail + - Smooth + - Gen-2 + - Gen-2.5-Extreme-Low + - Gen-2.5-Low + - Gen-2.5-Medium + - Gen-2.5-High + - Gen-2.5-Extreme-High + type: string + RunwayAspectRatioEnum: + enum: + - 1280:720 + - 720:1280 + - 1104:832 + - 832:1104 + - 960:960 + - 1584:672 + - 1280:768 + - 768:1280 + type: string + RunwayContentModeration: + description: Settings that affect the behavior of the content moderation system. + properties: + publicFigureThreshold: + description: "When set to `low`, the content moderation system will be less strict about preventing generations that include recognizable public figures." + enum: + - auto + - low + type: string + type: object + RunwayDurationEnum: + enum: + - 5 + - 10 + type: integer + RunwayImageToVideoRequest: + properties: + duration: + $ref: "#/components/schemas/RunwayDurationEnum" + model: + $ref: "#/components/schemas/RunwayModelEnum" + promptImage: + $ref: "#/components/schemas/RunwayPromptImageObject" + promptText: + description: Text prompt for the generation + maxLength: 1000 + type: string + ratio: + $ref: "#/components/schemas/RunwayAspectRatioEnum" + seed: + description: Random seed for generation + format: int64 + maximum: 4294967295 + minimum: 0 + type: integer + required: + - promptImage + - seed + - model + - duration + - ratio + type: object + RunwayImageToVideoResponse: + properties: + id: + description: Task ID + type: string + type: object + RunwayModelEnum: + description: Available Runway models for generation. + enum: + - gen4_turbo + - gen3a_turbo + type: string + RunwayPromptImageDetailedObject: + description: Represents an image with its position in the video sequence. + properties: + position: + description: "The position of the image in the output video. 'last' is currently supported for gen3a_turbo only." + enum: + - first + - last + type: string + uri: + description: A HTTPS URL or data URI containing an encoded image. + type: string + required: + - uri + - position + type: object + RunwayPromptImageObject: + description: Image(s) to use for the video generation. Can be a single URI or an array of image objects with positions. + oneOf: + - description: A single HTTPS URL or data URI for the first frame image. + type: string + - description: An array of image objects with positions. No two images can have the same position. + items: + $ref: "#/components/schemas/RunwayPromptImageDetailedObject" + type: array + RunwayTaskStatusEnum: + description: Possible statuses for a Runway task. + enum: + - SUCCEEDED + - RUNNING + - FAILED + - PENDING + - CANCELLED + - THROTTLED + type: string + RunwayTaskStatusResponse: + properties: + createdAt: + description: Task creation timestamp + format: date-time + type: string + id: + description: Task ID + type: string + output: + description: Array of output video URLs + items: + type: string + type: array + progress: + description: Float value between 0 and 1 representing the progress of the task. Only available if status is RUNNING. + format: float + maximum: 1 + minimum: 0 + type: number + status: + $ref: "#/components/schemas/RunwayTaskStatusEnum" + required: + - id + - status + - createdAt + type: object + RunwayTextToImageAspectRatioEnum: + enum: + - 1920:1080 + - 1080:1920 + - 1024:1024 + - 1360:768 + - 1080:1080 + - 1168:880 + - 1440:1080 + - 1080:1440 + - 1808:768 + - 2112:912 + type: string + RunwayTextToImageRequest: + properties: + model: + description: Model to use for generation + enum: + - gen4_image + type: string + promptText: + description: Text prompt for the image generation + maxLength: 1000 + type: string + ratio: + $ref: "#/components/schemas/RunwayTextToImageAspectRatioEnum" + referenceImages: + description: Array of reference images to guide the generation + items: + properties: + uri: + description: A HTTPS URL or data URI containing an encoded image + type: string + type: object + type: array + required: + - promptText + - model + - ratio + type: object + RunwayTextToImageResponse: + properties: + id: + description: Task ID + type: string + type: object + RunwayVideoToVideoKeyframe: + description: Timed guidance image placed at a specific point in the input video. + oneOf: + - properties: + seconds: + description: Absolute timestamp in seconds from the start of the input video when this guidance image should apply. + maximum: 30 + minimum: 0 + type: number + uri: + description: "A HTTPS URL, Runway or data URI containing an encoded image." + type: string + required: + - uri + - seconds + type: object + - properties: + at: + description: "Position as a fraction [0.0, 1.0] of the input video duration when this guidance image should apply." + maximum: 1 + minimum: 0 + type: number + uri: + description: "A HTTPS URL, Runway or data URI containing an encoded image." + type: string + required: + - uri + - at + type: object + RunwayVideoToVideoModelEnum: + description: Available Runway models for video-to-video generation. + enum: + - aleph2 + type: string + RunwayVideoToVideoPromptImage: + description: An image keyframe for guiding the edit at a specific point in the video. + properties: + position: + $ref: "#/components/schemas/RunwayVideoToVideoPromptImagePosition" + uri: + description: "A HTTPS URL, Runway or data URI containing an encoded image." + type: string + required: + - uri + - position + type: object + RunwayVideoToVideoPromptImagePosition: + description: The position in the output video where the image should apply. + oneOf: + - description: "\"first\" places the image at the start (timestamp 0); \"last\" places it at the end (timestamp = duration)." + enum: + - first + - last + type: string + - description: Places the image at an absolute timestamp. + properties: + timestampSeconds: + description: Absolute timestamp in seconds from the start of the output video. + minimum: 0 + type: number + type: + enum: + - timestamp + type: string + required: + - type + - timestampSeconds + type: object + - description: Places the image at a relative position. + properties: + positionPercentage: + description: "Position as a fraction [0.0, 1.0] of the total video duration." + maximum: 1 + minimum: 0 + type: number + type: + enum: + - position + type: string + required: + - type + - positionPercentage + type: object + RunwayVideoToVideoRequest: + description: "Request to edit an input video into a new video using Runway's API." + properties: + contentModeration: + $ref: "#/components/schemas/RunwayContentModeration" + keyframes: + description: Timed guidance images placed at specific points in the input video. Up to 5 keyframes. + items: + $ref: "#/components/schemas/RunwayVideoToVideoKeyframe" + maxItems: 5 + minItems: 1 + type: array + model: + $ref: "#/components/schemas/RunwayVideoToVideoModelEnum" + promptImage: + description: A list of up to 5 image keyframes for guiding the edit at specific points in the video. + items: + $ref: "#/components/schemas/RunwayVideoToVideoPromptImage" + maxItems: 5 + minItems: 1 + type: array + promptText: + description: A non-empty string up to 1000 characters describing what should appear in the output. + maxLength: 1000 + minLength: 1 + type: string + seed: + description: Random seed for generation. + format: int64 + maximum: 4294967295 + minimum: 0 + type: integer + videoUri: + description: "The input video to edit (HTTPS URL, Runway upload URI, or data URI). Must be 30 seconds or shorter." + type: string + required: + - model + - promptText + - videoUri + type: object + RunwayVideoToVideoResponse: + properties: + id: + description: Task ID + type: string + type: object + SeedanceAssetError: + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + SeedanceAssetModeration: + properties: + strategy: + description: "Content Pre-filter review strategy. \"Skip\" bypasses most non-baseline policies (requires Secure Mode off on the account)." + enum: + - Default + - Skip + type: string + required: + - strategy + type: object + SeedanceCreateAssetRequest: + properties: + asset_type: + enum: + - Image + - Video + - Audio + type: string + group_id: + description: BytePlus Asset Group ID the asset will belong to. Caller must own this group. + type: string + moderation: + $ref: "#/components/schemas/SeedanceAssetModeration" + name: + description: "Optional asset name, up to 64 characters." + type: string + project_name: + description: "BytePlus project name. Defaults to \"default\". Must match the Asset Group's project." + type: string + url: + description: Publicly accessible URL of the asset. + type: string + required: + - group_id + - url + - asset_type + type: object + SeedanceCreateAssetResponse: + properties: + asset_id: + description: BytePlus-issued asset id. Clients poll seedanceGetAsset with this until status == Active. + type: string + required: + - asset_id + type: object + SeedanceCreateVisualValidateSessionRequest: + properties: + name: + description: "Optional human-readable label for the asset group that will be created by this verification. Stored locally and returned by seedanceListVisualValidationGroups so users can identify their groups in selectors.\n" + maxLength: 64 + type: string + type: object + SeedanceCreateVisualValidateSessionResponse: + properties: + h5_link: + description: BytePlus-issued H5 liveness link. Open in a browser with camera access. Valid for ~120 seconds. + type: string + session_id: + description: Session identifier. Clients poll seedanceGetVisualValidateSession with this. + format: uuid + type: string + required: + - session_id + - h5_link + type: object + SeedanceGetAssetResponse: + properties: + asset_type: + enum: + - Image + - Video + - Audio + type: string + create_time: + format: date-time + nullable: true + type: string + error: + $ref: "#/components/schemas/SeedanceAssetError" + group_id: + type: string + id: + type: string + name: + nullable: true + type: string + project_name: + nullable: true + type: string + status: + enum: + - Active + - Processing + - Failed + type: string + update_time: + format: date-time + nullable: true + type: string + url: + description: Access URL valid for ~12 hours. + nullable: true + type: string + required: + - id + - asset_type + - group_id + - status + type: object + SeedanceGetVisualValidateSessionResponse: + properties: + error_code: + nullable: true + type: string + error_message: + nullable: true + type: string + group_id: + description: Populated only when status == completed. This is the BytePlus Asset Group ID the user will upload assets into. + nullable: true + type: string + name: + description: Optional human-readable label provided when the session was created. + nullable: true + type: string + session_id: + format: uuid + type: string + status: + enum: + - pending + - completed + - failed + type: string + required: + - session_id + - status + type: object + SeedanceListUserAssetsResponse: + properties: + assets: + items: + $ref: "#/components/schemas/SeedanceUserAsset" + type: array + truncated: + description: True if the global per-request asset cap was hit and older results were dropped. + type: boolean + required: + - assets + - truncated + type: object + SeedanceListVisualValidationGroupsResponse: + properties: + groups: + items: + $ref: "#/components/schemas/SeedanceVisualValidationGroup" + type: array + required: + - groups + type: object + SeedanceUserAsset: + properties: + asset_id: + type: string + asset_type: + enum: + - Image + - Video + - Audio + type: string + create_time: + format: date-time + type: string + group_id: + type: string + group_name: + description: "Display label of the source group, denormalized for client-side search." + type: string + name: + nullable: true + type: string + status: + enum: + - Active + - Processing + - Failed + type: string + url: + description: BytePlus access URL (~12h validity). Refreshed on each list call. + nullable: true + type: string + required: + - asset_id + - group_id + - group_name + - asset_type + - status + - create_time + type: object + SeedanceVirtualLibraryCreateAssetRequest: + properties: + asset_type: + default: Image + description: BytePlus asset type. The AIGC virtual library accepts both Image and Video. Defaults to Image for backward compatibility with existing clients. + enum: + - Image + - Video + type: string + hash: + description: Client-supplied content hash used as the per-customer dedup key. Re-submitting the same hash returns the existing asset id without re-uploading to BytePlus. + type: string + url: + description: "Publicly accessible URL of the asset to upload to the caller's virtual portrait library." + type: string + required: + - url + - hash + type: object + SeedanceVirtualLibraryCreateAssetResponse: + properties: + asset_id: + description: BytePlus-issued asset id. Clients poll seedanceGetAsset with this until status == Active. + type: string + required: + - asset_id + type: object + SeedanceVisualValidationGroup: + properties: + created_at: + format: date-time + type: string + group_id: + description: BytePlus-issued asset group id. + type: string + name: + description: "Display label. Caller-supplied at creation time when available; otherwise a server-generated fallback derived from the creation date.\n" + type: string + required: + - group_id + - name + - created_at + type: object + SoniloErrorResponse: + properties: + detail: + properties: + code: + description: Error code + type: string + message: + description: Human-readable error message + type: string + type: object + type: object + SoniloStreamEvent: + description: A single NDJSON event from the Sonilo streaming response. Additional event types beyond those listed may appear; unknown types should be ignored by clients. + oneOf: + - properties: + copy_index: + minimum: 0 + type: integer + display_tags: + items: + type: string + type: array + prompt_index: + minimum: 0 + type: integer + stream_index: + minimum: 0 + type: integer + summary: + description: Short natural-language description of the generated track. + type: string + title: + type: string + type: + enum: + - title + type: string + required: + - type + - stream_index + - prompt_index + - copy_index + - title + - display_tags + type: object + - properties: + channels: + type: integer + data: + description: Base64-encoded AAC in fMP4 fragments; concatenate per stream_index. + type: string + num_streams: + minimum: 1 + type: integer + sample_rate: + type: integer + stream_index: + minimum: 0 + type: integer + type: + enum: + - audio_chunk + type: string + required: + - type + - sample_rate + - channels + - stream_index + - num_streams + - data + type: object + - properties: + type: + enum: + - complete + type: string + required: + - type + type: object + - properties: + code: + type: string + message: + type: string + type: + enum: + - error + type: string + required: + - type + - message + type: object + SoniloTextToMusicRequest: + properties: + duration: + description: Desired duration of the output track in seconds. + maximum: 360 + minimum: 1 + type: integer + prompt: + description: Text prompt describing the desired music. Max length 1000 characters. + maxLength: 1000 + minLength: 1 + type: string + required: + - prompt + - duration + type: object + SoniloVideoToMusicRequest: + oneOf: + - properties: + prompt: + description: Optional text prompt to guide music generation. + type: string + video: + description: Multipart file part; e.g. video/mp4. Max file size 300MB. + format: binary + type: string + required: + - video + type: object + - properties: + prompt: + description: Optional text prompt to guide music generation. + type: string + video_url: + description: Public http:// or https:// URL of the video. Private/internal addresses are rejected. + format: uri + type: string + required: + - video_url + type: object + StorageFile: + properties: + file_path: + description: Path to the file in storage + type: string + id: + description: Unique identifier for the storage file + format: uuid + type: string + public_url: + description: Public URL + type: string + type: object + StripeEvent: + properties: + data: + properties: + object: + type: object + type: object + id: + type: string + object: + enum: + - event + type: string + type: + enum: + - invoice.paid + type: string + required: + - id + - object + - type + - data + type: object + SubscriptionDuration: + description: The subscription billing duration + enum: + - MONTHLY + - ANNUAL + type: string + SubscriptionTier: + description: The subscription tier level + enum: + - FREE + - STANDARD + - CREATOR + - PRO + - FOUNDERS_EDITION + type: string + TencentErrorResponse: + description: Error response from Tencent API + properties: + Response: + properties: + Error: + properties: + Code: + description: Error code + type: string + Message: + description: Error message + type: string + type: object + RequestId: + description: Unique request ID for troubleshooting + type: string + type: object + type: object + TencentFile3D: + description: 3D file information + properties: + PreviewImageUrl: + description: Preview image URL + format: uri + type: string + Type: + description: 3D file format + enum: + - GLB + - OBJ + type: string + Url: + description: File URL (valid for 24 hours) + format: uri + type: string + type: object + TencentHunyuan3DProRequest: + description: Request body for Tencent Hunyuan 3D Pro generation + properties: + EnablePBR: + default: false + description: Whether to enable PBR material generation. + type: boolean + FaceCount: + default: 500000 + description: Face count for 3D model generation. + maximum: 1500000 + minimum: 40000 + type: integer + GenerateType: + default: Normal + description: "Generation task type:\n- Normal: generates a geometric model with textures (default)\n- LowPoly: model generated after intelligent polygon reduction\n- Geometry: generate model without textures (white model)\n- Sketch: generative model from sketch or line drawing\n" + enum: + - Normal + - LowPoly + - Geometry + - Sketch + type: string + ImageBase64: + description: "Base64 encoded image for image-to-3D generation.\nResolution: min 128px, max 5000px per side.\nMax size: 8MB (recommend 6MB before encoding).\nSupported formats: jpg, png, jpeg, webp.\nEither ImageBase64/ImageUrl or Prompt is required.\n" + type: string + ImageUrl: + description: "URL of input image for image-to-3D generation.\nResolution: min 128px, max 5000px per side.\nMax size: 8MB.\nSupported formats: jpg, png, jpeg, webp.\nEither ImageBase64/ImageUrl or Prompt is required.\n" + format: uri + type: string + Model: + default: "3.0" + description: "Tencent HY 3D Global model version.\nDefaults to 3.0, with optional choices: 3.0, 3.1.\nWhen selecting version 3.1, the LowPoly parameter is unavailable.\n" + enum: + - "3.0" + - "3.1" + example: "3.0" + type: string + MultiViewImages: + description: "Multi-perspective model images for 3D generation.\nEach perspective is limited to one image.\nImage size limit: max 8MB after encoding.\nImage resolution: min 128px, max 5000px per side.\nSupported formats: JPG, PNG.\n" + items: + $ref: "#/components/schemas/TencentViewImage" + type: array + PolygonType: + default: triangle + description: "Polygon type (only effective when GenerateType is LowPoly).\n- triangle: triangular faces (default)\n- quadrilateral: mix of quadrangle and triangle faces\n" + enum: + - triangle + - quadrilateral + type: string + Prompt: + description: "Text description for 3D content generation.\nSupports up to 1024 utf-8 characters.\nEither Prompt or ImageBase64/ImageUrl is required, but not both.\n" + example: A cat + maxLength: 1024 + type: string + type: object + TencentHunyuan3DProResponse: + description: Response from Tencent Hunyuan 3D Pro submit endpoint + properties: + Response: + properties: + Error: + description: Error object (present when request fails) + properties: + Code: + description: Error code + type: string + Message: + description: Error message + type: string + type: object + JobId: + description: Task ID (valid for 24 hours) + example: "1375367755519696896" + type: string + RequestId: + description: Unique request ID for troubleshooting + example: 13f47dd0-1af9-4383-b401-dae18d6e99fc + type: string + type: object + type: object + TencentHunyuan3DQueryRequest: + properties: + JobId: + description: The JobId returned from the submit endpoint + example: "1375367755519696896" + type: string + required: + - JobId + type: object + TencentHunyuan3DQueryResponse: + description: Response from Tencent Hunyuan 3D query endpoint + properties: + Response: + properties: + ErrorCode: + description: Error code (empty string if no error) + type: string + ErrorMessage: + description: Error message if task failed (empty string if no error) + type: string + RequestId: + description: Unique request ID for troubleshooting + type: string + ResultFile3Ds: + description: Array of generated 3D files + items: + $ref: "#/components/schemas/TencentFile3D" + type: array + Status: + description: "Task status:\n- WAIT: waiting\n- RUN: running\n- FAIL: failed\n- DONE: successful\n" + enum: + - WAIT + - RUN + - FAIL + - DONE + type: string + type: object + type: object + TencentHunyuan3DSmartTopologyRequest: + description: Request body for Tencent Hunyuan 3D Smart Topology (retopology/polygon reduction) + properties: + FaceLevel: + description: Polygon reduction level. + enum: + - high + - medium + - low + example: medium + type: string + File3D: + $ref: "#/components/schemas/TencentInputFile3D" + PolygonType: + description: Polygon type for the output mesh. Defaults to triangle. + enum: + - triangle + - quadrilateral + example: triangle + type: string + required: + - File3D + type: object + TencentHunyuan3DTextureEditRequest: + description: Request body for Tencent Hunyuan 3D texture edit + properties: + EnablePBR: + description: Whether to enable the PBR texture parameter; only supported when using Prompt. + example: true + type: boolean + File3D: + $ref: "#/components/schemas/TencentInputFile3D" + Image: + $ref: "#/components/schemas/TencentImageInfo" + Prompt: + description: Describes texture editing. Either Image or Prompt is required; they cannot coexist. + example: a kitten + maxLength: 1024 + type: string + required: + - File3D + type: object + TencentHunyuan3DUVRequest: + description: Request body for Tencent Hunyuan 3D UV unfolding + properties: + File: + $ref: "#/components/schemas/TencentInputFile3D" + type: object + TencentHunyuan3DUVResponse: + description: Response from Tencent Hunyuan 3D UV submit endpoint + properties: + Response: + properties: + Error: + description: Error object (present when request fails) + properties: + Code: + description: Error code + type: string + Message: + description: Error message + type: string + type: object + JobId: + description: Task ID for the UV unwrapping job + example: "1384898587778465792" + type: string + RequestId: + description: Unique request ID for troubleshooting + example: 5265eb4a-0f4f-4cb1-9b3d-d9f1fb9347d2 + type: string + type: object + type: object + TencentImageInfo: + description: Reference image - Base64 data or image URL + properties: + ImageBase64: + description: "Base64 encoded image. Resolution 128-4096 per side, converted Base64 less than 10MB. Formats jpg, jpeg, png." + type: string + ImageUrl: + description: "Image URL. If both Base64 and Url provided, Url prevails." + format: uri + type: string + type: object + TencentInputFile3D: + description: 3D file input for UV unwrapping + properties: + Type: + description: 3D file format type + enum: + - FBX + - OBJ + - GLB + example: GLB + type: string + Url: + description: URL of the 3D file that needs UV unwrapping + example: https://example.com/model.glb + format: uri + type: string + required: + - Type + - Url + type: object + TencentViewImage: + description: A view image for multi-perspective 3D generation + properties: + ViewImageBase64: + description: "Base64 encoded image for this view.\nResolution: min 128px, max 5000px per side.\nMax size: 8MB.\nSupported formats: JPG, PNG.\n" + type: string + ViewImageUrl: + description: "URL of the image for this view.\nResolution: min 128px, max 5000px per side.\nMax size: 8MB.\nSupported formats: JPG, PNG.\n" + format: uri + type: string + ViewType: + description: "The viewing angle type for this image.\n- left: Left view\n- right: Right view\n- back: Rear view\n- top: Top view (only supported in Model 3.1)\n- bottom: Bottom view (only supported in Model 3.1)\n- left_front: Left front 45 degree view (only supported in Model 3.1)\n- right_front: Right front 45 degree view (only supported in Model 3.1)\n" + enum: + - left + - right + - back + - top + - bottom + - left_front + - right_front + type: string + type: object + TextResponseFormatConfiguration: + description: "An object specifying the format that the model must output.\n\nConfiguring `{ \"type\": \"json_schema\" }` enables Structured Outputs,\nwhich ensures the model will match your supplied JSON schema. Learn more in the\n[Structured Outputs guide](/docs/guides/structured-outputs).\n\nThe default format is `{ \"type\": \"text\" }` with no additional options.\n\n**Not recommended for gpt-4o and newer models:**\n\nSetting to `{ \"type\": \"json_object\" }` enables the older JSON mode, which\nensures the message the model generates is valid JSON. Using `json_schema`\nis preferred for models that support it.\n" + oneOf: + - $ref: "#/components/schemas/ResponseFormatText" + - $ref: "#/components/schemas/TextResponseFormatJsonSchema" + - $ref: "#/components/schemas/ResponseFormatJsonObject" + TextResponseFormatJsonSchema: + description: "JSON Schema response format. Used to generate structured JSON responses.\nLearn more about [Structured Outputs](/docs/guides/structured-outputs).\n" + properties: + description: + description: "A description of what the response format is for, used by the model to\ndetermine how to respond in the format.\n" + type: string + name: + description: "The name of the response format. Must be a-z, A-Z, 0-9, or contain\nunderscores and dashes, with a maximum length of 64.\n" + type: string + schema: + $ref: "#/components/schemas/ResponseFormatJsonSchemaSchema" + strict: + default: false + description: "Whether to enable strict schema adherence when generating the output.\nIf set to true, the model will always follow the exact schema defined\nin the `schema` field. Only a subset of JSON Schema is supported when\n`strict` is `true`. To learn more, read the [Structured Outputs\nguide](/docs/guides/structured-outputs).\n" + type: boolean + type: + description: "The type of response format being defined. Always `json_schema`." + enum: + - json_schema + type: string + x-stainless-const: true + required: + - type + - schema + - name + title: JSON schema + type: object + Tool: + discriminator: + propertyName: type + oneOf: + - $ref: "#/components/schemas/FileSearchTool" + - $ref: "#/components/schemas/FunctionTool" + - $ref: "#/components/schemas/WebSearchPreviewTool" + - $ref: "#/components/schemas/ComputerUsePreviewTool" + ToolChoiceFunction: + description: "Use this option to force the model to call a specific function.\n" + properties: + name: + description: The name of the function to call. + type: string + type: + description: "For function calling, the type is always `function`." + enum: + - function + type: string + x-stainless-const: true + required: + - type + - name + title: Function tool + type: object + ToolChoiceOptions: + description: "Controls which (if any) tool is called by the model.\n\n`none` means the model will not call any tool and instead generates a message.\n\n`auto` means the model can pick between generating a message or calling one or\nmore tools.\n\n`required` means the model must call one or more tools.\n" + enum: + - none + - auto + - required + title: Tool choice mode + type: string + ToolChoiceTypes: + description: "Indicates that the model should use a built-in tool to generate a response.\n[Learn more about built-in tools](/docs/guides/tools).\n" + properties: + type: + description: "The type of hosted tool the model should to use. Learn more about\n[built-in tools](/docs/guides/tools).\n\nAllowed values are:\n- `file_search`\n- `web_search_preview`\n- `computer_use_preview`\n" + enum: + - file_search + - web_search_preview + - computer_use_preview + - web_search_preview_2025_03_11 + type: string + required: + - type + title: Hosted tool + type: object + TopazCombinedCreateRequest: + oneOf: + - $ref: "#/components/schemas/TopazCreateRequestVideoSchema" + - $ref: "#/components/schemas/TopazCreateRequestImageSequenceSchema" + TopazCreateRequestImageSequenceSchema: + properties: + destination: + properties: + external: + $ref: "#/components/schemas/TopazExternalStorage" + type: object + filters: + $ref: "#/components/schemas/TopazInputFilters" + output: + $ref: "#/components/schemas/TopazOutputInformationImageSequence" + source: + description: Source details for the video + properties: + container: + description: The container format of the image files + enum: + - DPX + - EXR + - JPEG + - PNG + - TIFF + example: TIFF + type: string + endNumber: + description: Optional ending frame number for image sequences + example: 120 + type: integer + external: + $ref: "#/components/schemas/TopazExternalStorage" + frameCount: + description: "Total number of frames in the video, in this case, equal to the number of image files." + example: 18000 + type: number + frameRate: + description: Frame rate of the video + example: 30 + type: number + resolution: + description: Resolution details of the image + properties: + height: + description: Height of the image in pixels + example: 1080 + type: integer + width: + description: Width of the image in pixels + example: 1920 + type: integer + required: + - width + - height + type: object + startNumber: + description: Optional starting frame number for image sequences + example: 120 + type: integer + required: + - container + - frameCount + - frameRate + - resolution + - external + type: object + required: + - source + - filters + - output + - destination + title: Image Sequence + type: object + TopazCreateRequestVideoSchema: + properties: + destination: + properties: + external: + $ref: "#/components/schemas/TopazExternalStorage" + type: object + filters: + $ref: "#/components/schemas/TopazInputFilters" + output: + $ref: "#/components/schemas/TopazOutputInformationVideo" + overrides: + properties: + isPaidDiffusion: + type: boolean + type: object + source: + description: Source details for the video + properties: + container: + description: The container format of the video file + enum: + - mp4 + - mov + - mkv + example: mp4 + type: string + duration: + description: Duration of the video file in seconds + example: 600 + type: number + external: + $ref: "#/components/schemas/TopazExternalStorage" + frameCount: + description: Total number of frames in the video + example: 18000 + type: number + frameRate: + description: Frame rate of the video + example: 30 + type: number + resolution: + description: Resolution details of the video + properties: + height: + description: Height of the video in pixels + example: 1080 + type: integer + width: + description: Width of the video in pixels + example: 1920 + type: integer + required: + - width + - height + type: object + size: + description: Size of the video file in bytes + example: 123456000 + type: integer + required: + - container + - size + - duration + - frameCount + - frameRate + - resolution + type: object + required: + - source + - filters + - output + title: Video AI + type: object + TopazCredentialsS3: + properties: + externalId: + description: Kind of like a secret string for extra layer of security + example: MSTnuGztXtTU25XKjVfMJCsujv6VtAGtv1TGSjtOL6M= + type: string + roleArn: + description: AWS ARN of the role to assume + example: arn:aws:iam::123456789:role/topazlabs + type: string + required: + - roleArn + - externalId + type: object + TopazDownloadResponse: + properties: + download_url: + description: Presigned URL to download the image + example: https://example.com/d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b?presigned_headers + type: string + expiry: + description: Expiration time of the presigned URLs in Unix timestamp + example: 1617220000 + type: integer + head_url: + description: Presigned URL to get image metadata + example: https://example.com/d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b?presigned_headers + type: string + required: + - download_url + - expiry + type: object + TopazEnhanceGenRequest: + properties: + color_preservation: + default: "true" + description: "To preserve the original color - available for Reimagine only (must be string \"true\" or \"false\" due to Topaz API requirement)" + enum: + - "true" + - "false" + type: string + creativity: + default: 3 + description: Creativity settings range from 1 to 9 - - available for Reimagine only + maximum: 9 + minimum: 1 + type: integer + crop_to_fill: + default: false + description: Default behavior is to letterbox the image if a differing aspect ratio is chosen. Enable crop_to_fill by setting this to true if you instead want to crop the image to fill the dimensions + type: boolean + face_enhancement: + default: true + description: "By default, faces (if any) are enhanced during image processing as well. Set face_enhancement to false if you don't want this" + type: boolean + face_enhancement_creativity: + default: 0 + description: "Choose the level of creativity for face enhancement from 0 to 1. Defaults to 0, and is ignored if face_enhancement is false" + maximum: 1 + minimum: 0 + type: number + face_enhancement_strength: + default: 0.8 + description: "Control how sharp the enhanced faces are relative to the background from 0 to 1. Defaults to 0.8, and is ignored if face_enhancement is false" + maximum: 1 + minimum: 0 + type: number + face_preservation: + default: "true" + description: "To preserve the identity of characters - available for Reimagine only (must be string \"true\" or \"false\" due to Topaz API requirement)" + enum: + - "true" + - "false" + type: string + image: + description: "The image file to be processed. Supported formats - jpeg (or jpg), png, tiff (or tif)" + format: binary + type: string + model: + default: Reimagine + description: The model to use for processing the image (Bloom - Creative Upscale) + enum: + - Reimagine + type: string + output_format: + default: jpeg + description: The desired format of the output image + enum: + - jpeg + - jpg + - png + - tiff + - tif + type: string + output_height: + description: The desired height of the output image in pixels + maximum: 32000 + minimum: 1 + type: integer + output_width: + description: The desired width of the output image in pixels + maximum: 32000 + minimum: 1 + type: integer + prompt: + description: Text prompt for creative upscaling guidance - available for Reimagine only + example: enter-your-prompt-here + type: string + source_id: + description: Unique identifier of the source image + example: d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b + type: string + source_url: + description: The URL of the source image + example: https://example.com/image.jpg + type: string + subject_detection: + default: All + description: "Specifies whether you want to detect all subjects in the image, only the foreground subject, or only the background for the AI model to run on" + enum: + - All + - Foreground + - Background + type: string + required: + - model + type: object + TopazEnhanceGenResponse: + properties: + eta: + description: Expected completion time in Unix timestamp + example: 1617220000 + type: integer + process_id: + description: Unique identifier for the processing job + example: d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b + type: string + source_id: + description: Unique identifier of the source image + example: d7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b + type: string + required: + - process_id + - eta + type: object + TopazExternalStorage: + properties: + bucketName: + example: galaxies + type: string + credentials: + $ref: "#/components/schemas/TopazCredentialsS3" + key: + description: "The example includes the standard specifier for image sequence requests, with optional directory path. It must begin with \"%\" and end with the integer specifier \"d\". The \"0\" in the example indicates left-padding with zeroes, and \"6\" indicates the number of digits in the file name.\nKeys for video requests must be valid characters supported by S3.\n" + example: milky_way/%06d.tiff + type: string + provider: + enum: + - s3 + example: s3 + type: string + required: + - provider + - credentials + - bucketName + - key + type: object + TopazInputFilters: + description: Array of EnhancementFilter or FrameInterpolationFilter objects + example: + - auto: Auto + blur: 0.6 + compression: 0.1 + details: 0.2 + fieldOrder: Auto + focusFixLevel: Normal + grain: 0.02 + grainSize: 1 + halo: 0.4 + model: prob-4 + noise: 0.3 + preblur: 0.5 + prenoise: 0.01 + recoverOriginalDetailValue: 0.7 + videoType: Progressive + - duplicate: true + duplicateThreshold: 0.01 + fps: 60 + model: apo-8 + slowmo: 2 + items: + anyOf: + - $ref: "#/components/schemas/TopazVideoEnhancementFilter" + - $ref: "#/components/schemas/TopazVideoFrameInterpolationFilter" + type: array + TopazOutputInformationImageSequence: + properties: + codecId: + description: "Video codec ID, if known. Defaults to videoEncoder." + example: h265-main-win-nvidia + type: string + container: + description: "Desired output container, defaults to the input container" + enum: + - DPX + - EXR + - JPEG + - PNG + - TIFF + example: TIFF + type: string + cropToFit: + description: Center cropping to fit the output dimensions + example: true + type: boolean + frameRate: + description: Frame rate + example: 30 + type: number + resolution: + description: Desired output resolution + properties: + height: + description: Height in pixels. The maximum size depends on the encoder and can be referenced using the table below
H264 H265 ProRes AV1 VP9
4096 8192 16386 8704 8192
+ example: 4320 + type: integer + width: + description: Width in pixels. The maximum size depends on the encoder and can be referenced using the table below
H264 H265 ProRes AV1 VP9
4096 8192 16386 16384 8192
+ example: 7680 + type: integer + required: + - width + - height + type: object + videoEncoder: + enum: + - DPX + - EXR + - JPEG + - PNG + - TIFF + example: TIFF + type: string + videoProfile: + description: Codec profile specific to videoEncoder + example: Main + type: string + required: + - resolution + - frameRate + type: object + TopazOutputInformationVideo: + properties: + audioBitrate: + description: "Audio bitrate, if audioTransfer is Copy or Convert. Default values for the codec are used if not provided." + example: "320" + type: string + audioCodec: + description: __Required if audioTransfer is Copy or Convert.__ + enum: + - AAC + - AC3 + - PCM + example: AAC + type: string + audioTransfer: + enum: + - Copy + - Convert + - None + example: Copy + type: string + codecId: + description: "Video codec ID, if known. Defaults to videoEncoder." + example: h265-main-win-nvidia + type: string + container: + description: Desired output container + enum: + - mp4 + - mov + - mkv + example: mp4 + type: string + cropToFit: + description: Center cropping to fit the output dimensions + example: true + type: boolean + dynamicCompressionLevel: + description: __Required if videoBitrate is not provided.__ Automatic CQP selection. + enum: + - Low + - Mid + - High + example: Mid + type: string + frameRate: + description: Frame rate + example: 30 + type: number + resolution: + description: Desired output resolution + properties: + height: + description: Height in pixels. The maximum size depends on the encoder and can be referenced using the table below
H264 H265 ProRes AV1 VP9
4096 8192 16386 8704 8192
+ example: 4320 + type: integer + width: + description: Width in pixels. The maximum size depends on the encoder and can be referenced using the table below
H264 H265 ProRes AV1 VP9
4096 8192 16386 16384 8192
+ example: 7680 + type: integer + required: + - width + - height + type: object + videoBitrate: + description: "__Required if dynamicCompressionLevel is not provided.__ Constant bitrate, suffixed with \"k\" for kilobits or \"m\" for megabits per second." + example: 1k + type: string + videoEncoder: + enum: + - AV1 + - FFV1 + - H264 + - H265 + - ProRes + - QuickTime Animation + - QuickTime R210 + - QuickTime V210 + - VP9 + example: H265 + type: string + videoProfile: + description: "Codec profile specific to videoEncoder. The following are some combinations of available profiles based on the 'videoEncoder' selection
H264 H265 ProRes AV1 VP9
High Main, Main10 422 Proxy, 422 LT, 422 Std, 422 HQ 8-bit, 10-bit Good, Best
" + example: Main + type: string + required: + - resolution + - frameRate + - audioCodec + - audioTransfer + type: object + TopazStatusResponse: + properties: + category: + description: "Processing category (e.g., \"Enhance\")" + type: string + creation_time: + description: Creation time in Unix timestamp + type: integer + credits: + description: Credits consumed for this job + type: integer + crop_to_fill: + description: Whether crop to fill is enabled + type: boolean + eta: + description: Expected completion time in Unix timestamp + type: integer + face_enhancement: + description: Whether face enhancement is enabled + type: boolean + face_enhancement_creativity: + description: Face enhancement creativity level + type: number + face_enhancement_strength: + description: Face enhancement strength level + type: number + filename: + description: Original filename without extension + type: string + input_format: + description: Format of the input image + type: string + input_height: + description: Height of the input image in pixels + type: integer + input_width: + description: Width of the input image in pixels + type: integer + model: + description: "Specific model used (e.g., \"Reimagine\")" + type: string + model_type: + description: "Type of model used (e.g., \"Generative\")" + type: string + modification_time: + description: Last modification time in Unix timestamp + type: integer + options_json: + description: JSON string containing additional options + type: string + output_format: + description: Format of the output image + type: string + output_height: + description: Height of the output image in pixels + type: integer + output_width: + description: Width of the output image in pixels + type: integer + process_id: + description: Unique identifier for the processing job + type: string + progress: + description: Progress percentage (0-100) + maximum: 100 + minimum: 0 + type: number + source_id: + description: Unique identifier of the source image + type: string + status: + description: Current status of the processing job + enum: + - Pending + - Processing + - Completed + - Failed + - Cancelled + type: string + subject_detection: + description: Subject detection setting + type: string + sync: + description: Whether this was a synchronous request + type: boolean + required: + - process_id + - status + - credits + type: object + TopazVideoAcceptResponse: + properties: + message: + description: Response message + example: Accepted + type: string + uploadId: + description: Upload ID for completing multi-part upload + example: GDlWC7qIaE6okS41Xf/ktpuS5XzTRabg + type: string + urls: + description: URLs to PUT the parts to + example: + - https://videocloud.s3.amazonaws.com/source.mp4?uploadPart1 + - https://videocloud.s3.amazonaws.com/source.mp4?uploadPart2 + items: + type: string + type: array + required: + - uploadId + - urls + type: object + TopazVideoCompleteUploadRequest: + properties: + md5Hash: + description: MD5 hash of the source video file in hex + example: 4d186321c1a7f0f354b297e8914ab240 + type: string + uploadResults: + description: An array of part number and ETag pairs of the uploaded parts. ETags are returned by S3 upon upload of the part. + items: + properties: + eTag: + description: eTag value returned by S3 upon upload of the part + example: d41d8cd98f00b204e9800998ecf8427e + type: string + partNum: + description: "Part number of the uploaded part, starting from 1" + example: 1 + type: integer + required: + - partNum + - eTag + type: object + type: array + required: + - uploadResults + type: object + TopazVideoCompleteUploadResponse: + properties: + message: + description: Confirmation message + example: Processing has been queued + type: string + required: + - message + type: object + TopazVideoCreateRequest: + oneOf: + - $ref: "#/components/schemas/TopazCreateRequestVideoSchema" + - $ref: "#/components/schemas/TopazCreateRequestImageSequenceSchema" + TopazVideoCreateResponse: + properties: + estimates: + $ref: "#/components/schemas/TopazVideoRequestEstimates" + requestId: + description: Unique identifier for the video processing request + example: c1f96dc2-c448-00e6-82ed-14ecb6403c62 + format: uuid + type: string + required: + - requestId + - estimates + type: object + TopazVideoEnhancedDownload: + description: Signed download URL to the enhanced video file + properties: + expiresAt: + description: Time in milliseconds since UTC epoch + example: 1727213400000 + type: integer + expiresIn: + description: TTL in milliseconds + example: 86400000 + type: integer + url: + example: https://videocloud.r2.cloudflarestorage.com/enhanced.mp4 + type: string + type: object + TopazVideoEnhancementFilter: + properties: + auto: + description: Parameter mode of the selected model + enum: + - Auto + - Manual + - Relative + example: Auto + type: string + blur: + description: Amount of sharpness applied + example: 0.6 + maximum: 1 + minimum: -1 + type: number + compression: + description: Adjust strength of compression recovery + example: 0.1 + maximum: 1 + minimum: -1 + type: number + creativity: + description: Creativity level for Starlight Creative (slc-1) only + enum: + - low + - high + type: string + details: + description: Amount of detail reconstruction + example: 0.2 + maximum: 1 + minimum: -1 + type: number + fieldOrder: + description: Optional specification of field order for interlaced input videos + enum: + - TopFirst + - BottomFirst + - Auto + example: Auto + type: string + focusFixLevel: + description: Downscales video input for stronger correction of blurred subjects + enum: + - None + - Normal + - Strong + example: Normal + type: string + grain: + description: Adds grain after AI model processing + example: 0.02 + maximum: 0.1 + minimum: 0 + type: number + grainSize: + description: Size of generated grain + example: 1 + maximum: 5 + minimum: 0 + type: number + halo: + description: Amount of halo reduction + example: 0.4 + maximum: 1 + minimum: -1 + type: number + isOptimizedMode: + description: Set to true for Starlight Creative (slc-1) only + type: boolean + model: + description: Short code name for AI model + enum: + - aaa-9 + - ahq-12 + - alq-13 + - alqs-2 + - amq-13 + - amqs-2 + - ddv-3 + - dtd-4 + - dtds-2 + - dtv-4 + - dtvs-2 + - gcg-5 + - ghq-5 + - iris-2 + - iris-3 + - nxf-1 + - nyx-3 + - prob-4 + - rhea-1 + - rxl-1 + - thd-3 + - thf-4 + - thm-2 + - slf-1 + - slc-1 + example: prob-4 + type: string + noise: + description: Amount of noise reduction + example: 0.3 + maximum: 1 + minimum: -1 + type: number + preblur: + description: Adjust anti-aliasing and deblurring strength + example: 0.5 + maximum: 1 + minimum: -1 + type: number + prenoise: + description: Adds noise to input to reduce over-smoothing + example: 0.01 + maximum: 0.1 + minimum: 0 + type: number + recoverOriginalDetailValue: + description: Reintroduce source details into the output video + example: 0.7 + maximum: 1 + minimum: 0 + type: number + videoType: + description: Frame/field type of the video + enum: + - Progressive + - Interlaced + - ProgressiveInterlaced + example: Progressive + type: string + required: + - model + type: object + TopazVideoFrameInterpolationFilter: + properties: + duplicate: + description: Analyze input for duplicate frames and remove them + example: true + type: boolean + duplicateThreshold: + description: Sensitivity of detection for duplicate frames + example: 0.01 + maximum: 0.1 + minimum: 0.001 + type: number + fps: + description: "Output frame rate, does not increase duration" + example: 60 + maximum: 240 + minimum: 15 + type: number + model: + description: Short code name for AI model + enum: + - aion-1 + - apf-2 + - apo-8 + - chf-3 + - chr-2 + example: apo-8 + type: string + slowmo: + description: Slow motion factor applied to input video + example: 2 + maximum: 16 + minimum: 1 + type: number + required: + - model + type: object + TopazVideoRequestEstimates: + description: Lower and upper bound estimates + properties: + cost: + description: Cost range in credits + example: + - 10 + - 12 + items: + type: integer + type: array + time: + description: Time range in seconds + example: + - 600 + - 700 + items: + type: integer + type: array + type: object + TopazVideoStatusResponse: + properties: + averageFps: + description: Average processing speed of each node + example: 1.23 + type: number + combinedFps: + description: Combined processing speed of all nodes + example: 12.34 + type: number + download: + $ref: "#/components/schemas/TopazVideoEnhancedDownload" + estimates: + $ref: "#/components/schemas/TopazVideoRequestEstimates" + message: + example: Processing + type: string + outputSize: + description: Size of output video + example: 10 GB + type: string + progress: + description: Total progress percentage + example: 82 + maximum: 100 + minimum: 0 + type: number + status: + description: Current status of the video processing + enum: + - requested + - accepted + - initializing + - preprocessing + - processing + - postprocessing + - complete + - canceling + - canceled + - failed + example: processing + type: string + required: + - status + type: object + TripoAnimation: + enum: + - preset:idle + - preset:walk + - preset:climb + - preset:jump + - preset:run + - preset:slash + - preset:shoot + - preset:hurt + - preset:fall + - preset:turn + type: string + TripoBalance: + properties: + balance: + type: number + frozen: + type: number + required: + - balance + - frozen + type: object + TripoConvertFormat: + enum: + - GLTF + - USDZ + - FBX + - OBJ + - STL + - 3MF + type: string + TripoErrorResponse: + properties: + code: + enum: + - 1001 + - 2000 + - 2001 + - 2002 + - 2003 + - 2004 + - 2006 + - 2007 + - 2008 + - 2010 + type: integer + message: + type: string + suggestion: + type: string + required: + - code + - message + - suggestion + type: object + TripoGeometryQuality: + enum: + - standard + - detailed + type: string + TripoImageToModel: + description: Task type for Tripo image-to-model generation. + enum: + - image_to_model + example: image_to_model + type: string + TripoModelStyle: + description: Style for the Tripo model generation. + enum: + - person:person2cartoon + - animal:venom + - object:clay + - object:steampunk + - object:christmas + - object:barbie + - gold + - ancient_bronze + example: object:clay + type: string + TripoModelVersion: + description: Version of the Tripo model. + enum: + - v2.5-20250123 + - v2.0-20240919 + - v1.4-20240625 + example: v2.5-20250123 + type: string + TripoMultiviewMode: + description: "Mode for multiview generation, specifying view orientation." + enum: + - LEFT + - RIGHT + example: LEFT + type: string + TripoMultiviewToModel: + description: Task type for Tripo multiview-to-model generation. + enum: + - multiview_to_model + example: multiview_to_model + type: string + TripoOrientation: + default: default + enum: + - align_image + - default + type: string + TripoResponseSuccessCode: + description: Standard success code for Tripo API responses. Typically 0 for success. + example: 0 + type: integer + TripoSpec: + enum: + - mixamo + - tripo + type: string + TripoStandardFormat: + enum: + - glb + - fbx + type: string + TripoStylizeOptions: + enum: + - lego + - voxel + - voronoi + - minecraft + type: string + TripoSuccessTask: + properties: + code: + enum: + - 0 + type: integer + data: + properties: + task_id: + description: used for getTask + type: string + required: + - task_id + type: object + required: + - code + - data + type: object + TripoTask: + properties: + consumed_credit: + description: Actual credits consumed by the task. Present once status is finalized; 0 for failed tasks. + type: integer + create_time: + type: integer + input: + type: object + output: + properties: + base_model: + type: string + model: + type: string + pbr_model: + type: string + rendered_image: + type: string + riggable: + type: boolean + topology: + enum: + - bip + - quad + type: string + type: object + progress: + maximum: 100 + minimum: 0 + type: integer + status: + enum: + - queued + - running + - success + - failed + - cancelled + - unknown + - banned + - expired + type: string + task_id: + type: string + type: + type: string + required: + - task_id + - type + - status + - input + - output + - progress + - create_time + type: object + TripoTextToModel: + description: "The type of the Tripo task, specifically for text-to-model operations." + enum: + - text_to_model + example: text_to_model + type: string + TripoTextureAlignment: + enum: + - original_image + - geometry + type: string + TripoTextureFormat: + enum: + - BMP + - DPX + - HDR + - JPEG + - OPEN_EXR + - PNG + - TARGA + - TIFF + - WEBP + type: string + TripoTextureQuality: + enum: + - standard + - detailed + type: string + TripoTopology: + enum: + - bip + - quad + type: string + TripoTypeAnimatePrerigcheck: + enum: + - animate_prerigcheck + type: string + TripoTypeAnimateRetarget: + enum: + - animate_retarget + type: string + TripoTypeAnimateRig: + enum: + - animate_rig + type: string + TripoTypeConvertModel: + enum: + - convert_model + type: string + TripoTypeRefineModel: + enum: + - refine_model + type: string + TripoTypeStylizeModel: + enum: + - stylize_model + type: string + TripoTypeTextureModel: + enum: + - texture_model + type: string + UpdateCouponRequest: + properties: + metadata: + additionalProperties: + type: string + description: Set of key-value pairs for storing additional information + type: object + name: + description: Name of the coupon displayed to customers + type: string + type: object + UpdatePromoCodeRequest: + properties: + active: + description: Whether the promo code is active + type: boolean + metadata: + additionalProperties: + type: string + description: Set of key-value pairs for storing additional information + type: object + type: object + UsageBalance: + description: "Current remaining balance, mirroring /customers/balance." + properties: + amount_micros: + format: double + type: number + cloud_credit_balance_micros: + format: double + type: number + currency: + type: string + prepaid_balance_micros: + format: double + type: number + type: object + UsageBreakdownRow: + properties: + cost_micros: + description: "Total gross spend for this group over the range, in microamount." + format: double + type: number + group_key: + type: string + share: + description: Fraction of total spend attributable to this group (0-1). + format: double + type: number + required: + - group_key + - cost_micros + - share + type: object + UsageBucket: + properties: + cost_micros: + description: "Gross spend in this period for this group, in microamount (1/1,000,000 USD)." + format: double + type: number + group_key: + description: Group value (e.g. model name) this bucket belongs to. + type: string + period_end: + description: End of the billing period this bucket belongs to. + format: date-time + type: string + period_start: + description: Start of the billing period this bucket belongs to. + format: date-time + type: string + required: + - period_start + - period_end + - group_key + - cost_micros + type: object + UsageSummary: + properties: + balance: + $ref: "#/components/schemas/UsageBalance" + spend_micros: + description: "Total gross spend over the range, in microamount." + format: double + type: number + required: + - spend_micros + type: object + User: + properties: + email: + description: The email address for this user. + type: string + id: + description: The unique id for this user. + type: string + isAdmin: + description: Indicates if the user has admin privileges. + type: boolean + isApproved: + description: Indicates if the user is approved. + type: boolean + name: + description: The name for this user. + type: string + type: object + Veo2GenVidPollRequest: + properties: + operationName: + description: Full operation name (from predict response) + example: projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID + type: string + required: + - operationName + type: object + Veo2GenVidPollResponse: + properties: + done: + type: boolean + error: + description: Error details if operation failed + properties: + code: + description: Error code + type: integer + message: + description: Error message + type: string + type: object + name: + type: string + response: + description: The actual prediction response if done is true + properties: + "@type": + example: type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse + type: string + raiMediaFilteredCount: + description: Count of media filtered by responsible AI policies + type: integer + raiMediaFilteredReasons: + description: Reasons why media was filtered by responsible AI policies + items: + type: string + type: array + videos: + items: + properties: + bytesBase64Encoded: + description: Base64-encoded video content + type: string + gcsUri: + description: Cloud Storage URI of the video + type: string + mimeType: + description: Video MIME type + type: string + type: object + type: array + type: object + type: object + Veo2GenVidRequest: + properties: + instances: + items: + properties: + image: + description: Optional image to guide video generation + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + format: byte + type: string + gcsUri: + type: string + mimeType: + type: string + type: object + prompt: + description: Text description of the video + type: string + required: + - prompt + type: object + type: array + parameters: + properties: + aspectRatio: + example: 16:9 + type: string + durationSeconds: + type: integer + enhancePrompt: + type: boolean + negativePrompt: + type: string + personGeneration: + enum: + - ALLOW + - BLOCK + type: string + sampleCount: + type: integer + seed: + format: uint32 + type: integer + storageUri: + description: Optional Cloud Storage URI to upload the video + type: string + type: object + type: object + Veo2GenVidResponse: + properties: + name: + description: Operation resource name + example: projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8 + type: string + required: + - name + type: object + VeoGenVidPollRequest: + properties: + operationName: + description: Full operation name returned from the generate response + example: projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID + type: string + required: + - operationName + type: object + VeoGenVidPollResponse: + description: Response from polling a Veo video generation operation + properties: + done: + description: Whether the operation has completed + type: boolean + error: + description: "Error details, present if the operation failed" + properties: + code: + description: gRPC error code + type: integer + message: + description: Error message + type: string + type: object + name: + description: Operation resource name + type: string + response: + description: "The prediction response, present when done is true" + properties: + "@type": + example: type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse + type: string + raiMediaFilteredCount: + description: Number of videos filtered by responsible AI policies + type: integer + raiMediaFilteredReasons: + description: Reasons why videos were filtered by responsible AI policies + items: + type: string + type: array + videos: + items: + properties: + bytesBase64Encoded: + description: Base64-encoded video content + type: string + gcsUri: + description: Cloud Storage URI of the generated video + type: string + mimeType: + description: Video MIME type (video/mp4) + type: string + type: object + type: array + type: object + type: object + VeoGenVidRequest: + properties: + instances: + items: + properties: + cameraControl: + description: Camera motion type. Requires image to be provided. + enum: + - fixed + - pan_left + - pan_right + - tilt_up + - tilt_down + - truck_left + - truck_right + - pedestal_up + - pedestal_down + - push_in + - pull_out + type: string + image: + description: Optional first frame image to guide video generation + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64-encoded image data + format: byte + type: string + gcsUri: + description: Cloud Storage URI of the image + type: string + mimeType: + description: MIME type of the image (image/jpeg or image/png) + enum: + - image/jpeg + - image/png + type: string + type: object + lastFrame: + description: Optional last frame image. Used with image to generate video between first and last frames. Supported by Veo 3.0+ models. + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64-encoded image data + format: byte + type: string + gcsUri: + description: Cloud Storage URI of the image + type: string + mimeType: + description: MIME type of the image (image/jpeg or image/png) + enum: + - image/jpeg + - image/png + type: string + type: object + mask: + description: Optional mask for video editing. Applies to input video. + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64-encoded mask bytes + format: byte + type: string + gcsUri: + description: Cloud Storage URI to mask file + type: string + maskMode: + description: How the mask is applied + enum: + - insert + - remove + - remove_static + - outpaint + type: string + mimeType: + description: "MIME type of the mask (image/png, image/jpeg, image/webp, or video formats)" + type: string + type: object + prompt: + description: Text description of the video to generate + type: string + referenceImages: + description: Optional reference images to guide video generation. Supports up to 3 asset images or 1 style image. Supported by Veo 3.1 models (preview). + items: + properties: + image: + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64-encoded image data + format: byte + type: string + gcsUri: + description: Cloud Storage URI of the image + type: string + mimeType: + description: MIME type of the image (image/jpeg or image/png) + enum: + - image/jpeg + - image/png + type: string + type: object + referenceId: + description: Optional identifier for the reference image + type: string + referenceType: + description: Type of reference image + enum: + - asset + - style + type: string + required: + - image + - referenceType + type: object + type: array + video: + description: Optional input video for video extension or editing. Incompatible with image and referenceImages. + oneOf: + - required: + - bytesBase64Encoded + - required: + - gcsUri + properties: + bytesBase64Encoded: + description: Base64-encoded video bytes + format: byte + type: string + gcsUri: + description: Cloud Storage URI of the input video + type: string + mimeType: + description: MIME type of the video + enum: + - video/mov + - video/mpeg + - video/mp4 + - video/mpg + - video/avi + - video/wmv + - video/mpegps + - video/x-flv + type: string + type: object + required: + - prompt + type: object + type: array + parameters: + properties: + aspectRatio: + description: "Aspect ratio of the generated video. Default: 16:9" + enum: + - 16:9 + - 9:16 + example: 16:9 + type: string + compressionQuality: + description: "Video compression quality. Default: optimized" + enum: + - optimized + - lossless + type: string + durationSeconds: + description: "Target duration of the generated video in seconds. Veo 2: 5-8. Veo 3/3.1: 4, 6, or 8. Default: 8" + type: number + enhancePrompt: + description: Automatically improve prompt for higher quality. Defaults to true. + type: boolean + fps: + description: Frame rate of generated videos in frames per second + type: integer + generateAudio: + description: Whether to generate audio along with the video. Defaults to true. Supported by Veo 3.0+ models. + type: boolean + negativePrompt: + description: Text describing what to avoid in the generated video + type: string + personGeneration: + description: "Controls people in generated videos. Default: allow_adult" + enum: + - dont_allow + - allow_adult + - allowAll + type: string + pubsubTopic: + description: "Cloud Pub/Sub topic for progress updates (projects/{project}/topics/{topic})" + type: string + resizeMode: + description: "Resize approach for input image. Default: pad" + enum: + - pad + - crop + type: string + resolution: + description: "Output video resolution. Supported by Veo 3.0+ models. Default: 720p" + enum: + - 720p + - 1080p + - 4k + type: string + sampleCount: + description: "Number of videos to generate. If not specified, 1 video is generated." + maximum: 4 + minimum: 1 + type: integer + seed: + description: Random seed for deterministic output. Different seeds used per video if sampleCount > 1. + format: uint32 + type: integer + storageUri: + description: Cloud Storage URI (gs://) for saving generated videos + type: string + task: + description: Operation type for the video generation request + enum: + - textToVideo + - imageToVideo + - referenceToVideo + - edit + - extend + - upscale + type: string + type: object + type: object + VeoGenVidResponse: + description: Response from a Veo video generation request. Contains the operation name for polling. + properties: + name: + description: Operation resource name used to poll for results via fetchPredictOperation + example: projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8 + type: string + required: + - name + type: object + ViduCreation: + properties: + cover_url: + type: string + id: + type: string + moderation_url: + items: + type: string + type: array + url: + type: string + watermarked_url: + type: string + type: object + ViduExtendReply: + properties: + created_at: + format: date-time + type: string + credits: + format: int32 + type: integer + duration: + format: int32 + type: integer + images: + items: + type: string + type: array + model: + type: string + payload: + type: string + prompt: + type: string + resolution: + type: string + state: + $ref: "#/components/schemas/ViduState" + task_id: + type: string + video_creation_id: + type: string + video_url: + type: string + required: + - task_id + - state + - credits + type: object + ViduExtendRequest: + properties: + callback_url: + description: Callback URL for task status updates + type: string + duration: + description: "Extended duration in seconds (1-7, default 5)" + format: int32 + type: integer + images: + description: Extended reference image to the end frame (only accepts 1 image) + items: + type: string + type: array + model: + description: Model name (viduq2-pro or viduq2-turbo) + type: string + payload: + description: Transparent transmission parameters (max 1048576 characters) + type: string + prompt: + description: Text prompt for video generation (max 2000 characters) + type: string + resolution: + description: "Resolution (540p, 720p, 1080p)" + type: string + video_creation_id: + description: "Vidu video_creation_id, required with video_url" + type: string + video_url: + description: "Any video URL, required with video_creation_id" + type: string + required: + - model + type: object + ViduGetCreationsReply: + properties: + creations: + items: + $ref: "#/components/schemas/ViduCreation" + type: array + err_code: + type: string + id: + type: string + state: + $ref: "#/components/schemas/ViduState" + type: object + ViduImageSetting: + properties: + duration: + description: "Duration between key frames in seconds (2-7, default 5)" + format: int32 + type: integer + key_image: + description: Reference image for each key frame + type: string + prompt: + description: Prompt for extending the previous frame + type: string + required: + - key_image + type: object + ViduMultiframeReply: + properties: + created_at: + format: date-time + type: string + credits: + format: int32 + type: integer + image_settings: + items: + $ref: "#/components/schemas/ViduImageSetting" + type: array + model: + type: string + payload: + type: string + resolution: + type: string + start_image: + type: string + state: + $ref: "#/components/schemas/ViduState" + task_id: + type: string + required: + - task_id + - state + - credits + type: object + ViduMultiframeRequest: + properties: + callback_url: + description: Callback URL for task status updates + type: string + image_settings: + description: Configuration for intelligent multi-frame generation (2-9 frames) + items: + $ref: "#/components/schemas/ViduImageSetting" + type: array + model: + description: Model name (viduq2-pro or viduq2-turbo) + type: string + payload: + description: Transparent transmission parameters (max 1048576 characters) + type: string + resolution: + description: "Video resolution (540p, 720p, 1080p)" + type: string + start_image: + description: The first frame image (Base64 or URL) + type: string + required: + - model + - start_image + - image_settings + type: object + ViduState: + enum: + - created + - processing + - queueing + - success + - failed + type: string + ViduTaskReply: + properties: + aspect_ratio: + type: string + bgm: + description: Whether background music was added + type: boolean + created_at: + format: date-time + type: string + credits: + format: int32 + type: integer + duration: + format: int32 + type: integer + images: + items: + type: string + type: array + model: + type: string + movement_amplitude: + enum: + - auto + - small + - medium + - large + type: string + off_peak: + description: Off peak mode status + type: boolean + payload: + description: Transparent transmission parameters + type: string + prompt: + type: string + resolution: + type: string + seed: + format: int32 + type: integer + state: + $ref: "#/components/schemas/ViduState" + style: + enum: + - general + - anime + type: string + task_id: + type: string + watermark: + description: Whether watermark was added + type: boolean + required: + - task_id + - state + - credits + type: object + ViduTaskRequest: + properties: + aspect_ratio: + type: string + audio: + description: Enable direct audio-video generation capability (default true for q3 model) + type: boolean + audio_type: + description: "Audio type when audio is true: all (sound effects + vocals), speech_only, sound_effect_only. Ineffective for q3 model" + enum: + - all + - speech_only + - sound_effect_only + type: string + bgm: + description: Add background music to generated video (ineffective for q3 model) + type: boolean + callback_url: + description: Callback URL for task status updates + type: string + duration: + description: "Video duration in seconds. viduq3-pro: 1-16, viduq2-pro-fast: 1-10, viduq2-pro/turbo: 1-8" + format: int32 + type: integer + enhance: + type: boolean + images: + description: Images for img2video (accepts 1 image as start frame) + items: + type: string + type: array + is_rec: + description: Use recommended prompt (consumes additional 10 credits) + type: boolean + meta_data: + description: "Metadata identification, JSON format string for custom metadata" + type: string + model: + description: "Model name: viduq3-pro, viduq2-pro-fast, viduq2-pro, viduq2-turbo, viduq1, viduq1-classic, vidu2.0" + type: string + movement_amplitude: + description: "Movement amplitude of objects in frame (ineffective for q2, q3 models)" + enum: + - auto + - small + - medium + - large + type: string + off_peak: + description: "Off peak mode (lower cost, tasks generated within 48 hours)" + type: boolean + payload: + description: Transparent transmission parameters (max 1048576 characters) + type: string + priority: + format: int32 + type: integer + prompt: + description: Text prompt for video generation (max 2000 characters) + type: string + resolution: + description: "Resolution: 360p, 540p, 720p, 1080p, 2K (availability depends on model and duration)" + type: string + seed: + description: Random seed (defaults to random if not specified) + format: int32 + type: integer + style: + enum: + - general + - anime + type: string + voice_id: + description: Voice ID for audio (ineffective for q3 model) + type: string + watermark: + description: Add watermark to video (default false) + type: boolean + wm_position: + description: "Watermark position: 1 (top left), 2 (top right), 3 (bottom right, default), 4 (bottom left)" + format: int32 + type: integer + wm_url: + description: Watermark image URL (uses default watermark if not provided) + type: string + type: object + WanImage2ImageGenerationRequest: + properties: + input: + description: "Enter basic information, such as prompt words, images, etc." + properties: + images: + description: Array of image URLs for image-to-image generation + items: + description: "Image URL. Supported formats JPEG, JPG, PNG, BMP, WEBP. Resolution width and height must be between 384 and 5000 pixels. File size no larger than 10MB." + type: string + maxItems: 2 + minItems: 1 + type: array + negative_prompt: + description: Reverse prompt words to describe content that you do not want to see in the image + maxLength: 500 + type: string + prompt: + description: "Positive prompt words to describe expected image elements and visual features. Support Chinese and English, length not exceeding 2000 characters" + maxLength: 2000 + type: string + required: + - prompt + - images + type: object + model: + description: The ID of the model to call for image-to-image generation + enum: + - wan2.5-i2i-preview + type: string + parameters: + description: Image processing parameters + properties: + "n": + default: 1 + description: "Number of generated images. Range 1-4, default is 1" + maximum: 4 + minimum: 1 + type: integer + seed: + description: "Random number seed to control randomness. Range [0, 2147483647]" + maximum: 2147483647 + minimum: 0 + type: integer + size: + default: 1280*1280 + description: Output image resolution. Default is 1280*1280. Width and height must be between 384 and 5000 pixels. + type: string + watermark: + default: false + description: Whether to add watermark logo in lower right corner + type: boolean + type: object + required: + - model + - input + type: object + WanImage2ImageGenerationResponse: + properties: + code: + description: The error code for the failed request (not returned if request is successful) + type: string + message: + description: Detailed information about the failed request (not returned if request is successful) + type: string + output: + properties: + task_id: + description: Task ID + type: string + task_status: + description: Task status + enum: + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + - CANCELED + - UNKNOWN + type: string + required: + - task_id + - task_status + type: object + request_id: + description: Unique request identifier + type: string + required: + - request_id + - output + type: object + WanImageGenerationRequest: + properties: + input: + description: "Enter basic information, such as prompt words, etc." + properties: + negative_prompt: + description: Reverse prompt words to describe content that you do not want to see in the image + type: string + prompt: + description: "Positive prompt words to describe expected image elements and visual features. Support Chinese and English, length not exceeding 800 characters" + type: string + required: + - prompt + type: object + model: + description: The ID of the model to call for text-to-image generation + enum: + - wan2.5-t2i-preview + type: string + parameters: + description: Image processing parameters + properties: + "n": + default: 4 + description: "Number of generated images. Range 1-4, default is 4" + maximum: 4 + minimum: 1 + type: integer + prompt_extend: + default: true + description: Enable prompt intelligent rewriting. Default is true + type: boolean + seed: + description: "Random number seed to control randomness. Range [0, 2147483647]" + maximum: 2147483647 + minimum: 0 + type: integer + size: + default: 1024*1024 + description: "Output image resolution. Default is 1024*1024. Pixel range [512, 1440], up to 200 megapixels" + type: string + watermark: + default: false + description: Whether to add watermark logo in lower right corner + type: boolean + type: object + required: + - model + - input + type: object + WanImageGenerationResponse: + properties: + code: + description: The error code for the failed request (not returned if request is successful) + type: string + message: + description: Detailed information about the failed request (not returned if request is successful) + type: string + output: + properties: + task_id: + description: Task ID + type: string + task_status: + description: Task status + enum: + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + - CANCELED + - UNKNOWN + type: string + required: + - task_id + - task_status + type: object + request_id: + description: Unique request identifier + type: string + required: + - request_id + - output + type: object + WanTaskQueryResponse: + properties: + output: + properties: + actual_prompt: + description: Actual prompt after intelligent rewriting (for video tasks) + type: string + check_audio: + description: Audio URL for I2V tasks with audio generation + type: string + code: + description: The error code for the failed request (not returned if request is successful) + type: string + end_time: + description: Task completion time + type: string + message: + description: Detailed information about the failed request (not returned if request is successful) + type: string + orig_prompt: + description: Original input prompt (for video tasks) + type: string + results: + description: List of task results for image generation tasks + items: + properties: + actual_prompt: + description: Actual prompt after intelligent rewriting (if enabled) + type: string + code: + description: Image error code (returned when some tasks fail) + type: string + message: + description: Image error information (returned when some tasks fail) + type: string + orig_prompt: + description: Original input prompt + type: string + url: + description: Generated image URL address + type: string + type: object + type: array + scheduled_time: + description: Task execution time + type: string + submit_time: + description: Task submission time + type: string + task_id: + description: Task ID + type: string + task_metrics: + description: Task result statistics for image generation tasks + properties: + FAILED: + description: Number of failed tasks + type: integer + SUCCEEDED: + description: Number of successful tasks + type: integer + TOTAL: + description: Total number of tasks + type: integer + type: object + task_status: + description: Task status + enum: + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + - CANCELED + - UNKNOWN + type: string + video_url: + description: Video URL for completed video generation tasks. Link validity period 24 hours + type: string + required: + - task_id + - task_status + type: object + request_id: + description: Unique request identifier + type: string + usage: + description: Output information statistics. Only successful results are counted + properties: + SR: + description: Video resolution level (I2V tasks) + type: integer + duration: + description: Duration of generated video in seconds (I2V tasks) + type: number + image_count: + description: Number of generated images (T2I tasks) + type: integer + size: + description: Image resolution (T2I tasks) + type: string + video_count: + description: Number of generated videos (T2V tasks) + type: integer + video_duration: + description: Duration of generated video in seconds (T2V tasks) + type: number + video_ratio: + description: Video resolution ratio (T2V tasks) + type: string + type: object + required: + - request_id + - output + type: object + WanVideoGenerationRequest: + properties: + input: + description: "Enter basic information, such as prompt words, etc." + properties: + audio_url: + description: "Audio file download URL. Supported formats: mp3 and wav. Cannot be used with reference_video_urls." + type: string + img_url: + description: "First frame image URL or Base64 encoded data. Required for I2V models. Image formats: JPEG, JPG, PNG, BMP, WEBP. Resolution: 360-2000 pixels. File size: max 10MB." + type: string + media: + description: "Media asset list for wan2.7 models. Specifies reference materials (image, audio, video)\nfor video generation. Each element contains a type and url field.\nSupported type values vary by model:\n- wan2.7-i2v: first_frame, last_frame, driving_audio, first_clip\n- wan2.7-r2v: reference_image, reference_video\n- wan2.7-videoedit: video, reference_image\n" + items: + properties: + type: + description: Media asset type + enum: + - first_frame + - last_frame + - driving_audio + - first_clip + - reference_image + - reference_video + - video + type: string + url: + description: URL of the media file (public HTTP/HTTPS URL or OSS temporary URL) + type: string + required: + - type + - url + type: object + type: array + negative_prompt: + description: Reverse prompt words are used to describe content that you do not want to see in the video screen + maxLength: 500 + type: string + prompt: + description: "Text prompt words. Support Chinese and English, length not exceeding 800 characters.\nFor wan2.6-r2v with multiple reference videos, use 'character1', 'character2', etc. to refer to subjects\nin the order of reference videos. Example: \"Character1 sings on the roadside, Character2 dances beside it\"\n" + maxLength: 800 + type: string + reference_video_urls: + description: "Reference video URLs for wan2.6-r2v model only. Array of 1-3 video URLs.\nInput restrictions:\n- Format: mp4, mov\n- Quantity: 1-3 videos\n- Single video length: 2-30 seconds\n- Single file size: max 30MB\n- Cannot be used with audio_url\nReference duration: Single video max 5s, two videos max 2.5s each, three videos proportionally less.\nBilling: Based on actual reference duration used.\n" + items: + type: string + maxItems: 3 + minItems: 1 + type: array + template: + description: "Video effect template name. Optional. Currently supported: squish, flying, carousel. When used, prompt parameter is ignored." + type: string + type: object + model: + description: The ID of the model to call + enum: + - wan2.5-t2v-preview + - wan2.5-i2v-preview + - wan2.6-t2v + - wan2.6-i2v + - wan2.6-r2v + - wan2.7-i2v + - wan2.7-t2v + - wan2.7-r2v + - wan2.7-videoedit + - happyhorse-1.0-t2v + - happyhorse-1.0-i2v + - happyhorse-1.0-r2v + - happyhorse-1.0-video-edit + - happyhorse-1.1-t2v + - happyhorse-1.1-i2v + - happyhorse-1.1-r2v + type: string + parameters: + description: Video processing parameters + properties: + audio: + default: true + description: Whether to add audio to the video + type: boolean + audio_setting: + default: auto + description: "Video audio setting for wan2.7-videoedit model.\n- auto (default): Model intelligently judges based on prompt content\n- origin: Forcefully preserve the original audio from the input video\n" + enum: + - auto + - origin + type: string + duration: + default: 5 + description: "The duration of the video generated, in seconds:\n- wan2.5 models: 5 or 10 seconds\n- wan2.6-t2v, wan2.6-i2v: 5, 10, or 15 seconds\n- wan2.6-r2v: 5 or 10 seconds only (no 15s support)\n- wan2.7-i2v, wan2.7-t2v: integer in [2, 15]\n- wan2.7-r2v, wan2.7-videoedit: integer in [2, 10]\n" + maximum: 15 + minimum: 2 + type: integer + prompt_extend: + default: true + description: Is it enabled prompt intelligent rewriting. Default is true + type: boolean + ratio: + description: "Aspect ratio of the generated video. For wan2.7 models only.\nIf not provided, defaults based on the resolution tier.\n" + enum: + - 16:9 + - 9:16 + - 1:1 + - 4:3 + - 3:4 + type: string + resolution: + description: "Resolution level. Supported values vary by model:\n- wan2.5-i2v-preview: 480P, 720P, 1080P\n- wan2.6-i2v: 720P, 1080P only (no 480P support)\n- wan2.7 models (i2v, t2v, r2v, videoedit): 720P, 1080P (default 1080P)\n" + enum: + - 480P + - 720P + - 1080P + type: string + seed: + description: "Random number seed, used to control the randomness of the model generated content" + maximum: 2147483647 + minimum: 0 + type: integer + shot_type: + default: single + description: "Intelligent multi-lens control. Only active when prompt_extend is enabled.\nFor wan2.6 and wan2.7-r2v models.\n- single: Single-shot video (default)\n- multi: Multi-shot video\n" + enum: + - multi + - single + type: string + size: + description: "Video resolution in format width*height. Supported resolutions vary by model:\nFor wan2.5 T2V: 480P (480*832, 832*480, 624*624), 720P, 1080P sizes\nFor wan2.6 T2V/R2V (no 480P):\n 720P: 1280*720, 720*1280, 960*960, 1088*832, 832*1088\n 1080P: 1920*1080, 1080*1920, 1440*1440, 1632*1248, 1248*1632\n" + type: string + watermark: + default: false + description: "Whether to add a watermark logo, the watermark is located in the lower right corner" + type: boolean + type: object + required: + - model + - input + type: object + WanVideoGenerationResponse: + properties: + code: + description: The error code for the failed request (not returned if request is successful) + type: string + message: + description: Detailed information about the failed request (not returned if request is successful) + type: string + output: + properties: + task_id: + description: Task ID + type: string + task_status: + description: Task status + enum: + - PENDING + - RUNNING + - SUCCEEDED + - FAILED + - CANCELED + - UNKNOWN + type: string + required: + - task_id + - task_status + type: object + request_id: + description: Unique request identifier + type: string + required: + - output + - request_id + type: object + WavespeedFlashVSRRequest: + description: Request body for WavespeedAI FlashVSR video upscaling + properties: + duration: + description: "Duration of the video in seconds\n" + type: number + target_resolution: + default: 1080p + description: Target resolution to upscale to. + enum: + - 720p + - 1080p + - 2k + - 4k + type: string + video: + description: "The video to upscale. Can be a URL to the video file or a base64-encoded video.\n" + type: string + required: + - video + - duration + type: object + WavespeedSeedVR2ImageRequest: + description: Request body for WavespeedAI SeedVR2 image upscaling + properties: + enable_base64_output: + default: false + description: "If enabled, the output will be encoded into a BASE64 string instead of a URL." + type: boolean + image: + description: The URL of the image to upscale. + type: string + output_format: + default: jpeg + description: The format of the output image. + enum: + - jpeg + - png + - webp + type: string + target_resolution: + default: 4k + description: The target resolution of the output image. + enum: + - 2k + - 4k + - 8k + type: string + required: + - image + type: object + WavespeedTaskResponse: + description: Response from WavespeedAI task submission + properties: + code: + description: "HTTP status code (e.g., 200 for success)" + type: integer + data: + properties: + created_at: + description: ISO timestamp of when the request was created + type: string + error: + description: Error message (empty if no error occurred) + type: string + has_nsfw_contents: + description: Array of boolean values indicating NSFW detection for each output + items: + type: boolean + type: array + id: + description: Unique identifier for the prediction/task + type: string + model: + description: Model ID used for the prediction + type: string + outputs: + description: Array of URLs to the generated content (empty when status is not completed) + items: + type: string + type: array + status: + description: Status of the task + enum: + - created + - processing + - completed + - failed + type: string + timings: + properties: + inference: + description: Inference time in milliseconds + type: integer + type: object + urls: + properties: + get: + description: URL to retrieve the prediction result + type: string + type: object + type: object + message: + description: "Status message (e.g., \"success\")" + type: string + type: object + WavespeedTaskResultResponse: + description: Response from WavespeedAI task result query + properties: + code: + description: "HTTP status code (e.g., 200 for success)" + type: integer + data: + properties: + created_at: + description: ISO timestamp of when the request was created + type: string + error: + description: Error message (empty if no error occurred) + type: string + id: + description: Unique identifier for the prediction/task + type: string + model: + description: Model ID used for the prediction + type: string + outputs: + description: Array of URLs to the generated content (empty when status is not completed) + items: + type: string + type: array + status: + description: Status of the task + enum: + - created + - processing + - completed + - failed + type: string + timings: + properties: + inference: + description: Inference time in milliseconds + type: integer + type: object + urls: + properties: + get: + description: URL to retrieve the prediction result + type: string + type: object + type: object + message: + description: "Status message (e.g., \"success\")" + type: string + type: object + WebSearchPreviewTool: + description: "This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search)." + properties: + search_context_size: + description: "High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default." + enum: + - low + - medium + - high + type: string + type: + default: web_search_preview + description: "The type of the web search tool. One of `web_search_preview` or `web_search_preview_2025_03_11`." + enum: + - web_search_preview + - web_search_preview_2025_03_11 + type: string + x-stainless-const: true + required: + - type + title: Web search preview + type: object + WebSearchToolCall: + description: "The results of a web search tool call. See the\n[web search guide](/docs/guides/tools-web-search) for more information.\n" + properties: + id: + description: "The unique ID of the web search tool call.\n" + type: string + status: + description: "The status of the web search tool call.\n" + enum: + - in_progress + - searching + - completed + - failed + type: string + type: + description: "The type of the web search tool call. Always `web_search_call`.\n" + enum: + - web_search_call + type: string + x-stainless-const: true + required: + - id + - type + - status + title: Web search tool call + type: object + WorkflowRunStatus: + enum: + - WorkflowRunStatusStarted + - WorkflowRunStatusFailed + - WorkflowRunStatusCompleted + type: string + XAIGeneratedImage: + description: A generated image from xAI + properties: + b64_json: + description: A base64-encoded string representation of the generated image in jpeg encoding (if response_format is b64_json) + type: string + mime_type: + description: "The MIME type of the generated image (e.g. image/png, image/jpeg, image/webp)." + type: string + url: + description: A url to the generated image (if response_format is url) + type: string + type: object + XAIGeneratedVideo: + description: A generated video from xAI + properties: + duration: + description: Duration of the generated video in seconds + type: integer + respect_moderation: + description: Whether the video generated by the model respects moderation rules + type: boolean + url: + description: A url to the generated video + nullable: true + type: string + type: object + XAIImageEditRequest: + description: Request body for xAI Grok Imagine image editing + properties: + aspect_ratio: + description: "Aspect ratio of the output image for image editing with multiple images. For single image editing, do not set this." + enum: + - 1:1 + - 3:4 + - 4:3 + - 9:16 + - 16:9 + - 2:3 + - 3:2 + - 9:19.5 + - 19.5:9 + - 9:20 + - 20:9 + - 1:2 + - 2:1 + - auto + type: string + image: + $ref: "#/components/schemas/XAIImageObject" + images: + description: "List of input images for multi-reference editing. Mutually exclusive with image. When multiple images are provided, refer to them as , , etc. in the prompt." + items: + $ref: "#/components/schemas/XAIImageObject" + type: array + mask: + $ref: "#/components/schemas/XAIImageObject" + model: + default: grok-imagine-image + description: Model to be used + type: string + "n": + description: Number of image edits to be generated + type: integer + prompt: + description: Prompt for image editing + type: string + quality: + description: "Quality of the output image. Currently a no-op, reserved for future use." + enum: + - low + - medium + - high + type: string + resolution: + default: 1k + description: Resolution of the generated image. Defaults to 1k. + enum: + - 1k + - 2k + type: string + response_format: + default: url + description: Response format to return the image in. Can be url or b64_json. + enum: + - url + - b64_json + type: string + size: + description: Size of the image (not supported) + type: string + style: + description: Style of the image (not supported) + type: string + user: + description: "A unique identifier representing your end-user, which can help xAI to monitor and detect abuse" + type: string + required: + - prompt + type: object + XAIImageGenerationRequest: + description: Request body for xAI Grok Imagine image generation + properties: + aspect_ratio: + default: auto + description: Aspect ratio of the generated image. Defaults to auto for automatically selecting the best ratio for the prompt. + enum: + - 1:1 + - 3:4 + - 4:3 + - 9:16 + - 16:9 + - 2:3 + - 3:2 + - 9:19.5 + - 19.5:9 + - 9:20 + - 20:9 + - 1:2 + - 2:1 + - auto + type: string + model: + default: grok-imagine-image + description: Model to be used + type: string + "n": + default: 1 + description: Number of images to be generated + maximum: 10 + minimum: 1 + type: integer + prompt: + description: Prompt for image generation + type: string + quality: + description: "Quality of the output image. Currently a no-op, reserved for future use." + enum: + - low + - medium + - high + type: string + resolution: + default: 1k + description: Resolution of the generated image. Defaults to 1k. + enum: + - 1k + - 2k + type: string + response_format: + default: url + description: Response format to return the image in. Can be url or b64_json. + enum: + - url + - b64_json + type: string + size: + description: Size of the image (not supported) + type: string + style: + description: Style of the image (not supported) + type: string + user: + description: "A unique identifier representing your end-user, which can help xAI to monitor and detect abuse" + type: string + required: + - prompt + type: object + XAIImageGenerationResponse: + description: Response from xAI image generation or editing + properties: + block_reason: + description: "If the request was blocked by input moderation, contains the block reason" + type: string + data: + description: A list of generated image objects + items: + $ref: "#/components/schemas/XAIGeneratedImage" + type: array + usage: + $ref: "#/components/schemas/XAIImageUsage" + type: object + XAIImageObject: + description: Input image object for xAI endpoints + properties: + type: + description: Type of the image input + enum: + - image_url + type: string + url: + description: URL of the input image (public URL or base64-encoded data URI) + type: string + required: + - url + type: object + XAIImageUsage: + description: Usage information for the image generation request + properties: + cost_in_usd_ticks: + description: "Accurate cost of this request in USD ticks (10,000,000,000 ticks = 1 USD)" + type: integer + type: object + XAIReferenceImageObject: + description: A reference image used to guide video generation in R2V mode + properties: + url: + description: "URL of the reference image. Supports HTTPS URLs (public) or base64-encoded data URLs (e.g., data:image/jpeg;base64,...)." + type: string + required: + - url + type: object + XAIVideoAsyncResponse: + description: Response from xAI video generation or editing (async operation) + properties: + request_id: + description: Unique identifier to poll for the completed video + type: string + type: object + XAIVideoEditRequest: + description: Request body for xAI Grok Imagine video editing + properties: + model: + description: Model to be used + nullable: true + type: string + output: + description: Optional output destination for generated video + nullable: true + type: object + prompt: + description: Prompt for video editing + type: string + user: + description: A unique identifier representing your end-user + nullable: true + type: string + video: + $ref: "#/components/schemas/XAIVideoObject" + required: + - prompt + - video + type: object + XAIVideoExtensionRequest: + description: Request body for xAI Grok Imagine video extension + properties: + duration: + default: 6 + description: "Length of the extension in seconds. Range [2, 10]. Default 6." + maximum: 10 + minimum: 2 + nullable: true + type: integer + model: + description: Model to use + nullable: true + type: string + prompt: + description: Text description of what should happen next in the video + type: string + video: + $ref: "#/components/schemas/XAIVideoObject" + required: + - prompt + - video + type: object + XAIVideoGenerationRequest: + description: "Request body for xAI Grok Imagine video generation.\nSupports three modes: text-to-video (prompt only), image-to-video (prompt + image),\nand reference-to-video (prompt + reference_images).\nThe fields image, reference_images, and video are mutually exclusive.\n" + properties: + aspect_ratio: + default: 16:9 + description: Aspect ratio of the generated video + enum: + - 1:1 + - 16:9 + - 9:16 + - 4:3 + - 3:4 + - 3:2 + - 2:3 + type: string + duration: + default: 8 + description: "Video duration in seconds. Range [1, 15]. Default 8." + maximum: 15 + minimum: 1 + nullable: true + type: integer + image: + $ref: "#/components/schemas/XAIImageObject" + model: + description: Model to be used + type: string + output: + description: Optional output destination for generated video + nullable: true + type: object + prompt: + description: "Prompt for video generation. Maximum 4,096 characters." + type: string + reference_images: + description: One or more reference images to guide the video generation (reference-to-video mode). Mutually exclusive with image and video. + items: + $ref: "#/components/schemas/XAIReferenceImageObject" + type: array + resolution: + description: Resolution of the output video + nullable: true + type: string + size: + description: Size of the output video + nullable: true + type: string + user: + description: A unique identifier representing your end-user + nullable: true + type: string + required: + - prompt + type: object + XAIVideoObject: + description: Input video object for xAI endpoints + properties: + url: + description: "URL of the video (public URL or base64-encoded data URL). The video must have the .mp4 file extension and be encoded with .mp4 supported codecs such as H.265, H.264, AV1, etc." + type: string + required: + - url + type: object + XAIVideoResultResponse: + description: Response from getting video generation result + properties: + block_reason: + description: "If the request was blocked by input moderation, contains the block reason" + nullable: true + type: string + model: + description: The model used to generate the video + type: string + status: + description: "Status of the deferred request: \"pending\" or \"done\"" + enum: + - pending + - done + type: string + usage: + $ref: "#/components/schemas/XAIVideoUsage" + video: + $ref: "#/components/schemas/XAIGeneratedVideo" + type: object + XAIVideoUsage: + description: Usage information for the video generation request + properties: + cost_in_usd_ticks: + description: "The cost of this request expressed in USD ticks. One USD cent equals 100,000,000 ticks, so one US dollar equals 10,000,000,000 ticks.\n" + type: integer + type: object + securitySchemes: + BearerAuth: + bearerFormat: JWT + scheme: bearer + type: http +info: + title: Comfy API + version: "1.0" +openapi: 3.0.2 +paths: + "/admin/customers/{customer_id}/archive-metronome-data": + post: + description: Archives metronome data. See https://docs.metronome.com/api-reference/customers/archive-a-customer + operationId: PostAdminArchiveMetronomeData + parameters: + - description: The ID of the customer whose Metronome data to archive + in: path + name: customer_id + required: true + schema: + type: string + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + description: Success message + type: string + type: object + description: Metronome data archived successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request - missing required parameter + "401": + description: Unauthorized or missing admin API secret + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Archive customer Metronome data + tags: + - Admin + x-excluded: true + "/admin/customers/{customer_id}/balance": + get: + description: "Returns the specified customer's current remaining balance in microamount and its currency." + operationId: GetAdminCustomerBalance + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + amount_micros: + format: double + type: number + cloud_credit_balance_micros: + format: double + type: number + currency: + type: string + effective_balance_micros: + format: double + type: number + pending_charges_micros: + format: double + type: number + prepaid_balance_micros: + format: double + type: number + required: + - amount_micros + - currency + type: object + description: Customer balance retrieved successfully + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: "Admin get customer's remaining balance" + tags: + - Admin + x-excluded: true + "/admin/customers/{customer_id}/cloud-subscription-status": + get: + description: "Allows an admin to inspect a specific customer's cloud subscription status." + operationId: GetAdminCustomerCloudSubscriptionStatus + parameters: + - description: The ID of the customer whose subscription status to retrieve + in: path + name: customer_id + required: true + schema: + type: string + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + end_date: + description: The date when the subscription is set to end (ISO 8601 format) + format: date-time + nullable: true + type: string + has_fund: + description: Whether the customer has funds/credits available + type: boolean + is_active: + description: Whether the customer has an active cloud subscription + type: boolean + renewal_date: + description: The next renewal date for the subscription (ISO 8601 format) + format: date-time + nullable: true + type: string + subscription_duration: + allOf: + - $ref: "#/components/schemas/SubscriptionDuration" + nullable: true + subscription_id: + description: The active subscription ID if one exists + nullable: true + type: string + subscription_tier: + allOf: + - $ref: "#/components/schemas/SubscriptionTier" + nullable: true + type: object + description: Cloud subscription status retrieved successfully + "401": + description: Unauthorized or missing admin API secret + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin check cloud subscription status + tags: + - Admin + x-excluded: true + "/admin/customers/{customer_id}/partner-node-concurrency-override": + delete: + description: "Clears the override (sets it to NULL) so the customer's limit reverts to the spend engine.\n" + operationId: ClearAdminCustomerConcurrencyOverride + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Override cleared successfully + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin clear customer partner-node concurrency override + tags: + - Admin + x-excluded: true + get: + description: "Returns the customer's current partner-node concurrency override (the raw column value), the limit the gate enforces right now, and the limit the spend engine would apply if the override were cleared.\n" + operationId: GetAdminCustomerConcurrencyOverride + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + customer_id: + type: string + effective_limit: + description: Limit the gate enforces right now. + type: integer + effective_reason: + type: string + engine_limit: + description: Limit the spend engine would apply if the override were cleared. + type: integer + engine_reason: + type: string + lifetime_paid_spend_cents: + description: Lifetime paid spend in cents; null when the spend query failed. + format: int64 + nullable: true + type: integer + override: + description: Raw override column value; null when unset. + nullable: true + type: integer + required: + - customer_id + - effective_limit + - effective_reason + - engine_limit + - engine_reason + type: object + description: Override and resolved limits retrieved successfully + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin get customer partner-node concurrency override + tags: + - Admin + x-excluded: true + put: + description: "Pins the customer's partner-node concurrency override. Semantics: 0 = blocked, -1 = unlimited, positive = hard limit. Allowed values are -1, 0, and 1..200.\n" + operationId: SetAdminCustomerConcurrencyOverride + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + override: + description: "-1 unlimited, 0 blocked, 1..200 hard limit. Must be present and non-null; a missing or null value is rejected with 400 (use DELETE to clear the override).\n" + nullable: true + type: integer + required: + - override + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Override set successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid override value + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin set customer partner-node concurrency override + tags: + - Admin + x-excluded: true + "/admin/customers/{customer_id}/stripe-data": + delete: + description: Deletes the Stripe customer data associated with the given customer ID. + operationId: DeleteAdminCustomerStripeData + parameters: + - description: The ID of the customer whose Stripe data to delete + in: path + name: customer_id + required: true + schema: + type: string + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + description: Success message + type: string + type: object + description: Stripe data deleted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request - missing required parameter + "401": + description: Unauthorized or missing admin API secret + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Delete customer Stripe data + tags: + - Admin + x-excluded: true + /admin/generate-token: + post: + description: "Generates a short-lived JWT admin token for browser-based admin operations.\nThe user must already be authenticated with Firebase and have admin privileges.\nThe generated token expires after 1 hour.\n" + operationId: GenerateAdminToken + responses: + "200": + content: + application/json: + schema: + properties: + expires_at: + description: When the token expires + format: date-time + type: string + token: + description: The JWT admin token + type: string + required: + - token + - expires_at + type: object + description: JWT token generated successfully + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized or user is not an admin + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Generate a short-lived JWT admin token + tags: + - Admin + /admin/nodes: + post: + operationId: AdminCreateNode + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "409": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Duplicate error. + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new custom node using admin priviledge + tags: + - Registry + x-excluded: true + "/admin/nodes/{nodeId}": + put: + description: Only admins can update a node with admin privileges. + operationId: AdminUpdateNode + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Admin Update Node + tags: + - Registry + x-excluded: true + "/admin/nodes/{nodeId}/versions/{versionNumber}": + put: + description: Only admins can approve a node version. + operationId: AdminUpdateNodeVersion + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: versionNumber + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + status: + $ref: "#/components/schemas/NodeVersionStatus" + status_reason: + description: The reason for the status change. + type: string + supported_accelerators: + description: "List of accelerators (e.g. CUDA, DirectML, ROCm) that this node supports" + items: + type: string + type: array + supported_comfyui_frontend_version: + description: Supported versions of ComfyUI frontend + type: string + supported_comfyui_version: + description: Supported versions of ComfyUI + type: string + supported_os: + description: List of operating systems that this node supports + items: + type: string + type: array + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersion" + description: Version updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Admin Update Node Version Status + tags: + - Registry + x-excluded: true + /admin/nodeversions: + get: + description: Admin-only endpoint to list all node versions with support for including deleted versions. Only admins can access this endpoint. + operationId: AdminListAllNodeVersions + parameters: + - in: query + name: nodeId + schema: + type: string + - explode: true + in: query + name: statuses + schema: + items: + $ref: "#/components/schemas/NodeVersionStatus" + type: array + style: form + - in: query + name: include_status_reason + schema: + default: false + type: boolean + - description: The page number to retrieve. + in: query + name: page + schema: + default: 1 + type: integer + - description: The number of items to include per page. + in: query + name: pageSize + schema: + default: 10 + type: integer + - description: "search for status_reason, case insensitive" + in: query + name: status_reason + schema: + type: string + - description: Include soft-deleted node versions in the results + in: query + name: include_deleted + schema: + default: false + type: boolean + responses: + "200": + content: + application/json: + schema: + properties: + page: + description: Current page number + type: integer + pageSize: + description: Maximum number of node versions per page. Maximum is 100. + type: integer + total: + description: Total number of node versions available + type: integer + totalPages: + description: Total number of pages available + type: integer + versions: + items: + $ref: "#/components/schemas/NodeVersion" + type: array + type: object + description: List of all node versions + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Invalid input, object invalid" + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Admin list all node versions with optional filters + tags: + - Registry + x-excluded: true + /admin/partner-node-model-overrides: + get: + description: "Returns the effective tier classification for every model known to the rate card or the override table (override-aware; most rows have no override).\n" + operationId: ListAdminModelOverrides + parameters: + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + models: + items: + $ref: "#/components/schemas/ModelClassification" + type: array + required: + - models + type: object + description: Classifications retrieved successfully + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin list partner-node model tier classifications + tags: + - Admin + x-excluded: true + "/admin/partner-node-model-overrides/{model}": + delete: + description: "Removes the override so the model reverts to cost-based classification. Idempotent (200 even if no override existed).\n" + operationId: DeleteAdminModelOverride + parameters: + - in: path + name: model + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Override cleared successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin clear a model tier override + tags: + - Admin + x-excluded: true + get: + description: "Returns the model's effective tier — the override if one is set, else the cost-based classification. Always 200; an unknown model resolves to the default (not capped). Note: {model} is a single URL path segment, so a model ID containing a slash cannot be addressed via this route; use the list endpoint (GET /admin/partner-node-model-overrides) to see its classification. Partner-node model IDs are flat today, so this is not a current limitation.\n" + operationId: GetAdminModelOverride + parameters: + - in: path + name: model + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ModelClassification" + description: Classification retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: "Admin get a model's effective tier" + tags: + - Admin + x-excluded: true + put: + description: "Upserts an override pinning the model to a tier. tier must be 'expensive' or 'exempt'. Takes effect immediately on the handling pod and within MODEL_OVERRIDE_REFRESH on others.\n" + operationId: SetAdminModelOverride + parameters: + - in: path + name: model + required: true + schema: + type: string + - in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + tier: + description: "'expensive' or 'exempt'." + type: string + required: + - tier + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Override set successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid tier or model + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Admin set a model tier override + tags: + - Admin + x-excluded: true + /admin/sync-api-key-deletion: + post: + description: "Reverse-direction delete-sync (cloud → comfy-api registry, BE-1542). When a\nworkspace API key is deleted in cloud (the new source of truth), cloud calls\nthis endpoint so the comfy-api registry's api_keys row is removed too,\nkeeping the two stores convergent. Idempotent: deleting an unknown hash is a\nno_op. M2M/admin-only; carries the key hash, never plaintext.\n" + operationId: SyncApiKeyDeletion + parameters: + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + customer_id: + description: "Firebase UID of the key's owner, for mismatch detection. The\ndeletion proceeds by hash regardless (mirrors cloud's inbound\nRevokeByHash semantics).\n" + type: string + event: + description: "Sync event type; only \"delete\" is supported." + enum: + - delete + example: delete + type: string + key_hash: + description: SHA-256 hex hash of the API key to revoke. + maxLength: 64 + minLength: 64 + pattern: "^[A-Fa-f0-9]{64}$" + type: string + required: + - event + - key_hash + - customer_id + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + result: + description: "revoked when a matching key was deleted; no_op when no key\nmatched the hash (already deleted or never existed).\n" + type: string + required: + - result + type: object + description: Delete-sync processed + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid request (missing fields or unsupported event) + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unauthorized or missing admin API secret + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Revoke a registry API key by hash (reverse delete-sync) + tags: + - Admin + x-excluded: true + /admin/verify-api-key: + post: + description: "Validates a ComfyUI API key and returns the associated customer information.\nThis endpoint is used by cloud.comfy.org to authenticate users via API keys\ninstead of Firebase tokens.\n" + operationId: VerifyApiKey + parameters: + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + api_key: + description: "The ComfyUI API key to verify (e.g., comfy_xxx...)" + type: string + include_customer_keys: + description: "When true, the response also includes customer_api_keys: the\nfull set of the customer's API keys (hash + prefix + name +\ndescription) so cloud's migrate-on-miss can seed ALL of the\ncustomer's keys into workspace_api_keys, not just the one being\nverified. M2M/admin-only; carries hashes, never plaintext.\n" + type: boolean + required: + - api_key + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + customer_api_keys: + description: "All of the customer's API keys — returned ONLY when the\nrequest sets include_customer_keys=true. Lets cloud's\nmigrate-on-miss seed every key into workspace_api_keys (by\nhash) so the cloud key list matches the customer's full set,\nnot just the one verified. M2M/admin-only; hashes, no plaintext.\n" + items: + $ref: "#/components/schemas/MigrationAPIKey" + type: array + email: + description: "The customer's email address" + type: string + firebase_uid: + description: The Firebase UID of the user + type: string + is_admin: + description: Whether the customer is an admin + type: boolean + key_description: + description: "The api_keys row's own description. Returned so that cloud's\nmigrate-on-miss path can preserve it on the cached\nworkspace_api_keys row instead of writing a placeholder.\n" + type: string + key_name: + description: "The api_keys row's own name (display label). Returned so that\ncloud's migrate-on-miss path can preserve it on the cached\nworkspace_api_keys row instead of writing a placeholder.\n" + type: string + name: + description: "The customer's name" + type: string + valid: + description: Whether the API key is valid + type: boolean + required: + - valid + - firebase_uid + type: object + description: API key is valid + "401": + description: Unauthorized or missing admin API secret + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "API key auth not allowed for this account (e.g., free tier)" + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: API key not found or invalid + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Verify a ComfyUI API key and return customer details + tags: + - Admin + x-excluded: true + /branch: + get: + description: Returns all branches for a given repo. + operationId: GetBranch + parameters: + - description: The repo to filter by. + in: query + name: repo_name + required: true + schema: + default: comfyanonymous/ComfyUI + type: string + responses: + "200": + content: + application/json: + schema: + properties: + branches: + items: + type: string + type: array + type: object + description: An array of branches + "404": + description: Repo not found + "500": + description: Internal server error + summary: Retrieve all distinct branches for a given repo + tags: + - ComfyUI CI + x-excluded: true + /bulk/nodes/versions: + post: + operationId: GetBulkNodeVersions + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BulkNodeVersionsRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BulkNodeVersionsResponse" + description: Successfully retrieved node versions + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve multiple node versions in a single request + tags: + - Registry + /comfy-nodes: + get: + operationId: ListAllComfyNodes + parameters: + - in: query + name: pageSize + schema: + default: 100 + type: integer + - description: Page number (1-based indexing) + in: query + name: page + schema: + default: 1 + type: integer + - description: Filter by node ID + in: query + name: node_id + schema: + type: string + - description: Filter by node version + in: query + name: node_version + schema: + type: string + - description: Filter by ComfyUI node name + in: query + name: comfy_node_name + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + comfy_nodes: + items: + $ref: "#/components/schemas/ComfyNode" + type: array + total: + description: Total number of comfy nodes + type: integer + type: object + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: list all comfy-nodes + tags: + - Registry + /comfy-nodes/backfill: + post: + operationId: ComfyNodesBackfill + parameters: + - in: query + name: max_node + schema: + default: 10 + type: integer + responses: + "204": + description: Backfill triggered + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: trigger comfy nodes backfill + tags: + - Registry + x-excluded: true + "/comfy-nodes/{comfyNodeName}/node": + get: + description: Returns the node that contains a ComfyUI node with the specified name + operationId: GetNodeByComfyNodeName + parameters: + - description: The name of the ComfyUI node + in: path + name: comfyNodeName + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node details + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: No node found containing the specified ComfyUI node name + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve a node by ComfyUI node name + tags: + - Registry + /customers: + get: + description: "Search for customers by email, name, Stripe ID, or Metronome ID." + operationId: SearchCustomers + parameters: + - description: Email address to search for + in: query + name: email + schema: + type: string + - description: Customer name to search for + in: query + name: name + schema: + type: string + - description: Stripe customer ID to search for + in: query + name: stripe_id + schema: + type: string + - description: Metronome customer ID to search for\ + in: query + name: metronome_id + schema: + type: string + - description: Page number to retrieve + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of customers to return per page + in: query + name: limit + schema: + default: 10 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + customers: + items: + $ref: "#/components/schemas/Customer" + type: array + limit: + description: Number of customers per page + type: integer + page: + description: Current page number + type: integer + total: + description: Total number of matching customers + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: Customers matching the search criteria + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid request parameters + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - insufficient permissions + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Search for customers + tags: + - API Nodes + - Admin + x-excluded: true + post: + description: Creates a new customer. User identity is taken from the bearer token; the optional request body carries a Cloudflare Turnstile token used for server-side bot verification at signup (BE-1490). The body is optional — clients that do not run the Turnstile widget (e.g. the local OSS build) may omit it. + operationId: CreateCustomer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreateCustomerRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Customer" + description: Customer already exists + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Customer" + description: Customer created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new customer + tags: + - API Nodes + x-excluded: true + /customers/admin/coupons: + get: + description: Retrieves a list of all coupons from Stripe. Only admins can list coupons. + operationId: ListCoupons + parameters: + - description: Number of coupons to return + in: query + name: limit + schema: + default: 10 + maximum: 100 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + coupons: + items: + $ref: "#/components/schemas/CouponResponse" + type: array + has_more: + description: Whether there are more results available + type: boolean + required: + - coupons + type: object + description: List of coupons retrieved successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: List all coupons + tags: + - Admin + - API Nodes + x-excluded: true + post: + description: Creates a new coupon in Stripe. Only admins can create coupons. + operationId: CreateCoupon + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreateCouponRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/CouponResponse" + description: Coupon created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new Stripe coupon + tags: + - Admin + - API Nodes + x-excluded: true + "/customers/admin/coupons/{coupon_id}": + delete: + description: Deletes a coupon in Stripe. Only admins can delete coupons. + operationId: DeleteCoupon + parameters: + - description: The Stripe coupon ID + in: path + name: coupon_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + coupon_id: + description: The deleted coupon ID + type: string + message: + description: Success message + type: string + required: + - message + - coupon_id + type: object + description: Coupon deleted successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Coupon not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Delete a coupon + tags: + - Admin + - API Nodes + x-excluded: true + get: + description: Retrieves details of a specific coupon from Stripe. Only admins can view coupons. + operationId: GetCoupon + parameters: + - description: The Stripe coupon ID + in: path + name: coupon_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CouponResponse" + description: Coupon retrieved successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Coupon not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get a specific coupon + tags: + - Admin + - API Nodes + x-excluded: true + patch: + description: Updates a coupon in Stripe. Only admins can update coupons. + operationId: UpdateCoupon + parameters: + - description: The Stripe coupon ID + in: path + name: coupon_id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateCouponRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CouponResponse" + description: Coupon updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Coupon not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Update a coupon + tags: + - Admin + - API Nodes + x-excluded: true + /customers/admin/promo-codes: + get: + description: Retrieves a list of all promotional codes from Stripe. Only admins can list promo codes. + operationId: ListPromoCodes + parameters: + - description: Filter by active status + in: query + name: active + schema: + type: boolean + - description: Number of promo codes to return + in: query + name: limit + schema: + default: 10 + maximum: 100 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + has_more: + description: Whether there are more results available + type: boolean + promo_codes: + items: + $ref: "#/components/schemas/PromoCodeResponse" + type: array + required: + - promo_codes + type: object + description: List of promo codes retrieved successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: List all promotional codes + tags: + - Admin + - API Nodes + x-excluded: true + post: + description: Creates a new unique promotional code in Stripe for the specified coupon. Only admins can generate promo codes. + operationId: CreatePromoCode + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreatePromoCodeRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/PromoCodeResponse" + description: Promo code created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Generate a new Stripe promotional code + tags: + - Admin + - API Nodes + x-excluded: true + "/customers/admin/promo-codes/{promo_code_id}": + delete: + description: Deactivates a promotional code in Stripe. Only admins can deactivate promo codes. + operationId: DeletePromoCode + parameters: + - description: The Stripe promotion code ID + in: path + name: promo_code_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + message: + description: Success message + type: string + promo_code_id: + description: The deactivated promo code ID + type: string + required: + - message + - promo_code_id + type: object + description: Promo code deactivated successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Promo code not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Deactivate a promotional code + tags: + - Admin + - API Nodes + x-excluded: true + get: + description: Retrieves details of a specific promotional code from Stripe. Only admins can view promo codes. + operationId: GetPromoCode + parameters: + - description: The Stripe promotion code ID + in: path + name: promo_code_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PromoCodeResponse" + description: Promo code retrieved successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Promo code not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get a specific promotional code + tags: + - Admin + - API Nodes + x-excluded: true + patch: + description: Updates a promotional code in Stripe. Only admins can update promo codes. + operationId: UpdatePromoCode + parameters: + - description: The Stripe promotion code ID + in: path + name: promo_code_id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UpdatePromoCodeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PromoCodeResponse" + description: Promo code updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden - Admin access required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Promo code not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Update a promotional code + tags: + - Admin + - API Nodes + x-excluded: true + /customers/api-keys: + get: + operationId: ListCustomerAPIKeys + responses: + "200": + content: + application/json: + schema: + properties: + api_keys: + items: + $ref: "#/components/schemas/APIKey" + type: array + type: object + description: List of API keys + "401": + description: Unauthorized + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: List all API keys for a customer + x-excluded: true + post: + operationId: CreateCustomerAPIKey + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreateAPIKeyRequest" + required: true + responses: + "201": + content: + application/json: + schema: + properties: + api_key: + $ref: "#/components/schemas/APIKeyWithPlaintext" + type: object + description: API key created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "404": + description: Customer or API key not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Create a new API key for a customer + x-excluded: true + "/customers/api-keys/{api_key_id}": + delete: + operationId: DeleteCustomerAPIKey + parameters: + - in: path + name: api_key_id + required: true + schema: + type: string + responses: + "204": + description: API key deleted + "401": + description: Unauthorized + "404": + description: Customer or API key not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Delete an API key for a customer + x-excluded: true + /customers/balance: + get: + description: "Returns the customer's current remaining balance in microamount and its currency, with separate breakdowns for prepaid commits and cloud credits." + operationId: GetCustomerBalance + responses: + "200": + content: + application/json: + schema: + properties: + amount_micros: + description: "The total remaining balance in microamount (1/1,000,000 of the currency unit)" + format: double + type: number + cloud_credit_balance_micros: + description: The remaining balance from cloud credits in microamount + format: double + type: number + currency: + description: "The currency code (e.g., \"usd\")" + type: string + effective_balance_micros: + description: The effective balance (total balance minus pending charges). Can be negative if pending charges exceed the balance. Only included when the show_negative_balances feature flag is enabled. + format: double + type: number + pending_charges_micros: + description: The total amount of pending/unbilled charges from draft invoices in microamount. Only included when the show_negative_balances feature flag is enabled. + format: double + type: number + prepaid_balance_micros: + description: The remaining balance from prepaid commits in microamount + format: double + type: number + required: + - amount_micros + - currency + type: object + description: Customer balance retrieved successfully + "401": + description: Unauthorized or invalid token + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Get customer's remaining balance" + tags: + - API Nodes + x-excluded: true + /customers/billing: + post: + description: "Creates a session for the customer to access their billing portal where they can manage subscriptions, payment methods, and view invoices." + operationId: AccessBillingPortal + requestBody: + content: + application/json: + schema: + properties: + return_url: + description: "Optional URL to redirect the customer after they're done with the billing portal" + type: string + target_tier: + description: "Optional target subscription tier. When provided, creates a deep link directly to the subscription update confirmation screen with this tier pre-selected." + enum: + - standard + - creator + - pro + - standard-yearly + - creator-yearly + - pro-yearly + type: string + type: object + responses: + "200": + content: + application/json: + schema: + properties: + billing_portal_url: + description: The URL to redirect the customer to the billing portal + type: string + type: object + description: Billing portal session created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input" + "401": + description: Unauthorized or invalid token + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Access customer billing portal + tags: + - API Nodes + - Released + x-excluded: true + /customers/cloud-subscription-checkout: + post: + description: Creates a cloud subscription checkout session for $20/month with automatic billing + operationId: CreateCloudSubscriptionCheckout + requestBody: + content: + application/json: + schema: + properties: + ga_client_id: + description: Google Analytics client ID from _ga cookie + type: string + ga_session_id: + description: Google Analytics session ID + type: string + ga_session_number: + description: Google Analytics session number + type: string + gbraid: + description: Google Ads iOS attribution parameter + type: string + gclid: + description: Google Ads click ID + type: string + im_ref: + description: Impact.com click ID for affiliate conversion tracking + type: string + rewardful_referral: + description: "Rewardful referral UUID (window.Rewardful.referral), passed to Stripe as client_reference_id for affiliate conversion tracking" + type: string + utm_campaign: + description: UTM campaign parameter + type: string + utm_content: + description: UTM content parameter + type: string + utm_medium: + description: UTM medium parameter + type: string + utm_source: + description: UTM source parameter + type: string + utm_term: + description: UTM term parameter + type: string + wbraid: + description: Google Ads web-to-app attribution parameter + type: string + type: object + responses: + "201": + content: + application/json: + schema: + properties: + checkout_url: + description: The URL to redirect the customer to complete subscription + type: string + type: object + description: Subscription checkout session created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input" + "401": + description: Unauthorized or invalid token + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create cloud subscription checkout session + tags: + - API Nodes + - Released + x-excluded: true + "/customers/cloud-subscription-checkout/{tier}": + post: + description: "Creates a cloud subscription checkout session for a specific subscription tier (standard, creator, or pro) with automatic billing" + operationId: CreateCloudSubscriptionCheckoutTier + parameters: + - description: "The subscription tier (standard, creator, or pro) with optional yearly billing (standard-yearly, creator-yearly, pro-yearly)" + in: path + name: tier + required: true + schema: + enum: + - standard + - creator + - pro + - standard-yearly + - creator-yearly + - pro-yearly + type: string + requestBody: + content: + application/json: + schema: + properties: + ga_client_id: + description: Google Analytics client ID from _ga cookie + type: string + ga_session_id: + description: Google Analytics session ID + type: string + ga_session_number: + description: Google Analytics session number + type: string + gbraid: + description: Google Ads iOS attribution parameter + type: string + gclid: + description: Google Ads click ID + type: string + im_ref: + description: Impact.com click ID for affiliate conversion tracking + type: string + rewardful_referral: + description: "Rewardful referral UUID (window.Rewardful.referral), passed to Stripe as client_reference_id for affiliate conversion tracking" + type: string + utm_campaign: + description: UTM campaign parameter + type: string + utm_content: + description: UTM content parameter + type: string + utm_medium: + description: UTM medium parameter + type: string + utm_source: + description: UTM source parameter + type: string + utm_term: + description: UTM term parameter + type: string + wbraid: + description: Google Ads web-to-app attribution parameter + type: string + type: object + responses: + "201": + content: + application/json: + schema: + properties: + checkout_url: + description: The URL to redirect the customer to complete subscription + type: string + type: object + description: Subscription checkout session created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input or tier" + "401": + description: Unauthorized or invalid token + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create cloud subscription checkout session for a specific tier + tags: + - API Nodes + - Released + x-excluded: true + /customers/cloud-subscription-status: + get: + description: Check if the customer has an active cloud subscription + operationId: GetCloudSubscriptionStatus + responses: + "200": + content: + application/json: + schema: + properties: + end_date: + description: The date when the subscription is set to end (ISO 8601 format) + format: date-time + nullable: true + type: string + free_tier_grant_state: + allOf: + - $ref: "#/components/schemas/FreeTierGrantState" + nullable: true + has_fund: + description: Whether the customer has funds/credits available + type: boolean + is_active: + description: Whether the customer has an active cloud subscription + type: boolean + renewal_date: + description: The next renewal date for the subscription (ISO 8601 format) + format: date-time + nullable: true + type: string + subscription_duration: + allOf: + - $ref: "#/components/schemas/SubscriptionDuration" + nullable: true + subscription_id: + description: The active subscription ID if one exists + nullable: true + type: string + subscription_tier: + allOf: + - $ref: "#/components/schemas/SubscriptionTier" + nullable: true + type: object + description: Cloud subscription status retrieved successfully + "401": + description: Unauthorized or invalid token + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Check cloud subscription status + tags: + - API Nodes + - Released + x-excluded: true + /customers/credit: + post: + operationId: InitiateCreditPurchase + requestBody: + content: + application/json: + schema: + properties: + amount_micros: + description: the amount of the checkout transaction in micro value + format: int64 + type: integer + currency: + description: the currency used in the checkout transaction + type: string + required: + - amount_micros + - currency + type: object + required: true + responses: + "201": + content: + application/json: + schema: + properties: + checkout_url: + description: the url to redirect the customer + type: string + type: object + description: Customer Checkout created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid token or user already exists" + "401": + description: Unauthorized or invalid token + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Initiates a Credit Purchase. + tags: + - API Nodes + - Released + x-excluded: true + /customers/events: + get: + operationId: GetCustomerEvents + parameters: + - description: Page number of the nodes list + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of nodes to return per page + in: query + name: limit + schema: + default: 10 + type: integer + - description: Event type to filter + in: query + name: filter + schema: + type: string + - description: "Start date for filtering events (RFC3339 format, e.g., 2025-01-01T00:00:00Z)" + in: query + name: start_date + schema: + format: date-time + type: string + - description: "End date for filtering events (RFC3339 format, e.g., 2025-01-31T23:59:59Z)" + in: query + name: end_date + schema: + format: date-time + type: string + responses: + "200": + content: + application/json: + schema: + properties: + events: + items: + $ref: "#/components/schemas/AuditLog" + type: array + limit: + description: Maximum number of nodes per page + type: integer + page: + description: Current page number + type: integer + total: + description: Total number of events available + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: A paginated list of nodes + "400": + description: "Invalid input, object invalid" + "404": + description: Not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get events related to customer + tags: + - API Nodes + x-excluded: true + /customers/me: + get: + description: Returns details about the currently authenticated customer based on their JWT token. + operationId: GetAuthenticatedCustomer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Customer" + description: Customer details retrieved successfully + "401": + description: Unauthorized or invalid token + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get authenticated customer details + tags: + - API Nodes + x-excluded: true + /customers/storage: + post: + description: Store a resource for a customer. Resource will have a 24 hour expiry. The signed URL will be generated for the specified file path. + operationId: CreateCustomerStorageResource + requestBody: + content: + application/json: + schema: + properties: + content_type: + description: "The content type of the file (e.g., 'image/png')" + type: string + file_hash: + description: "The hash of the file. If provided, an existing file with the same hash may be returned." + type: string + file_name: + description: "The desired name of the file (e.g., 'profile.jpg')" + type: string + required: + - file_name + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CustomerStorageResourceResponse" + description: Signed URL generated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Store a resource for a customer + tags: + - API Nodes + x-excluded: true + /customers/usage: + post: + description: "Returns the customer's as a dashboard URL." + operationId: GetCustomerUsage + requestBody: + content: + application/json: + schema: + properties: + color_overrides: + description: Optional list of colors to override for branding + items: + properties: + name: + description: The color property to override + enum: + - Gray_dark + - Gray_medium + - Gray_light + - Gray_extralight + - White + - Primary_medium + - Primary_light + - UsageLine_0 + - UsageLine_1 + - UsageLine_2 + - UsageLine_3 + - UsageLine_4 + - UsageLine_5 + - UsageLine_6 + - UsageLine_7 + - UsageLine_8 + - UsageLine_9 + - Primary_green + - Primary_red + - Progress_bar + - Progress_bar_background + type: string + value: + description: "Hex color code (e.g., \"#FF5733\")" + pattern: "^#[0-9A-Fa-f]{6}$" + type: string + required: + - name + - value + type: object + type: array + dashboard_type: + default: usage + description: The type of dashboard to retrieve + enum: + - invoices + - usage + - credits + - commits_and_credits + type: string + type: object + responses: + "200": + content: + application/json: + schema: + properties: + url: + description: "The dashboard URL for the customer's usage" + type: string + type: object + description: Successful response + "401": + description: Unauthorized or invalid token + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: "Get customer's usage" + tags: + - API Nodes + x-excluded: true + /customers/usage/timeseries: + get: + description: "Returns the authenticated customer's gross usage spend, grouped by model, endpoint, or product, as one stacked data point per billing period, plus a per-group breakdown and a summary, for rendering a custom usage dashboard. Sourced from invoice line items (real USD). Replaces the embeddable iframe." + operationId: GetCustomerUsageTimeSeries + parameters: + - description: Dimension to group spend by. Falls back to product name when the chosen key is absent on a line item. + in: query + name: group_by + schema: + default: model + enum: + - model + - endpoint + - product + type: string + - description: "Bucket size for the time series. \"month\" uses monthly invoice line items; \"day\" and \"hour\" use invoice breakdowns (provide starting_on/ending_before)." + in: query + name: granularity + schema: + default: month + enum: + - hour + - day + - month + type: string + - description: RFC 3339 start of the range (inclusive). Defaults to months before ending_before. + in: query + name: starting_on + schema: + format: date-time + type: string + - description: RFC 3339 end of the range (exclusive). Defaults to now. + in: query + name: ending_before + schema: + format: date-time + type: string + - description: "Lookback window in months, used when starting_on is omitted." + in: query + name: months + schema: + default: 6 + maximum: 24 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CustomerUsageTimeSeries" + description: Customer usage time series retrieved successfully + "401": + description: Unauthorized or invalid token + "404": + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Get customer's usage time series" + tags: + - API Nodes + x-excluded: true + "/customers/{customer_id}": + get: + description: Returns details about a customer by their ID. + operationId: GetCustomerById + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + customer: + $ref: "#/components/schemas/CustomerAdmin" + type: object + description: Customer details retrieved successfully + "401": + description: Unauthorized or invalid token + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get a customer by ID + tags: + - API Nodes + - Admin + x-excluded: true + "/customers/{customer_id}/balance": + get: + description: "Returns the specified customer's current remaining balance in microamount and its currency, with separate breakdowns for prepaid commits and cloud credits." + operationId: GetCustomerBalanceById + parameters: + - description: The ID of the customer whose balance to retrieve + in: path + name: customer_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + amount_micros: + description: "The total remaining balance in microamount (1/1,000,000 of the currency unit)" + format: double + type: number + cloud_credit_balance_micros: + description: The remaining balance from cloud credits in microamount + format: double + type: number + currency: + description: "The currency code (e.g., \"usd\")" + type: string + effective_balance_micros: + description: The effective balance (total balance minus pending charges). Can be negative if pending charges exceed the balance. Only included when the show_negative_balances feature flag is enabled. + format: double + type: number + pending_charges_micros: + description: The total amount of pending/unbilled charges from draft invoices in microamount. Only included when the show_negative_balances feature flag is enabled. + format: double + type: number + prepaid_balance_micros: + description: The remaining balance from prepaid commits in microamount + format: double + type: number + required: + - amount_micros + - currency + type: object + description: Customer balance retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized or invalid token + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Get customer's remaining balance by ID" + tags: + - API Nodes + - Admin + x-excluded: true + "/customers/{customer_id}/events": + get: + operationId: GetCustomerEventsById + parameters: + - in: path + name: customer_id + required: true + schema: + type: string + - description: Page number of the nodes list + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of nodes to return per page + in: query + name: limit + schema: + default: 10 + type: integer + - description: Event type to filter + in: query + name: filter + schema: + type: string + - description: "Start date for filtering events (RFC3339 format, e.g., 2025-01-01T00:00:00Z)" + in: query + name: start_date + schema: + format: date-time + type: string + - description: "End date for filtering events (RFC3339 format, e.g., 2025-01-31T23:59:59Z)" + in: query + name: end_date + schema: + format: date-time + type: string + responses: + "200": + content: + application/json: + schema: + properties: + events: + items: + $ref: "#/components/schemas/AuditLog" + type: array + limit: + description: Maximum number of nodes per page + type: integer + page: + description: Current page number + type: integer + total: + description: Total number of events available + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: A paginated list of nodes + "400": + description: "Invalid input, object invalid" + "404": + description: Not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get events related to customer + tags: + - API Nodes + x-excluded: true + "/customers/{customer_id}/usage": + post: + description: Manually track usage for a customer in Metronome. This endpoint is for admin use to record usage events. + operationId: TrackCustomerUsage + parameters: + - description: The ID of the customer to track usage for + in: path + name: customer_id + required: true + schema: + type: string + - description: Admin API secret used to authorize this request + in: header + name: X-Comfy-Admin-Secret + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + params: + additionalProperties: true + description: Custom parameters for the usage event + type: object + timestamp: + description: Timestamp of the usage event (RFC3339 format) + format: date-time + type: string + transaction_id: + description: Unique transaction ID for this usage event + format: uuid + type: string + required: + - transaction_id + - params + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + message: + description: Success message + type: string + type: object + description: Usage tracked successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized or invalid token + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Customer not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Track usage for a customer (Admin only) + tags: + - API Nodes + - Admin + x-excluded: true + /features: + get: + description: "Returns the server's feature capabilities" + operationId: GetFeatures + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FeaturesResponse" + description: Success + summary: Get server feature flags + tags: + - Registry + /gitcommit: + get: + description: "Returns all runs, jobs, job results, and storage files associated with a given commit." + operationId: GetGitcommit + parameters: + - description: The ID of the commit to fetch data for. + in: query + name: commitId + schema: + type: string + - description: The operating system to filter the CI data by. + in: query + name: operatingSystem + schema: + type: string + - description: The name of the workflow to filter the CI data by. + in: query + name: workflowName + schema: + type: string + - description: The branch of the gitcommit to filter the CI data by. + in: query + name: branch + schema: + type: string + - description: The page number to retrieve. + in: query + name: page + schema: + default: 1 + type: integer + - description: The number of items to include per page. + in: query + name: pageSize + schema: + default: 10 + type: integer + - description: The repo to filter by. + in: query + name: repoName + schema: + default: comfyanonymous/ComfyUI + type: string + responses: + "200": + content: + application/json: + schema: + properties: + jobResults: + items: + $ref: "#/components/schemas/ActionJobResult" + type: array + totalNumberOfPages: + type: integer + type: object + description: "An object containing runs, jobs, job results, and storage files" + "404": + description: Commit not found + "500": + description: Internal server error + summary: Retrieve CI data for a given commit + tags: + - ComfyUI CI + x-excluded: true + /gitcommitsummary: + get: + description: "Returns a summary of git commits, including status, start time, and end time." + operationId: GetGitcommitsummary + parameters: + - description: The repository name to filter the git commits by. + in: query + name: repoName + schema: + default: comfyanonymous/ComfyUI + type: string + - description: The branch name to filter the git commits by. + in: query + name: branchName + schema: + type: string + - description: The page number to retrieve. + in: query + name: page + schema: + default: 1 + type: integer + - description: The number of items to include per page. + in: query + name: pageSize + schema: + default: 10 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + commitSummaries: + items: + $ref: "#/components/schemas/GitCommitSummary" + type: array + totalNumberOfPages: + type: integer + type: object + description: Successfully retrieved git commit summaries + "500": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Internal server error + summary: Retrieve a summary of git commits + tags: + - ComfyUI CI + x-excluded: true + /nodes: + get: + description: Returns a paginated list of nodes across all publishers. + operationId: ListAllNodes + parameters: + - description: Page number of the nodes list + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of nodes to return per page + in: query + name: limit + schema: + default: 10 + type: integer + - description: Filter nodes by supported operating systems + examples: + linux: + value: "POSIX :: Linux" + macos: + value: MacOS + macosx: + value: "MacOS :: MacOS X" + osIndependent: + value: OS Independent + ubuntu: + value: "POSIX :: Linux :: Ubuntu" + windows: + value: "Microsoft :: Windows" + windows10: + value: "Microsoft :: Windows :: Windows 10" + in: query + name: supported_os + schema: + type: string + - description: Filter nodes by supported accelerator + in: query + name: supported_accelerator + schema: + type: string + - description: Number of nodes to return per page + in: query + name: include_banned + schema: + type: boolean + - description: Retrieve nodes created or updated after this timestamp (ISO 8601 format) + in: query + name: timestamp + schema: + format: date-time + type: string + - description: Whether to fetch fresh result from database or use cached one if false + in: query + name: latest + schema: + type: boolean + - description: "Database column to use as ascending ordering. Add `;desc` as suffix on each column for descending sort" + in: query + name: sort + schema: + items: + type: string + type: array + - description: node_id to use as filter + in: query + name: node_id + schema: + items: + type: string + type: array + - description: Comfy UI version + in: query + name: comfyui_version + schema: + type: string + - description: The platform requesting the nodes + in: query + name: form_factor + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + limit: + description: Maximum number of nodes per page + type: integer + nodes: + items: + $ref: "#/components/schemas/Node" + type: array + page: + description: Current page number + type: integer + total: + description: Total number of nodes available + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: A paginated list of nodes + "400": + description: "Invalid input, object invalid" + "404": + description: Not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieves a list of nodes + tags: + - Registry + /nodes/reindex: + post: + operationId: ReindexNodes + parameters: + - description: Maximum number of nodes to send to algolia at a time + in: query + name: max_batch + schema: + type: integer + responses: + "200": + description: Reindex completed successfully. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request. + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Reindex all nodes for searching. + tags: + - Registry + x-excluded: true + /nodes/search: + get: + description: Returns a paginated list of nodes across all publishers. + operationId: SearchNodes + parameters: + - description: Page number of the nodes list + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of nodes to return per page + in: query + name: limit + schema: + default: 10 + type: integer + - description: Keyword to search the nodes + in: query + name: search + schema: + type: string + - description: Keyword to search the nodes by repository URL + in: query + name: repository_url_search + schema: + type: string + - description: Keyword to search the nodes by comfy node name + in: query + name: comfy_node_search + schema: + type: string + - description: Filter nodes by supported operating systems + examples: + linux: + value: "POSIX :: Linux" + macos: + value: MacOS + macosx: + value: "MacOS :: MacOS X" + osIndependent: + value: OS Independent + ubuntu: + value: "POSIX :: Linux :: Ubuntu" + windows: + value: "Microsoft :: Windows" + windows10: + value: "Microsoft :: Windows :: Windows 10" + in: query + name: supported_os + schema: + type: string + - description: Filter nodes by supported accelerator + in: query + name: supported_accelerator + schema: + type: string + - description: Number of nodes to return per page + in: query + name: include_banned + schema: + type: boolean + responses: + "200": + content: + application/json: + schema: + properties: + limit: + description: Maximum number of nodes per page + type: integer + nodes: + items: + $ref: "#/components/schemas/Node" + type: array + page: + description: Current page number + type: integer + total: + description: Total number of nodes available + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: A paginated list of nodes + "400": + description: "Invalid input, object invalid" + "404": + description: Not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieves a list of nodes + tags: + - Registry + /nodes/update-github-stars: + post: + operationId: UpdateGithubStars + parameters: + - description: Maximum number of nodes to update in one batch + in: query + name: max_batch + schema: + default: 100 + type: integer + responses: + "200": + description: Update GithubStars request triggered successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request. + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Update GitHub stars for nodes + tags: + - Registry + x-excluded: true + "/nodes/{nodeId}": + get: + description: Returns the details of a specific node. + operationId: GetNode + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - description: Whether to include the translation or not + in: query + name: include_translations + schema: + type: boolean + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node details + "302": + description: Redirect to node with normalized name match + headers: + Location: + description: URL of the node with the correct ID + schema: + type: string + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve a specific node by ID + tags: + - Registry + "/nodes/{nodeId}/install": + get: + description: "Retrieves the node data for installation, either the latest or a specific version." + operationId: InstallNode + parameters: + - description: The unique identifier of the node. + in: path + name: nodeId + required: true + schema: + type: string + - description: "Specific version of the node to retrieve. If omitted, the latest version is returned." + in: query + name: version + schema: + pattern: ^\d+\.\d+\.\d+$ + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersion" + description: Node data returned successfully. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Invalid input, such as a bad version format." + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node not found. + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Returns a node version to be installed. + tags: + - Registry + "/nodes/{nodeId}/reviews": + post: + operationId: PostNodeReview + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - description: number of star given to the node version + in: query + name: star + required: true + schema: + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Detailed information about a specific node + "400": + description: Bad Request + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Node version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Add review to a specific version of a node + tags: + - Registry + "/nodes/{nodeId}/translations": + post: + operationId: CreateNodeTranslations + parameters: + - description: The unique identifier of the node. + in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + data: + additionalProperties: + additionalProperties: true + type: object + type: object + type: object + required: true + responses: + "201": + description: Detailed information about a specific node + "400": + description: Bad Request + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Node version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Create Node Translations + tags: + - Registry + "/nodes/{nodeId}/versions": + get: + operationId: ListNodeVersions + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: query + name: statuses + schema: + items: + $ref: "#/components/schemas/NodeVersionStatus" + type: array + - in: query + name: include_status_reason + schema: + default: false + type: boolean + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/NodeVersion" + type: array + description: List of all node versions + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node banned + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: List all versions of a node + tags: + - Registry + "/nodes/{nodeId}/versions/{versionId}": + get: + operationId: GetNodeVersion + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - description: The version of the node. (Not a UUID). + in: path + name: versionId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersion" + description: Detailed information about a specific node version + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Node version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve a specific version of a node + tags: + - Registry + "/nodes/{nodeId}/versions/{version}/comfy-nodes": + get: + operationId: ListComfyNodes + parameters: + - description: The page number to retrieve. + in: query + name: page + schema: + default: 1 + type: integer + - description: The number of items to include per page. + in: query + name: limit + schema: + default: 10 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + comfy_nodes: + items: + $ref: "#/components/schemas/ComfyNode" + type: array + totalNumberOfPages: + type: integer + type: object + description: Comy Nodes obtained successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: list comfy-nodes for node version + tags: + - Registry + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: version + required: true + schema: + type: string + post: + operationId: CreateComfyNodes + requestBody: + content: + application/json: + schema: + properties: + cloud_build_info: + $ref: "#/components/schemas/ComfyNodeCloudBuildInfo" + nodes: + additionalProperties: + $ref: "#/components/schemas/ComfyNode" + reason: + type: string + status: + type: string + success: + type: boolean + type: object + required: true + responses: + "204": + description: Comy Nodes created successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + "409": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Existing Comfy Nodes exists + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: create comfy-nodes for certain node + tags: + - Registry + "/nodes/{nodeId}/versions/{version}/comfy-nodes/{comfyNodeName}": + get: + operationId: GetComfyNode + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: version + required: true + schema: + type: string + - in: path + name: comfyNodeName + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ComfyNode" + description: Comy Nodes created successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: get specify comfy-node based on its id + tags: + - Registry + put: + operationId: UpdateComfyNode + parameters: + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: version + required: true + schema: + type: string + - in: path + name: comfyNodeName + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ComfyNodeUpdateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ComfyNode" + description: Comfy Node updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: ComfyNode not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Update a specific comfy-node + tags: + - Registry + /proxy/anthropic/v1/messages: + post: + description: "Forwards a Messages API request to Anthropic's `/v1/messages` endpoint\nand returns the model's reply. Supports both JSON responses and\nServer-Sent Events streaming (selected via `stream: true` in the body).\n" + operationId: AnthropicCreateMessage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/AnthropicCreateMessageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/AnthropicCreateMessageResponse" + text/event-stream: + schema: + description: Server-Sent Events stream of Anthropic message events + type: string + description: "Successful response from Anthropic Messages API. JSON shape when `stream` is omitted or false; otherwise a `text/event-stream` of message events." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a message via Anthropic Claude + tags: + - API Nodes + - Released + x-excluded: true + /proxy/beeble/v1/switchx/generations: + post: + description: Start a SwitchX compositing job. + operationId: BeebleCreateSwitchXJob + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleCreateSwitchXRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleSwitchXStatusResponse" + description: "The resulting job data. This will be returned in a pending state until the job is completed. See /v1/switchx/generations/{job_id} for retrieving the results." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Start SwitchX Generation + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/beeble/v1/switchx/generations/{job_id}": + get: + description: Poll the status of a SwitchX job. + operationId: BeebleGetSwitchXStatus + parameters: + - description: Job identifier (swx_...) + in: path + name: job_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleSwitchXStatusResponse" + description: The most up-to-date state of the job. Check the status field to determine completion. Output URLs are signed and expire after 72 hours; each call returns freshly signed URLs. + "401": + description: Unauthorized + "404": + description: Job not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get SwitchX Job Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/beeble/v1/uploads: + post: + description: "Create a presigned upload URL for a media file. The returned beeble_uri can be used as source_uri, reference_image_uri, or alpha_uri in SwitchX generation calls." + operationId: BeebleCreateUpload + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleUploadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BeebleUploadResponse" + description: Presigned upload URL and beeble:// URI. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create Beeble Upload URL + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-2-max/generate: + post: + description: "Forwards image generation requests to BFL's Flux 2 Max API and returns the results. Supports image-to-image generation with up to 8 input images." + operationId: BflFlux2MaxGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFlux2ProGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: Successful response from BFL Flux 2 Max proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux 2 Max for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-2-pro/generate: + post: + description: "Forwards image generation requests to BFL's Flux 2 Pro API and returns the results. Supports image-to-image generation with up to 5 input images." + operationId: BflFlux2ProGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFlux2ProGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: Successful response from BFL Flux 2 Pro proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux 2 Pro for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-kontext-max/generate: + post: + description: "Forwards image editing requests to BFL's Flux Kontext Max API and returns the results." + operationId: BflFluxKontextMaxGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxKontextMaxGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxKontextMaxGenerateResponse" + description: Successful response from BFL Flux Kontext Max proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Kontext Max for image editing + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-kontext-pro/generate: + post: + description: "Forwards image editing requests to BFL's Flux Kontext Pro API and returns the results." + operationId: BflFluxKontextProGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxKontextProGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxKontextProGenerateResponse" + description: Successful response from BFL Flux Kontext Pro proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Kontext Pro for image editing + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.0-canny/generate: + post: + description: "Submits an image generation task with FLUX.1 Canny [pro]." + operationId: BFLProCannyV1FluxPro10CannyPost + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLCannyInputs" + required: true + responses: + "200": + content: + application/json: + schema: + anyOf: + - $ref: "#/components/schemas/BFLAsyncResponse" + - $ref: "#/components/schemas/BFLAsyncWebhookResponse" + title: Response Pro Canny V1 Flux Pro 1 0 Canny Post + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLHTTPValidationError" + description: Validation Error + summary: "Generate an image with FLUX.1 Canny [pro] using a control image." + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.0-depth/generate: + post: + description: "Submits an image generation task with FLUX.1 Depth [pro]." + operationId: BFLProDepthV1FluxPro10DepthPost + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLDepthInputs" + required: true + responses: + "200": + content: + application/json: + schema: + anyOf: + - $ref: "#/components/schemas/BFLAsyncResponse" + - $ref: "#/components/schemas/BFLAsyncWebhookResponse" + title: Response Pro Depth V1 Flux Pro 1 0 Depth Post + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLHTTPValidationError" + description: Validation Error + summary: "Generate an image with FLUX.1 Depth [pro] using a control image." + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.0-expand/generate: + post: + description: "Submits an image expansion task that adds the specified number of pixels to any combination of sides (top, bottom, left, right) while maintaining context." + operationId: BFLExpandV1FluxPro10ExpandPost + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProExpandInputs" + required: true + responses: + "200": + content: + application/json: + schema: + anyOf: + - $ref: "#/components/schemas/BFLAsyncResponse" + - $ref: "#/components/schemas/BFLAsyncWebhookResponse" + title: Response Expand V1 Flux Pro 1 0 Expand Post + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLHTTPValidationError" + description: Validation Error + summary: Expand an image by adding pixels on any side. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.0-fill/generate: + post: + description: "Submits an image generation task with the FLUX.1 Fill [pro] model using an input image and mask. Mask can be applied to alpha channel or submitted as a separate image." + operationId: BFLFillV1FluxPro10FillPost + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProFillInputs" + required: true + responses: + "200": + content: + application/json: + schema: + anyOf: + - $ref: "#/components/schemas/BFLAsyncResponse" + - $ref: "#/components/schemas/BFLAsyncWebhookResponse" + title: Response Fill V1 Flux Pro 1 0 Fill Post + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLHTTPValidationError" + description: Validation Error + summary: "Generate an image with FLUX.1 Fill [pro] using an input image and mask." + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.1-ultra/generate: + post: + description: "Forwards image generation requests to BFL's Flux Pro 1.1 Ultra API and returns the results." + operationId: BflFluxProGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: Successful response from BFL Flux Pro proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Pro 1.1 Ultra for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/flux-pro-1.1/generate: + post: + description: "Forwards image generation requests to BFL's Flux Pro 1.1 API and returns the results." + operationId: BflFluxPro11Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxPro1_1GenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxPro1_1GenerateResponse" + description: Successful response from BFL Flux Pro proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Pro 1.1 for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/v1/flux-tools/erase-v1: + post: + description: "Forwards erase requests to BFL's Flux Tools Erase v1 API and returns the results. Uses an input image and a mask identifying the object or region to remove." + operationId: BflEraseV1Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLEraseV1Request" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: Successful response from BFL Flux Tools Erase v1 proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Tools Erase v1 for object removal + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bfl/v1/flux-tools/vto-v1: + post: + description: "Forwards virtual try-on requests to BFL's Flux Tools VTO v1 API and returns the results. Person and garment images are mapped to the underlying input image slots." + operationId: BflVtoV1Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BFLVtoV1Request" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BFLFluxProGenerateResponse" + description: Successful response from BFL Flux Tools VTO v1 proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or BFL) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with BFL) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (BFL took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to BFL Flux Tools VTO v1 for virtual try-on + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/image/edit: + post: + description: "Edit an existing image using Bria's FIBO Edit API. You can provide:\n1. A source image and a text-based instruction (prompt)\n2. A source image and a structured_instruction\n3. A source image, a mask, and a text-based instruction\n4. A source image, a mask, and a structured_instruction\n\nThis endpoint always uses async mode (sync: false) and returns a status_url to poll for results.\n" + operationId: BriaFiboEdit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaFiboEditRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Content moderation failure + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Edit an image using Bria FIBO + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/image/edit/remove_background: + post: + description: "Remove the background of an image using Bria's RMBG 2.0 model.\n\nReturns HTTP 202 with request_id and status_url when async (default).\nCan return 200 with result directly when sync is true.\n\nAccepted image formats: JPEG, JPG, PNG, WEBP.\n" + operationId: BriaImageRemoveBackground + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaImageRemoveBackgroundRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Content moderation failure + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Remove background from an image using Bria + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/bria/v2/status/{request_id}": + get: + description: "Retrieves the current status of an asynchronous Bria request.\n\nPoll this endpoint until the status is COMPLETED or ERROR.\n\nStatus values:\n- `IN_PROGRESS` – Request is being processed. Continue polling.\n- `COMPLETED` – Success. Response includes `result.image_url` for images, `result.video_url` for videos, or `result.structured_prompt` for structured prompt generation. Additional optional fields (seed, prompt, refined_prompt) may be included.\n- `ERROR` – Processing failed. Check error object for details.\n- `UNKNOWN` – Unexpected internal error.\n" + operationId: BriaGetStatus + parameters: + - description: "Unique identifier of the request (returned from edit, generate, or remove_background endpoints)" + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaStatusResponse" + description: Status retrieved successfully + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaStatusNotFoundResponse" + description: Request ID not found or expired + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get Bria request status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/structured_instruction/generate: + post: + description: "Translates a user's text-based edit instruction and source image/mask into a detailed,\nmachine-readable structured edit instruction in JSON format.\n\nThis endpoint uses Gemini 2.5 Flash VLM to understand the edit context and returns only\nthe JSON string without generating an image.\n\nThe resulting structured_instruction can be used as input for the /proxy/bria/v2/image/edit endpoint.\n\nThis endpoint always uses async mode (sync: false) and returns a status_url to poll for results.\n" + operationId: BriaStructuredInstructionGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaStructuredInstructionRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Content moderation failure + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Generate a structured instruction from text + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/video/edit/green_screen: + post: + description: "Initiates an asynchronous green-screen (chroma key) job for a video using Bria's API.\nThe original background is replaced with a solid broadcast-green, chroma-green, or blue\nscreen suitable for compositing.\n\nReturns HTTP 202 with request_id and status_url. Poll the status endpoint for results.\n\nSupported input containers: .mp4, .mov, .webm, .avi, .gif\nSupported input codecs: H.264, H.265 (HEVC), VP9, AV1, PhotoJPEG\nMax input duration: 60 seconds. Input resolution up to 16000x16000.\n" + operationId: BriaVideoGreenScreen + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaVideoGreenScreenRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Unprocessable Entity + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Apply a green screen to a video using Bria + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/video/edit/remove_background: + post: + description: "Initiates an asynchronous background removal job for a video using Bria's API.\n\nReturns HTTP 202 with request_id and status_url. Poll the status endpoint for results.\n\nSupported input containers: .mp4, .mov, .webm, .avi, .gif\nSupported input codecs: H.264, H.265 (HEVC), VP9, AV1, PhotoJPEG\nMax input duration: 60 seconds. Input resolution up to 16000x16000.\n" + operationId: BriaVideoRemoveBackground + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaVideoRemoveBackgroundRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Unprocessable Entity + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Remove background from a video using Bria + tags: + - API Nodes + - Released + x-excluded: true + /proxy/bria/v2/video/edit/replace_background: + post: + description: "Initiates an asynchronous background-replacement job for a video using Bria's API.\nThe original background is composited out and replaced with the supplied background\nimage or video.\n\nReturns HTTP 202 with request_id and status_url. Poll the status endpoint for results.\n\nSupported input containers: .mp4, .mov, .webm, .avi, .gif\nSupported input codecs: H.264, H.265 (HEVC), VP9, AV1, PhotoJPEG\nMax input duration: 60 seconds. Input resolution up to 16000x16000.\nThe background asset must match the foreground aspect ratio.\n" + operationId: BriaVideoReplaceBackground + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BriaVideoReplaceBackgroundRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaAsyncResponse" + description: "Request accepted, processing asynchronously" + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/BriaErrorResponse" + description: Unprocessable Entity + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Replace the background of a video using Bria + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/byteplus-seedance2/api/v3/contents/generations/tasks/{task_id}": + get: + operationId: ByteplusSeedance2VideoGenerationQuery + parameters: + - description: The ID of the Seedance 2.0 video generation task to query + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusVideoGenerationQueryResponse" + description: Video generation task information retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/contents/generations/tasks: + post: + operationId: ByteplusVideoGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusVideoGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusVideoGenerationResponse" + description: Video generation task created successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/byteplus/api/v3/contents/generations/tasks/{task_id}": + get: + operationId: ByteplusVideoGenerationQuery + parameters: + - description: The ID of the video generation task to query + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusVideoGenerationQueryResponse" + description: Video generation task information retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/files: + post: + description: "Proxies POST https://ark.ap-southeast.bytepluses.com/api/v3/files. Uploads a binary file to ModelArk for later use (e.g. video understanding). See https://docs.byteplus.com/en/docs/ModelArk/1870405 for upstream details.\n" + operationId: ByteplusFileUpload + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/BytePlusFileUploadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusFile" + description: File uploaded successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Upload a file to BytePlus ModelArk + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/byteplus/api/v3/files/{id}": + get: + description: "Proxies GET https://ark.ap-southeast.bytepluses.com/api/v3/files/{id}. See https://docs.byteplus.com/en/docs/ModelArk/1870406 for upstream details.\n" + operationId: ByteplusFileGet + parameters: + - description: The ID of the file to retrieve. + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusFile" + description: File information retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Retrieve BytePlus ModelArk file information + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/images/generations: + post: + operationId: ByteplusImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusImageGenerationResponse" + description: Image generation completed successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/responses: + post: + description: "Proxies POST https://ark.ap-southeast.bytepluses.com/api/v3/responses. Creates a model response that supports text, image, video and file inputs, tool calls, structured output and deep-reasoning. See https://docs.byteplus.com/en/docs/ModelArk/1585128 for the upstream tutorial and request reference; the response object is documented at https://docs.byteplus.com/en/docs/ModelArk/1783703.\n" + operationId: ByteplusResponseCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusResponseCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusResponseObject" + description: Model response body (BytePlusResponseObject). + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a BytePlus ModelArk model response + tags: + - API Nodes + - Released + x-excluded: true + /proxy/byteplus/api/v3/tts/create: + post: + description: "Proxies POST https://voice.ap-southeast-1.bytepluses.com/api/v3/tts/create. Synchronously generates audio (voice, music and sound effects) with the Seed Audio 1.0 model from a text prompt, optionally guided by reference audio or a reference image. Generated audio is capped at 120 seconds per request. See https://docs.byteplus.com/en/docs/byteplusvoice/seedaudio-01 for upstream details.\n" + operationId: ByteplusTTSCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusTTSCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BytePlusTTSCreateResponse" + description: Audio generation completed successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a BytePlus Seed Audio generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/dummy: + post: + description: Dummy proxy endpoint that returns a simple string + operationId: DummyProxy + requestBody: + content: + application/json: + schema: + properties: + message: + type: string + type: object + responses: + "200": + description: Reindex completed successfully. + summary: Dummy proxy + tags: + - API Nodes + x-excluded: true + /proxy/elevenlabs/v1/audio-isolation: + post: + description: "Removes background noise from audio. Isolates vocals/speech from background sounds.\n" + operationId: ElevenLabsAudioIsolation + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/ElevenLabsAudioIsolationRequest" + required: true + responses: + "200": + content: + application/octet-stream: + schema: + format: binary + type: string + audio/mpeg: + schema: + format: binary + type: string + description: The isolated audio file + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Audio Isolation + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/shared-voices: + get: + description: "Retrieves a list of shared voices from the ElevenLabs voice library.\n" + operationId: ElevenLabsGetSharedVoices + parameters: + - description: "How many shared voices to return at maximum. Can not exceed 100, defaults to 30." + in: query + name: page_size + schema: + default: 30 + type: integer + - description: "Voice category used for filtering. One of: professional, famous, high_quality." + in: query + name: category + schema: + type: string + - description: Gender used for filtering + in: query + name: gender + schema: + type: string + - description: Age used for filtering + in: query + name: age + schema: + type: string + - description: Accent used for filtering + in: query + name: accent + schema: + type: string + - description: Language used for filtering + in: query + name: language + schema: + type: string + - description: Locale used for filtering + in: query + name: locale + schema: + type: string + - description: Search term used for filtering + in: query + name: search + schema: + type: string + - description: Use-case used for filtering + in: query + name: use_cases + schema: + items: + type: string + type: array + - description: Descriptives used for filtering + in: query + name: descriptives + schema: + items: + type: string + type: array + - description: Filter featured voices + in: query + name: featured + schema: + default: false + type: boolean + - description: Filter voices with a minimum notice period of the given number of days. + in: query + name: min_notice_period_days + schema: + type: integer + - description: Include/exclude voices with custom rates + in: query + name: include_custom_rates + schema: + type: boolean + - description: Include/exclude voices that are live moderated + in: query + name: include_live_moderated + schema: + type: boolean + - description: Filter voices that are enabled for the reader app + in: query + name: reader_app_enabled + schema: + default: false + type: boolean + - description: Filter voices by public owner ID + in: query + name: owner_id + schema: + type: string + - description: Sort criteria + in: query + name: sort + schema: + type: string + - description: Page number + in: query + name: page + schema: + default: 0 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsSharedVoicesPaginatedResponse" + description: Shared voices retrieved successfully + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: List Shared Voices + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/sound-generation: + post: + description: "Turn text into sound effects for your videos, voice-overs or video games\nusing the most advanced sound effects models in the world.\n" + operationId: ElevenLabsSoundGeneration + parameters: + - description: "Output format of the generated audio. Formatted as codec_sample_rate_bitrate.\nExamples: mp3_22050_32, mp3_44100_128, pcm_16000, ulaw_8000\n" + in: query + name: output_format + schema: + default: mp3_44100_128 + enum: + - mp3_22050_32 + - mp3_24000_48 + - mp3_44100_32 + - mp3_44100_64 + - mp3_44100_96 + - mp3_44100_128 + - mp3_44100_192 + - pcm_8000 + - pcm_16000 + - pcm_22050 + - pcm_24000 + - pcm_32000 + - pcm_44100 + - pcm_48000 + - ulaw_8000 + - alaw_8000 + - opus_48000_32 + - opus_48000_64 + - opus_48000_96 + - opus_48000_128 + - opus_48000_192 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsSoundGenerationRequest" + required: true + responses: + "200": + content: + application/octet-stream: + schema: + format: binary + type: string + audio/mpeg: + schema: + format: binary + type: string + description: The generated sound effect audio file + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Create Sound Effect + tags: + - API Nodes + - ElevenLabs + x-excluded: true + "/proxy/elevenlabs/v1/speech-to-speech/{voice_id}": + post: + description: "Transform audio from one voice to another. Maintain full control over emotion, timing and delivery.\n" + operationId: ElevenLabsSpeechToSpeech + parameters: + - description: ID of the voice to be used. Use the Get voices endpoint to list all available voices. + in: path + name: voice_id + required: true + schema: + type: string + - description: "When enable_logging is set to false zero retention mode will be used for the request.\nThis will mean history features are unavailable for this request, including request stitching.\nZero retention mode may only be used by enterprise customers.\n" + in: query + name: enable_logging + schema: + default: true + type: boolean + - description: "Latency optimization levels (0-4):\n0 - default mode (no latency optimizations)\n1 - normal latency optimizations (~50% improvement)\n2 - strong latency optimizations (~75% improvement)\n3 - max latency optimizations\n4 - max latency with text normalizer off (best latency but may mispronounce)\n" + in: query + name: optimize_streaming_latency + schema: + nullable: true + type: integer + - description: "Output format of the generated audio. Formatted as codec_sample_rate_bitrate.\nExamples: mp3_22050_32, mp3_44100_128, pcm_16000, ulaw_8000\n" + in: query + name: output_format + schema: + default: mp3_44100_128 + enum: + - mp3_22050_32 + - mp3_24000_48 + - mp3_44100_32 + - mp3_44100_64 + - mp3_44100_96 + - mp3_44100_128 + - mp3_44100_192 + - pcm_8000 + - pcm_16000 + - pcm_22050 + - pcm_24000 + - pcm_32000 + - pcm_44100 + - pcm_48000 + - ulaw_8000 + - alaw_8000 + - opus_48000_32 + - opus_48000_64 + - opus_48000_96 + - opus_48000_128 + - opus_48000_192 + type: string + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/ElevenLabsSpeechToSpeechRequest" + required: true + responses: + "200": + content: + application/octet-stream: + schema: + format: binary + type: string + audio/mpeg: + schema: + format: binary + type: string + audio/ogg: + schema: + format: binary + type: string + audio/wav: + schema: + format: binary + type: string + description: The generated audio file + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Voice Changer (Speech-to-Speech) + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/speech-to-text: + post: + description: "Transcribe an audio or video file. If webhook is set to true, the request will be processed\nasynchronously and results sent to configured webhooks. When use_multi_channel is true and\nthe provided audio has multiple channels, a 'transcripts' object with separate transcripts\nfor each channel is returned. Otherwise, returns a single transcript. The optional\nwebhook_metadata parameter allows you to attach custom data that will be included in\nwebhook responses for request correlation and tracking.\n" + operationId: ElevenLabsSpeechToText + parameters: + - description: "When enable_logging is set to false zero retention mode will be used for the request.\nThis will mean log and transcript storage features are unavailable for this request.\nZero retention mode may only be used by enterprise customers.\n" + in: query + name: enable_logging + schema: + default: true + type: boolean + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/ElevenLabsSTTRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsSTTResponse" + description: Synchronous transcription result + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Create transcript (Speech-to-Text) + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/text-to-dialogue: + post: + description: "Converts a list of text and voice ID pairs into speech (dialogue) and returns audio.\nUseful for generating conversations between multiple characters.\n" + operationId: ElevenLabsTextToDialogue + parameters: + - description: "Output format of the generated audio. Formatted as codec_sample_rate_bitrate.\nExamples: mp3_22050_32, mp3_44100_128, pcm_16000, ulaw_8000\n" + in: query + name: output_format + schema: + default: mp3_44100_128 + enum: + - mp3_22050_32 + - mp3_24000_48 + - mp3_44100_32 + - mp3_44100_64 + - mp3_44100_96 + - mp3_44100_128 + - mp3_44100_192 + - pcm_8000 + - pcm_16000 + - pcm_22050 + - pcm_24000 + - pcm_32000 + - pcm_44100 + - pcm_48000 + - ulaw_8000 + - alaw_8000 + - opus_48000_32 + - opus_48000_64 + - opus_48000_96 + - opus_48000_128 + - opus_48000_192 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsTextToDialogueRequest" + required: true + responses: + "200": + content: + application/octet-stream: + schema: + format: binary + type: string + audio/mpeg: + schema: + format: binary + type: string + audio/ogg: + schema: + format: binary + type: string + audio/wav: + schema: + format: binary + type: string + description: The generated audio file + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Create dialogue (Multi-voice TTS) + tags: + - API Nodes + - ElevenLabs + x-excluded: true + "/proxy/elevenlabs/v1/text-to-speech/{voice_id}": + post: + description: "Converts text into speech using a specified voice and returns audio.\n\nThe output format can be specified via the output_format query parameter.\nSupported formats include MP3, PCM, μ-law, and Opus with various sample rates and bitrates.\n" + operationId: ElevenLabsTextToSpeech + parameters: + - description: ID of the voice to use. Use the Get voices endpoint to list all available voices. + in: path + name: voice_id + required: true + schema: + type: string + - description: "When set to false, enables zero retention mode (enterprise only). History features will be unavailable." + in: query + name: enable_logging + schema: + default: true + type: boolean + - description: "Deprecated. Latency optimization levels (0-4):\n0 - default mode (no latency optimizations)\n1 - normal latency optimizations (~50% improvement)\n2 - strong latency optimizations (~75% improvement)\n3 - max latency optimizations\n4 - max latency with text normalizer off (best latency but may mispronounce)\n" + in: query + name: optimize_streaming_latency + schema: + maximum: 4 + minimum: 0 + type: integer + - description: "Output format of the generated audio. Formatted as codec_sample_rate_bitrate.\nExamples: mp3_22050_32, mp3_44100_128, pcm_16000, pcm_22050, ulaw_8000\n" + in: query + name: output_format + schema: + default: mp3_44100_128 + enum: + - mp3_22050_32 + - mp3_44100_32 + - mp3_44100_64 + - mp3_44100_96 + - mp3_44100_128 + - mp3_44100_192 + - pcm_8000 + - pcm_16000 + - pcm_22050 + - pcm_24000 + - pcm_32000 + - pcm_44100 + - pcm_48000 + - ulaw_8000 + - alaw_8000 + - opus_48000_32 + - opus_48000_64 + - opus_48000_96 + - opus_48000_128 + - opus_48000_192 + - wav_8000 + - wav_16000 + - wav_22050 + - wav_24000 + - wav_32000 + - wav_44100 + - wav_48000 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsTTSRequest" + required: true + responses: + "200": + content: + audio/mpeg: + schema: + format: binary + type: string + audio/ogg: + schema: + format: binary + type: string + audio/wav: + schema: + format: binary + type: string + description: The generated audio file + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: ElevenLabs Text to Speech + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v1/voices/add: + post: + description: "Create an instant voice clone and add it to your Voices.\n" + operationId: ElevenLabsCreateVoice + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/ElevenLabsCreateVoiceRequest" + required: true + responses: + "200": + content: + application/json: + schema: + properties: + requires_verification: + type: boolean + voice_id: + type: string + type: object + description: Voice created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Bad Request + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsValidationError" + description: Validation Error + security: + - BearerAuth: + [] + summary: Create Voice Clone + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/elevenlabs/v2/voices: + get: + description: "Proxies ElevenLabs `GET /v2/voices` (the paginated voice search endpoint)\nwith the `category` query parameter pinned to `premade`, so only premade\nvoices from the ElevenLabs voice library are ever returned.\n" + operationId: ElevenLabsGetVoices + parameters: + - description: Search term used to filter voices by name or description. + in: query + name: search + schema: + type: string + - description: "How many voices to return per page. Max 100, defaults to 10." + in: query + name: page_size + schema: + type: integer + - description: Pagination cursor returned by a previous call. + in: query + name: next_page_token + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ElevenLabsVoicesPaginatedResponse" + description: Voices retrieved successfully + "401": + description: Unauthorized + security: + - BearerAuth: + [] + summary: List Voices + tags: + - API Nodes + - ElevenLabs + x-excluded: true + /proxy/fal/fal-ai/patina: + post: + description: "Submits an image to fal's PATINA model (fal-ai/patina) via the async queue API and returns a request_id. Predicts PBR material maps (basecolor, normal, roughness, metalness, height) from a single input image. Poll the status endpoint, then fetch the result." + operationId: FalPatina + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FalPatinaRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalQueueStatus" + description: Request accepted and queued by fal + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit a PBR material prediction to fal PATINA (image-to-image) + tags: + - API Nodes + - Released + x-excluded: true + /proxy/fal/fal-ai/patina/material: + post: + description: "Submits a material generation request to fal's PATINA model (fal-ai/patina/material) via fal's async queue API and returns a request_id. PATINA generations (especially 8K / 4x upscaling) can take minutes, so the job is queued rather than run synchronously: poll the status endpoint and then fetch the result. The base texture plus the requested PBR maps (basecolor, normal, roughness, metalness, height) are returned by the result endpoint once status is COMPLETED." + operationId: FalPatinaMaterialSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FalPatinaMaterialRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalQueueStatus" + description: Request accepted and queued by fal + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit a PBR material generation to fal PATINA + tags: + - API Nodes + - Released + x-excluded: true + /proxy/fal/fal-ai/patina/material/extract: + post: + description: "Submits a prompt + input image to fal's PATINA model (fal-ai/patina/material/extract) via the async queue API and returns a request_id. Extracts a texture from the image and generates a complete tiling PBR material. Poll the status endpoint, then fetch the result." + operationId: FalPatinaMaterialExtract + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FalPatinaMaterialExtractRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalQueueStatus" + description: Request accepted and queued by fal + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit a texture extraction + PBR material generation to fal PATINA + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/fal/fal-ai/patina/requests/{request_id}": + get: + description: "Forwards to fal's queue result endpoint for the given request_id and returns the generated material once the request is COMPLETED: a base texture image plus the requested PBR maps." + operationId: FalPatinaMaterialResult + parameters: + - description: The fal queue request id returned at submission. + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalPatinaMaterialResponse" + description: The completed PATINA material result + "401": + description: Unauthorized + "404": + description: Request not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Fetch the result of a completed fal PATINA request + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/fal/fal-ai/patina/requests/{request_id}/status": + get: + description: "Forwards to fal's queue status endpoint for the given request_id. Returns the queue status (IN_QUEUE, IN_PROGRESS, or COMPLETED). Once COMPLETED, fetch the result from the request endpoint." + operationId: FalPatinaMaterialStatus + parameters: + - description: The fal queue request id returned at submission. + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FalQueueStatus" + description: Current queue status of the request + "401": + description: Unauthorized + "404": + description: Request not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Poll the status of a fal PATINA request + tags: + - API Nodes + - Released + x-excluded: true + /proxy/freepik/v1/ai/image-relight: + post: + description: "Relight an image using AI. This endpoint accepts a variety of parameters to customize the generated images.\n" + operationId: FreepikMagnificRelight + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikMagnificRelightRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The relight process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Relight an image + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/image-relight/{task_id}": + get: + description: Get the status of the relight task + operationId: FreepikMagnificRelightGetStatus + parameters: + - description: ID of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The task status is returned + "404": + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get the status of the relight task + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/image-style-transfer: + post: + description: Style transfer an image using AI. + operationId: FreepikMagnificStyleTransfer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikMagnificStyleTransferRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskData" + description: OK - The style transfer process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Style transfer an image + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/image-style-transfer/{task_id}": + get: + description: Get the status of the style transfer task + operationId: FreepikMagnificStyleTransferGetStatus + parameters: + - description: ID of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The task status is returned + "404": + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get the status of the style transfer task + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/image-upscaler: + post: + description: "This asynchronous endpoint enables image upscaling using advanced AI algorithms.\nUpon submission, it returns a unique task_id which can be used to track the progress.\nFor real-time production use, include the optional webhook_url parameter to receive\nan automated notification once the task has been completed.\n" + operationId: FreepikMagnificUpscalerCreative + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikMagnificUpscalerCreativeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The upscaling process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Upscale an image with Magnific + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/image-upscaler-precision-v2: + post: + description: "Upscales an image while adding new visual elements or details (V2).\nThis endpoint may modify the original image content based on the prompt and inferred context.\nUpon submission, it returns a unique task_id which can be used to track the progress.\n" + operationId: FreepikMagnificUpscalerPrecisionV2 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikMagnificUpscalerPrecisionV2Request" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The upscaling process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Upscale an image with Precision V2 + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/image-upscaler-precision-v2/{task_id}": + get: + description: Returns the current status and output URL of a specific precision upscaler V2 task. + operationId: FreepikMagnificUpscalerPrecisionV2GetStatus + parameters: + - description: ID of the task + in: path + name: task_id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The task status is returned + "404": + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get the status of the Precision V2 upscaling task + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/image-upscaler/{task_id}": + get: + description: Get the status of the upscaling task + operationId: FreepikMagnificUpscalerCreativeGetStatus + parameters: + - description: ID of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The task status is returned + "404": + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get the status of the upscaling task + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/skin-enhancer/creative: + post: + description: Enhance skin in images using AI with the Creative mode. This mode provides more artistic and stylized enhancements. + operationId: FreepikSkinEnhancerCreative + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikSkinEnhancerCreativeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The skin enhancer process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Skin enhancer using AI (Creative) + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/skin-enhancer/faithful: + post: + description: Enhance skin in images using AI with the Faithful mode. This mode preserves the original appearance while improving skin quality. + operationId: FreepikSkinEnhancerFaithful + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikSkinEnhancerFaithfulRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The skin enhancer process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Skin enhancer using AI (Faithful) + tags: + - Freepik + - Proxy + /proxy/freepik/v1/ai/skin-enhancer/flexible: + post: + description: Enhance skin in images using AI with the Flexible mode. This mode allows you to choose the optimization target for the enhancement. + operationId: FreepikSkinEnhancerFlexible + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikSkinEnhancerFlexibleRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The skin enhancer process has started + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Bad Request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Skin enhancer using AI (Flexible) + tags: + - Freepik + - Proxy + "/proxy/freepik/v1/ai/skin-enhancer/{task_id}": + get: + description: Get the status of a skin enhancer task (works for both Creative and Faithful modes) + operationId: FreepikSkinEnhancerGetStatus + parameters: + - description: ID of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikTaskResponse" + description: OK - The task status is returned + "404": + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/FreepikErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get the status of one skin enhancer task + tags: + - Freepik + - Proxy + /proxy/hitpaw/api/photo-enhancer: + post: + description: "Submit an image processing task using HitPaw Photo Enhancement API.\nSupports multiple enhancement models for image super-resolution processing.\n\nThe returned job_id can be used with the task-status endpoint to check processing results.\n\n**Available Models:**\n- Enhancement & Denoise Models (face_2x/4x, face_v2_2x/4x, general_2x/4x, high_fidelity_2x/4x, sharpen_denoise, detail_denoise):\n - Max input: 67 MP, Max output: 600 MP\n - Supported formats: bmp, jpeg, jpg, png, jfif, tga, tiff, webp, heif\n- Generative Models (generative_portrait, generative):\n - No input limit, Max output: 8K (33 MP)\n - Supported formats: bmp, jpeg, jpg, png, jfif, tga, tiff, webp, heif\n" + operationId: HitpawPhotoEnhancer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawPhotoEnhancerRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawJobResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit HitPaw Photo Enhancement Task + tags: + - API Nodes + - HitPaw + x-excluded: true + /proxy/hitpaw/api/task-status: + post: + description: "Query the status and result of a previously submitted photo or video enhancement task.\nPoll this endpoint until the task status indicates completion (COMPLETED).\n\n**Status Codes:**\n- CONVERTING: Job is currently being processed\n- COMPLETED: Job has completed successfully, result is available\n- ERROR: Job failed due to an error\n" + operationId: HitpawTaskStatus + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawTaskStatusRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawTaskStatusResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query HitPaw Task Status + tags: + - API Nodes + - HitPaw + x-excluded: true + /proxy/hitpaw/api/video-enhancer: + post: + description: "Submit a video processing task using HitPaw Video Enhancement API.\nUses AI technology to upscale low-resolution videos to high resolution,\neliminate artifacts and noise, and improve clarity and details.\n\nThe returned job_id can be used with the task-status endpoint to check processing results.\n\n**Video Constraints:**\n- Duration: 0.5 seconds to 1 hour\n- Maximum output resolution: 36 MP (Total Pixels)\n- Supported input formats: dv, mlv, m2ts, m2t, m2v, nut, ser, 3g2, 3gp, asf, divx, f4v, h261, h263, m4v, mkv, mov, mp4, mpeg, mpeg4, mpg, mxf, ogv, rm, rmvb, webm, wmv, dmsm, dvdmedia, dvr-ms, mts, trp, ts, vob, vro, gif, xvid\n- Supported output formats: mp4, mov, mkv, m4v, avi, gif\n" + operationId: HitpawVideoEnhancer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawVideoEnhancerRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawJobResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Payment Required - Insufficient credits + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/HitPawErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit HitPaw Video Enhancement Task + tags: + - API Nodes + - HitPaw + x-excluded: true + /proxy/ideogram/generate: + post: + description: "Forwards image generation requests to Ideogram's API and returns the results." + operationId: IdeogramGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Successful response from Ideogram proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or Ideogram) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Ideogram) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Ideogram took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to Ideogram for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/edit: + post: + description: "Forwards image editing requests to Ideogram's API and returns the results." + operationId: IdeogramV3Edit + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/IdeogramV3EditRequest" + description: Parameters for Ideogram V3 image editing + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Successful response from Ideogram proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Prompt or Initial Image failed the safety checks. + "429": + description: Rate limit exceeded (either from proxy or Ideogram) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Proxy request to Ideogram for image editing + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/generate: + post: + description: "Forwards image generation requests to Ideogram's API and returns the results." + operationId: IdeogramV3Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV3Request" + description: Parameters for Ideogram V3 image generation + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Successful response from Ideogram proxy + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Proxy request to Ideogram for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/reframe: + post: + operationId: IdeogramV3Reframe + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/IdeogramV3ReframeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV3IdeogramResponse" + description: Reframed image successfully returned + "400": + description: Bad Request + "401": + description: Unauthorized + "422": + description: Unprocessable Entity + "429": + description: Too Many Requests + summary: Reframe an image to a chosen resolution + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/remix: + post: + operationId: IdeogramV3Remix + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/IdeogramV3RemixRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV3IdeogramResponse" + description: Remix generated successfully + "400": + description: Bad Request + "403": + description: Forbidden + "422": + description: Unprocessable Entity + "429": + description: Too Many Requests + summary: Remix an image using a prompt + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v3/replace-background: + post: + operationId: IdeogramV3ReplaceBackground + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/IdeogramV3ReplaceBackgroundRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV3IdeogramResponse" + description: Background replaced successfully + "400": + description: Bad Request + "401": + description: Unauthorized + "422": + description: Unprocessable Entity + "429": + description: Too Many Requests + summary: Replace background of an image using a prompt + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ideogram/ideogram-v4/generate: + post: + description: "Forwards text-to-image generation requests to Ideogram's 4.0 API and returns the results." + operationId: IdeogramV4Generate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramV4Request" + description: Parameters for Ideogram 4.0 image generation + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Successful response from Ideogram proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or Ideogram) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Ideogram) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Ideogram took too long to respond) + summary: Proxy request to Ideogram 4.0 for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/image-to-video/kling-3.0-turbo: + post: + operationId: KlingV2CreateVideoFromImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2Image2VideoRequest" + description: Create a Kling 3.0 Turbo image-to-video task + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2CreateTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + summary: KlingAI 3.0 Turbo Create Video from Image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/tasks: + get: + operationId: KlingV2QueryTask + parameters: + - description: "System task IDs to query. Supports batch queries separated by \",\". Mutually exclusive with external_task_ids." + in: query + name: task_ids + schema: + type: string + - description: "Custom task IDs to query. Supports batch queries separated by \",\". Mutually exclusive with task_ids." + in: query + name: external_task_ids + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2QueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + summary: KlingAI 3.0 Turbo Query Task by ID + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/text-to-video/kling-3.0-turbo: + post: + operationId: KlingV2CreateVideoFromText + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2Text2VideoRequest" + description: Create a Kling 3.0 Turbo text-to-video task + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingV2CreateTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + summary: KlingAI 3.0 Turbo Create Video from Text + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/account/costs: + get: + operationId: KlingQueryResourcePackages + parameters: + - in: query + name: start_time + required: true + schema: + description: "Start time for the query, Unix timestamp in ms" + type: integer + - in: query + name: end_time + required: true + schema: + description: "End time for the query, Unix timestamp in ms" + type: integer + - in: query + name: resource_pack_name + schema: + description: Resource package name for precise querying of a specific package + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingResourcePackageResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Resource Package Information + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/general/advanced-presets-elements: + get: + description: "Retrieves a list of advanced preset elements from Kling AI.\n" + operationId: KlingGetPresetsElements + parameters: + - description: "Page number. Value range: [1, 1000]." + in: query + name: pageNum + schema: + default: 1 + type: integer + - description: "Data volume per page. Value range: [1, 500]." + in: query + name: pageSize + schema: + default: 30 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingPresetsElementsResponse" + description: Presets elements retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: KlingAI Query Presets Elements + tags: + - API Nodes + - Kling + x-excluded: true + /proxy/kling/v1/images/generations: + get: + operationId: KlingImageGenerationsQueryTaskList + parameters: + - description: Page number + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: Data volume per page + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImageGenerationsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Image Generation Task List + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingCreateImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImageGenerationsRequest" + description: Create task for generating images + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImageGenerationsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Image Generation Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/images/generations/{id}": + get: + operationId: KlingImageGenerationsQuerySingleTask + parameters: + - description: Task ID + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImageGenerationsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Image Generation Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/images/kolors-virtual-try-on: + get: + operationId: KlingVirtualTryOnQueryTaskList + parameters: + - description: Page number + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: Data volume per page + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVirtualTryOnResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Virtual Try-On Task List + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingCreateVirtualTryOn + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVirtualTryOnRequest" + description: Create task for virtual try-on of clothing on human images + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVirtualTryOnResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Virtual Try-On Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/images/kolors-virtual-try-on/{id}": + get: + operationId: KlingVirtualTryOnQuerySingleTask + parameters: + - description: Task ID + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVirtualTryOnResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Virtual Try-On Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/images/omni-image: + post: + operationId: KlingCreateOmniImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingOmniImageRequest" + description: Create task for generating omni-image + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingOmniImageResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Omni-Image Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/images/omni-image/{id}": + get: + operationId: KlingOmniImageQuerySingleTask + parameters: + - description: Task ID or External Task ID. Can query by either task_id (generated by system) or external_task_id (customized task ID) + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingOmniImageResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Omni-Image Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/avatar/image2video: + post: + operationId: KlingCreateAvatarVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingAvatarRequest" + description: Create task for generating avatar video from image and audio + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingAvatarResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Avatar Video + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/avatar/image2video/{id}": + get: + operationId: KlingAvatarQueryTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingAvatarResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Avatar Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/effects: + get: + operationId: KlingVideoEffectsQueryTaskList + parameters: + - description: Page number + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: Data volume per page + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoEffectsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Video Effects Task List + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingCreateVideoEffects + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoEffectsRequest" + description: Create task for generating video with effects + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoEffectsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Video Effects Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/effects/{id}": + get: + operationId: KlingVideoEffectsQuerySingleTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoEffectsResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Video Effects Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/image2video: + post: + operationId: KlingCreateVideoFromImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingImage2VideoRequest" + description: Create task for generating video from image + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Video from Image + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/image2video/{id}": + get: + operationId: KlingImage2VideoQuerySingleTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Image2Video Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/lip-sync: + get: + operationId: KlingLipSyncQueryTaskList + parameters: + - description: Page number + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: Data volume per page + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingLipSyncResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Lip-Sync Task List + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingCreateLipSyncVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingLipSyncRequest" + description: Create task for generating lip-sync video + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingLipSyncResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Lip-Sync Video + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/lip-sync/{id}": + get: + operationId: KlingLipSyncQuerySingleTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingLipSyncResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Lip-Sync Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/motion-control: + post: + operationId: KlingCreateMotionControl + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingMotionControlRequest" + description: Create task for generating motion control video + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingMotionControlResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Motion Control Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/motion-control/{id}": + get: + operationId: KlingMotionControlQuerySingleTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingMotionControlResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Motion Control Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/omni-video: + post: + operationId: KlingCreateOmniVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingOmniVideoRequest" + description: Create task for generating omni-video + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Omni-Video Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/omni-video/{id}": + get: + operationId: KlingOmniVideoQuerySingleTask + parameters: + - description: Task ID or External Task ID. Can query by either task_id (generated by system) or external_task_id (customized task ID) + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Omni-Video Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/text2video: + post: + operationId: KlingCreateVideoFromText + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingText2VideoRequest" + description: Create task for generating video from text + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Create Video from Text + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/text2video/{id}": + get: + operationId: KlingText2VideoQuerySingleTask + parameters: + - description: Task ID or external_task_id + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingQueryTaskResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/kling/v1/videos/video-extend: + get: + operationId: KlingVideoExtendQueryTaskList + parameters: + - description: Page number + in: query + name: pageNum + schema: + default: 1 + maximum: 1000 + minimum: 1 + type: integer + - description: Data volume per page + in: query + name: pageSize + schema: + default: 30 + maximum: 500 + minimum: 1 + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoExtendResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Video-Extend Task List + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: KlingExtendVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoExtendRequest" + description: Create task for extending video duration + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoExtendResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Extend Video Duration + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/kling/v1/videos/video-extend/{id}": + get: + operationId: KlingVideoExtendQuerySingleTask + parameters: + - description: Task ID + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingVideoExtendResponse" + description: Successful response (Request successful) + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/KlingErrorResponse" + description: Server timeout + summary: KlingAI Query Single Video-Extend Task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/krea/assets: + post: + description: Upload an asset + operationId: KreaUploadAsset + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/KreaAssetUploadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaAsset" + description: The uploaded asset. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Invalid file type/size + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Upload an asset + tags: + - API Nodes + - Released + x-excluded: true + /proxy/krea/generate/image/krea/krea-2/large: + post: + description: Best for expressive photorealism. + operationId: KreaGenerateImageLarge + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KreaGenerateImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaJob" + description: "The resulting job data. This will be returned in a pending state until the job is completed. See /jobs/{id} for retrieving the results." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Krea 2 Large + tags: + - API Nodes + - Released + x-excluded: true + /proxy/krea/generate/image/krea/krea-2/medium: + post: + description: Best for expressive illustrations. + operationId: KreaGenerateImageMedium + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KreaGenerateImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaJob" + description: "The resulting job data. This will be returned in a pending state until the job is completed. See /jobs/{id} for retrieving the results." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Krea 2 Medium + tags: + - API Nodes + - Released + x-excluded: true + /proxy/krea/generate/image/krea/krea-2/medium-turbo: + post: + description: "Faster, more affordable variant of Krea 2 Medium." + operationId: KreaGenerateImageMediumTurbo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/KreaGenerateImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaJob" + description: "The resulting job data. This will be returned in a pending state until the job is completed. See /jobs/{id} for retrieving the results." + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Krea 2 Medium Turbo + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/krea/jobs/{job_id}": + get: + description: Get a job by ID + operationId: KreaGetJob + parameters: + - description: A unique identifier for a job + in: path + name: job_id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/KreaJob" + description: "The most up-to-date state of the job. You can check when the job is completed by checking the status field. For completed loraTraining jobs, the result will include a style_id field." + "401": + description: Unauthorized + "404": + description: Job not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get a job by ID + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ltx/v1/image-to-video: + post: + description: Transform a static image into a dynamic video using LTX Video AI models + operationId: LtxCreateVideoFromImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LTXImage2VideoRequest" + description: Create video from image + required: true + responses: + "200": + content: + video/mp4: + schema: + format: binary + type: string + description: Video generated successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + summary: LTX Video Generate Video from Image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/ltx/v1/text-to-video: + post: + description: Generate a video from a text prompt using LTX Video AI models + operationId: LtxCreateVideoFromText + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LTXText2VideoRequest" + description: Create video from text prompt + required: true + responses: + "200": + content: + video/mp4: + schema: + format: binary + type: string + description: Video generated successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + summary: LTX Video Generate Video from Text + tags: + - API Nodes + - Released + x-excluded: true + /proxy/luma/generations: + post: + description: Initiate a new generation with the provided prompt + operationId: LumaCreateGeneration + requestBody: + content: + application/json: + examples: + default: + value: + aspect_ratio: 16:9 + keyframes: + frame0: + type: image + url: https://example.com/image.jpg + frame1: + id: 123e4567-e89b-12d3-a456-426614174000 + type: generation + loop: true + prompt: A serene lake surrounded by mountains at sunset + schema: + $ref: "#/components/schemas/LumaGenerationRequest" + description: The generation request object + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaGeneration" + description: Generation created + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaError" + description: Error + summary: Create a generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/luma/generations/image: + post: + description: Generate an image with the provided prompt + operationId: LumaGenerateImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaImageGenerationRequest" + description: The image generation request object + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaGeneration" + description: Image generated + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaError" + description: Error + summary: Generate an image + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/luma/generations/{id}": + get: + description: Retrieve details of a specific generation by its ID + operationId: LumaGetGeneration + parameters: + - description: The ID of the generation + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaGeneration" + description: Generation found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaError" + description: Error + summary: Get a generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/luma_2/generations: + post: + description: "Submit an image generation or edit job. Returns immediately with an opaque job ID to poll via GET /proxy/luma_2/generations/{id}." + operationId: LumaAgentsCreateGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsGenerationRequest" + description: The generation request object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsGeneration" + description: Generation accepted + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsError" + description: Error + summary: Create a Luma Agents generation + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/luma_2/generations/{generation_id}": + get: + description: "Poll for generation status and output. On completion, the response includes presigned URLs to download the generated images." + operationId: LumaAgentsGetGeneration + parameters: + - description: The ID of the generation + in: path + name: generation_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsGeneration" + description: Generation found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/LumaAgentsError" + description: Error + summary: Get a Luma Agents generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/animations: + post: + description: "Create a new task to apply a specific animation action to a previously rigged character. Includes post-processing options.\n" + operationId: MeshyAnimationCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyAnimationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyAnimationCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create an Animation Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/animations/{task_id}": + get: + description: Retrieve the status and result of an Animation task. + operationId: MeshyAnimationGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyAnimationTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Animation Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/image-to-3d: + post: + description: "Create a new Image to 3D task. This task generates a 3D model from an image input.\n" + operationId: MeshyImageTo3DCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyImageTo3DRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyImageTo3DCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create an Image to 3D Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/image-to-3d/{task_id}": + get: + description: Retrieve the status and result of an Image to 3D task. + operationId: MeshyImageTo3DGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyImageTo3DTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Image to 3D Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/multi-image-to-3d: + post: + description: "Create a new Multi-Image to 3D task. This task generates a 3D model from 1 to 4 images of the same object from different angles.\nMesh generation uses Meshy-5 model, while texture generation supports Meshy-6-preview model.\n" + operationId: MeshyMultiImageTo3DCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyMultiImageTo3DRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyMultiImageTo3DCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a Multi-Image to 3D Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/multi-image-to-3d/{task_id}": + get: + description: Retrieve the status and result of a Multi-Image to 3D task. + operationId: MeshyMultiImageTo3DGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyMultiImageTo3DTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Multi-Image to 3D Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/remesh: + post: + description: "Create a new remesh task to remesh and export an existing 3D model into various formats.\n" + operationId: MeshyRemeshCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRemeshRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRemeshCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a Remesh Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/remesh/{task_id}": + get: + description: Retrieve the status and result of a Remesh task. + operationId: MeshyRemeshGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRemeshTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Remesh Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/retexture: + post: + description: "Create a new Retexture task to generate 3D texture from text or image inputs.\n" + operationId: MeshyRetextureCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRetextureRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRetextureCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a Retexture Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/retexture/{task_id}": + get: + description: Retrieve the status and result of a Retexture task. + operationId: MeshyRetextureGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRetextureTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Retexture Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v1/rigging: + post: + description: "Create a new rigging task for a given 3D model. Upon successful completion, provides a rigged character in standard formats and optionally basic walking/running animations.\n" + operationId: MeshyRiggingCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRiggingRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRiggingCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a Rigging Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v1/rigging/{task_id}": + get: + description: Retrieve the status and result of a Rigging task. + operationId: MeshyRiggingGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyRiggingTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Rigging Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/meshy/openapi/v2/text-to-3d: + post: + description: "Create a new Text to 3D Preview task. This task costs 20 credits for Meshy-6 models and 5 credits for other models.\n" + operationId: MeshyTextTo3DCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyTextTo3DRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyTextTo3DCreateResponse" + description: Task created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Authentication failed + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Create a Text to 3D Preview Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/meshy/openapi/v2/text-to-3d/{task_id}": + get: + description: Retrieve the status and result of a Text to 3D task. + operationId: MeshyTextTo3DGetTask + parameters: + - description: The unique identifier of the task + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MeshyTextTo3DTask" + description: Task retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Task not found + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Get Text to 3D Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/minimax/files/retrieve: + post: + description: Proxies a request to Minimax to get the download URL for a file + operationId: RetrieveMinimaxFile + parameters: + - description: "Unique identifier for the file, obtained from the generation response" + in: query + name: file_id + required: true + schema: + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MinimaxFileRetrieveResponse" + description: Successful response with file download URL + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or Minimax) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Minimax) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Minimax took too long to respond) + security: + - BearerAuth: + [] + summary: Retrieve download URL for a Minimax file + tags: + - API Nodes + - Released + x-excluded: true + /proxy/minimax/query/video_generation: + get: + description: Proxies a request to Minimax to check the status of a video generation task + operationId: GetMinimaxVideoGeneration + parameters: + - description: The task ID to be queried + in: query + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MinimaxTaskResultResponse" + description: Successful response with task status + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or Minimax) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Minimax) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Minimax took too long to respond) + security: + - BearerAuth: + [] + summary: Query status of a Minimax video generation task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/minimax/video_generation: + post: + description: "Forwards video generation requests to Minimax's API and returns the task ID for asynchronous processing." + operationId: MinimaxVideoGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MinimaxVideoGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MinimaxVideoGenerationResponse" + description: Successful response from Minimax proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded (either from proxy or Minimax) + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Minimax) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Minimax took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to Minimax for video generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/moonvalley/prompts/image-to-video: + post: + operationId: MoonvalleyImageToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyImageToVideoRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt created + summary: Create Image to Video Prompt + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/prompts/text-to-image: + post: + operationId: MoonvalleyTextToImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyTextToImageRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt created + summary: Create Text to Image Prompt + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/prompts/text-to-video: + post: + operationId: MoonvalleyTextToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyTextToVideoRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt created + summary: Create Text to Video Prompt + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/prompts/video-to-video: + post: + operationId: MoonvalleyVideoToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyVideoToVideoRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt created + summary: Create Video to Video Prompt + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/prompts/video-to-video/resize: + post: + operationId: MoonvalleyVideoToVideoResize + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyResizeVideoRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt created + summary: Resize a video + tags: + - API Nodes + x-excluded: true + "/proxy/moonvalley/prompts/{prompt_id}": + get: + operationId: MoonvalleyGetPrompt + parameters: + - in: path + name: prompt_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyPromptResponse" + description: Prompt details retrieved + summary: Get Prompt Details + tags: + - API Nodes + x-excluded: true + /proxy/moonvalley/uploads: + post: + operationId: MoonvalleyUpload + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/MoonvalleyUploadFileRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/MoonvalleyUploadFileResponse" + description: File uploaded successfully + summary: Upload Files + tags: + - API Nodes + x-excluded: true + /proxy/openai/images/edits: + post: + operationId: OpenAIEditImage + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/OpenAIImageEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIImageGenerationResponse" + description: Image edited successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Edit an image using OpenAI's DALL-E model" + tags: + - API Nodes + - Released + x-excluded: true + /proxy/openai/images/generations: + post: + operationId: OpenAIGenerateImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIImageGenerationResponse" + description: Image generated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Generate an image using OpenAI's models" + tags: + - API Nodes + - Released + x-excluded: true + /proxy/openai/v1/responses: + post: + operationId: CreateOpenAIResponse + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAICreateResponse" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIResponse" + text/event-stream: + schema: + $ref: "#/components/schemas/OpenAIResponseStreamEvent" + description: OK + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/openai/v1/responses/{id}": + get: + operationId: GetOpenAIResponse + parameters: + - description: The ID of the response to retrieve. + in: path + name: id + required: true + schema: + example: resp_677efb5139a88190b512bc3fef8e535d + type: string + - description: "Additional fields to include in the response. See the `include`\nparameter for Response creation above for more information.\n" + in: query + name: include + schema: + items: + $ref: "#/components/schemas/Includable" + type: array + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIResponse" + description: OK + summary: "Retrieves a model response with the given ID.\n" + tags: + - API Nodes + - Released + x-excluded: true + /proxy/openai/v1/videos: + post: + operationId: OpenAICreateVideo + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/OpenAIVideoCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIVideoJob" + description: Video generation job created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: "Create a video using OpenAI's Sora model" + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/openai/v1/videos/{video_id}": + get: + operationId: OpenAIGetVideo + parameters: + - description: The identifier of the video to retrieve + in: path + name: video_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenAIVideoJob" + description: Video job details + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "404": + description: Video not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Retrieve a video + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/openai/v1/videos/{video_id}/content": + get: + operationId: OpenAIDownloadVideoContent + parameters: + - description: The identifier of the video whose media to download + in: path + name: video_id + required: true + schema: + type: string + - description: Which downloadable asset to return + in: query + name: variant + schema: + type: string + responses: + "200": + content: + video/mp4: + schema: + format: binary + type: string + description: Video content stream + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "404": + description: Video not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Download video content + tags: + - API Nodes + - Released + x-excluded: true + /proxy/openrouter/api/v1/chat/completions: + post: + description: "Forwards a Chat Completions request to OpenRouter's `/api/v1/chat/completions`\nendpoint and returns the model's reply. Streaming (`stream: true`) is\nrejected: billing relies on the `usage.cost` value OpenRouter returns,\nwhich is not guaranteed on every SSE stream. Billing is based on the\n`usage.cost` field in the response body.\n" + operationId: OpenrouterCreateChatCompletion + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/OpenRouterChatRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/OpenRouterChatResult" + description: Successful response from OpenRouter Chat Completions API. + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a chat completion via OpenRouter + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/2.2/i2v: + post: + operationId: PikaGenerate22I2vGenerate22I2vPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_2_2_i2v_generate_2_2_i2v_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate 2 2 I2V + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/2.2/pikaframes: + post: + operationId: PikaGenerate22KeyframeGenerate22PikaframesPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_2_2_keyframe_generate_2_2_pikaframes_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate 2 2 Keyframe + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/2.2/pikascenes: + post: + operationId: PikaGenerate22C2vGenerate22PikascenesPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_2_2_c2v_generate_2_2_pikascenes_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate 2 2 C2V + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/2.2/t2v: + post: + operationId: PikaGenerate22T2vGenerate22T2vPost + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: "#/components/schemas/PikaBody_generate_2_2_t2v_generate_2_2_t2v_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate 2 2 T2V + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/pikadditions: + post: + operationId: PikaGeneratePikadditionsGeneratePikadditionsPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_pikadditions_generate_pikadditions_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate Pikadditions + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/pikaffects: + post: + description: "Generate a video with a specific Pikaffect. Supported Pikaffects: Cake-ify, Crumble, Crush, Decapitate, Deflate, Dissolve, Explode, Eye-pop, Inflate, Levitate, Melt, Peel, Poke, Squish, Ta-da, Tear" + operationId: PikaGeneratePikaffectsGeneratePikaffectsPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_pikaffects_generate_pikaffects_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate Pikaffects + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pika/generate/pikaswaps: + post: + description: "Exactly one of `modifyRegionMask` and `modifyRegionRoi` must be provided." + operationId: PikaGeneratePikaswapsGeneratePikaswapsPost + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/PikaBody_generate_pikaswaps_generate_pikaswaps_post" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaGenerateResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Generate Pikaswaps + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/pika/videos/{video_id}": + get: + operationId: PikaGetVideoVideosVideoIdGet + parameters: + - in: path + name: video_id + required: true + schema: + title: Video Id + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaVideoResponse" + description: Successful Response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/PikaHTTPValidationError" + description: Validation Error + summary: Get Video + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pixverse/image/upload: + post: + operationId: PixverseUploadImage + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + requestBody: + content: + multipart/form-data: + schema: + properties: + image: + format: binary + type: string + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseImageUploadResponse" + description: Image uploaded + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Upload an image to the server. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pixverse/video/img/generate: + post: + operationId: PixverseGenerateImageVideo + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseImageVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseVideoResponse" + description: Success + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Generate video from image. + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/pixverse/video/result/{id}": + get: + operationId: PixverseGetVideoResult + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + - in: path + name: id + required: true + schema: + type: integer + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseVideoResultResponse" + description: Result fetched + summary: Get the result of a video generation. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pixverse/video/text/generate: + post: + operationId: PixverseGenerateTextVideo + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseTextVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseVideoResponse" + description: Success + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Generate video from text prompt. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/pixverse/video/transition/generate: + post: + operationId: PixverseGenerateTransitionVideo + parameters: + - $ref: "#/components/parameters/PixverseAiTraceId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseTransitionVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/PixverseVideoResponse" + description: Success + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Generate transition video between two images. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/quiver/v1/svgs/generations: + post: + description: Generate one or more SVGs from a text prompt using the Quiver AI Arrow model. + operationId: QuiverTextToSVG + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/QuiverTextToSVGRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/QuiverSVGResponse" + description: SVG generated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Generate SVG from text using Quiver AI + tags: + - API Nodes + - Released + x-excluded: true + /proxy/quiver/v1/svgs/vectorizations: + post: + description: Vectorize an image into one or more SVGs using the Quiver AI Arrow model. + operationId: QuiverImageToSVG + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/QuiverImageToSVGRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/QuiverSVGResponse" + description: SVG vectorization completed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required - Insufficient credits + "429": + description: Too Many Requests - Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Convert image to SVG using Quiver AI + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/image_generation: + post: + description: "Forwards image generation requests to Recraft's API and returns the generated images." + operationId: RecraftImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftImageGenerationResponse" + description: Successful response from Recraft proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request (invalid input to proxy) + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Gateway (error communicating with Recraft) + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Gateway Timeout (Recraft took too long to respond) + security: + - BearerAuth: + [] + summary: Proxy request to Recraft for image generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/creativeUpscale: + post: + operationId: RecraftCreativeUpscale + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftProcessImageRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftProcessImageResponse" + description: OK + summary: Creative Upscale + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/crispUpscale: + post: + operationId: RecraftCrispUpscale + requestBody: + content: + multipart/form-data: + schema: + properties: + file: + description: Image file to process + format: binary + type: string + required: + - file + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftImageGenerationResponse" + description: Background removed successfully + "400": + description: Bad request - Invalid parameters or file + "401": + description: Unauthorized - Invalid or missing API token + security: + [] + summary: Upscale an image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/imageToImage: + post: + operationId: RecraftImageToImage + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftImageToImageRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftGenerateImageResponse" + description: OK + summary: Generate image from image and prompt + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/inpaint: + post: + operationId: RecraftInpaintImage + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftTransformImageWithMaskRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftGenerateImageResponse" + description: OK + summary: Inpaint Image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/removeBackground: + post: + operationId: RecraftRemoveBackground + requestBody: + content: + multipart/form-data: + schema: + properties: + file: + description: Image file to process + format: binary + type: string + required: + - file + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + image: + properties: + url: + description: URL of the processed image + format: uri + type: string + type: object + type: object + description: Background removed successfully + "400": + description: Bad request - Invalid parameters or file + "401": + description: Unauthorized - Invalid or missing API token + security: + [] + summary: Remove background from an image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/replaceBackground: + post: + operationId: RecraftReplaceBackground + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftTransformImageWithMaskRequest" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftGenerateImageResponse" + description: OK + summary: Replace Background + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/images/vectorize: + post: + operationId: RecraftVectorize + requestBody: + content: + multipart/form-data: + schema: + properties: + file: + description: Image file to process + format: binary + type: string + required: + - file + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftImageGenerationResponse" + description: Background removed successfully + "400": + description: Bad request - Invalid parameters or file + "401": + description: Unauthorized - Invalid or missing API token + security: + [] + summary: Vectorize an image + tags: + - API Nodes + - Released + x-excluded: true + /proxy/recraft/styles: + post: + description: Upload a set of images to create a style reference. + operationId: RecraftCreateStyle + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/RecraftCreateStyleRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RecraftCreateStyleResponse" + description: OK + summary: Create Style + tags: + - API Nodes + - Released + x-excluded: true + /proxy/reve/v1/image/create: + post: + description: Forwards image creation requests to the Reve API and returns the generated image. + operationId: ReveImageCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageResponse" + description: Successful response from Reve proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Generate an image using Reve + tags: + - API Nodes + - Released + x-excluded: true + /proxy/reve/v1/image/edit: + post: + description: Forwards image editing requests to the Reve API with an edit instruction and reference image. + operationId: ReveImageEdit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageResponse" + description: Successful response from Reve proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Edit an image using Reve + tags: + - API Nodes + - Released + x-excluded: true + /proxy/reve/v1/image/remix: + post: + description: Forwards image remix requests to the Reve API with reference images and a text prompt. + operationId: ReveImageRemix + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageRemixRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ReveImageResponse" + description: Successful response from Reve proxy + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + description: Payment Required + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Remix images using Reve + tags: + - API Nodes + - Released + x-excluded: true + /proxy/rodin/api/v2/download: + post: + operationId: RodinDownload + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/Rodin3DDownloadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Rodin3DDownloadResponse" + description: Get the download list for the Rodin 3D Assets. + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get rodin 3D Assets download list. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/rodin/api/v2/rodin: + post: + operationId: RodinGenerate3DAsset + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/Rodin3DGenerateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Rodin3DGenerateResponse" + description: 3D generate Task submitted successfully. + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Create 3D generate Task using Rodin API. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/rodin/api/v2/status: + post: + operationId: RodinCheckStatus + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/Rodin3DCheckStatusRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Rodin3DCheckStatusResponse" + description: Get the status of the 3D Assets generation. + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Check Rodin 3D Generate Status. + tags: + - API Nodes + - Released + x-excluded: true + /proxy/runway/image_to_video: + post: + description: "Converts an image to a video using Runway's API" + operationId: RunwayImageToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayImageToVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayImageToVideoResponse" + description: Successful response + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Runway Image to Video Generation + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/runway/tasks/{task_id}": + get: + description: Get the status and output of a Runway task + operationId: RunwayGetTaskStatus + parameters: + - description: ID of the task to check + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayTaskStatusResponse" + description: Successful response + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Get Runway Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/runway/text_to_image: + post: + description: "Generates an image from text using Runway's API" + operationId: RunwayTextToImage + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayTextToImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayTextToImageResponse" + description: Successful response + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Runway Text to Image Generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/runway/video_to_video: + post: + description: "Edits a video into a new video using Runway's API" + operationId: RunwayVideoToVideo + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayVideoToVideoRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/RunwayVideoToVideoResponse" + description: Successful response + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Runway Video to Video Generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/seedance/assets: + get: + description: "Fans out to BytePlus ListAssets across the caller's completed verification groups, denormalizes the group label into each row, and returns a single flat list. Result is post-filtered by asset_type. Optional group_id narrows to one group. Hard caps: 5 pages × 100 assets per group, 1000 total assets.\n" + operationId: SeedanceListUserAssets + parameters: + - description: Asset type to return. + in: query + name: asset_type + required: true + schema: + enum: + - Image + - Video + type: string + - description: Narrow the listing to one group. Caller must own it. + in: query + name: group_id + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceListUserAssetsResponse" + description: Assets owned by the caller + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: "List the caller's assets across all owned groups" + tags: + - API Nodes + - Released + x-excluded: true + post: + operationId: SeedanceCreateAsset + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceCreateAssetRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceCreateAssetResponse" + description: Asset creation accepted (asynchronous — poll seedanceGetAsset) + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/seedance/assets/{asset_id}": + get: + operationId: SeedanceGetAsset + parameters: + - description: BytePlus-issued asset id returned by seedanceCreateAsset + in: path + name: asset_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceGetAssetResponse" + description: Asset state + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/seedance/virtual-library/assets: + post: + operationId: SeedanceVirtualLibraryCreateAsset + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceVirtualLibraryCreateAssetRequest" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceVirtualLibraryCreateAssetResponse" + description: Asset creation accepted (asynchronous — poll seedanceGetAsset) + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/seedance/visual-validate/groups: + get: + description: "Returns the caller's completed visual-validation groups (real-person H5 verification). Used to power the group selector in client UIs. Excludes virtual-library (AIGC) groups, which are not part of the public API surface.\n" + operationId: SeedanceListVisualValidationGroups + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceListVisualValidationGroupsResponse" + description: Visual-validation groups owned by the caller + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: "List the caller's completed visual-validation groups" + tags: + - API Nodes + - Released + x-excluded: true + /proxy/seedance/visual-validate/sessions: + post: + operationId: SeedanceCreateVisualValidateSession + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceCreateVisualValidateSessionRequest" + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceCreateVisualValidateSessionResponse" + description: Verification session created + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/seedance/visual-validate/sessions/{session_id}": + get: + operationId: SeedanceGetVisualValidateSession + parameters: + - description: The session id returned by seedanceCreateVisualValidateSession + in: path + name: session_id + required: true + schema: + format: uuid + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SeedanceGetVisualValidateSessionResponse" + description: Session state + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/sonilo/t2m/generate: + post: + description: "Generate music from a text prompt using Sonilo text-to-music AI.\nRequires a prompt describing the desired music and a caller-specified duration.\nReturns a streaming NDJSON response with titles, audio chunks, and completion events.\n" + operationId: SoniloTextToMusicGenerate + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/SoniloTextToMusicRequest" + required: true + responses: + "200": + content: + application/x-ndjson: + schema: + $ref: "#/components/schemas/SoniloStreamEvent" + description: OK - Streaming NDJSON response with audio generation events + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Unauthorized - Invalid or missing API key + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Payment Required - Insufficient funds + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Unprocessable Entity - Validation error + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Too Many Requests - Rate limited + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Bad Gateway - Upstream generation error + security: + - BearerAuth: + [] + summary: Generate music from text prompt + tags: + - Sonilo + - Proxy + /proxy/sonilo/v2m/generate: + post: + description: "Generate music from a video using Sonilo video-to-music AI.\nAccepts either a video file upload or a video URL, with an optional prompt.\nReturns a streaming NDJSON response with one or more parallel audio streams\n(titles, audio chunks, and completion events).\nMax video duration: 6 minutes. Max upload size: 300MB.\n" + operationId: SoniloVideoToMusicGenerate + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/SoniloVideoToMusicRequest" + required: true + responses: + "200": + content: + application/x-ndjson: + schema: + $ref: "#/components/schemas/SoniloStreamEvent" + description: OK - Streaming NDJSON response with audio generation events + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Unauthorized - Invalid or missing API key + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Payment Required - Insufficient funds + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Unprocessable Entity - Validation error + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Too Many Requests - Rate limited + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/SoniloErrorResponse" + description: Bad Gateway - Upstream generation error + security: + - BearerAuth: + [] + summary: Generate music from video + tags: + - Sonilo + - Proxy + /proxy/tencent/hunyuan/3d-part: + post: + description: "Submit a component identification and generation task using Tencent Hunyuan.\nAutomatically performs component splitting based on the model structure after inputting a 3D model file.\nRecommends inputting 3D models generated by AIGC. File size not greater than 100MB, face count not greater than 30,000. FBX format only.\n\nThe returned JobId can be used with the query endpoint to check task status.\n" + operationId: TencentHunyuan3DPartSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit Tencent Hunyuan 3D Part (Component Splitting) Task + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-part/query: + post: + description: "Query the status and result of a previously submitted 3D part (component splitting) task.\n\nPoll this endpoint until the task status indicates completion.\n" + operationId: TencentHunyuan3DPartQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query Tencent Hunyuan 3D Part Task Status + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-pro: + post: + description: "Submit a task to generate 3D content using Tencent HunYuan Large Model.\nSupports text-to-3D and image-to-3D generation.\n\nThis API provides 3 concurrent tasks by default. A new task can be processed\nonly after the previous one is completed.\n\nThe returned JobId can be used with the query endpoint to check task status.\n" + operationId: TencentHunyuan3DProSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DProRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DProResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit Tencent Hunyuan 3D Pro Generation Task + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-pro/query: + post: + description: "Query the status and result of a previously submitted 3D generation task.\n\nPoll this endpoint until the task status indicates completion.\n" + operationId: TencentHunyuan3DProQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query Tencent Hunyuan 3D Pro Task Status + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-smart-topology: + post: + description: "Submit a 3D smart topology (retopology/polygon reduction) task using Tencent Hunyuan.\nTakes an input 3D model and performs intelligent topology optimization.\nSupported input formats: GLB, OBJ. File size max 200MB.\n\nThe returned JobId can be used with the query endpoint to check task status.\n" + operationId: TencentHunyuan3DSmartTopologySubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DSmartTopologyRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit Tencent Hunyuan 3D Smart Topology Task + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-smart-topology/query: + post: + description: "Query the status and result of a previously submitted 3D smart topology task.\n\nPoll this endpoint until the task status indicates completion.\n" + operationId: TencentHunyuan3DSmartTopologyQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query Tencent Hunyuan 3D Smart Topology Task Status + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-texture-edit: + post: + description: "Submit a 3D model texture redrawing task using Tencent Hunyuan.\nAfter inputting the 3D model, perform 3D model texture redrawing based on semantics or images.\nSupported format: FBX. 3D model limit: less than 100000 faces.\nEither Image or Prompt is required; they cannot coexist. EnablePBR only supports enabling when using Prompt.\n\nThe returned JobId can be used with the query endpoint to check task status.\n" + operationId: TencentHunyuan3DTextureEditSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DTextureEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit Tencent Hunyuan 3D Texture Edit Task + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-texture-edit/query: + post: + description: "Query the status and result of a previously submitted 3D texture edit task.\n\nPoll this endpoint until the task status indicates completion.\n" + operationId: TencentHunyuan3DTextureEditQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query Tencent Hunyuan 3D Texture Edit Task Status + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-uv: + post: + description: "Submit a UV unwrapping task for a 3D model using Tencent Hunyuan.\nAfter inputting the model, UV unwrapping can be performed based on the\nmodel texture to output the corresponding UV map.\n\nThe returned JobId can be used with the query endpoint to check task status.\n" + operationId: TencentHunyuan3DUVSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DUVResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit Tencent Hunyuan 3D UV Unfolding Task + tags: + - API Nodes + - Tencent + x-excluded: true + /proxy/tencent/hunyuan/3d-uv/query: + post: + description: "Query the status and result of a previously submitted UV unwrapping task.\n\nPoll this endpoint until the task status indicates completion.\n" + operationId: TencentHunyuan3DUVQuery + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentHunyuan3DQueryResponse" + description: Task status retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TencentErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Query Tencent Hunyuan 3D UV Unfolding Task Status + tags: + - API Nodes + - Tencent + x-excluded: true + "/proxy/topaz/image/v1/download/{process_id}": + get: + operationId: TopazDownloadResult + parameters: + - description: The process ID returned from the enhance-gen request + in: path + name: process_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazDownloadResponse" + description: Presigned download URL for the processed image + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/topaz/image/v1/enhance-gen/async: + post: + operationId: TopazEnhanceGenAsync + requestBody: + content: + multipart/form-data: + schema: + $ref: "#/components/schemas/TopazEnhanceGenRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazEnhanceGenResponse" + description: Image processing request has been successfully created + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/topaz/image/v1/status/{process_id}": + get: + operationId: TopazGetStatus + parameters: + - description: The process ID returned from the enhance-gen request + in: path + name: process_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazStatusResponse" + description: Status retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/topaz/video/: + post: + operationId: TopazVideoCreate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoCreateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoCreateResponse" + description: Video enhancement request created successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/topaz/video/{request_id}/accept": + patch: + operationId: TopazVideoAccept + parameters: + - description: The request ID returned from the video create request + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoAcceptResponse" + description: Video request accepted successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/topaz/video/{request_id}/complete-upload": + patch: + description: "Send metadata of the multi-part uploads to complete the upload and begin processing the video.\n\nOptionally include the MD5 hash of the source video file to validate successful upload before processing.\n" + operationId: TopazVideoCompleteUpload + parameters: + - description: The request ID returned from the video create request + in: path + name: request_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoCompleteUploadRequest" + required: true + responses: + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoCompleteUploadResponse" + description: Video upload completed successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + summary: Complete Video Upload + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/topaz/video/{request_id}/status": + get: + operationId: TopazVideoGetStatus + parameters: + - description: The request ID returned from the video create request + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TopazVideoStatusResponse" + description: Video status retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/tripo/v2/openapi/import: + post: + description: "Composite endpoint for Tripo model import (PN-328). The client first uploads the\nmodel file to ComfyUI API storage (POST /customers/storage) and then calls this\nendpoint with the resulting download URL. The backend performs the full Tripo\nimport flow server-side: downloads the file from storage, obtains short-lived STS\nupload credentials from Tripo, uploads the file to Tripo's object storage (SigV4),\nand creates an import_model task referencing the uploaded object. Returns Tripo's\ncreate-task response; poll /proxy/tripo/v2/openapi/task/{task_id} for completion.\nThe resulting task id is usable with Tripo post-processing tasks (texture_model,\nanimate_rig, convert_model, ...).\n\nThis is a synthetic comfy-api route (Tripo has no single-call equivalent); it\nexists so that Tripo's temporary storage credentials never leave the backend and\nno model binary ever travels inside this request.\n\nThe url host must be ComfyUI API storage (storage.googleapis.com).\nSupported formats: glb, fbx, obj, stl. Maximum file size: 150MB.\n" + operationId: TripoImportModel + requestBody: + content: + application/json: + schema: + properties: + format: + description: "File format (\"glb\", \"fbx\", \"obj\", \"stl\"). Optional; derived from the URL path extension when omitted." + type: string + url: + description: Download URL of the model file previously uploaded to ComfyUI API storage. + type: string + required: + - url + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoSuccessTask" + description: Import task created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Unauthorized access to requested resource + "413": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: File exceeds the 150MB limit + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Internal server error + "502": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Upstream upload or task creation failed + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Server timeout + summary: Import an External 3D Model into Tripo + tags: + - API Nodes + - Released + x-excluded: true + /proxy/tripo/v2/openapi/task: + post: + operationId: TripoCreateTask + requestBody: + content: + application/json: + schema: + oneOf: + - properties: + auto_size: + default: false + type: boolean + face_limit: + type: integer + geometry_quality: + $ref: "#/components/schemas/TripoGeometryQuality" + model_seed: + type: integer + model_version: + $ref: "#/components/schemas/TripoModelVersion" + negative_prompt: + maxLength: 1024 + type: string + pbr: + default: true + type: boolean + prompt: + maxLength: 1024 + type: string + quad: + default: false + type: boolean + style: + $ref: "#/components/schemas/TripoModelStyle" + text_seed: + type: integer + texture: + default: true + type: boolean + texture_quality: + $ref: "#/components/schemas/TripoTextureQuality" + texture_seed: + type: integer + type: + $ref: "#/components/schemas/TripoTextToModel" + required: + - type + - prompt + type: object + - properties: + auto_size: + default: false + type: boolean + face_limit: + type: integer + file: + properties: + file_token: + type: string + type: + type: string + required: + - type + - file_token + type: object + geometry_quality: + $ref: "#/components/schemas/TripoGeometryQuality" + model_seed: + type: integer + model_version: + $ref: "#/components/schemas/TripoModelVersion" + orientation: + $ref: "#/components/schemas/TripoOrientation" + pbr: + default: true + type: boolean + quad: + default: false + type: boolean + style: + $ref: "#/components/schemas/TripoModelStyle" + texture: + default: true + type: boolean + texture_alignment: + $ref: "#/components/schemas/TripoTextureAlignment" + texture_quality: + $ref: "#/components/schemas/TripoTextureQuality" + texture_seed: + type: integer + type: + $ref: "#/components/schemas/TripoImageToModel" + required: + - type + - file + type: object + - properties: + auto_size: + default: false + type: boolean + face_limit: + type: integer + files: + items: + properties: + file_token: + type: string + type: + type: string + required: + - type + - file_token + type: object + type: array + geometry_quality: + $ref: "#/components/schemas/TripoGeometryQuality" + mode: + $ref: "#/components/schemas/TripoMultiviewMode" + model_seed: + type: integer + model_version: + $ref: "#/components/schemas/TripoModelVersion" + orientation: + $ref: "#/components/schemas/TripoOrientation" + orthographic_projection: + default: false + type: boolean + pbr: + default: true + type: boolean + quad: + default: false + type: boolean + texture: + default: true + type: boolean + texture_alignment: + $ref: "#/components/schemas/TripoTextureAlignment" + texture_quality: + $ref: "#/components/schemas/TripoTextureQuality" + texture_seed: + type: integer + type: + $ref: "#/components/schemas/TripoMultiviewToModel" + required: + - type + - files + type: object + - properties: + model_seed: + type: integer + original_model_task_id: + type: string + pbr: + default: true + type: boolean + texture: + default: true + type: boolean + texture_alignment: + $ref: "#/components/schemas/TripoTextureAlignment" + texture_quality: + $ref: "#/components/schemas/TripoTextureQuality" + texture_seed: + type: integer + type: + $ref: "#/components/schemas/TripoTypeTextureModel" + required: + - type + - original_model_task_id + type: object + - properties: + draft_model_task_id: + type: string + type: + $ref: "#/components/schemas/TripoTypeRefineModel" + required: + - type + - draft_model_task_id + type: object + - properties: + original_model_task_id: + type: string + type: + $ref: "#/components/schemas/TripoTypeAnimatePrerigcheck" + required: + - type + - original_model_task_id + type: object + - properties: + original_model_task_id: + type: string + out_format: + $ref: "#/components/schemas/TripoStandardFormat" + spec: + $ref: "#/components/schemas/TripoSpec" + topology: + $ref: "#/components/schemas/TripoTopology" + type: + $ref: "#/components/schemas/TripoTypeAnimateRig" + required: + - type + - original_model_task_id + type: object + - properties: + animation: + $ref: "#/components/schemas/TripoAnimation" + bake_animation: + default: true + type: boolean + original_model_task_id: + type: string + out_format: + $ref: "#/components/schemas/TripoStandardFormat" + type: + $ref: "#/components/schemas/TripoTypeAnimateRetarget" + required: + - type + - original_model_task_id + - animation + type: object + - properties: + block_size: + default: 80 + type: integer + original_model_task_id: + type: string + style: + $ref: "#/components/schemas/TripoStylizeOptions" + type: + $ref: "#/components/schemas/TripoTypeStylizeModel" + required: + - type + - style + - original_model_task_id + type: object + - properties: + face_limit: + default: 10000 + type: integer + flatten_bottom: + default: false + type: boolean + flatten_bottom_threshold: + default: 0.01 + type: number + force_symmetry: + default: false + type: boolean + format: + $ref: "#/components/schemas/TripoConvertFormat" + original_model_task_id: + type: string + pivot_to_center_bottom: + default: false + type: boolean + quad: + default: false + type: boolean + texture_format: + $ref: "#/components/schemas/TripoTextureFormat" + texture_size: + default: 4096 + type: integer + type: + $ref: "#/components/schemas/TripoTypeConvertModel" + required: + - type + - format + - original_model_task_id + type: object + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoSuccessTask" + description: Request successful + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Server timeout + summary: Create 3D Generation Task + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/tripo/v2/openapi/task/{task_id}": + get: + operationId: TripoGetTask + parameters: + - in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + code: + $ref: "#/components/schemas/TripoResponseSuccessCode" + data: + $ref: "#/components/schemas/TripoTask" + required: + - code + - data + type: object + description: Request successful + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Server timeout + summary: Get Task Status + tags: + - API Nodes + - Released + x-excluded: true + /proxy/tripo/v2/openapi/upload: + post: + operationId: TripoUploadFile + requestBody: + content: + multipart/form-data: + encoding: + profileImage: + contentType: "image/png, image/jpeg" + schema: + properties: + file: + format: binary + type: string + required: + - file + type: object + responses: + "200": + content: + application/json: + schema: + properties: + code: + $ref: "#/components/schemas/TripoResponseSuccessCode" + data: + properties: + image_token: + type: string + required: + - image_token + type: object + required: + - code + - data + type: object + description: Request successful + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Server timeout + summary: Upload File for 3D Generation + tags: + - API Nodes + - Released + x-excluded: true + /proxy/tripo/v2/openapi/user/balance: + get: + operationId: TripoGetBalance + responses: + "200": + content: + application/json: + schema: + properties: + code: + $ref: "#/components/schemas/TripoResponseSuccessCode" + data: + $ref: "#/components/schemas/TripoBalance" + required: + - code + - data + type: object + description: Request successful + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Invalid request parameters + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Unauthorized access to requested resource + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Resource not found + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Account exception or Rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Service temporarily unavailable + "504": + content: + application/json: + schema: + $ref: "#/components/schemas/TripoErrorResponse" + description: Server timeout + summary: Query Account Balance + tags: + - API Nodes + - Released + x-excluded: true + /proxy/veo/generate: + post: + operationId: VeoGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Veo2GenVidRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Veo2GenVidResponse" + description: Video generation successful + "400": + description: Bad request + "401": + description: Unauthorized + "403": + description: Forbidden + "500": + description: Internal server error + summary: "Generate a video from a text prompt and optional image. Deprecated. Use /proxy/veo/{modelId}/generate instead." + tags: + - API Nodes + - Released + x-excluded: true + /proxy/veo/poll: + post: + operationId: VeoPoll + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Veo2GenVidPollRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Veo2GenVidPollResponse" + description: Operation status and result + "400": + description: Bad request + "401": + description: Unauthorized + "404": + description: Operation not found + "500": + description: Internal error + summary: "Poll the status of a Veo prediction operation. Deprecated. Use /proxy/veo/{modelId}/poll instead." + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/veo/{modelId}/generate": + post: + operationId: VeoGenerateNew + parameters: + - description: The Veo model ID to use for generation + in: path + name: modelId + required: true + schema: + enum: + - veo-2.0-generate-001 + - veo-3.0-generate-001 + - veo-3.0-fast-generate-001 + - veo-3.1-generate-001 + - veo-3.1-fast-generate-001 + - veo-3.1-lite-generate-001 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VeoGenVidRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/VeoGenVidResponse" + description: Video generation successful + "400": + description: Bad request + "401": + description: Unauthorized + "403": + description: Forbidden + "500": + description: Internal server error + summary: Generate a video from a text prompt and optional image + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/veo/{modelId}/poll": + post: + operationId: VeoPollNew + parameters: + - description: The Veo model ID + in: path + name: modelId + required: true + schema: + enum: + - veo-2.0-generate-001 + - veo-3.0-generate-001 + - veo-3.0-fast-generate-001 + - veo-3.1-generate-001 + - veo-3.1-fast-generate-001 + - veo-3.1-lite-generate-001 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VeoGenVidPollRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/VeoGenVidPollResponse" + description: Operation status and result + "400": + description: Bad request + "401": + description: Unauthorized + "404": + description: Operation not found + "500": + description: Internal error + summary: Poll the status of a Veo prediction operation + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/vertexai/gemini/{model}": + post: + operationId: GeminiGenerateContent + parameters: + - description: Full resource name of the model. + in: path + name: model + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/GeminiGenerateContentRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/GeminiGenerateContentResponse" + description: Generated content response. + "400": + description: Bad Request + "401": + description: Unauthorized + "403": + description: Forbidden + "404": + description: Not Found + "500": + description: Internal Server Error + summary: Generate content using a specified model. + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/vertexai/imagen/{model}": + parameters: + - description: image generation model + in: path + name: model + required: true + schema: + enum: + - imagen-3.0-generate-002 + - imagen-3.0-generate-001 + - imagen-3.0-fast-generate-001 + - imagegeneration@006 + - imagegeneration@005 + - imagegeneration@002 + type: string + post: + operationId: ImagenGenerateImages + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ImagenGenerateImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ImagenGenerateImageResponse" + description: Successful image generation + 4XX: + description: Client error + 5XX: + description: Server error + summary: Generate images from a text prompt + tags: + - API Nodes + - Released + x-excluded: true + /proxy/vidu/extend: + post: + operationId: ViduExtend + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduExtendRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduExtendReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/img2video: + post: + operationId: ViduImg2Video + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/multiframe: + post: + operationId: ViduMultiframe + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduMultiframeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduMultiframeReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/reference2video: + post: + operationId: ViduReference2Video + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/start-end2video: + post: + operationId: ViduStartEnd2Video + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + "/proxy/vidu/tasks/{id}/creations": + get: + operationId: ViduGetCreations + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduGetCreationsReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/vidu/text2video: + post: + operationId: ViduText2Video + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ViduTaskReply" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + default: + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Error 4xx/5xx + tags: + - API Nodes + - Released + /proxy/wan/api/v1/services/aigc/image2image/image-synthesis: + post: + operationId: WanImage2ImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WanImage2ImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WanImage2ImageGenerationResponse" + description: Image-to-image generation task created successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wan/api/v1/services/aigc/text2image/image-synthesis: + post: + operationId: WanImageGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WanImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WanImageGenerationResponse" + description: Image generation task created successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wan/api/v1/services/aigc/video-generation/video-synthesis: + post: + operationId: WanVideoGeneration + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WanVideoGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WanVideoGenerationResponse" + description: Video generation task created successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/wan/api/v1/tasks/{task_id}": + get: + operationId: WanTaskQueryProxy + parameters: + - description: The ID of the generation task to query + in: path + name: task_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WanTaskQueryResponse" + description: Generation task information retrieved successfully + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Error 4xx/5xx + security: + - BearerAuth: + [] + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/wavespeed/api/v3/predictions/{prediction_id}/result": + get: + description: "Retrieve the status and result of a FlashVSR video upscaling task.\n\nPoll this endpoint until status is \"completed\" or \"failed\".\n\nStatus values:\n- `created` - Task has been created\n- `processing` - Task is being processed\n- `completed` - Task completed successfully, outputs array contains result URLs\n- `failed` - Task failed, check error field for details\n" + operationId: WavespeedFlashVSRGetResult + parameters: + - description: The unique identifier of the prediction/task + in: path + name: prediction_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedTaskResultResponse" + description: Task result retrieved successfully + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Task not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Get FlashVSR task result + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wavespeed/api/v3/wavespeed-ai/flashvsr: + post: + description: "Submit a video for upscaling using WavespeedAI's FlashVSR model.\nFlashVSR is a fast, high-quality video upscaler that boosts resolution and restores clarity\nfor low-resolution or blurry footage.\n\nSupported target resolutions: 720p, 1080p, 2k, 4k\n\nMax clip length: up to 10 minutes\nProcessing speed: approximately 3-20 seconds of wall time to process 1 second of video\n\nReturns a task ID that can be used to poll for the result.\n" + operationId: WavespeedFlashVSRSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedFlashVSRRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedTaskResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit a FlashVSR video upscaling task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wavespeed/api/v3/wavespeed-ai/seedvr2/image: + post: + description: "Upscale an image using WavespeedAI's SeedVR2 Image Upscaler.\nSeedVR2 boosts image resolution and quality, upscaling photos to 2K, 4K, or 8K\nfor sharp, detailed results.\n" + operationId: WavespeedSeedVR2ImageSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedSeedVR2ImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedTaskResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit a SeedVR2 image upscaling task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/wavespeed/api/v3/wavespeed-ai/ultimate-image-upscaler: + post: + description: "Upscale an image using WavespeedAI's Ultimate Image Upscaler.\nThe most advanced AI enhancer that reimagines fine detail while upscaling images to 2K, 4K, or 8K.\n" + operationId: WavespeedUltimateImageUpscalerSubmit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedSeedVR2ImageRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/WavespeedTaskResponse" + description: Task submitted successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "402": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error + security: + - BearerAuth: + [] + summary: Submit an Ultimate Image Upscaler task + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/images/edits: + post: + description: Modify an existing image based on a text prompt using the Grok Imagine API. + operationId: XaiImageEdit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIImageEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIImageGenerationResponse" + description: Image edited successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Edit images using xAI Grok Imagine + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/images/generations: + post: + description: Generate one or more images from a text prompt using the Grok Imagine API. + operationId: XaiImageGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIImageGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIImageGenerationResponse" + description: Images generated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Generate images using xAI Grok Imagine + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/videos/edits: + post: + description: "Edit an existing video based on a text prompt (video-to-video editing).\nVideo editing is asynchronous. Returns a request_id to poll for the completed video.\nInput video limit is 8 seconds. Audio will not be modified.\n" + operationId: XaiVideoEdit + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoEditRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoAsyncResponse" + description: Video editing job created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Edit videos using xAI Grok Imagine + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/videos/extensions: + post: + description: "Generate a seamless continuation of an existing video. You provide a source video and a text prompt\ndescribing what should happen next. The API produces a new video that extends naturally from the end\nof the input video.\nVideo extension is asynchronous. Returns a request_id to poll for the completed video.\n" + operationId: XaiVideoExtension + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoExtensionRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoAsyncResponse" + description: Video extension job created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Extend videos using xAI Grok Imagine + tags: + - API Nodes + - Released + x-excluded: true + /proxy/xai/v1/videos/generations: + post: + description: "Generate a video from a text prompt (text-to-video), from an image with optional text (image-to-video),\nor from reference images with text (reference-to-video). The mode is determined by which optional fields\nare provided. Video generation is asynchronous. Returns a request_id to poll for the completed video.\n\nConflict rules: image + reference_images, video + reference_images, and image + video cannot be combined.\n" + operationId: XaiVideoGenerate + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoGenerationRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoAsyncResponse" + description: Video generation job created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "401": + description: Unauthorized + "402": + description: Payment Required + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Generate videos using xAI Grok Imagine + tags: + - API Nodes + - Released + x-excluded: true + "/proxy/xai/v1/videos/{request_id}": + get: + description: "Retrieve the result of a video generation or editing request.\nPoll this endpoint until the response includes a video object with the completed video URL.\n" + operationId: XaiVideoGetResult + parameters: + - description: The request ID returned by the video generation or editing endpoint + in: path + name: request_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoResultResponse" + description: Video generation result + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/XAIVideoResultResponse" + description: Video generation still pending + "401": + description: Unauthorized + "402": + description: Payment Required + "404": + description: Request ID not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Get xAI video generation result + tags: + - API Nodes + - Released + x-excluded: true + /publishers: + get: + operationId: ListPublishers + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Publisher" + type: array + description: A list of publishers + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve all publishers + tags: + - Registry + post: + operationId: CreatePublisher + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + description: Publisher created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new publisher + tags: + - Registry + /publishers/validate: + get: + description: Checks if the publisher username is already taken. + operationId: ValidatePublisher + parameters: + - description: The publisher username to validate. + in: query + name: username + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + isAvailable: + description: "True if the username is available, false otherwise." + type: boolean + type: object + description: Username validation result + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Invalid input, such as missing username in the query." + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Validate if a publisher username is available + tags: + - Registry + "/publishers/{publisherId}": + delete: + operationId: DeletePublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "204": + description: Publisher deleted successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Publisher not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Delete a publisher + tags: + - Registry + get: + operationId: GetPublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + description: Publisher retrieved successfully + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Publisher not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve a publisher by ID + tags: + - Registry + put: + operationId: UpdatePublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Publisher" + description: Publisher updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "401": + description: Unauthorized + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Publisher not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Update a publisher + tags: + - Registry + "/publishers/{publisherId}/ban": + post: + operationId: BanPublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "204": + description: Publisher Banned Successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Publisher not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Ban a publisher + tags: + - Registry + x-excluded: true + "/publishers/{publisherId}/nodes": + get: + operationId: ListNodesForPublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - description: Number of nodes to return per page + in: query + name: include_banned + schema: + type: boolean + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Node" + type: array + description: List of all nodes + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Retrieve all nodes + tags: + - Registry + post: + operationId: CreateNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new custom node + tags: + - Registry + "/publishers/{publisherId}/nodes/v2": + get: + operationId: ListNodesForPublisherV2 + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - description: Number of nodes to return per page + in: query + name: include_banned + schema: + type: boolean + - description: Page number of the nodes list + in: query + name: page + schema: + default: 1 + type: integer + - description: Number of nodes to return per page + in: query + name: limit + schema: + default: 10 + type: integer + responses: + "200": + content: + application/json: + schema: + properties: + limit: + description: Maximum number of nodes per page + type: integer + nodes: + items: + $ref: "#/components/schemas/Node" + type: array + page: + description: Current page number + type: integer + total: + description: Total number of nodes available + type: integer + totalPages: + description: Total number of pages available + type: integer + type: object + description: List of all nodes + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Retrieve all nodes + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}": + delete: + operationId: DeleteNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + responses: + "204": + description: Node deleted successfully + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Delete a specific node + tags: + - Registry + put: + operationId: UpdateNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Node" + description: Node updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Update a specific node + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}/ban": + post: + operationId: BanPublisherNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + responses: + "204": + description: Node Banned Successfully + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Publisher or Node not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: "Ban a publisher's Node" + tags: + - Registry + x-excluded: true + "/publishers/{publisherId}/nodes/{nodeId}/claim-my-node": + post: + description: "This endpoint allows a publisher to claim an unclaimed node that they own the repo, which is identified by the nodeId. The unclaimed node's repository must be owned by the authenticated user.\n" + operationId: ClaimMyNode + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ClaimMyNodeRequest" + required: true + responses: + "204": + description: Node claimed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Forbidden - various authorization and permission issues\nIncludes:\n- The authenticated user does not have permission to claim the node\n- The node is already claimed by another publisher\n- The GH_TOKEN is invalid\n- The repository is not owned by the authenticated GitHub user\n" + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Too many requests - GitHub API rate limit exceeded + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Service unavailable - GitHub API is currently unavailable + security: + - BearerAuth: + [] + summary: Claim nodeId into publisherId for the authenticated publisher + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}/permissions": + get: + operationId: GetPermissionOnPublisherNodes + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + canEdit: + type: boolean + type: object + description: A list of permissions + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve permissions the user has for a given publisher + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}/versions": + post: + operationId: PublishNodeVersion + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + node: + $ref: "#/components/schemas/Node" + node_version: + $ref: "#/components/schemas/NodeVersion" + personal_access_token: + type: string + required: + - node + - node_version + - personal_access_token + type: object + required: true + responses: + "201": + content: + application/json: + schema: + properties: + node_version: + $ref: "#/components/schemas/NodeVersion" + signedUrl: + description: The signed URL to upload the node version token. + type: string + type: object + description: New version published successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Publish a new version of a node + tags: + - Registry + "/publishers/{publisherId}/nodes/{nodeId}/versions/{versionId}": + delete: + operationId: DeleteNodeVersion + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: versionId + required: true + schema: + type: string + responses: + "204": + description: Version unpublished (deleted) successfully + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version does not belong to the publisher + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + description: Version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + security: + - BearerAuth: + [] + summary: Unpublish (delete) a specific version of a node + tags: + - Registry + put: + description: Update only the changelog and deprecated status of a specific version of a node. + operationId: UpdateNodeVersion + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: nodeId + required: true + schema: + type: string + - in: path + name: versionId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersionUpdateRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/NodeVersion" + description: Version updated successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Version not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Update changelog and deprecation status of a node version + tags: + - Registry + "/publishers/{publisherId}/permissions": + get: + operationId: GetPermissionOnPublisher + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + canEdit: + type: boolean + type: object + description: A list of permissions + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve permissions the user has for a given publisher + tags: + - Registry + "/publishers/{publisherId}/tokens": + get: + operationId: ListPersonalAccessTokens + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/PersonalAccessToken" + type: array + description: List of all personal access tokens + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: No tokens found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Retrieve all personal access tokens for a publisher + tags: + - Registry + x-excluded: true + post: + operationId: CreatePersonalAccessToken + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PersonalAccessToken" + required: true + responses: + "201": + content: + application/json: + schema: + properties: + token: + description: The newly created personal access token. + type: string + type: object + description: Token created successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Create a new personal access token + tags: + - Registry + "/publishers/{publisherId}/tokens/{tokenId}": + delete: + operationId: DeletePersonalAccessToken + parameters: + - in: path + name: publisherId + required: true + schema: + type: string + - in: path + name: tokenId + required: true + schema: + type: string + responses: + "204": + description: Token deleted successfully + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Token not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + security: + - BearerAuth: + [] + summary: Delete a specific personal access token + tags: + - Registry + /releases: + get: + description: Fetch release notes from Strapi with caching + operationId: GetReleaseNotes + parameters: + - description: The project to get release notes for + in: query + name: project + required: true + schema: + enum: + - comfyui + - comfyui_frontend + - desktop + - cloud + type: string + - description: The current version to filter release notes + in: query + name: current_version + schema: + type: string + - description: The locale for the release notes + in: query + name: locale + schema: + default: en + enum: + - en + - es + - fr + - ja + - ko + - ru + - zh + type: string + - description: The platform requesting the release notes + in: query + name: form_factor + schema: + type: string + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/ReleaseNote" + type: array + description: Release notes retrieved successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Get release notes + tags: + - Releases + post: + description: Webhook endpoint to process Github release events and generate release notes + operationId: ProcessReleaseWebhook + parameters: + - description: The name of the event that triggered the delivery + in: header + name: X-GitHub-Event + required: true + schema: + enum: + - release + type: string + - description: A globally unique identifier (GUID) to identify the event + in: header + name: X-GitHub-Delivery + required: true + schema: + format: uuid + type: string + - description: The unique identifier of the webhook + in: header + name: X-GitHub-Hook-ID + required: true + schema: + type: string + - description: HMAC hex digest of the request body using SHA-256 hash function + in: header + name: X-Hub-Signature-256 + schema: + type: string + - description: The type of resource where the webhook was created + in: header + name: X-GitHub-Hook-Installation-Target-Type + schema: + type: string + - description: The unique identifier of the resource where the webhook was created + in: header + name: X-GitHub-Hook-Installation-Target-ID + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/GithubReleaseWebhook" + required: true + responses: + "200": + description: Webhook processed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad request + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Validation failed or endpoint has been spammed + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Process Github release webhook + tags: + - Releases + x-excluded: true + /security-scan: + get: + description: Pull all pending node versions and conduct security scans. + operationId: SecurityScan + parameters: + - in: query + name: minAge + schema: + type: string + x-go-type: time.Duration + - in: query + name: minSecurityScanAge + schema: + type: string + x-go-type: time.Duration + - in: query + name: maxNodes + schema: + type: integer + responses: + "200": + description: Scan completed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data." + "401": + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Forbidden + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Security Scan + tags: + - Registry + x-excluded: true + /seedance/complete: + get: + description: "Browser-facing landing page that BytePlus redirects the end user to after H5 liveness is complete. Logs the callback parameters and returns plain HTML the user sees in their browser. Client polls seedanceGetVisualValidateSession to observe the actual result.\n" + operationId: SeedanceVisualValidateCallback + parameters: + - in: query + name: bytedToken + required: true + schema: + type: string + - in: query + name: resultCode + required: true + schema: + type: string + - in: query + name: algorithmBaseRespCode + schema: + type: string + - in: query + name: reqMeasureInfoValue + schema: + type: string + - in: query + name: verify_type + schema: + type: string + responses: + "200": + content: + text/html: + schema: + type: string + description: "Landing page shown to the user's browser" + security: + [] + summary: BytePlus real-person verification callback landing page + tags: + - API Nodes + - Released + x-excluded: true + /upload-artifact: + post: + description: Receive artifacts (output files) from the ComfyUI GitHub Action + operationId: PostUploadArtifact + requestBody: + content: + application/json: + schema: + properties: + author: + description: The author of the commit + type: string + avg_vram: + description: The average amount of VRAM used in the run. + type: integer + branch_name: + type: string + bucket_name: + description: The name of the bucket where the output files are stored + type: string + comfy_logs_gcs_path: + description: The path to ComfyUI logs. eg. gs://bucket-name/logs + type: string + comfy_run_flags: + description: The flags used in the comfy run + type: string + commit_hash: + type: string + commit_message: + description: The commit message + type: string + commit_time: + description: "The time of the commit in the format of \"YYYY-MM-DDTHH:MM:SSZ\" (2016-10-10T00:00:00Z)" + type: string + cuda_version: + description: Cuda version. + type: string + end_time: + description: The end time of the job as a Unix timestamp. + format: int64 + type: integer + job_id: + description: Unique identifier for the job + type: string + job_trigger_user: + description: The user who triggered the job + type: string + machine_stats: + $ref: "#/components/schemas/MachineStats" + os: + description: Operating system used in the run + type: string + output_files_gcs_paths: + description: "A comma separated string that contains GCS path(s) to output files. eg. gs://bucket-name/output, gs://bucket-name/output2" + type: string + peak_vram: + description: The peak amount of VRAM used in the run. + type: integer + pr_number: + description: The pull request number + type: string + python_version: + description: The python version used in the run + type: string + pytorch_version: + description: The pytorch version used in the run + type: string + repo: + description: Repository name + type: string + run_id: + description: Unique identifier for the run + type: string + start_time: + description: The start time of the job as a Unix timestamp. + format: int64 + type: integer + status: + $ref: "#/components/schemas/WorkflowRunStatus" + workflow_name: + description: The name of the workflow + type: string + required: + - repo + - job_id + - run_id + - os + - commit_hash + - commit_time + - commit_message + - branch_name + - workflow_name + - start_time + - end_time + - pr_number + - python_version + - job_trigger_user + - author + - status + type: object + required: true + responses: + "200": + content: + application/json: + schema: + properties: + message: + type: string + type: object + description: Successfully received the artifact details + "400": + description: Invalid request + "500": + description: Internal server error + summary: Receive artifacts (output files) from the ComfyUI GitHub Action + tags: + - ComfyUI CI + x-excluded: true + /users: + get: + operationId: GetUser + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/User" + description: OK + "401": + description: Unauthorized + "404": + description: Not Found + security: + - BearerAuth: + [] + summary: Get information about the calling user. + tags: + - Registry + /users/publishers/: + get: + operationId: ListPublishersForUser + responses: + "200": + content: + application/json: + schema: + items: + $ref: "#/components/schemas/Publisher" + type: array + description: A list of publishers + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Bad request, invalid input data" + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve all publishers for a given user + tags: + - Registry + /versions: + get: + operationId: ListAllNodeVersions + parameters: + - in: query + name: nodeId + schema: + type: string + - explode: true + in: query + name: statuses + schema: + items: + $ref: "#/components/schemas/NodeVersionStatus" + type: array + style: form + - in: query + name: include_status_reason + schema: + default: false + type: boolean + - description: The page number to retrieve. + in: query + name: page + schema: + default: 1 + type: integer + - description: The number of items to include per page. + in: query + name: pageSize + schema: + default: 10 + type: integer + - description: "search for status_reason, case insensitive" + in: query + name: status_reason + schema: + type: string + responses: + "200": + content: + application/json: + schema: + properties: + page: + description: Current page number + type: integer + pageSize: + description: Maximum number of node versions per page. Maximum is 100. + type: integer + total: + description: Total number of node versions available + type: integer + totalPages: + description: Total number of pages available + type: integer + versions: + items: + $ref: "#/components/schemas/NodeVersion" + type: array + type: object + description: List of all node versions + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Invalid input, object invalid" + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Node banned + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: List all node versions given some filters. + tags: + - Registry + /webhook/metronome/zero-balance: + post: + operationId: MetronomeZeroBalance + requestBody: + content: + application/json: + schema: + properties: + id: + description: the id of the webhook + type: string + properties: + properties: + customer_id: + description: the metronome customer id + type: string + remaining_balance: + description: the customer remaining balance + type: number + type: object + type: + description: the type of the webhook + type: string + required: + - id + - type + - properties + type: object + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/IdeogramGenerateResponse" + description: Webhook processed succesfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: receive alert on remaining balance is 0 + tags: + - Webhook + - Metronome + x-excluded: true + /webhook/stripe/invoice-status: + post: + operationId: StripeInvoiceStatus + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/StripeEvent" + required: true + responses: + "200": + description: Webhook processed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Handle Stripe invoice.paid webhook event + tags: + - Billing + - Stripe + x-excluded: true + /webhook/stripe/subscription: + post: + operationId: StripeSubscriptionWebhook + requestBody: + content: + application/json: + schema: + description: Generic Stripe webhook event payload + type: object + required: true + responses: + "200": + description: Webhook processed successfully + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Bad Request + "401": + description: Unauthorized + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal Server Error (proxy or upstream issue) + summary: Handle Stripe subscription webhook events + tags: + - Billing + - Stripe + x-excluded: true + "/workflowresult/{workflowResultId}": + get: + operationId: GetWorkflowResult + parameters: + - in: path + name: workflowResultId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ActionJobResult" + description: Commit details + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Commit not found + "500": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Internal server error + summary: Retrieve a specific commit by ID + tags: + - ComfyUI CI + x-excluded: true +servers: + - url: https://api.comfy.org diff --git a/package.json b/package.json index d2acb6c99..5ee70b295 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,8 @@ "translate:sync-hash": "bun .github/scripts/i18n/sync-hash-i18n.ts", "translate:repair-fences": "bun .github/scripts/i18n/repair-fences-i18n.ts", "translate:sync-docs-json": "bun .github/scripts/i18n/translate-i18n.ts --sync-docs-json", + "translate:openapi": "bun .github/scripts/i18n/translate-i18n.ts --openapi-only", + "translate:reformat-openapi": "bun .github/scripts/i18n/reformat-openapi.ts", "glossary:sync": "bun .github/scripts/i18n/sync-glossary.mjs", "glossary:sync:dry-run": "bun .github/scripts/i18n/sync-glossary.mjs --dry-run", "translate:review": "bun .github/scripts/i18n/review-i18n.ts", diff --git a/zh/development/cloud/openapi.mdx b/zh/development/cloud/openapi.mdx index 8ac68787b..7f896f124 100644 --- a/zh/development/cloud/openapi.mdx +++ b/zh/development/cloud/openapi.mdx @@ -2,7 +2,7 @@ title: "OpenAPI 规范" description: "Comfy Cloud API 的机器可读的 OpenAPI 规范" icon: "file-lines" -openapi: "/openapi-cloud.yaml" +openapi: "/openapi/cloud.en.yaml" translationSourceHash: e4816d50 translationFrom: development/cloud/openapi.mdx --- @@ -40,7 +40,7 @@ OpenAPI 规范可用于: 您可以下载原始 OpenAPI 规范文件: - + 下载 OpenAPI 3.0 规范 From 3b6f89af6ede3d62194ed1d75f79983edd376344 Mon Sep 17 00:00:00 2001 From: ComfyUI Wiki Date: Fri, 10 Jul 2026 17:03:08 +0800 Subject: [PATCH 2/2] chore: touch openapi MDX to test Mintlify preview deploy --- development/cloud/openapi.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/development/cloud/openapi.mdx b/development/cloud/openapi.mdx index ee65a98ab..21e15be89 100644 --- a/development/cloud/openapi.mdx +++ b/development/cloud/openapi.mdx @@ -11,7 +11,7 @@ openapi: "/openapi/cloud.en.yaml" # Comfy Cloud API Specification -This page provides the complete OpenAPI 3.0 specification for the Comfy Cloud API. +This page includes the complete OpenAPI 3.0 specification for the Comfy Cloud API. **Subscription Required:** Running workflows via the API requires an active Comfy Cloud subscription. See [pricing plans](https://www.comfy.org/cloud/pricing?utm_source=docs&utm_campaign=cloud-api) for details.